3c17e01955b0ab193d4fe44b6dadd8838d641799
[profile/ivi/clutter.git] / ChangeLog
1 2007-12-24  Emmanuele Bassi  <ebassi@openedhand.com>
2
3         * clutter.symbols: Add clutter_actor_set_clipu() and
4         clutter_actor_get_clipu()
5
6         * clutter/clutter-actor.h:
7         * clutter/clutter-actor.c:
8         (clutter_actor_set_clipu), (clutter_actor_get_clipu): Add the
9         new units-based versions of the clip accessors
10
11         (clutter_actor_set_clip), (clutter_actor_get_clip): Reimplement
12         the pixels-based clip accessors as proxies for the units-based
13         ones
14
15 2007-12-24  Emmanuele Bassi  <ebassi@openedhand.com>
16
17         * clutter/cogl/cogl.h: Update cogl_clip_set() to accept the
18         clip components as ClutterFixed values
19
20         * clutter/cogl/gl/cogl.c (cogl_clip_set): Update the GL implementation
21         of cogl_clip_set()
22
23         * clutter/cogl/gles/cogl.c:
24         (cogl_rectangle_internal): Provide an internal, inlined rectangle
25         drawing function using fixed point values, to be shared by
26         cogl_clip_set() and cogl_rectangle()
27
28         (cogl_clip_set), (cogl_rectangle): Update the GLES implementation
29         of cogl_clip_set() and cogl_rectangle() to use the new internal
30         rectangle drawing function
31
32         * clutter/clutter-actor.c: Make the clip an array of ClutterUnit
33         values instead of pixel-based; this allows higher precision and
34         device independence
35
36         (_clutter_actor_apply_modelview_transform): Pass the clip
37         components converting from units to fixed point values, using
38         the new cogl_clip_set() signature
39
40         (clutter_actor_get_property), (clutter_actor_set_clip),
41         (clutter_actor_get_clip): Update the accessors of the clip
42         property
43
44 2007-12-21  Emmanuele Bassi  <ebassi@openedhand.com>
45
46         * clutter/clutter-actor.h: Remove the unused ::set_depth() and
47         ::get_depth() virtual functions. (#674, Murray Cumming)
48
49 2007-12-21  Emmanuele Bassi  <ebassi@openedhand.com>
50
51         * clutter/clutter-group.c:
52         * clutter/clutter-group.h: Add the clutter_group_add() convenience
53         function; it's now "undeprecated" and implemented as a macro
54
55         * clutter/clutter-stage.h: Add clutter_stage_add() as a convenience
56         macro
57
58         * clutter/cogl/cogl.h: Include just the needed headers instead
59         of the whole clutter.h; this avoids rebuild cogl when not needed
60
61 2007-12-21  Emmanuele Bassi  <ebassi@openedhand.com>
62
63         * Makefile.am: Move tests build before docs, to cut down the
64         distcheck failure discovery
65
66         * clutter.symbols: Add clutter_texture_set_area_from_rgb_data()
67
68         * clutter/clutter-actor.c:
69         * clutter/clutter-script.c:
70         * clutter/clutter-texture.c:
71         * clutter/json/json-generator.c:
72         * clutter/json/json-parser.c: Compilation fixes for passing distcheck
73
74         * tests/test-grab.c:
75         * tests/test-score.c:
76         * tests/test-script.c:
77         * tests/test-shader.c:
78         * tests/test-unproject.c: Ditto as above
79
80 2007-12-21  Emmanuele Bassi  <ebassi@openedhand.com>
81
82         * clutter/clutter-label.c:
83         (clutter_label_ensure_layout): Avoid rounding errors in the layout
84         computing when switching between Clutter units and Pango units.
85
86 2007-12-19  Øyvind Kolås  <pippin@o-hand.com>
87
88         * clutter/clutter-texture.[ch]: (bug #675) added
89         clutter_texture_set_area_from_rgb_data, sharing some of the
90         initialization infrastructure with clutter_texture_set_from_rgb_data.
91
92 2007-12-20  Emmanuele Bassi  <ebassi@openedhand.com>
93
94         * clutter/clutter-container.c:
95         (clutter_container_lower_child): Fix interface method call
96         to actually call ClutterContainer::lower. (#670, Gwenole
97         Beauchesne)
98
99 2007-12-20  Emmanuele Bassi  <ebassi@openedhand.com>
100
101         * clutter/clutter-label.c:
102         (clutter_label_query_coords): Return the bounding box set inside
103         request_coords(), if any; otherwise, return the natural allocation
104         of the label. (#678, reported by Gwenole Beauchesne)
105
106         * tests/test-rotate.c: Align the label
107
108 2007-12-19  Tomas Frydrych  <tf@openedhand.com>
109
110         * clutter/Makefile.am:
111         * clutter/cogl/gl/cogl-defines.h.in:
112         * clutter/pango/pangoclutter-render.c:
113         * configure.ac:
114         Fixes to allow cross-compilation with mingw (patch by Neil
115         Roberts).
116         Removed trailing whitespace.
117
118 2007-12-18  Øyvind Kolås  <pippin@o-hand.com>
119
120         * clutter/clutter-main.c: (generate_enter_leave_events): synthesize
121         enter event (without related) and corresponding leave event when the
122         actor the cursor is over has been destroyed.
123         * clutter/clutter-event.c: (clutter_event_free): only unref the
124         related_actor when it actually is set.
125
126 2007-12-18  Emmanuele Bassi  <ebassi@openedhand.com>
127
128         * clutter/clutter-main.c:
129         (unset_motion_last_actor),
130         (generate_enter_leave_events): Attach a callback to the destroy
131         signal on the last motion actor, so if it goes away while the
132         pointer is in the middle of it we can unset the pointer.
133
134         * clutter/clutter-private.h: Store the last motion actor inside
135         the global context.
136
137 2007-12-17  Emmanuele Bassi <ebassi@openedhand.com>
138
139         * clutter/clutter-actor.c:
140         (clutter_actor_should_pick_paint),
141         (clutter_actor_apply_transform_to_point): Fix the whitespace.
142
143         (clutter_actor_set_rotation): Clarify that the coordinates of
144         the centre of rotation are relative to the anchor point or,
145         if not set, to the upper left corner of the bounding box.
146
147 2007-12-17  Tomas Frydrych  <tf@openedhand.com>
148
149         * clutter/clutter-behaviour-ellipse.c:
150         * clutter/clutter-behaviour-rotate.c:
151         Clamping of start and end angles to <0, 360).
152
153 2007-12-17  Emmanuele Bassi  <ebassi@openedhand.com>
154
155         * clutter/clutter-behaviour-path.c: Clarify the equivalence
156         between the upper and lower bounds of the ClutterAlpha and
157         the position in the path. (#634)
158
159 2007-12-17  Emmanuele Bassi  <ebassi@openedhand.com>
160
161         * clutter/clutter-texture.c: Mention the fact that a ClutterTexture
162         will scale its contents to fit inside the requested bounding
163         box. (#661)
164
165 2007-12-17  Emmanuele Bassi  <ebassi@openedhand.com>
166
167         * clutter/clutter-actor.c: Fix documentation for
168         the ::captured-event signal. (#673)
169
170 2007-12-17  Emmanuele Bassi  <ebassi@openedhand.com>
171
172         * clutter/clutter-actor.c: Clarify the set_clip() method
173         documentation, pointing out that the clip area origin is
174         always the top-left corner of an actor.
175
176 2007-12-15  Emmanuele Bassi  <ebassi@openedhand.com>
177
178         * clutter/clutter-actor.c:
179         * clutter/clutter-alpha.h:
180         * clutter/clutter-event.h:
181         * clutter/clutter-fixed.[ch]:
182         * clutter/clutter-model.h:
183         * clutter/clutter-shader.[ch]:
184         * clutter/clutter-stage.c: Documentation fixes.
185
186 2007-12-15  Emmanuele Bassi <ebassi@openedhand.com>
187
188         * clutter/clutter-model-default.c:
189         (clutter_model_default_iter_next),
190         (clutter_model_default_iter_prev): Do not instantiate a new
191         iterator, and update the passed one instead, as we say we do
192         in the documentation. This avoid leaking tons of iterators.
193
194         * clutter/clutter-model.[ch]: Update the documentation.
195
196         * tests/test-model.c: Prettify some output.
197
198 2007-12-14  Emmanuele Bassi  <ebassi@openedhand.com>
199
200         * clutter/clutter-behaviour.c:
201         (clutter_knot_get_type): Use the I_() macro.
202
203         * clutter/clutter-model.[ch]: Make ClutterModel and ClutterModelIter
204         abstract classes; also, provide more virtual functions inside the
205         ClutterModel vtable, to allow subclasses and language bindings to
206         override the entire ClutterModel using other/native data types
207         to store the rows.
208
209         * clutter/clutter-model-default.[ch]: ClutterModelDefault is a
210         default implementation of ClutterModel and ClutterModelIter using
211         GSequence.
212
213         * clutter/Makefile.am:
214         * clutter/clutter.h: Build glue for ClutterModelDefault.
215
216         * tests/test-model.c: Update for constructor changes.
217
218         * tests/test-shader.c: Fix a typo.
219
220 2007-12-14  Matthew Allum  <mallum@openedhand.com>
221
222         * clutter/cogl/gl/cogl-defines.h.in:
223         * clutter/cogl/gles/cogl-defines.h:
224         Add CLUTTER_COGL_HAS_GL/GLES defines
225
226 2007-12-11  Øyvind Kolås  <pippin@o-hand.com>
227
228         Refined the ClutterShader API based on a patch from Emmanuele Bassi.
229
230         * clutter/clutter-actor.c: (clutter_actor_paint),
231         (clutter_actor_apply_shader): queue a redraw of actor when shader is
232         set.
233         * clutter/clutter-actor.h: indentation.
234         * clutter/clutter-shader.[ch]: made the fragment and vertex shader
235         sources properties. Report error through GError when binding shaders.
236         * tests/test-shader.c: modified to use newer API.
237
238 2007-12-10  Emmanuele Bassi  <ebassi@openedhand.com>
239
240         * clutter/clutter-model.c:
241         (clutter_model_get_sorting_column): Fix wrong type check.
242
243 2007-12-10  Emmanuele Bassi  <ebassi@openedhand.com>
244
245         * clutter/clutter-model.[ch]: Allow unsorting the model (passing
246         -1 as the sorting column)
247
248         (clutter_model_iter_get_valist): Do not initialise twice che
249         return value.
250
251 2007-12-10  Emmanuele Bassi  <ebassi@openedhand.com>
252
253         * clutter/clutter-model.c (clutter_model_iter_get_value): Initialise
254         the passed GValue like the other getters do.
255
256 2007-12-10  Emmanuele Bassi  <ebassi@openedhand.com>
257
258         * clutter/clutter-model.h:
259         * clutter/clutter-model.c:
260         (clutter_model_append_value),
261         (clutter_model_prepend_value),
262         (clutter_model_insert_value): Add a _value() variant for the
263         insertion methods, for use of the language bindings.
264
265         (clutter_model_append),
266         (clutter_model_prepend),
267         (clutter_model_insert): Do not return a boolean: insertion should
268         never fail unless for a programming error, in which case we have
269         plenty of warnings.
270
271 2007-12-10  Emmanuele Bassi  <ebassi@openedhand.com>
272
273         * clutter/clutter-behaviour-ellipse.c:
274         (clutter_behaviour_ellipse_get_angle_tilt),
275         (clutter_behaviour_ellipse_get_angle_tiltx),
276         (clutter_behaviour_ellipse_set_tilt): Fix a double conversion
277         that was messing up the returned results. (#665)
278
279 2007-12-10  Emmanuele Bassi  <ebassi@openedhand.com>
280
281         * clutter/clutter-actor.c:
282         (clutter_actor_set_property),
283         (clutter_actor_get_property),
284         (clutter_actor_class_init): Add the rotation-* properties,
285         controlling the rotation angle and center on each axis. (#614)
286
287         (parse_rotation_array), (parse_rotation),
288         (clutter_actor_parse_custom_node),
289         (clutter_actor_set_custom_property),
290         (clutter_scriptable_iface_init): Add a new "rotation" custom
291         property for expressing the rotation along each axis in a
292         compact way:
293
294           "rotation" : [
295             { "x-axis" : [ <angle>, [ <y>, <z> ] ] },
296             { "y-axis" : [ <angle>, [ <x>, <z> ] ] },
297             { "z-axis" : [ <angle>, [ <x>, <y> ] ] }
298           ]
299
300         (clutter_geometry_get_type),(clutter_vertex_get_type),
301         (clutter_actor_box_get_type): Use the I_() macro instead of
302         directly calling g_intern_static_string().
303
304         * clutter/clutter-entry.c (clutter_entry_request_coords):
305         * clutter/clutter-label.c (clutter_label_ensure_layout),
306         (clutter_label_request_coords): Use CLUTTER_UNITS_FROM_DEVICE()
307         instead of CLUTTER_UNITS_FROM_INT(), as "device" means "pixels".
308
309         * clutter/clutter-private.h: Add the I_() macro for intern
310         static strings.
311
312         * tests/test-script.json: Test the newly added "rotation"
313         custom property.
314
315 2007-12-10  Tomas Frydrych  <tf@openedhand.com>
316
317         * tests/Makefile.am:
318         Fixed a typo.
319
320 2007-12-10  Tomas Frydrych  <tf@openedhand.com>
321
322         * tests/test-viewport.c:
323         * tests/Makefile.am:
324         Added a simple viewport test.
325
326 2007-12-10  Tomas Frydrych  <tf@openedhand.com>
327
328         * clutter/clutter-actor.c:
329         (_clutter_actor_apply_modelview_transform):
330         Moved offset translation after rotation so that rotation coords
331         are also relative to the offset point.
332
333
334 2007-12-09  Emmanuele Bassi  <ebassi@openedhand.com>
335
336         * tests/test-events.c (input_cb):
337         * tests/test-text.c (main): Fix compiler errors. (#592,
338         Gwenole Beauchesne)
339
340 2007-12-09  Emmanuele Bassi  <ebassi@openedhand.com>
341
342         * clutter/clutter-actor.c: Document the values for full
343         transparency and full opacity in the set_opacity()
344         method. (#662)
345
346         * clutter/clutter-behaviour-ellipse.c: Improve consistency
347         in the apidoc.
348
349 2007-12-08  Emmanuele Bassi  <ebassi@openedhand.com>
350
351         * configure.ac: Make libtool respect the -s switch of make
352         and be quiet.
353
354 2007-12-07  Emmanuele Bassi  <ebassi@openedhand.com>
355
356         * clutter/clutter-actor.h:
357         * clutter/clutter-actor.c:
358         (clutter_actor_get_sizeu),
359         (clutter_actor_get_positionu): Add unit-based accessors to
360         the size and position.
361
362 2007-12-07  Tomas Frydrych  <tf@openedhand.com>
363
364         * clutter/clutter-behaviour-ellipse.c:
365         (clutter_behaviour_ellipse_set_angle_start):
366         (clutter_behaviour_ellipse_set_angle_end):
367         (clutter_behaviour_ellipse_set_angle_tilt):
368         (clutter_behaviour_ellipse_set_tilt):
369         Removed strayed degree -> ClutterAngle conversions left over from
370         API changes.
371
372         (clutter_behaviour_ellipse_set_angle_tiltx):
373         Removed stray printf.
374
375 2007-12-07  Tomas Frydrych  <tf@openedhand.com>
376
377         * clutter/clutter-behaviour-ellipse.c:
378         Fixed tilt setters and getters.
379
380 2007-12-06  Tomas Frydrych  <tf@openedhand.com>
381
382         * clutter/clutter-fixed.c:
383         * clutter/clutter-fixed.h:
384         (clutter_sqrti):
385         Added extra iteration to the Newton-Rapson algorithm for arguments
386         lesser than 342 to improve precission.
387
388 2007-12-06  Emmanuele Bassi  <ebassi@openedhand.com>
389
390         * clutter/clutter-main.c:
391         (clutter_set_motion_events_frequency): Never allow the motion
392         events devlivery frequency to exceed the default frame rate.
393
394 2007-12-06  Emmanuele Bassi  <ebassi@openedhand.com>
395
396         * clutter/json/json-parser.[ch]: Use gssize, size we allow -1
397         as a length (meaning "use the whole string").
398
399         (json_parser_load_from_data): Use the passed length instead of
400         using strlen() all the time.
401
402         * clutter/clutter-script.[ch]: Ditto as above.
403
404 2007-12-06  Emmanuele Bassi  <ebassi@openedhand.com>
405
406         * clutter/pango/pangoclutter-render.c: Hush a compiler warning
407         by removing a unused variable.
408
409 2007-12-06  Emmanuele Bassi  <ebassi@openedhand.com>
410
411         * clutter/clutter-label.c (clutter_label_ensure_layout): If the
412         label has a requested size, force it when ensuring the layout.
413
414 2007-12-06  Emmanuele Bassi  <ebassi@openedhand.com>
415
416         * tests/test-unproject.c: Fix type comparison.
417
418         * tests/test-score.c: Save the returned ids.
419
420 2007-12-05  Matthew Allum  <mallum@openedhand.com>
421
422         reviewed by: <delete if not using a buddy>
423
424         * clutter/pango/pangoclutter-render.c: (tc_get), (free_glyph_info),
425         (draw_glyph), (draw_trapezoid), (pango_clutter_render_layout),
426         (pango_clutter_render_layout_line),
427         (pango_clutter_render_clear_caches), (prepare_run), (draw_begin):
428
429 2007-12-05  Emmanuele Bassi  <ebassi@openedhand.com>
430
431         * clutter/clutter-score.h: Rearrange declarations.
432
433         * clutter/clutter-score.c: More documentation in the long
434         description of the ClutterScore section.
435
436         * clutter/clutter-debug.h:
437         * clutter/clutter-main.c: Add the CLUTTER_DEBUG_SHADER flag,
438         for debugging the shader calls.
439
440         * clutter/clutter-feature.h: Fix the documentation of the
441         feature flags.
442
443         * clutter/Makefile.am: Remove trailing whitespace.
444
445 2007-12-05  Tomas Frydrych  <tf@openedhand.com>
446
447         * clutter/clutter-actor.c:
448         * clutter/clutter-actor.h:
449         * tests/Makefile.am:
450         * tests/test-unproject:
451         (clutter_actor_transform_stage_point):
452         Added new function for translating stage coordinates into local
453         actor coordinates.
454
455 2007-12-04  Emmanuele Bassi  <ebassi@openedhand.com>
456
457         * clutter/clutter-score.c: Better document ClutterScore
458         and its API.
459
460 2007-12-04  Emmanuele Bassi  <ebassi@openedhand.com>
461
462         * clutter/clutter-score.[ch]: Reimplement ClutterScore using
463         a N-ary tree to store the timelines. Remove clutter_score_add():
464         the same functionality can be achieved by passing a NULL
465         parent to clutter_score_append().
466
467         * tests/test-score.c: Update ClutterScore test unit, and add
468         debug printouts.
469
470 2007-12-04  Øyvind Kolås  <pippin@o-hand.com>
471
472         * clutter/clutter-shader.c: (bind_glsl_shader): use gchar instead of
473         GLcharARB.
474
475 2007-12-03  Øyvind Kolås  <pippin@o-hand.com>
476
477         * clutter/clutter-shader.[ch]: do not include GL.h.
478
479 2007-12-03  Øyvind Kolås  <pippin@o-hand.com>
480
481         Support for shaders in clutter. At the moment limited to drivers
482         providing GLSL support.
483
484         * clutter/cogl/cogl.h: added rather direct binding of needed for glsl
485         shaders.
486         * clutter/cogl/gl/cogl-defines.h.in:
487         * clutter/cogl/gl/cogl.c:
488         * clutter/cogl/gles/cogl-defines.h: added stubs.
489         * clutter/cogl/gles/cogl.c: added stubs.
490
491         * clutter/glx/clutter-stage-glx.c:
492         (clutter_stage_glx_realize): unrelated memory management sanity fix.
493         (clutter_stage_glx_unrealize): unbind all shaders on stage unrealize.
494
495         * clutter/Makefile.am: added clutter-shader.[ch]
496         * clutter/clutter-actor.[ch]: adding shader capability to
497         actors.
498         * clutter/clutter-feature.h: added CLUTTER_FEATURE_SHADERS_GLSL
499         * clutter/clutter-private.h: added stack of shaders to context.
500         * clutter/clutter-shader.[ch]: new.
501
502         * tests/Makefile.am: added shader test.
503         * tests/test-shader.c: (frame_cb), (main): simple shader test,
504         cycle through the inline shader with right/left mouse buttons.
505
506 2007-12-03  Øyvind Kolås  <pippin@o-hand.com>
507
508         * clutter/glx/clutter-stage-glx.c: for extra sanity, set
509         stage_x11->xvisinfo = NULL after XFree. Makes using the root window
510         as foreign window possible.
511
512 2007-11-30  Øyvind Kolås  <pippin@o-hand.com>
513
514         * clutter/clutter-timeline.c: (clutter_timeline_get_delta): return the
515         number of milliseconds passed between new-frame events instead of
516         since new-frame events, thus making sure that the sum of _get_delta's
517         returned for all new-frame events is equal to total time elapsed.
518
519 2007-11-30  Emmanuele Bassi  <ebassi@openedhand.com>
520
521         * clutter/clutter-actor.c (parse_units),
522         (clutter_actor_parse_custom_node): Do not allow using percentages
523         of the stage on the stage itself, as it makes little to no
524         sense.
525
526         * clutter/clutter-script.c:
527         (clutter_script_construct_object): Rearrange code.
528
529         * tests/test-script.json: Do not set the size of the stage, to
530         test for the stage size percentage.
531
532 2007-11-30  Emmanuele Bassi  <ebassi@openedhand.com>
533
534         * clutter/clutter-model.h: Complete the documentation of
535         the ClutterModelClass structure members.
536
537 2007-11-30  Emmanuele Bassi  <ebassi@openedhand.com>
538
539         * clutter/clutter-timeline.h:
540         * clutter/clutter-timeline.c
541         (timeline_timeout_func),
542         (clutter_timeline_get_delta): Add a function for retrieving
543         the number of frames and the time (in milliseconds) elapsed
544         since the last timeline ::new-frame signal. This can be useful
545         for implementing a physics engine or just for knowing how if
546         and how many frames have been skipped.
547
548 2007-11-30  Emmanuele Bassi  <ebassi@openedhand.com>
549
550         * clutter/clutter-actor.c (parse_units),
551         (clutter_actor_parse_custom_node),
552         (clutter_scriptable_iface_init): Override the parsing code
553         for the x, y, width and height properties of ClutterActor,
554         to allow strings with modifiers when defining the position
555         and/or the dimensions of an actor. Bare integers are assumed
556         as pixels; floating point values in the [0, 1] interval are
557         assumed as percentages; strings can have these modifiers:
558
559           - px - pixels
560           - mm - millimeters
561           - pt - points (at the current resolution)
562           - %  - percentage of the stage
563
564         * clutter/clutter-units.h: Fix the conversion macros
565
566         * tests/test-script.json: Test the new values.
567
568 2007-11-29  Emmanuele Bassi  <ebassi@openedhand.com>
569
570         * clutter/clutter-model.[ch]: Slight API change in the constructor
571         functions for ClutterModel: clutter_model_new() now takes a list
572         of GType/string pairs for both the column type and the column name.
573
574         (clutter_model_set_n_columns),
575         (clutter_model_set_names),
576         (clutter_model_set_types): Subclasses of ClutterModel will be able
577         to call clutter_model_set_types() and clutter_model_set_names() in
578         any order, provided that they don't call each function more than
579         once.
580
581         * tests/test-model.c: Update the test case.
582
583 2007-11-29  Tomas Frydrych  <tf@openedhand.com>
584
585         * clutter/clutter-actor.h:
586         * clutter/clutter-actor.c:
587         Converted depth and rotation offsets to ClutterUnit.
588
589         (clutter_actor_set_depthu):
590         (clutter_actor_get_depthu):
591         Additional ClutterUnit API.
592
593         (_clutter_actor_apply_modelview_transform):
594         Use cogl_translatex() in place of cogl_translate().
595
596 2007-11-29  Emmanuele Bassi  <ebassi@openedhand.com>
597
598         * *: Add svn:ignore property to every directory, so that
599         svn status starts being useful.
600
601 2007-11-29  Matthew Allum  <mallum@openedhand.com>
602
603         * clutter/clutter-main.c: (generate_enter_leave_events):
604         Minor formatting tweak.
605         * configure.ac:
606         Typo fix from Damien Lespiau (via mailing list)
607
608 2007-11-28  Emmanuele Bassi  <ebassi@openedhand.com>
609
610         Add more introspection capabilities to the base model class
611
612         * clutter/clutter-model.h:
613         * clutter/clutter-model.c:
614         (clutter_model_finalize): Do no leak the column types array.
615
616         (clutter_model_get_n_columns): Function for getting the number
617         of columns inside a model.
618
619         (clutter_model_set_names): Add API for setting the names of the
620         columns.
621
622         (clutter_model_get_column_name),
623         (_model_get_column_type): Add API for getting each column's name,
624         and the default implementation for ClutterModel.
625
626         (clutter_model_get_column_type),
627         (_model_get_iter_at_row): Add API for getting each column's type,
628         and the default implementation for ClutterModel.
629
630         * clutter.symbols: Add ClutterModel and ClutterModelIter symbols,
631         and keep the symbols file sorted.
632
633 2007-11-28  Tomas Frydrych  <tf@openedhand.com>
634
635         * clutter/clutter-actor.c:
636         * clutter/clutter-actor.h:
637         (clutter_actor_set_positionu):
638         (clutter_actor_set_sizeu):
639         (clutter_actor_get_widthu):
640         (clutter_actor_get_heightu):
641         (clutter_actor_set_widthu):
642         (clutter_actor_set_heightu):
643         (clutter_actor_get_xu):
644         (clutter_actor_get_yu):
645         (clutter_actor_set_xu):
646         (clutter_actor_set_yu):
647         Expanded ClutterActor API with new ClutterUnit-base functions.
648
649         * clutter/clutter-stage.c:
650         * clutter/clutter-stage.h:
651         (clutter_stage_get_resolution):
652         (clutter_stage_get_resolutionx):
653         New function to query stage resolution (floating and fixed point
654         versions).
655
656         * clutter/clutter-units.h:
657         (CLUTTER_UNITS_FROM_STAGE_WIDTH_PERCENTAGE):
658         (CLUTTER_UNITS_FROM_STAGE_HEIGHT_PERCENTAGE):
659         (CLUTTER_UNITS_FROM_PARENT_WIDTH_PERCENTAGE):
660         (CLUTTER_UNITS_FROM_PARENT_HEIGHT_PERCENTAGE):
661         (CLUTTER_UNITS_FROM_MM):
662         (CLUTTER_UNITS_FROM_MMX):
663         (CLUTTER_UNITS_FROM_POINTS):
664         (CLUTTER_UNITS_FROM_POINTSX):
665         New macros for conversions to ClutterUnits.
666
667         * clutter.symbols:
668         Added:
669                 ClutterActor anchor_point functions,
670                 clutter_stage_get_resolution functions.
671
672         Removed:
673                 clutter_actor_scale_with_gravity functions.
674
675 2007-11-28  Emmanuele Bassi  <ebassi@openedhand.com>
676
677         * clutter/clutter-actor.[ch]: Documentation fixes.
678
679 2007-11-28  Emmanuele Bassi  <ebassi@openedhand.com>
680
681         Remove the layout containers: they will be moved to a
682         high-level library.
683
684         * clutter/clutter.h:
685         * clutter/Makefile.am: Remove layout and boxes from the
686         build.
687
688         * clutter/clutter-layout.[ch]: Remove the ClutterLayout
689         interface.
690
691         * clutter/clutter-box.[ch]:
692         * clutter/clutter-hbox.[ch]:
693         * clutter/clutter-vbox.[ch]: Remove ClutterBox and its
694         subclasses.
695
696         * clutter/clutter-label.c: Remove ClutterLayout implementation
697
698         * clutter/clutter-script-private.h:
699         * clutter/clutter-script-parser.c:
700         * clutter/clutter-script.c:
701         (clutter_script_parse_node): Remove special parsing for
702         ClutterMargin and ClutterPadding.
703
704         * clutter/clutter-types.h: Remove ClutterPadding and ClutterMargin.
705
706         * tests/Makefile.am:
707         * tests/test-boxes.c: Remove the boxes test case.
708
709 2007-11-28  Tomas Frydrych  <tf@openedhand.com>
710
711         * clutter/NEWS:
712         Started 0.6.0 section with comment on actor anchor point.
713
714         * clutter/clutter/clutter-actor.c:
715         * clutter/clutter/clutter-actor.h:
716         * clutter/clutter/clutter-behaviour-scale.c:
717         * clutter/clutter/clutter-deprecated.h:
718         (clutter_actor_set_anchor_point):
719         (clutter_actor_set_anchor_pointu):
720         (clutter_actor_get_anchor_point):
721         (clutter_actor_get_anchor_pointu):
722         (clutter_actor_set_anchor_point_from_gravity):
723         New anchor point API deprecating old gravity scaling, added
724         comments on modelview matrix construction to ClutterActor
725         documentation.
726
727         (clutter_actor_set_scale_with_gravity):
728         (clutter_actor_set_scale_with_gravityx):
729         Deprecated; use clutter_actor_set_anchor_point_from_gravity() instead.
730
731 2007-11-28  Emmanuele Bassi  <ebassi@openedhand.com>
732
733         * clutter/clutter-effect.[ch]: Add clutter_effect_template_construct()
734         function, for language bindings that need to set the alpha function
735         but cannot call the clutter_effect_template_new() ctor themselves.
736
737 2007-11-27  Tomas Frydrych  <tf@openedhand.com>
738
739         * clutter/clutter-behaviour-ellipse.c:
740         * clutter/clutter-behaviour-ellipse.h:
741         (clutter_behaviour_ellipse_get_angle_startx):
742         (clutter_behaviour_ellipse_set_angle_startx):
743         (clutter_behaviour_ellipse_get_angle_endx):
744         (clutter_behaviour_ellipse_set_angle_endx):
745         (clutter_behaviour_ellipse_get_angle_tiltx):
746         (clutter_behaviour_ellipse_set_angle_tiltx):
747         Changed to take and return angles in degrees represented as
748         ClutterFixed.
749
750 2007-11-27  Emmanuele Bassi  <ebassi@openedhand.com>
751
752         * clutter/clutter-actor.c (clutter_actor_destroy): Remove the
753         reference we hold on the actor, as it was preventing the finalization
754         of every child on the stage.
755
756 2007-11-26  Emmanuele Bassi  <ebassi@openedhand.com>
757
758         * clutter/x11/clutter-stage-x11.c:
759         (clutter_stage_x11_set_cursor_visible): Restore the XFixes usage,
760         as it now seems to be have been fixed.
761
762 2007-11-26  Emmanuele Bassi  <ebassi@openedhand.com>
763
764         * clutter/clutter-actor.c:
765         (clutter_actor_real_show),
766         (clutter_actor_real_hide): Do not set the MAPPED flag on the actor
767         if it is a top-level one (like ClutterStage); the backends are
768         responsible for setting that flag, as it might be the result of an
769         asynchronous operation (e.g. on X11).
770
771         * clutter/eglnative/clutter-stage-egl.c:
772         (clutter_stage_egl_show),
773         (clutter_stage_egl_hide): Set/unset the CLUTTER_ACTOR_MAPPED flag
774         on show and hide respectively.
775
776         * clutter/osx/clutter-stage-osx.c:
777         (clutter_stage_osx_show),
778         (clutter_stage_osx_hide): Ditto as above.
779
780         * clutter/sdl/clutter-stage-sdl.c:
781         (clutter_stage_sdl_show),
782         (clutter_stage_sdl_hide): Ditto as above, plus chain up to the
783         parent class show/hide virtual functions.
784
785         * clutter/x11/clutter-event-x11.c (event_translate): Use the MapNotify
786         and UnmapNotify events to call the X11 stage map/unmap functions.
787
788         * clutter/x11/clutter-stage-x11.[ch]:
789         (clutter_stage_x11_set_fullscreen): Set the fullscreen_on_map flag
790         with the fullscreen value.
791
792         (clutter_stage_x11_map), (clutter_stage_x11_unmap): Set the MAPPED
793         flag on the stage actor and redraw; also, if the fullscreen_on_map
794         flag was set, call clutter_stage_fullscreen() as well. (#648)
795
796         * tests/Makefile.am:
797         * tests/test-fullscreen.c: Add a fullscreen test case for checking
798         whether fullscreen works on every backend/platform.
799
800 2007-11-23  Emmanuele Bassi  <ebassi@openedhand.com>
801
802         * clutter/clutter-actor.c:
803         (clutter_actor_real_request_coords),
804         (clutter_actor_request_coords),
805         (clutter_actor_class_init): Provide a default ::request_coords()
806         implementation in ClutterActor and use it to store the bounding
807         box passed to clutter_actor_request_coords(). This makes the code
808         more reliable and clean, and avoids a call to the subclass
809         request_coords() method if the bounding box did not change. Now,
810         every class overriding ClutterActor::request_coords() *must* chain
811         up to the parent class method or the bounding box will not be
812         saved inside the ClutterActor structure.
813
814         * clutter/clutter-entry.c:
815         * clutter/clutter-group.c:
816         * clutter/clutter-hbox.c:
817         * clutter/clutter-label.c:
818         * clutter/clutter-texture.c:
819         * clutter/clutter-vbox.c: Chain up to the parent class
820         request_coords() method.
821
822 2007-11-23  Emmanuele Bassi  <ebassi@openedhand.com>
823
824         * clutter/clutter-event.h: Add more documentation.
825
826 2007-11-23  Emmanuele Bassi  <ebassi@openedhand.com>
827
828         * tests/test-event.c: Back out an accidental commit.
829
830 2007-11-23  Emmanuele Bassi  <ebassi@openedhand.com>
831
832         * clutter/clutter-actor.c:
833         * clutter/clutter-alpha.c:
834         * clutter/clutter-effect.c:
835         * clutter/clutter-event.c:
836         * clutter/clutter-event.h:
837         * clutter/clutter-group.h:
838         * clutter/clutter-model.c:,
839         * clutter/clutter-script.c:
840         * clutter/clutter-scriptable.h:
841         * clutter/clutter-stage.c: Documentation fixes.
842
843         * clutter/clutter-score.c: Fix implementation.
844
845 2007-11-23  Emmanuele Bassi  <ebassi@openedhand.com>
846
847         * clutter/x11/clutter-stage-x11.c: Chain up the hide and show
848         to the parent's implementation.
849
850 2007-11-23  Emmanuele Bassi  <ebassi@openedhand.com>
851
852         * clutter/clutter-effect.[ch]: Update the effects API to remove
853         the start value for most of them.
854
855         (clutter_effect_move): Make it a simple "move from current
856         position to new coordinates" effect.
857
858         (clutter_effect_path): Rename from clutter_effect_move().
859
860         (clutter_effect_rotate): Sync up with the new actor rotation API.
861
862         * tests/test-effects.c: Regression test for the effects.
863
864         * tests/Makefile.am: Build glue for test-effects
865
866         * tests/test-behave.c: Emulate a full ramp by using a looping
867         timeline changing its direction when reaching the last frame.
868
869 2007-11-23  Emmanuele Bassi  <ebassi@openedhand.com>
870
871         * clutter/clutter-actor.c (clutter_actor_destroy): Bail out
872         if clutter_actor_destroy() was called on the stage: the stage
873         is not for the user to destroy.
874
875         * clutter/x11/clutter-backend-x11.c:
876         * clutter/eglnative/clutter-backend-egl.c:
877         * clutter/sdl/clutter-backend-sdl.c:
878         * clutter/osx/clutter-backend-osx.c: Unset the top-level private
879         flag on the stage when disposing it, so the backends can safely
880         call clutter_actor_destroy().
881
882         * clutter/clutter-private.h: Tweak the private flags accessors,
883         to avoid the typecheck.
884
885 2007-11-22  Emmanuele Bassi  <ebassi@openedhand.com>
886
887         * clutter/clutter-label.c (clutter_label_new_full): Set the
888         terminating NULL which was removed when applying patch for
889         fixing #606. (#645, Gwenole Beauchesne)
890
891 2007-11-22  Øyvind Kolås  <pippin@o-hand.com>
892
893         * clutter/clutter-actor.c: mended a couple of typos in documentation.
894
895 2007-11-21  Matthew Allum  <mallum@openedhand.com>
896
897         * clutter/cogl/gles/cogl.c: (cogl_fog_set):
898         Minor fixes for fog on GLES.
899
900 2007-11-21  Emmanuele Bassi  <ebassi@openedhand.com>
901
902         * clutter/cogl/cogl.h: Add cogl_fog_set() abstracting the
903         glFog() functions and enabling the GL_FOG flag.
904
905         * clutter/cogl/gl/cogl.c: Add GL implementation of cogl_fog_set().
906
907         * clutter/cogl/gles/cogl.c: Add GL/ES implementation of
908         cogl_fog_set().
909
910         * clutter.symbols: Add new symbols.
911
912         * clutter/clutter-stage.h: Add API to enable depth cueing on
913         the stage using a linear GL fog, and to set the parameters
914         for it (#637).
915
916         * clutter/clutter-stage.c (clutter_stage_paint): Enable the
917         GL fog if the ClutterStage:use-fog property is true.
918
919         * tests/test-depth.c: Test the new stage API.
920
921 2007-11-20  Øyvind Kolås  <pippin@o-hand.com>
922
923         * clutter/clutter-main.c: (event_click_count_generate): generalized
924         click_count generation code.
925         * tests/test-events.c: (input_cb): extended test to report click_count
926         for release and scroll events as well as press events.
927
928 2007-11-20  Øyvind Kolås  <pippin@o-hand.com>
929
930         * clutter/clutter-main.c: (clutter_do_event): avoid computing source
931         of events if it is already set (for synthetic events.)
932         * clutter/clutter-event.c: Add more information to the documentation
933         of clutter_event_put.
934
935 2007-11-20  Emmanuele Bassi  <ebassi@openedhand.com>
936
937         * README: Add diff example command lines for submitting patches.
938
939 2007-11-20  Emmanuele Bassi  <ebassi@openedhand.com>
940
941         * clutter/clutter-actor.c::
942         * clutter/clutter-behaviour-opacity.c:
943         * clutter/clutter-clone-texture.c:
944         * clutter/clutter-effect.c:
945         * clutter/clutter-label.c: Remove the usage of G_PARAM_CONSTRUCT
946         without an override for the ::construct virtual function; using
947         G_PARAM_CONSTRUCT to set the default value of a property is not
948         the recommended approach; default values are set inside the
949         instance init function.
950
951 2007-11-20  Emmanuele Bassi  <ebassi@openedhand.com>
952
953         * clutter/clutter-texture.c (clutter_texture_init): Set filter-quality
954         value to 1, to fix the regression caused when applying the patch for
955         buf #616.
956
957 2007-11-19  Emmanuele Bassi  <ebassi@openedhand.com>
958
959         * clutter/clutter-label.[ch]: Fix ClutterLabel size allocation when
960         no bounding box has been provided, and store the box set by the
961         user so that it can be reused when recomputing the layout. (#600)
962
963         (clutter_label_class_init),
964         (clutter_label_init): Set the :wrap property default to FALSE.
965
966         * clutter/clutter-units.h: Add ClutterUnit-to-PangoUnit conversion
967         macro.
968
969         * tests/test-rotate.c: Fix string.
970
971 2007-11-19  Emmanuele Bassi  <ebassi@openedhand.com>
972
973         * clutter/clutter-behaviour-bspline.c:
974         * clutter/clutter-behaviour-depth.c:
975         * clutter/clutter-behaviour-ellipse.c:
976         * clutter/clutter-behaviour-opacity.c:
977         * clutter/clutter-behaviour-path.c:
978         * clutter/clutter-behaviour-rotate.c:
979         * clutter/clutter-behaviour-scale.c: Fix gtk-doc short description.
980
981 2007-11-19  Emmanuele Bassi  <ebassi@openedhand.com>
982
983         * clutter.symbols: Update
984
985         * clutter/clutter-actor.h: Rename the angle argument for
986         set_rotationx() to avoid gtk-doc complaining
987
988         * clutter/clutter-main.h:
989         * clutter/clutter-main.c:
990         (clutter_set_motion_events_enabled): Rename for consistency
991
992         (clutter_get_motion_events_frequency),
993         (clutter_set_motion_events_frequency): Add accessors for the default
994         motion events deliver frequency.
995
996         (clutter_do_event): Throttle down motion events delivery using the
997         motion events frequency setting, to avoid excessive redraws. (#608)
998
999         (clutter_context_get_default): Enable per-actor motion events, at
1000         least for now.
1001
1002         * tests/test-events.c (red_button_cb):
1003         * tests/test-grab.c (green_press_cb): Update.
1004
1005 2007-11-19  Emmanuele Bassi  <ebassi@openedhand.com>
1006
1007         * clutter/clutter-timeline.c (timeline_timeout_func): Do not emit the
1008         ::new-frame signal twice for the last frame. (#531)
1009
1010 2007-11-19  Øyvind Kolås  <pippin@o-hand.com>
1011
1012         * clutter/clutter-actor.[ch]: (clutter_actor_set_rotationx),
1013         (clutter_actor_set_rotation): swapped axis and angle around,
1014         the new argument order is: (axis, angle, x, y, z). Also removed
1015         deprecated rotation functions from header.
1016
1017         Updated use of clutter_actor_set_rotation? in the following files:
1018
1019         * clutter/clutter-behaviour-rotate.c:
1020         * clutter/clutter-effect.c:
1021         * tests/test-actors.c:
1022         * tests/test-project.c:
1023
1024 2007-11-19  Emmanuele Bassi  <ebassi@openedhand.com>
1025
1026         * clutter/clutter-label.[ch]: Constify the color argument
1027         for the ClutterLabel ctor. (#604)
1028
1029 2007-11-18  Matthew Allum  <mallum@openedhand.com>
1030
1031         * clutter/clutter-actor.c:
1032         * clutter/clutter-actor.h:
1033         * clutter/clutter-group.c:
1034         * clutter/clutter-main.c:
1035         * clutter/clutter-stage.c:
1036         * tests/test-events.c:
1037         Parent Actors no longer need to be set reactive for reactive
1038         children to get events. Also makes groups now pickable.
1039         (#597, #423)
1040
1041         * clutter/clutter-texture.c:
1042         Handle case when 1x1 tiled texture is created,
1043         falling 'back' to being non tiled. (#596)
1044
1045         * clutter/eglx/clutter-backend-egl.c:
1046         Call EglTerminate on backend shutdown.
1047
1048 2007-11-18  Emmanuele Bassi  <ebassi@openedhand.com>
1049
1050         * clutter.pc.in: Bump up glib-2.0 dependency.
1051
1052 2007-11-18  Emmanuele Bassi  <ebassi@openedhand.com>
1053
1054         * clutter/clutter-model.c: Add gtk-doc section for
1055         ClutterModelIter
1056
1057         * clutter/clutter-script.h: Fix argument name.
1058
1059         * clutter/x11/clutter-x11.h:
1060         * clutter/x11/clutter-event-x11.c:
1061         * clutter/x11/clutter-backend-x11.c: Document functions and
1062         types.
1063
1064 2007-11-18  Emmanuele Bassi  <ebassi@openedhand.com>
1065
1066         * clutter.symbols: Update exported symbols.
1067
1068         * clutter/clutter-actor.[ch]: Remove clutter_actor_rotate_*
1069         and clutter_actor_get_rx* and provide a simpler rotation API:
1070         clutter_actor_set_rotation() and clutter_actor_get_rotation().
1071
1072         * clutter/clutter-deprecated.h: Deprecate the old rotation API.
1073
1074         * clutter/clutter-behaviour-bspline.c:
1075         * clutter/clutter-behaviour-rotate.c:
1076         * clutter/clutter-effect.c: Update internal usage of the
1077         rotation API.
1078
1079         * tests/test-project.c: Ditto as above.
1080
1081 2007-11-17  Emmanuele Bassi  <ebassi@openedhand.com>
1082
1083         Optimise Atoms usage in the X11 and X11-based backends.
1084
1085         * clutter/x11/clutter-backend-x11.c:
1086         (clutter_backend_x11_post_parse): Call XInternAtoms() here and
1087         get all the atoms from X in one call.
1088
1089         * clutter/x11/clutter-backend-x11.h: Store all the atoms inside
1090         the ClutterBackendX11 structure.
1091
1092         * clutter/x11/clutter-event-x11.c:
1093         (xembed_send_message), (xembed_set_info),
1094         (_clutter_backend_x11_events_init),
1095         (set_user_time), (handle_wm_protocols_event),
1096         (handle_xembed_event), (event_translate): Do not cache atoms
1097         or call XInternAtom() directly, and use the atoms off the X11
1098         backend structure instead.
1099
1100         * clutter/x11/clutter-stage-x11.c:
1101         (send_wmspec_change_state), (clutter_stage_x11_set_wm_protocols),
1102         (clutter_stage_x11_set_fullscreen),
1103         (clutter_stage_x11_set_title): Ditto as above.
1104
1105         * clutter/x11/clutter-stage-x11.h: Update the set_wm_protocols()
1106         method to take the X11 stage implementation.
1107
1108         * clutter/glx/clutter-stage-glx.c:
1109         (clutter_stage_glx_realize): Update for the set_wm_protocols()
1110         change.
1111
1112         * tests/test-project.c: (main): Test clutter_stage_set_title().
1113
1114 2007-11-17  Emmanuele Bassi  <ebassi@openedhand.com>
1115
1116         * configure.ac: Depend on GLib >= 2.14 because of ClutterModel
1117         usage of GSequence.
1118
1119 2007-11-16  Øyvind Kolås  <pippin@o-hand.com>
1120
1121         * clutter/clutter-main.c: (emit_event): renamed from deliver_event,
1122         (emit_pointer_event): utility function to emit pointer event signals
1123         (which takes pointer grab into account).
1124         (emit_keyboard_event): utility function to emit keyboard event signals
1125         (which takes keyboard grab into account).
1126         (clutter_do_event): use the above utility functions, also reindented
1127         the source.
1128
1129 2007-11-16  Øyvind Kolås  <pippin@o-hand.com>
1130
1131         * tests/test-grab.c: (main): fix use of clutter_actor_set_reactive
1132
1133 2007-11-15  Øyvind Kolås  <pippin@o-hand.com>
1134
1135         * clutter/clutter-main.[ch]: added clutter_grab_keyboard,
1136         clutter_ungrab_keyboard and clutter_get_keyboard_grab, in
1137         clutter_do_event deliver keyboard related events only to the
1138         actor with the keyboard grab if a grab exists.
1139         * clutter/clutter-private.h: added keyboard_grab_actor to context.
1140         * tests/test-grab.c: added testing for testing the keyboard grab.
1141
1142 2007-11-15  Emmanuele Bassi  <ebassi@openedhand.com>
1143
1144         * clutter/clutter-texture.c:
1145         (clutter_texture_request_coords), (clutter_texture_class_init),
1146         (clutter_texture_init): Unset :sync-size if explicitly setting
1147         the texture size. (#616)
1148
1149 2007-11-15  Emmanuele Bassi  <ebassi@openedhand.com>
1150
1151         * clutter/clutter-actor.[ch]: Massive API clean-ups. Initial
1152         fixes for bugs #614 and #628.
1153
1154         * clutter/clutter-main.c:
1155         * clutter/clutter-stage.c: Update internal usage of the actor
1156         API.
1157
1158         * tests/test-events.c: Update test suite.
1159
1160 2007-11-15  Øyvind Kolås  <pippin@o-hand.com>
1161
1162         * clutter/clutter-main.c: (generate_enter_leave_events),
1163         (clutter_do_event): moved the generation of enter/leave events
1164         to a utility function.
1165
1166 2007-11-15  Neil J. Patel  <njp@o-hand.com>
1167
1168         * clutter/clutter-model.c:
1169         Added some more examples to the documentation, plus explained how the
1170         iters work internally.
1171
1172 2007-11-15  Øyvind Kolås  <pippin@o-hand.com>
1173
1174         * clutter/clutter-main.[ch]: added clutter_grab_pointer,
1175         clutter_ungrab_pointer and clutter_get_pointer_grab, in
1176         clutter_do_event deliver pointer related events only to the
1177         actor with the pointer grab if a grab exists.
1178         * clutter/clutter-private.h: added pointer_grab_actor to context.
1179         * tests/Makefile.am:
1180         * tests/test-grab.c: added test for testing the pointer grab.
1181
1182 2007-11-15  Emmanuele Bassi  <ebassi@openedhand.com>
1183
1184         * clutter/clutter-timeline.[ch]: Add ClutterTimeline:direction
1185         property, defining the direction (forward or backward) of the
1186         timeline.
1187
1188         * tests/test-timeline.c: Test the direction property.
1189
1190         * clutter.symbols: Update exported symbols
1191
1192 2007-11-15  Emmanuele Bassi  <ebassi@openedhand.com>
1193
1194         * clutter/clutter-effect.h:
1195         * clutter/clutter-effect.c:
1196         (clutter_effect_template_new_for_duration): Add a simple constructor
1197         for implicitly creating a ClutterTimeline with a given duration.
1198
1199 2007-11-15  Emmanuele Bassi  <ebassi@openedhand.com>
1200
1201         * clutter.symbols: Update with the new public symbols
1202
1203         * clutter/clutter-script.h:
1204         * clutter/clutter-script-private.h:
1205         * clutter/clutter-script.c:
1206         (parse_signals), (json_object_end),
1207         (signal_info_free), (object_info_free): Parse the "signals"
1208         member for GObjects.
1209
1210         (clutter_script_connect_signals),
1211         (clutter_script_connect_signals_full): Add new API for autoconnecting
1212         signal handlers using the UI definition files.
1213
1214         * tests/test-script.c:
1215         * tests/test-script.json: Test signal autoconnection.
1216
1217 2007-11-15  Matthew Allum  <mallum@openedhand.com>
1218
1219         * clutter/Makefile.am:
1220         * clutter/eglx/Makefile.am:
1221         * clutter/eglx/clutter-backend-egl.c:
1222         * clutter/eglx/clutter-backend-egl.h:
1223         * clutter/eglx/clutter-eglx.h:
1224         * clutter/eglx/clutter-event-egl.c:
1225         * clutter/eglx/clutter-stage-egl.c:
1226         * clutter/eglx/clutter-stage-egl.h:
1227         * clutter/glx/Makefile.am:
1228         * clutter/glx/clutter-backend-glx.c:
1229         * clutter/glx/clutter-backend-glx.h:
1230         * clutter/glx/clutter-event-glx.c:
1231         * clutter/glx/clutter-glx.h:
1232         * clutter/glx/clutter-stage-glx.c:
1233         * clutter/glx/clutter-stage-glx.h:
1234         * clutter/x11/Makefile.am:
1235         * clutter/x11/clutter-backend-x11-private.h:
1236         * clutter/x11/clutter-backend-x11.c:
1237         * clutter/x11/clutter-backend-x11.h:
1238         * clutter/x11/clutter-event-x11.c:
1239         * clutter/x11/clutter-stage-x11.c:
1240         * clutter/x11/clutter-stage-x11.h:
1241         * clutter/x11/clutter-x11.h:
1242         Create a new X11 backend class of which EGL and GLX 'real' backends
1243         then subclass. Effectively shares all X11 code between both backends
1244         avoids code duplication and brings many missing features to EGL X
1245         backend. Requires some cleanup and testing. (#518)
1246
1247         * clutter/cogl/gles/cogl.c: (cogl_color):
1248         Add define to use color4ub only if configure finds it.
1249         If not fall back to old code.
1250
1251         * configure.ac:
1252         Drop support for vincent checks.
1253         Drop sdles backend.
1254         Specifically check for color4ub call.
1255
1256 2007-11-15  Neil J. Patel  <njp@o-hand.com>
1257
1258         * clutter/Makefile.am:
1259         * clutter/clutter-model.c:
1260         * clutter/clutter-model.h:
1261         * clutter/clutter.h:
1262         * tests/Makefile.am:
1263         * tests/test-model.c:
1264         Merged ClutterModel, which closes #443.
1265
1266 2007-11-14  Emmanuele Bassi  <ebassi@openedhand.com>
1267
1268         * clutter/clutter-clone-texture.c (set_parent_texture): Hide the
1269         clone texture only if it was visible, and show it again if we
1270         are adding a visible texture.
1271
1272         * tests/test-script.json: Test the CloneTexture actor.
1273
1274 2007-11-14  Emmanuele Bassi  <ebassi@openedhand.com>
1275
1276         * clutter/clutter-actor.[ch]: Rename clutter_actor_get_id() to
1277         clutter_actor_get_gid().
1278
1279         (clutter_actor_set_parent): Use GUINT_TO_POINTER().
1280
1281         * clutter/clutter-deprecated.h: Add a replacement warning for
1282         clutter_actor_get_id().
1283
1284         * clutter/clutter-texture.c (texture_upload_data): Use
1285         clutter_actor_get_gid(), and don't leak the filename string.
1286
1287 2007-11-14  Emmanuele Bassi  <ebassi@openedhand.com>
1288
1289         * clutter/clutter-scriptable.[ch]: Rename ::set_name and ::get_name
1290         to ::set_id and ::get_id, to avoid potential confusion with the
1291         ClutterActor:name property.
1292
1293         * clutter/clutter-script.h:
1294         * clutter/clutter-script.c (clutter_script_construct_object): Use
1295         clutter_scriptable_set_id().
1296
1297         (clutter_get_script_id): Add a public function to retrieve the ID
1298         used in the UI definition files from an object.
1299
1300         * clutter/clutter-actor.c: Do not set the name of the actor with
1301         the ID set in the UI definition files.
1302
1303         * tests/test-script.c: Test clutter_get_script_id().
1304
1305         * clutter.symbols: Update with the new symbols.
1306
1307 2007-11-14  Emmanuele Bassi  <ebassi@openedhand.com>
1308
1309         * clutter/cutter-deprecated.h: Don't let everyone know from where
1310         we have stolen^Wtaken inspiration for the deprecation warnings.
1311
1312 2007-11-13  Øyvind Kolås  <pippin@o-hand.com>
1313
1314         * clutter/clutter-behaviour-bspline.[ch]:
1315         Replaced clutter_behaviour_bspline_append with
1316         clutter_behaviour_bspline_append_knots. Fixes bug #582.
1317         * clutter/clutter-deprecated.h: added deprecation macro reflecting the
1318         API change.
1319
1320 2007-11-13  Øyvind Kolås  <pippin@o-hand.com>
1321
1322         * clutter/Makefile.am:
1323         * clutter/clutter.h: include clutter-deprecated.h
1324         * clutter/clutter-deprecated.h: added file containing macros that
1325         provides more meaningful errors when compiling clutter using code that
1326         uses deprecated functions.
1327
1328 2007-11-13  Øyvind Kolås  <pippin@o-hand.com>
1329
1330         Renamed all properties of behaviours (and related
1331         functions/variables/parameters)
1332         to match the pattern something-start, something-end. Fixes bug #577.
1333
1334         * clutter/clutter-behaviour-depth.c:
1335         * clutter/clutter-behaviour-depth.h:
1336         * clutter/clutter-behaviour-ellipse.c:
1337         * clutter/clutter-behaviour-ellipse.h:
1338         * clutter/clutter-behaviour-path.c:
1339         * clutter/clutter-behaviour-rotate.c:
1340         * clutter/clutter-behaviour-rotate.h:
1341         * clutter/clutter-behaviour-scale.c:
1342         * clutter/clutter-behaviour-scale.h:
1343         * clutter/clutter-effect.c:
1344         * clutter/clutter-effect.h:
1345         * clutter/clutter-script.c:
1346         * tests/test-depth.c:
1347         * tests/test-script.c:
1348
1349 2007-11-06  Øyvind Kolås  <pippin@o-hand.com>
1350
1351         * clutter/clutter-event.h: made ClutterEventAny have a source field,
1352         rearanged other structs to have source in the same position.
1353         * clutter/clutter-event.c: (clutter_event_get_source): modified to use
1354         the any event.
1355         (clutter_event_free): removed unused variable.
1356         * clutter/clutter-main.c: (deliver_event), (clutter_do_event): reduced
1357         amount of code. As well as deliver button-release events to the stage.
1358
1359 2007-11-08  Rob Bradford  <rob@openedhand.com>
1360
1361         * clutter/glx/clutter-glx.h:
1362         Include <X11/Xutil.h> needed for the definition of XVisualInfo.
1363
1364 2007-11-08  Rob Bradford  <rob@openedhand.com>
1365
1366         * clutter/cogl/gles/cogl.c: (cogl_color):
1367         Switch over to using glColor4ub in the GLES backend. It's available in
1368         the header file but missing in the reference manual.
1369
1370 2007-11-07  Emmanuele Bassi  <ebassi@openedhand.com>
1371
1372         * clutter/clutter-actor.[ch]: Fix the declaration of the
1373         class handlers for the ::captured-event, ::enter-event and
1374         ::leave-event signals; the function signatures were missing
1375         the return value the signals marshallers were expecting, and
1376         their names weren't respecting the convention for event-related
1377         signals.
1378
1379 2007-11-06  Tomas Frydrych  <tf@o-hand.com>
1380
1381         * clutter/clutter-fixed.h:
1382         Added CLUTTER_SQRTI_ARG_MAX, CLUTTER_SQRTI_5_PERCENT,
1383         CLUTTER_SQRTI_10_PERCENT expressing clutter_sqrti limits.
1384         Stripped trailing whitespace.
1385
1386         * clutter/clutter-fixed.c:
1387         (clutter_sqrti):
1388         Updated documentation, stripped trailing whitespace.
1389
1390         * clutter/clutter-behaviour-path.c:
1391         (node_distance):
1392         Use clib sqrt if clutter_sqrti() precission would be worse than
1393         10%.
1394         Stripped trailing whitespace.
1395
1396 2007-11-06  Emmanuele Bassi  <ebassi@openedhand.com>
1397
1398         * clutter/clutter-layout.h: Add commodity macros to test for
1399         a specific layout flag in one line.
1400
1401 2007-11-06  Emmanuele Bassi  <ebassi@openedhand.com>
1402
1403         * clutter/clutter-box.c (clutter_box_dispose): Call unparent()
1404         on the children, instead of destroy(), to avoid a double free
1405         and a crash when destroying a ClutterBox.
1406
1407 2007-11-06  Emmanuele Bassi  <ebassi@openedhand.com>
1408
1409         * clutter/clutter-label.c: Break the references in ::dispose,
1410         and free the resources in ::finalize.
1411
1412 2007-11-05  Øyvind Kolås  <pippin@o-hand.com>
1413
1414         * clutter/clutter-container.[ch]: removed find_child_by_id method
1415         from interface (and all implementations of it) since this
1416         functionality is now implemented using a global hash.
1417         * clutter/clutter-box.c:
1418         * clutter/clutter-group.c:
1419
1420 2007-11-01  Emmanuele Bassi  <ebassi@openedhand.com>
1421
1422         * clutter/clutter-script.c: Do not keep ownership of the
1423         pixbufs we load.
1424
1425 2007-10-31  Øyvind Kolås  <pippin@o-hand.com>
1426
1427         * clutter/clutter-main.c: (_clutter_do_pick): disable dithering
1428         when painting in pick mode.
1429
1430 2007-10-31  Matthew Allum  <mallum@openedhand.com>
1431
1432         * clutter/clutter-score.c:
1433         Various minor improvements to ClutterScore.
1434
1435 2007-10-30  Emmanuele Bassi  <ebassi@openedhand.com>
1436
1437         * clutter/clutter-layout.c: Fix documentation, with regards to
1438         the containers handling of the children implementing the
1439         ClutterLayout interface.
1440
1441 2007-10-29  Emmanuele Bassi  <ebassi@openedhand.com>
1442
1443         * configure.ac:
1444         * clutter/cogl/gl/cogl-defines.h.in: The OS X backend has a funny
1445         OpenGL header location, so it basically did break every application
1446         including clutter/cogl.h because the GL header inclusion depended
1447         on symbols defined into Clutter's config.h. Now, we define the
1448         GL header into the configure template and use it to create the
1449         cogl-defines.h file cogl.h includes.
1450
1451 2007-10-29  Emmanuele Bassi  <ebassi@openedhand.com>
1452
1453         * clutter/json/json-parser.c: Enable parsing of negative numbers;
1454         GScanner splits negative numbers into two tokens, so we need to
1455         special case them.
1456
1457 2007-10-29  Emmanuele Bassi  <ebassi@openedhand.com>
1458
1459         * clutter/clutter-script.c: Add the :filename and :filename-set
1460         properties, to retrieve the path of the currently parsed file (if
1461         :filename-set is TRUE) from the ClutterScriptable implementations.
1462
1463 2007-10-28  Matthew Allum  <mallum@openedhand.com>
1464
1465         * clutter/clutter-effect.c:
1466         Small doc fix (#584)
1467
1468 2007-10-27  Emmanuele Bassi  <ebassi@openedhand.com>
1469
1470         * clutter/json/json-parser.c:
1471         (json_scanner_msg_handler): Set the GError to be returned by
1472         the parsing functions into the GScanner error message handler.
1473
1474         (json_parser_object): Return the symbol token in case we have
1475         a parse error after the member name.
1476
1477         (json_parser_load_from_data): Propagate the error set in the
1478         message handler, if any.
1479
1480         * clutter/json/json-node.c (json_node_free): Unref the objects
1481         only if are set, to avoid a couple of needless criticals we
1482         get on error.
1483
1484         * tests/test-script.json: More properties.
1485
1486 2007-10-27  Emmanuele Bassi  <ebassi@openedhand.com>
1487
1488         * clutter/clutter-script.[ch]: Slight API change in the
1489         clutter_script_get_objects() function: now it takes
1490         object name/object return location pairs and returns the
1491         number of objects found and returned.
1492
1493         * tests/test-script.c: Exercise the clutter_script_get_objects()
1494         function.
1495
1496 2007-10-27  Emmanuele Bassi  <ebassi@openedhand.com>
1497
1498         * clutter/clutter-rectangle.c (clutter_rectangle_paint): Use
1499         CGL_ENABLE_BLEND flag instead of CGL_BLEND value. (#580,
1500         Gwenole Beauchesne)
1501
1502 2007-10-27  Emmanuele Bassi  <ebassi@openedhand.com>
1503
1504         * clutter/clutter-color.c (clutter_color_to_string): Update the
1505         documentation for the format of the returned string, and remove
1506         the note: now clutter_color_parse() can parse the string this
1507         function returns.
1508
1509 2007-10-27  Emmanuele Bassi  <ebassi@openedhand.com>
1510
1511         * clutter/pango/pangoclutter-render.c: Last usage of guint
1512         replaced with COGLuint. (Tommi Komulainen)
1513
1514 2007-10-26  Matthew Allum  <mallum@openedhand.com>
1515
1516         * clutter/clutter-texture.c:
1517         * clutter/cogl/cogl.h:
1518         * clutter/cogl/gl/cogl-defines.h:
1519         * clutter/cogl/gles/cogl-defines.h:
1520         * clutter/cogl/gl/cogl.c:
1521         * clutter/cogl/gles/cogl.c:
1522         Switch from use of guint to COGLuint. Avoids problems when
1523         guint != GLuint on some platforms, i.e OSX.
1524         (Tommi Komulainen, #525, #523)
1525
1526         * clutter/Makefile.am:
1527         * clutter/osx/Makefile.am:
1528         * clutter/osx/clutter-backend-osx.c:
1529         * clutter/osx/clutter-backend-osx.h:
1530         * clutter/osx/clutter-event-osx.c:
1531         * clutter/osx/clutter-osx.h:
1532         * clutter/osx/clutter-stage-osx.c:
1533         * clutter/osx/clutter-stage-osx.h:
1534         * configure.ac:
1535         Add initial Cocoa/OSX Backend (by Tommi Komulainen, see #526)
1536
1537 2007-10-26  Emmanuele Bassi  <ebassi@openedhand.com>
1538
1539         * clutter/clutter-entry.c: Add a :x-align property for aligning
1540         the text in the entry, in case the actor is wider than the
1541         text it shows.
1542
1543 2007-10-26  Emmanuele Bassi  <ebassi@openedhand.com>
1544
1545         * clutter/clutter-main.c: Add a --clutter-default-fps run-time
1546         switch and CLUTTER_DEFAULT_FPS environment variable support for
1547         setting the default frame-rate at run-time.
1548
1549 2007-10-26  Emmanuele Bassi  <ebassi@openedhand.com>
1550
1551         * clutter/clutter-script.h:
1552         * clutter/clutter-script.c: Add a ::get_type_from_name() virtual
1553         function for bindings to override. The current implementation
1554         calls g_type_from_name() and our lazy class resolver.
1555
1556         * clutter.symbols: Update.
1557
1558         * doc/reference/clutter-sections.txt: Update.
1559
1560 2007-10-25  Emmanuele Bassi  <ebassi@openedhand.com>
1561
1562         * clutter/clutter-behaviour-path.c: Reverse the list of
1563         parsed knots, to preserve the real ordering after prepending
1564         them (thanks to Øyvind for spotting this).
1565
1566         * clutter/clutter-behaviour-bspline.c: Ditto as above.
1567
1568 2007-10-25  Emmanuele Bassi  <ebassi@openedhand.com>
1569
1570         * clutter/clutter-script-parser.c: Unset the GValue when
1571         getting a ClutterUnit from a JSON node.
1572
1573 2007-10-25  Emmanuele Bassi  <ebassi@openedhand.com>
1574
1575         * clutter/clutter-behaviour-bspline.c: Implement the
1576         ClutterScriptableIface to parse the custom "knots" property.
1577
1578 2007-10-25  Emmanuele Bassi  <ebassi@openedhand.com>
1579
1580         * tests/test-script.c:
1581         * tests/test-script.json: Rejig the test case and add a
1582         path behaviour to test the knot parsing code.
1583
1584 2007-10-25  Emmanuele Bassi  <ebassi@openedhand.com>
1585
1586         * clutter/cogl/cogl.h: Do not include <clutter/clutter.h>.
1587
1588 2007-10-25  Emmanuele Bassi  <ebassi@openedhand.com>
1589
1590         * clutter/clutter-behaviour-path.c: Implement the
1591         ClutterScriptableIface to parse the custom "knots" property.
1592
1593 2007-10-25  Emmanuele Bassi  <ebassi@openedhand.com>
1594
1595         * clutter/clutter-texture.c (clutter_texture_set_property): Do
1596         not try to set NULL pixbufs.
1597
1598 2007-10-25  Emmanuele Bassi  <ebassi@openedhand.com>
1599
1600         * clutter/clutter-actor.c: Implement part of the ClutterScriptable
1601         interface, using the ClutterActor API to set and get the name
1602         of an actor.
1603
1604         (clutter_geometry_copy), (clutter_geometry_free): Use
1605         the slice allocator to avoid fragmentation when setting
1606         properties and emitting signals (that is: when packing
1607         boxed types into GValues).
1608
1609         (clutter_actor_box_copy), (clutter_actor_box_free),
1610         (clutter_vertex_copy), (clutter_vertex_free): Ditto.
1611
1612         * clutter/clutter-actor.h:
1613         * clutter/clutter-actor.c:
1614         (clutter_actor_push_transform_child),
1615         (clutter_actor_pop_transfomr_child): Simple wrappers around
1616         COGL API, which avoid including clutter/cogl.h when writing
1617         container actors outside Clutter.
1618
1619 2007-10-25  Emmanuele Bassi  <ebassi@openedhand.com>
1620
1621         * clutter/Makefile.am:
1622         * clutter/clutter.h:
1623         * clutter/clutter-scriptable.[ch]: Add the ClutterScriptable
1624         interface; by implementing this interface, a class can
1625         override the UI definition parsing and transform complex data
1626         types into GObject properties, or allow custom properties.
1627
1628         * clutter/clutter-script.c:
1629         * clutter/clutter-script-parser.c:
1630         * clutter/clutter-script-private.h: Rearrange the code and
1631         use the ClutterScriptable interface to parse and build the
1632         custom properties. This cleans up the code and also it makes
1633         it more reliable (the complex type parsing is now done using
1634         the target type and not just the name of the property).
1635
1636 2007-10-25  Emmanuele Bassi  <ebassi@openedhand.com>
1637
1638         * clutter/clutter-json.h: Header for including the JSON
1639         parsing and data types.
1640
1641         * clutter/json/json-types.h: Add JSON_NODE_VALUE_TYPE() macro.
1642
1643         * clutter/json/Makefile.am: Install the JSON headers into a
1644         private location. This might change in the future, and might
1645         also cause collisions if you're using JSON-GLib and Clutter
1646         at the same time, so be warned.
1647
1648 2007-10-22  Emmanuele Bassi  <ebassi@openedhand.com>
1649
1650         * clutter/clutter-label.c (clutter_label_request_coords): If
1651         we get a size requisition, and we have ellipsization active,
1652         check if we are getting less space than what the layout needs
1653         and recompute the width.
1654
1655 2007-10-22  Emmanuele Bassi  <ebassi@openedhand.com>
1656
1657         * clutter/clutter-color.c (clutter_color_to_string): Change
1658         the print format to "%02x%02x%02x%02x" because we use guint8
1659         for each component, not guint16.
1660
1661 2007-10-19  Emmanuele Bassi  <ebassi@openedhand.com>
1662
1663         * clutter/clutter-entry.c (clutter_entry_paint): Fixed off by
1664         one error. (#566, Gwenole Beauchesne)
1665
1666 2007-10-18  Øyvind Kolås  <pippin@o-hand.com>
1667
1668         * clutter/clutter-timeline.c: (clutter_timeline_set_duration):
1669         rearranged arithemetic to allow specifying duration with sub second
1670         precision (also enables durations smaller than one second).
1671
1672 2007-10-18  Emmanuele Bassi  <ebassi@openedhand.com>
1673
1674         * clutter/clutter-script-private.h:
1675         * clutter/clutter-script.h:
1676         * clutter/clutter-script.c: Allow id-less objects: as long
1677         as they have a "type" member, a unique id will be provided.
1678
1679         (json_object_end): Add merge id to the object information
1680         structure.
1681
1682         (apply_behaviours), (add_children): Keep the unresolved
1683         objects around.
1684
1685         (construct_stage), (clutter_script_construct_object): If an
1686         object has unresolved children or behaviours try resolving
1687         them when we ask for it.
1688
1689         (json_parse_end), (clutter_script_ensure_objects): Ensure
1690         that the objects are fully constructed as best as we can when
1691         finished parsing.
1692
1693         (object_info_free), (remove_by_merge_id):
1694         (clutter_script_unmerge_objects): Remove objects under the
1695         same merge id returned by the loading functions. (Fixes
1696         bug #558)
1697
1698         * test/test-script.c:
1699         * test/test-script.json: Test unresolved merging and unmerging
1700         in ClutterScript.
1701
1702 2007-10-18  Matthew Allum  <mallum@openedhand.com>
1703
1704         * clutter/clutter-score.c:
1705         * clutter/clutter-score.h:
1706         * tests/test-score.c:
1707         Implement more ClutterScore functionality.
1708
1709 2007-10-17  Emmanuele Bassi  <ebassi@openedhand.com>
1710
1711         * clutter/clutter-actor.c:
1712         (clutter_actor_set_property), (clutter_actor_get_property),
1713         (clutter_actor_class_init): Add the :reactive property, to
1714         control reactiveness using the UI definition files.
1715
1716         (clutter_actor_reparent): Do not assume the parent is a
1717         ClutterContainer, and call the container API only if needed.
1718
1719         (clutter_actor_destroy): Remove from the parent if needed,
1720         just like the documentation says.
1721
1722 2007-10-16  Øyvind Kolås  <pippin@o-hand.com>
1723
1724         * clutter/pango/pangoclutter-render.c: (tc_get): Provide for blank
1725         rows/columns of pixels between adjecant glyphs in the texture cache to
1726         avoid bilinear interpolation spillage at edges of glyphs.
1727
1728 2007-10-16  Øyvind Kolås  <pippin@o-hand.com>
1729
1730         * clutter/clutter-main.c: (clutter_do_event): allow motion events
1731         only delivered to stage to be caught in the capture phase as well
1732         as the bubbling phase.
1733
1734 2007-10-16  Emmanuele Bassi  <ebassi@openedhand.com>
1735
1736         * clutter/json/json-object.c: Automatically transform every
1737         delimiter into an underscore.
1738
1739         * clutter/clutter-script.c: Implement the "parent_texture"
1740         property translation for ClutterCloneTextures, using the
1741         passed id of the parent texture.
1742
1743 2007-10-16  Emmanuele Bassi  <ebassi@openedhand.com>
1744
1745         * clutter/clutter-timeline.[ch]: Added ClutterTimeline:duration,
1746         a property for setting the duration of a timeline in milliseconds.
1747         The property comes with accessors and a new constructor. The
1748         frame rate used is the default value.
1749
1750         * clutter/clutter-private.h:
1751         * clutter/clutter-main.[ch]: Add clutter_get_default_frame_rate()
1752         and clutter_set_default_frame_rate(); these two functions control
1753         the default frame rate to be used when creating timelines. Currently
1754         is set to 60 frames-per-second.
1755
1756 2007-10-16  Tomas Frydrych  <tf@o-hand.com>
1757
1758         * build/msvc_2k5:
1759         Added MSVC project files.
1760
1761 2007-10-16  Emmanuele bassi  <ebassi@openedhand.com>
1762
1763         * clutter/clutter-color.c: Copy the alpha when shading.
1764
1765 2007-10-16  Tomas Frydrych  <tf@o-hand.com>
1766
1767         * clutter.symbols:
1768         Added a bunch of missing symbols.
1769
1770         * clutter/clutter-script.c:
1771         * json/json-node.c:
1772         Use g_slice_new0 instead of g_slice_new to avoid passing
1773         garbage to functions.
1774
1775         * tests/test-threads.c:
1776         Replaced non-portable sleep() with g_usleep().
1777
1778 2007-10-15  Tomas Frydrych  <tf@o-hand.com>
1779
1780         * clutter/cogl/gl/cogl-defines.h:
1781         * clutter/cogl/gl/cogl.c:
1782         Fixup GL include for windows.
1783
1784 2007-10-15  Matthew Allum  <mallum@openedhand.com>
1785
1786         * clutter/clutter-actor.c:
1787         More events documentation.
1788
1789         * clutter/clutter-event.c:
1790         * clutter/clutter-event.h:
1791         Add synthetic flag and make put_event use it
1792         (via modded patch from pippin)
1793
1794         * clutter/clutter-main.c: (clutter_do_event):
1795         dont use put event anymore when pushing enter/leave events.
1796
1797 2007-10-15  Emmanuele Bassi  <ebassi@openedhand.com>
1798
1799         * clutter/pango/Makefile.am: Compile with the debug flags, if
1800         set.
1801
1802 2007-10-12  Emmanuele Bassi  <ebassi@openedhand.com>
1803
1804         * clutter.symbols: Remove non-public symbols.
1805
1806 2007-10-12  Tomas Frydrych  <tf@o-hand.com>
1807
1808         * clutter.symbols:
1809         A list of public symbols, one per line; semi-autogenerated, so
1810         might not be complete -- PLEASE when adding new public APIs, add
1811         the function name to this file.
1812
1813 2007-10-12  Emmanuele Bassi  <ebassi@openedhand.com>
1814
1815         * clutter/clutter-actor.c: Add a :depth property, so we can
1816         set the initial depth of an actor inside the UI definition
1817         files.
1818
1819 2007-10-12  Tomas Frydrych  <tf@o-hand.com>
1820
1821         * tests/test-actors.c:
1822         When using MSVC, define _USE_MATH_DEFINES before including
1823         math.h, otherwise constants like M_PI will not be defined.
1824
1825 2007-10-12  Emmanuele Bassi  <ebassi@openedhand.com>
1826
1827         * clutter/clutter-script.c (construct_timline),
1828         (parse_member_to_property): Transfer ownership of the
1829         implicit timelines to the behaviour, so that they get
1830         unreferenced when the behaviour is destroyed.
1831
1832         (parse_member_to_property): Reverse the list of children
1833         and behaviours.
1834
1835 2007-10-12  Tomas Frydrych  <tf@o-hand.com>
1836
1837         Portability fixes:
1838
1839         * clutter/clutter-private.h:
1840         Bracket #include "unistd.h" with #ifdef HAVE_UNISTD_H
1841
1842         * clutter/clutter-fixed.c:
1843         Use "", not <> for inclusion of local files.
1844
1845         (clutter_sqrtx): forward declare local variables.
1846
1847         * clutter/clutter-debug.h:
1848         Added non-gcc (c99) implementation of variadic debug macros for
1849         when not compiling with gcc.
1850
1851         * clutter/pango/pangoclutter-render.c:
1852         Fixed some strange uses of CLUTTER_NOTE() + stripped trailing
1853         whitespace.
1854
1855 2007-10-12  Tomas Frydrych  <tf@o-hand.com>
1856
1857         * clutter/clutter-actor.c:
1858         * clutter/clutter-backend.c:
1859         * clutter/clutter-behaviour-depth.c:
1860         * clutter/clutter-box.c:
1861         * clutter/clutter-clone-texture.c:
1862         * clutter/clutter-container.c:
1863         * clutter/clutter-entry.c:
1864         * clutter/clutter-feature.c:
1865         * clutter/clutter-fixed.c:
1866         * clutter/clutter-group.c:
1867         * clutter/clutter-hbox.c:
1868         * clutter/clutter-label.c:
1869         * clutter/clutter-layout.c:
1870         * clutter/clutter-media.c:
1871         * clutter/clutter-rectangle.c:
1872         * clutter/clutter-score.c:
1873         * clutter/clutter-script.c:
1874         * clutter/clutter-stage.c:
1875         * clutter/clutter-texture.c:
1876         * clutter/clutter-timeline.c:
1877         * clutter/clutter-timeout-pool.c:
1878         * clutter/clutter-vbox.c:
1879         * clutter/cogl/gl/cogl.c:
1880         * clutter/cogl/gles/cogl.c:
1881         * clutter/eglnative/clutter-backend-egl.c:
1882         * clutter/eglnative/clutter-event-egl.c:
1883         * clutter/eglnative/clutter-stage-egl.c:
1884         * clutter/eglx/clutter-backend-egl.c:
1885         * clutter/eglx/clutter-event-egl.c:
1886         * clutter/eglx/clutter-stage-egl.c:
1887         * clutter/glx/clutter-event-glx.c:
1888         * clutter/json/json-array.c:
1889         * clutter/json/json-generator.c:
1890         * clutter/json/json-node.c:
1891         * clutter/json/json-object.c:
1892         * clutter/json/json-parser.c:
1893         * clutter/sdl/clutter-backend-sdl.c:
1894         * clutter/sdl/clutter-event-sdl.c:
1895         * clutter/sdl/clutter-stage-sdl.c:
1896
1897         Fixedup config.h inclusion (must always be bracketed with #ifdef
1898         HAVE_CONFIG_H).
1899
1900 2007-10-11  Tomas Frydrych  <tf@o-hand.com>
1901
1902         * clutter/clutter-entry.c:
1903         Avoid using C++ reserverd words to name variables.
1904
1905 2007-10-11  Øyvind Kolås  <pippin@o-hand.com>
1906
1907         Improve the quality of text when the scale it is shown at screen is
1908         smaller than the original, seems to work well down to about a scale
1909         of 50%.
1910
1911         * clutter/pango/pangoclutter-fontmap.c:
1912         (pango_clutter_font_map_default_substitute): turn off hinting.
1913         * clutter/pango/pangoclutter-render.c: request linear filtering
1914         instead of nearest neighbour when scaling down.
1915         * tests/test-text.c: replaced test with a a test that renders a sample
1916         grid with various pixel sizes and scales for visual inspection of
1917         text rendering quality.
1918
1919 2007-10-10  Emmanuele Bassi  <ebassi@openedhand.com>
1920
1921         * clutter/glx/clutter-backend-glx.c: Fix documentation of the
1922         filter function API.
1923
1924         * clutter/clutter-score.c:
1925         * clutter/clutter-effect.c:
1926         * clutter/clutter-actor.c: Documentation fixes.
1927
1928         * clutter/clutter-actor.h: Automatically typecast to ClutterActor
1929         when setting/checking flags.
1930
1931 2007-10-10  Emmanuele Bassi  <ebassi@openedhand.com>
1932
1933         * clutter/clutter-actor.c: Beautify the ClutterActor documentation.
1934
1935 2007-10-10  Emmanuele Bassi  <ebassi@openedhand.com>
1936
1937         * clutter/clutter-actor.c: Remove the ::event-after signal:
1938         three event layers to connect to seems a bit overkill.
1939
1940         (clutter_actor_event): Return FALSE, not TRUE by default,
1941         as g_signal_emit() will change the return value if no
1942         handlers are connected
1943
1944         * clutter/clutter-stage.c: Emit ::notify when we change
1945         the fullscreen property.
1946
1947         * clutter/clutter-script.c: Add more documentation for the
1948         definition format and keywords.
1949
1950         (translate_property): Collapse the G_TYPE_ENUM and G_TYPE_FLAGS
1951         cases into one, to simplify the code.
1952
1953         * tests/test-script.c: Test enumeration conversion by using
1954         a value different from the default.
1955
1956 2007-10-10  Matthew Allum  <mallum@openedhand.com>
1957
1958         * clutter/clutter-actor.c:
1959         * clutter/clutter-actor.h:
1960         * clutter/clutter-event.c:
1961         * clutter/clutter-main.c:
1962         * tests/test-events.c:
1963         Add basic W3 DOM  event 'capture' like functionality.
1964
1965 2007-10-10  Emmanuele Bassi  <ebassi@openedhand.com>
1966
1967         * clutter/clutter-script-private.h:
1968         * clutter/clutter-script.c: Parse flags like we parse enums.
1969
1970 2007-10-10  Emmanuele Bassi  <ebassi@openedhand.com>
1971
1972         * clutter/json/json-types.h:
1973         * clutter/json/json-array.c:
1974         * clutter/json/json-object.c: Resync with the upstream copy
1975         of JSON-GLib; add json_object_remove_member() and
1976         json_array_remove_element() and fix the g_hash_table_get_keys()
1977         replacement for GLib 2.12.
1978
1979         * clutter/clutter-script.c: Clean up the complex properties
1980         parsing code.
1981
1982 2007-10-10  Emmanuele Bassi  <ebassi@openedhand.com>
1983
1984         * clutter/clutter-script.c (json_object_end): Add "type_func"
1985         to the list of attributes we skip.
1986
1987 2007-10-10  Emmanuele Bassi  <ebassi@openedhand.com>
1988
1989         * clutter/json/json-parser.c: Use the commodity JsonNode API
1990         and accept bare values as root nodes.
1991
1992         * clutter/clutter-script-private.h:
1993         * clutter/clutter-script.c: Unreference the created objects
1994         only if they are top-levels, like ClutterBehaviour and
1995         ClutterTimelines. Actors have floating references, so we
1996         just transfer ownership to their containers, and the stage
1997         is owned by the backend. Add the "type_func" key to the
1998         object definition, so the user can supply its own GType
1999         function if the class name doesn't follow the GObject rules.
2000         Document the ClutterScript public API.
2001
2002 2007-10-10  Matthew Allum  <mallum@openedhand.com>
2003
2004         * clutter/clutter-actor.c:
2005         * clutter/clutter-actor.h:
2006         Add missing enter/leave event signals
2007
2008         * clutter/clutter-main.c: (clutter_do_event):
2009         Set time in crossing events.
2010         Protect against do_pick() failing.
2011
2012 2007-10-09  Emmanuele Bassi  <ebassi@openedhand.com>
2013
2014         * clutter/clutter-script.c (resolve_alpha_func): Fix the
2015         ClutterAlphaFunc resolution function.
2016
2017 2007-10-09  Emmanuele Bassi  <ebassi@openedhand.com>
2018
2019         * tests/Makefile.am:
2020         * tests/test-script.c:
2021         * tests/test-script.json: Move part of the UI definition into
2022         its own file and exercise clutter_script_load_from_file().
2023
2024 2007-10-09  Emmanuele Bassi  <ebassi@openedhand.com>
2025
2026         * clutter/clutter-script.c (clutter_script_get_object): Construct
2027         the requested object if it hasn't been already. This allows
2028         referencing objects within the same snippet.
2029
2030         * tests/test-script.c: Declare a timeline and use it inside
2031         multiple behaviours; apply multiple behaviours to various
2032         actors, then retrieve the timeline to start it when the test
2033         runs.
2034
2035 2007-10-09  Emmanuele Bassi  <ebassi@openedhand.com>
2036
2037         * clutter/clutter-script-private.h:
2038         * clutter/clutter-script.c: Allow applying behaviours directly
2039         inside the UI definition data.
2040
2041         * tests/test-script.c: Test the "behaviours" member.
2042
2043 2007-10-09  Rob Bradford  <rob@openedhand.com>
2044
2045         * clutter/eglnative/clutter-backend-egl.c:
2046         (clutter_backend_egl_dispose):
2047         Call eglTerminate() on the display when the backend is disposed of.
2048
2049         * clutter/eglnative/clutter-stage-egl.c:
2050         (clutter_stage_egl_realize):
2051         Don't use the createNativeWindow() call, it's not generic EGL.
2052
2053 2007-10-09  Emmanuele Bassi  <ebassi@openedhand.com>
2054
2055         * clutter/clutter-script-private.h:
2056         * clutter/clutter-script.h:
2057         * clutter/clutter-script.c: Add licensing information to
2058         the newly added files.
2059
2060         * clutter/clutter-script.c: Support creating behaviours with
2061         ClutterScript. ClutterAlpha objects are implicit, but
2062         timelines can be both explicit objects using their id or
2063         implicit objects. Make the property resolution and translation
2064         more robust. Support the pixbuf property.
2065
2066         * tests/test-script.c: Test the newly added features.
2067
2068         * docs/reference/clutter-docs.sgml:
2069         * docs/reference/clutter-sections.txt: Add ClutterScript.
2070
2071 2007-10-09  Emmanuele Bassi  <ebassi@openedhand.com>
2072
2073         * clutter/clutter-fixed.h: Add deprecation guards around
2074         CLUTTER_FIXED_INT().
2075
2076 2007-10-08  Emmanuele Bassi  <ebassi@openedhand.com>
2077
2078         * clutter/clutter-script.c: Parse ClutterMargin and ClutterPadding
2079         properties from arrays or integers (assume pixels).
2080
2081 2007-10-08  Emmanuele Bassi  <ebassi@openedhand.com>
2082
2083         * clutter/clutter-script-private.h:
2084         * clutter/clutter-script.c: Allow defining childrens for every
2085         container actor inside the UI definition files.
2086
2087 2007-10-08  Matthew Allum  <mallum@openedhand.com>
2088
2089         * clutter/clutter-actor.c:
2090         * clutter/clutter-actor.h:
2091         * clutter/clutter-private.h:
2092         * clutter/clutter-main.c:
2093         Add a hash to global clutter context mapping all parented actor
2094         id's to actors.
2095         Add clutter_get_actor_by_id() call.
2096         Convert picking machinery to use above.
2097         (performance/simpler composite actor creation)
2098
2099         * clutter/clutter-stage.c: (clutter_stage_fullscreen),
2100         (clutter_stage_unfullscreen), (clutter_stage_event):
2101         Only set the fullscreen property on stage state fullscreen event(#545)
2102         Experimental as could be painful to implement on non X backends.
2103
2104 2007-10-08  Emmanuele Bassi  <ebassi@openedhand.com>
2105
2106         * clutter/clutter-script.c (json_parse_end):
2107         * clutter/json/json-object.c (json_object_get_members): Replace
2108         the GLib 2.14 API with the equivalent code for GLib < 2.14.
2109
2110         * configure.ac: Revert the dependency bump.
2111
2112 2007-10-08  Emmanuele Bassi  <ebassi@openedhand.com>
2113
2114         Initial implementation of the UI definition files. (#424)
2115
2116         * clutter/json/Makefile.am:
2117         * clutter/json/*.[ch]: In-tree copy of JSON-GLib, a GLib-based
2118         JSON parser/generator library. We use it in-tree because we might
2119         need to change the API. Ideally, we'd depend on it.
2120
2121         * clutter/clutter.h:
2122         * clutter/clutter-script-private.h:
2123         * clutter/clutter-script.[ch]: ClutterScript, the scenegraph
2124         generator class. It parses JSON streams in form of buffers and
2125         files and builds the scene.
2126
2127         * clutter/clutter-debug.h:
2128         * clutter/clutter-main.c: Add a "script" debug flag
2129
2130         * clutter/Makefile.am: Build glue.
2131
2132         * tests/Makefile.am:
2133         * tests/test-script.c: Add a test case for the ClutterScript.
2134
2135         * configure.ac: Depend on GLib 2.14, so we can use the
2136         g_hash_table_get_key() and g_hash_table_get_values() functions
2137         for the time being; we can probably reimplement those, but we
2138         are going to need 2.14 anyway if we are going to implement a
2139         list model using GSequence.
2140
2141 2007-10-08  Emmanuele Bassi  <ebassi@openedhand.com>
2142
2143         * tests/test-behave.c: Use the right return type for the
2144         event callbacks.
2145
2146 2007-10-03  Matthew Allum  <mallum@openedhand.com>
2147
2148         * clutter/clutter-actor.c:
2149         * clutter/clutter-event.c:
2150         * clutter/clutter-event.h:
2151         * clutter/clutter-main.c:
2152         * clutter/clutter-private.h:
2153         * clutter/eglnative/clutter-event-egl.c:
2154         * clutter/eglx/clutter-event-egl.c:
2155         * clutter/glx/clutter-event-glx.c:
2156         * clutter/sdl/clutter-event-sdl.c:
2157         Remove seperate double/triple click events and replace with
2158         a click_count member.
2159         Move calculating click counts from backend to do_event()
2160         Initial implementation of ENTER/LEAVE events.
2161
2162         * tests/test-events.c:
2163         Add code to test above.
2164
2165         * tests/test-behave.c:
2166         Sync with newer API.
2167
2168         * clutter/clutter-score.c:
2169         Silence a warning.
2170
2171 2007-10-01  Emmanuele Bassi  <ebassi@openedhand.com>
2172
2173         * clutter/clutter-fixed.h: Add CLUTTER_FIXED_TO_INT() and
2174         deprecate CLUTTER_FIXED_INT(), for symmetry with
2175         CLUTTER_FIXED_FROM_INT().
2176
2177         * clutter/clutter-alpha.c:
2178         * clutter/clutter-behaviour-depth.c:
2179         * clutter/clutter-behaviour-ellipse.c:
2180         * clutter/clutter-behaviour-path.c:
2181         * clutter/clutter-fixed.h: Use CLUTTER_FIXED_TO_INT().
2182
2183 2007-10-01  Emmanuele Bassi  <ebassi@openedhand.com>
2184
2185         * clutter/clutter-actor.c (clutter_actor_get_size): Implement
2186         get_size() as a wrapper around clutter_actor_query_coords()
2187         instead of calling g_object_get() twice.
2188
2189         (clutter_actor_init): Initialise the box in one call.
2190
2191 2007-10-01  Emmanuele Bassi  <ebassi@openedhand.com>
2192
2193         * clutter/clutter-actor.[ch]: Remove the ::event-after signal
2194         class handler, as it's not meant to be overridden by sub-classes.
2195
2196         (clutter_actor_class_init):
2197         Make every event-related signal return a boolean: return TRUE
2198         in a signal handler to block the emission. The value is accumulated
2199         automatically by the signal API.
2200
2201         (clutter_actor_event): If ::event returns TRUE, skip to emitting
2202         ::event-after. Return the value accumulated by the signal emission
2203         chain.
2204
2205         * clutter/clutter-private.h: Rename _clutter_boolean_accumlator().
2206
2207         * clutter/clutter-main.c (clutter_do_event): If clutter_actor_event()
2208         returns TRUE then stop the event emission chain from child to parent.
2209
2210         * clutter/clutter-stage.c (clutter_stage_event): Behave like
2211         clutter_actor_event().
2212
2213         (clutter_stage_get_key_focus),
2214         (clutter_stage_set_key_focus): Avoid a nasty circular reference
2215         issue: if the actor passed to set_key_focus is NULL then the stage
2216         has the key focus.
2217
2218         * tests/test-events.c: Update the events test with the API
2219         changes.
2220
2221 2007-10-01  Tomas Frydrych  <tf@openedhand.com>
2222
2223         * clutter/clutter-actor.c:
2224         (clutter_actor_set_scale_with_gravityx):
2225         Use CLUTTER_QMUL for better precission (#532, patch by Gwenole
2226         Beauchesne).
2227
2228         * clutter/clutter-color.c:
2229         (clutter_color_to_hlsx):
2230         Added missing CLUTTER_INT_TO_FIXED conversion (#544, patch by Neil
2231         Roberts).
2232
2233 2007-10-01  Neil J. Patel  <njp@o-hand.com>
2234
2235         Patch by: Tommi Komulainen <tommi.komulainen@iki.fi>
2236
2237         * clutter/clutter-entry.c: (clutter_entry_delete_text):
2238         Fix characters vs. bytes inconsistency (#520).
2239
2240 2007-09-30  Matthew Allum  <mallum@openedhand.com>
2241
2242         * clutter/clutter-event.h:
2243         Removed unused POINTER_ENTER and POINTER_LEAVE states. (#546)
2244         * clutter/clutter-stage.c: (clutter_stage_fullscreen),
2245         (clutter_stage_unfullscreen):
2246         Only Change fullscreen prop if the backend implements fullscreen
2247         methods. (#545)
2248
2249 2007-09-28  Øyvind Kolås  <pippin@openedhand.com>
2250
2251         * clutter/clutter-container.[ch]: added
2252         clutter_container_find_child_by_name.
2253
2254 2007-09-28  Øyvind Kolås  <pippin@openedhand.com>
2255
2256         * clutter/glx/clutter-stage-glx.c: (clutter_stage_glx_realize):
2257         removed unused variable perspective.
2258         * tests/test-events.c: (main): added CLUTTER_STAGE() cast.
2259         * tests/test-threads.c: include unistd.h for sleep().
2260
2261 2007-09-28  Øyvind Kolås  <pippin@openedhand.com>
2262
2263         * clutter/clutter-label.c: (clutter_label_ensure_layout): avoid
2264         calling pango_layout_set_text|markup before we've got any text.
2265
2266 2007-09-27  Matthew Allum  <mallum@openedhand.com>
2267
2268         * tests/test-scale.c:
2269         Fix out of about array addressing (#522, Tommi Komulainen)
2270
2271 2007-09-27  Matthew Allum  <mallum@openedhand.com>
2272
2273         * clutter/clutter-clone-texture.c:
2274         * clutter/clutter-rectangle.c:
2275         Include "config.h" in all c files (#524, Tommi Komulainen)
2276
2277 2007-09-27  Matthew Allum  <mallum@openedhand.com>
2278
2279         Merge from stable.
2280
2281         * clutter/clutter-behaviour-path.c: (path_alpha_to_position)
2282         Fix uninitialized variable (#480, Gwenole Beauchesne)
2283
2284 2007-09-27  Matthew Allum  <mallum@openedhand.com>
2285
2286         * clutter/clutter-event.c:
2287         * clutter/clutter-event.h:
2288         * clutter/clutter-main.c:
2289         Further event tweaks;
2290         - Ref the event actor source
2291         - Protect against off stage events (button releases) (#511)
2292         - Move more into ClutterEventAny
2293         - Add a click count to button event (as yet unused)
2294         - Minor cleanups
2295
2296         * clutter/clutter-actor.c:
2297         Make scale x/y a property.
2298
2299         * clutter/clutter-private.h:
2300         Remove _clutter_actor_apply_modelview*
2301
2302         * clutter/eglx/clutter-backend-egl.c:
2303         Warning cleanup
2304
2305         * clutter/eglx/clutter-stage-egl.c:
2306         * clutter/glx/clutter-stage-glx.c:
2307         * clutter/sdl/clutter-stage-sdl.c:
2308         Avoid setting viewport directly, but set sync flag.
2309
2310         * clutter/pango/pangoclutter-render.c: (draw_glyph):
2311         Minor cleanups.
2312
2313         * clutter/Makefile.am:
2314         * tests/Makefile.am:
2315         * tests/test-score.c
2316         * clutter/clutter.h:
2317         * clutter/clutter-score.h:
2318         * clutter/clutter-score.c:
2319         Add very initial (broken) ClutterScore implementation.
2320
2321 2007-09-25  Ross Burton  <ross@openedhand.com>
2322
2323         Merge from stable.
2324
2325         * clutter/clutter-group.c:
2326         Optimise sort_z_order.
2327
2328 2007-09-17  Emmanuele Bassi  <ebassi@openedhand.com>
2329
2330         Merge from stable
2331
2332         * clutter/eglnative/clutter-event-egl.c:
2333         Flag every device click after the first as motion events
2334         instead of button presses. (#505, Shreyas Srinivasan)
2335
2336 2007-09-10  Matthew Allum  <mallum@openedhand.com>
2337
2338         Port from stable branch.
2339
2340         * clutter/eglnative/clutter-event-egl.c: (clutter_event_dispatch):
2341         Only declare tsevent if we have tslib (#498, Robert Bragg)
2342
2343 2007-09-06  Emmanuele Bassi  <ebassi@openedhand.com>
2344
2345         * clutter/clutter-stage.c: Remove stray include <gdk-pixbuf-xlib.h>
2346         in ClutterStage: the code requesting it was moved in the backends.
2347
2348 2007-08-31  Emmanuele Bassi  <ebassi@openedhand.com>
2349
2350         * clutter/clutter-rectangle.c: Fix the border drawing: do not
2351         overdraw the rectangle on the border and fix the check for
2352         different border colour. (#488, Neil Roberts)
2353
2354 2007-08-29  Matthew Allum  <mallum@openedhand.com>
2355
2356         * clutter/clutter-effect.c: (clutter_effect_template_set_property):
2357         Add missing break statement. Whoops.
2358
2359 2007-08-29  Matthew Allum  <mallum@openedhand.com>
2360
2361         * clutter/clutter-main.c: (_clutter_do_pick):
2362         Call glFinish before reading pixels
2363         * clutter/eglx/clutter-stage-egl.c: (clutter_stage_egl_realize):
2364         Add missing read surface in making context current.
2365         Above fixes via Kate Alhola.
2366
2367         * clutter/glx/clutter-glx.h:
2368         Add missing filter funcs so there actually exported
2369
2370 2007-08-24  Matthew Allum  <mallum@openedhand.com>
2371
2372         * clutter/clutter-actor.c:
2373         * clutter/clutter-event.h:
2374         * clutter/clutter-main.c:
2375         * clutter/clutter-stage.c:
2376         * clutter/clutter-stage.h:
2377         * clutter/glx/clutter-backend-glx.c:
2378         * clutter/glx/clutter-backend-glx.h:
2379         * clutter/glx/clutter-event-glx.c:
2380         * clutter/glx/clutter-stage-glx.c:
2381         * clutter/glx/clutter-stage-glx.h:
2382         Add initial support for stage state events.
2383         Fix fullscreening for an already mapped stage.
2384
2385         * tests/test-events.c:
2386         Print out info from the above. Blue button now toggles
2387         fullscreen.
2388
2389         * clutter/clutter-effect.c:
2390         * clutter/clutter-effect.h:
2391         Add a setting for templates to ref or clone underlying
2392         timelines. (As to improve sync issues like those in foofone)
2393
2394         * tests/test-timeline.c:
2395         Also add completed signals.
2396
2397         * clutter/cogl/gles/cogl.c: (cogl_texture_image_2d):
2398         * configure.ac:
2399         Forward port from stable branch. RGB Image fixes gles
2400         and check for lower case libgles_cm.
2401
2402
2403 2007-08-24  Tomas Frydrych  <tf@openedhand.com>
2404
2405         * clutter/clutter-actor.c:
2406         (_clutter_actor_apply_modelview_transform):
2407
2408         Fixed rotation around x axis (bug 486).
2409
2410 2007-08-23  Emmanuele Bassi  <ebassi@openedhand.com>
2411
2412         * clutter/clutter-private.h:
2413         * clutter/clutter-event.c: Revert the event queue ordering
2414         commit.
2415
2416         * clutter/eglx/clutter-event-egl.c:
2417         * clutter/glx/clutter-event-glx.c:
2418         * clutter/sdl/clutter-event-sdl.c: Update backends.
2419
2420 2007-08-22  Tomas Frydrych  <tf@openedhand.com>
2421
2422         * clutter/clutter-behaviour-rotate.c:
2423         * clutter/clutter-behaviour-ellipse.c:
2424
2425         Fixed CCW rotation in rotate behaviour (bug 483); fixed overall
2426         path length calculation for angles > 360 in rotate and ellipse.
2427
2428 2007-08-22  Emmanuele Bassi  <ebassi@openedhand.com>
2429
2430         * clutter/clutter-main.c (clutter_threads_dispatch_free): Remove
2431         the main threads locking calls: the main loop might remove the
2432         source while dispatching it, so whether or not we are already
2433         holding the lock is unpredictable for the library. Leave a comment
2434         with the relevant bug number in GNOME's Bugzilla and wait for a
2435         fix in GLib.
2436
2437 2007-08-21  Emmanuele Bassi  <ebassi@openedhand.com>
2438
2439         * clutter/clutter-event.c: Correctly initialise the state
2440         variables used to detect multiple clicks.
2441
2442         (clutter_event_get_coords): Return the coordinates for
2443         CLUTTER_3BUTTON_PRESS events.
2444
2445         (clutter_events_pending): Check from the tail of the queue backward,
2446         like we do in clutter_event_get() and clutter_event_peek().
2447
2448 2007-08-21  Emmanuele Bassi  <ebassi@openedhand.com>
2449
2450         Preserve the ordering of the events in the queue when sythesising
2451         new events in the event translation sequence. (#481)
2452
2453         * clutter/clutter-event.c:
2454         * clutter/clutter-private.h: Allow flagging new events on the
2455         events queue without breaking ClutterEvent using a masked type.
2456
2457         (clutter_event_get), (clutter_event_put),
2458         (clutter_event_pending): Ignore events with the CLUTTER_EVENT_PENDING
2459         flag set when walking the events queue.
2460
2461         * clutter/eglx/clutter-event-egl.c:
2462         * clutter/glx/clutter-event-glx.c:
2463         * clutter/sdl/clutter-event-sdl.c: Push the new events straight
2464         on the queue, with the CLUTTER_EVENT_PENDING flag set; remove the
2465         flag if the event translation was succesful, or remove the event
2466         altogether.
2467
2468 2007-08-21  Emmanuele Bassi  <ebassi@openedhand.com>
2469
2470         * clutter/clutter-stage.c: Add missing documentation for the
2471         ClutterStage properties.
2472
2473 2007-08-21  Tomas Frydrych  <tf@openedhand.com>
2474
2475         * clutter/clutter-fixed.c:
2476         (clutter_sqrti):
2477
2478         Fixes for 64-bit platforms; use of SSE builtin when available
2479         (bugs 478, 479, patches by Gwenole Beauchesne).
2480
2481 2007-08-20  Emmanuele Bassi  <ebassi@openedhand.com>
2482
2483         * clutter/Makefile.am:
2484         * clutter/clutter-enum-types.h.in:
2485         * clutter/clutter-enum-types.c.in: Use template files for
2486         glib-mkenums; this makes the Makefile template a bit more
2487         clean and the enum types generation more customisable (e.g.
2488         when GLib 2.14 has been released, we can use g_once_init_enter()
2489         and g_once_init_leave() to have thread-safe GType functions
2490         for the enum types as well).
2491
2492 2007-08-20  Emmanuele Bassi  <ebassi@openedhand.com>
2493
2494         * clutter/clutter-version.h.in: Fix CLUTTER_CHECK_VERSION()
2495         macro to accept micro versions. (#477, Neil Roberts)
2496
2497 2007-08-19  Emmanuele Bassi  <ebassi@openedhand.com>
2498
2499         Various timeline related changes.
2500
2501         * clutter/clutter-timeout-pool.c: Use g_list_insert_sorted() to
2502         fix a timeout pool reversal happening with our homegrown
2503         sorted insertion function. (see #470)
2504
2505         * tests/Makefile.am:
2506         * tests/test-timeline.c: Add a ClutterTimeline test suite, for
2507         finding regressions in the behaviour of the timelines. (#470,
2508         Rob Bradford)
2509
2510         * clutter/clutter-main.c (clutter_do_event): Use an EVENT note,
2511         not a SCHEDULER one; SCHEDULER is for timelines and idle sources
2512         only.
2513
2514         * clutter/clutter-version.h.in: Protect the bare numbers of
2515         the version components.
2516
2517         * clutter/clutter-effect.c: Do not unref the ClutterAlpha, as
2518         the ownership is already of the behaviour used by the effect
2519         closure.
2520
2521         * clutter/clutter-timeline.c: Emit the ::new-frame signal only
2522         if the timeline is still active
2523
2524         Always advance at least of one frame. (#471, Rob Bradford)
2525
2526         Do not rewind the timeline if the user paused it in the ::new-frame
2527         signal handler: either the user has already done it with
2528         clutter_timeline_stop() or it's not what he's expecting if he
2529         called clutter_timeline_pause(). (#372, Johan Bilien)
2530
2531         If we skipped the last frame before emitting the ::complete
2532         signal, emit ::new-frame with the last frame.
2533
2534         Do not call clutter_timeline_stop() at the end of a non-looping
2535         timeline, as it emits the ::pause signal as well. Also, rewind the
2536         timeline *after* emitting ::complete, so that calling
2537         clutter_timeline_get_current_frame() in a signal handler still
2538         works.
2539
2540 2007-08-19  Matthew Allum  <mallum@openedhand.com>
2541
2542         * clutter/eglx/clutter-event-egl.c: (clutter_event_dispatch):
2543         Fix clutter_thread typo (Kate Alhola)
2544
2545 2007-08-18  Emmanuele Bassi  <ebassi@openedhand.com>
2546
2547         * clutter/clutter-effect.c:
2548         * clutter/clutter-main.c: Update the Since: tag for the
2549         backported API.
2550
2551         * clutter/clutter-behaviour-rotate.c: Fix a typo in the get_center()
2552         method. (#468, Neil Roberts)
2553
2554         Freeze and thaw the notification queue when changing multiple
2555         properties in the same method. Fix some coding style issues.
2556
2557 2007-08-15  Emmanuele Bassi  <ebassi@openedhand.com>
2558
2559         * clutter/clutter-actor.c: Add checks for the "reactive" flag
2560         accessors.
2561
2562 2007-08-15  Emmanuele Bassi  <ebassi@openedhand.com>
2563
2564         * clutter/clutter-effect.[ch]: Add clutter_effect_depth(), a
2565         simple wrapper around ClutterBehaviourDepth. (#464, Ali Sabil)
2566
2567 2007-08-15  Emmanuele Bassi  <ebassi@openedhand.com>
2568
2569         * clutter/clutter-alpha.c (clutter_smoothstep_inc): Use the
2570         correct type for parameters, to avoid overflow  (Ali Sabil).
2571
2572         * clutter/clutter-behaviour-opacity.c: Use the right format
2573         when printing the unsigned alpha value and opacity to the
2574         debug output.
2575
2576 2007-08-14  Emmanuele Bassi  <ebassi@openedhand.com>
2577
2578         * clutter/clutter-container.[ch]:
2579         * clutter/clutter-actor.c:
2580         * clutter/clutter-group.c: Rename clutter_container_raise() to
2581         clutter_container_raise_child(), and clutter_container_lower()
2582         to clutter_container_lower_child() to avoid clashing with
2583         ClutterActor raise() and lower() respectively.
2584
2585 2007-08-13  Matthew Allum  <mallum@openedhand.com>
2586
2587         * clutter/clutter-actor.c:
2588         * clutter/clutter-actor.h:
2589         * clutter/clutter-event.c:
2590         * clutter/clutter-event.h:
2591         * clutter/clutter-main.c:
2592         * clutter/clutter-main.h:
2593         * clutter/clutter-private.h:
2594         * clutter/clutter-stage.c:
2595         * clutter/clutter-stage.h:
2596         * clutter/clutter-types.h:
2597         Initial implementation of actors emmitting event signals (423);
2598         - Actors set_reactive() to receive mouse events.
2599           (call clutter_enable_motion_events() for per action motion events)
2600         - clutter_stage_set_key_focus () to direct key events.
2601         - Events bubble up to parents (ending at stage)
2602           (original source identified by clutter_event_get_source())
2603         TODO:
2604         - enter/leave notifys for actors.
2605         - stage specific events - fullscreen
2606         - grabs
2607
2608         * tests/test-events.c:
2609         Extend a little to use new API
2610
2611         * clutter/cogl/gl/cogl.c:
2612         * clutter/glx/clutter-backend-glx.c:
2613         Move get_proc_address into cogl and out of backend.
2614         (shaders will need it)
2615
2616         * clutter/clutter-group.c: (clutter_group_real_lower):
2617         Fix a minor compile warning.
2618
2619         * TODO:
2620         Sync up.
2621
2622 2007-08-13  Emmanuele Bassi  <ebassi@openedhand.com>
2623
2624         * clutter/clutter-container.[ch]: Add find_child_by_id(),
2625         raise(), lower() and sort_depth_order() virtual functions to
2626         ClutterContainer.
2627
2628         * clutter/clutter-group.[ch]: Deprecate the redundant calls
2629         from ClutterGroup, and make ClutterGroup implement them as part
2630         of the ClutterContainer interface implementation.
2631
2632         * clutter/clutter-box.c: Implement the newly added ClutterContainer
2633         methods; now clutter_stage_get_actor_at_pos() works with boxes
2634         as well as groups.
2635
2636         * clutter/clutter-stage.c:
2637         * clutter/clutter-actor.c: Replace calls to ClutterGroup functions
2638         with ClutterContainer ones.
2639
2640 2007-08-12  Emmanuele Bassi  <ebassi@openedhand.com>
2641
2642         * clutter/clutter-timeout-pool.c: Fix removing and adding timeouts
2643         to the timeout pool during a dispatch of a timeout source already
2644         inside the pool. (#456, based on a patch by Neil Roberts)
2645
2646         (clutter_timeout_dispatch), (clutter_timeout_pool_dispatch): Hold
2647         the main Clutter lock in the pool dispatch function, instead of
2648         the per-timeout dispatch; this guarantees that the ref+unref of
2649         the single timeouts are done under the main lock.
2650
2651 2007-08-12  Matthew Allum  <mallum@openedhand.com>
2652
2653         * clutter/clutter-texture.c: (texture_upload_data):
2654         Align texture data correctly for edge tiles.
2655         (#422 - Neil Roberts)
2656
2657 2007-08-11  Matthew Allum  <mallum@openedhand.com>
2658
2659         * clutter/clutter-texture.c:
2660          Fix typo in clutter_texture_get_pixbuf (#458, Neil Roberts).
2661          Use take_object when getting pixbuf prop to avoid ref leak. (Neil
2662          Roberts)
2663
2664 2007-08-09  Emmanuele Bassi  <ebassi@openedhand.com>
2665
2666         * clutter/clutter-box.c: Rename a variable to fix a compiler
2667         warning.
2668
2669 2007-08-08  Emmanuele Bassi  <ebassi@openedhand.com>
2670
2671         * clutter/clutter-behaviour-ellipse:
2672         (clutter_behaviour_ellipse_get_tiltx): Remove useless
2673         "Return" in the API documentation.
2674
2675 2007-08-08  Emmanuele Bassi  <ebassi@openedhand.com>
2676
2677         * clutter/clutter-timeout-pool.c: Fix sorting of the pool
2678         when inserting and removing timeout sources. (#449, Neil
2679         Roberts)
2680
2681 2007-08-08  Emmanuele Bassi  <ebassi@openedhand.com>
2682
2683         * clutter/clutter-main.c (clutter_get_timestamp): Remove
2684         the microseconds remainder, which is mostly useless. (#447)
2685
2686 2007-08-08  Emmanuele Bassi  <ebassi@openedhand.com>
2687
2688         * clutter/clutter-main.c (clutter_get_timestamp): Return the
2689         correct number of microseconds (#447, Neil Roberts)
2690
2691 2007-08-08  Emmanuele Bassi  <ebassi@openedhand.com>
2692
2693         Merge the clutter.git/threading branch.
2694
2695         * clutter/clutter-main.c:
2696         * clutter/clutter-main.h:
2697         * clutter/clutter-private.h: Add threading locking and unlocking
2698         functions, to mark a critical section and access the Clutter API
2699         from differen threads. Add an initialisation function and a function
2700         to override the default lock aquisition and release functions, for
2701         bindings and application-specific locking handling. Add MT-safe
2702         versions of g_idle_add() and g_timeout_add() which will call the
2703         functions under the main Clutter lock and without races. The
2704         Clutter thread-safe implementation is basically the same used by
2705         GDK, so the same caveats apply.
2706
2707         * clutter/clutter-actor.c:
2708         * clutter/clutter-timeline.c:
2709         * clutter/clutter-timeout-pool.c: Use the new threading API when
2710         invoking idle and timeouts.
2711
2712         * clutter/eglnative/clutter-event-egl.c:
2713         * clutter/eglx/clutter-event-egl.c:
2714         * clutter/glx/clutter-event-glx.c:
2715         * clutter/sdl/clutter-event-sdl.c: Acquire and release the main
2716         Clutter lock when preparing, checking and dispatching the events
2717         on the queue in every backend.
2718
2719         * tests/Makefile.am:
2720         * tests/test-threads.c: Add a test case, showing how to use the
2721         threading API and write thread-safe Clutter applications.
2722
2723 2007-08-08  Emmanuele Bassi  <ebassi@openedhand.com>
2724
2725         * configure.ac: Bump up to 0.5.0 and start the new development
2726         branch.
2727
2728 2007-08-07  Emmanuele Bassi  <ebassi@openedhand.com>
2729
2730         * configure.ac: Bump up to 0.4.0.
2731
2732 2007-08-07  Emmanuele Bassi  <ebassi@openedhand.com>
2733
2734         * clutter/clutter-entry.c:
2735         * clutter/clutter-fixed.c:
2736         * clutter/pango/pangoclutter.h: Small fixes for passing the
2737         distcheck phase with extra-strict compiler flags.
2738
2739 2007-08-07  Emmanuele Bassi  <ebassi@openedhand.com>
2740
2741         * clutter/clutter-actor.h:
2742         * clutter/clutter-alpha.h:
2743         * clutter/clutter-behaviour-ellipse.[ch]:
2744         * clutter/clutter-behaviour-path.h:
2745         * clutter/clutter-behaviour-rotate.c:
2746         * clutter/clutter-behaviour.h:
2747         * clutter/clutter-box.h:
2748         * clutter/clutter-color.h:
2749         * clutter/clutter-container.h:
2750         * clutter/clutter-effect.h:
2751         * clutter/clutter-entry.h:
2752         * clutter/clutter-fixed.h:
2753         * clutter/clutter-layout.h:
2754         * clutter/clutter-main.h:
2755         * clutter/clutter-stage.h:
2756         * clutter/clutter-texture.h:
2757         * clutter/clutter-units.h:
2758         * clutter/clutter-version.h.in:
2759         * clutter/glx/clutter-glx.h: Documentation additions and
2760         various fixes.
2761
2762 2007-08-07  Matthew Allum  <mallum@openedhand.com>
2763
2764         * clutter/clutter-behaviour-ellipse.c:
2765         Add a documentation note regarding ellipse setting
2766         the applied actors position.
2767
2768 2007-08-07  Matthew Allum  <mallum@openedhand.com>
2769
2770         * NEWS:
2771         * README:
2772         More updates ready for 0.4.0
2773
2774 2007-08-07  Matthew Allum  <mallum@openedhand.com>
2775
2776         * clutter/clutter-fixed.c:
2777         * clutter/clutter-fixed.h:
2778         Add documentation.
2779
2780         * clutter/cogl/gl/cogl.c: (cogl_perspective):
2781         Remove CFX_* shortened macros
2782
2783 2007-08-06  Emmanuele Bassi  <ebassi@openedhand.com>
2784
2785         * clutter/clutter-main.[ch]: Remove clutter_threads_enter()
2786         and clutter_threads_leave(); both are no-ops and they just
2787         confuse things. The thread-awareness in Clutter is planned
2788         for 0.4.1/0.5.0.
2789
2790         * README:
2791         * NEWS: Update.
2792
2793 2007-08-06  Emmanuele Bassi  <ebassi@openedhand.com>
2794
2795         * clutter/clutter-box.[ch]: Implement margin, color and default
2796         padding for ClutterBox. Provide API to pack a child by specifying
2797         every packing detail or just pack with the defaults. ClutterBox
2798         works like the HTML boxing model, API-wise: a box with margins
2799         and padding around each child. Needs work, still.
2800
2801         * clutter/clutter-hbox.c:
2802         * clutter/clutter-vbox.c: Update with the new API and new attributes.
2803
2804         * clutter/clutter-types.h: Add ClutterMargin and ClutterPadding.
2805
2806         * test/test-boxes.c: Exercise the new API.
2807
2808 2007-08-06  Matthew Allum  <mallum@openedhand.com>
2809
2810         * clutter/clutter-texture.c:
2811         Correct set pixbuf property as GDK_TYPE_PIXBUF
2812         (fix via Neil Roberts)
2813
2814 2007-08-06  Matthew Allum  <mallum@openedhand.com>
2815
2816         * clutter/clutter-behaviour-depth.c:
2817         Modify to work like all other behvaiours in not forcing
2818         increasing order in behaviour 'limits'. (#436)
2819         Rename limit min/max props to start/end.
2820
2821         * tests/test-depth.c:
2822         Simplify test-case to work with above change and
2823         without multiple ramps
2824
2825         * clutter/clutter-behaviour-rotate.c:
2826         Handle CW rotation when end > start and similar for CCW just
2827         like ellipse behaviour.
2828
2829 2007-08-05  Matthew Allum  <mallum@openedhand.com>
2830
2831         * README:
2832         * clutter/clutter-actor.c:
2833         Document show/hide_all behaviour correctly.
2834
2835 2007-08-05  Emmanuele Bassi  <ebassi@openedhand.com>
2836
2837         * clutter/clutter-behaviour-depth.c: Fix typo in the description.
2838
2839 2007-08-04  Emmanuele Bassi  <ebassi@openedhand.com>
2840
2841         * clutter/clutter-behaviour-depth.c: Clarify the depth behaviour
2842         even more in the description used by the API reference.
2843
2844 2007-08-04  Emmanuele Bassi  <ebassi@openedhand.com>
2845
2846         * clutter/clutter-behaviour-depth.[ch]: Clarify that what drives
2847         the movement along the Z axis is the ClutterAlpha object (we
2848         don't have the luxury of a rollover like the opacity does);
2849         so, if you want to go from 0 to -100 you have to use a
2850         decreasing function, just as well if you want to go from 100
2851         to 0. Using a min-depth of 100 and a max-depth of 0 and an
2852         increasing function is undefined behaviour.
2853
2854         * tests/Makefile.am:
2855         * tests/test-depth.c: Add a test case for the depth behaviour.
2856
2857 2007-08-04  Emmanuele Bassi  <ebassi@openedhand.com>
2858
2859         * clutter/clutter-actor.c (clutter_actor_set_opacity): Queue
2860         a redraw when setting the opacity of an actor.
2861
2862 2007-08-03  Emmanuele Bassi  <ebassi@openedhand.com>
2863
2864         * clutter/clutter-behaviour-ellipse.c:
2865         (clutter_behaviour_ellipse_get_angle_tilt): Avoid recursion
2866         by fixing a typo.
2867
2868         (clutter_behaviour_ellipse_get_angle_begin),
2869         (clutter_behaviour_ellipse_get_angle_end): Correct the angles
2870         here too.
2871
2872 2007-08-03  Emmanuele Bassi  <ebassi@openedhand.com>
2873
2874         * clutter/clutter-behaviour-ellipse.c:
2875         (clutter_behaviour_ellipse_get_property): Do not forget to
2876         correct the angles when returning them.
2877
2878 2007-08-03  Tomas Frydrych  <tf@openedhand.com>
2879
2880         * clutter/clutter-behaviour-ellipse.c:
2881         * clutter/clutter-behaviour-ellipse.h:
2882         (clutter_behaviour_ellipse_new):
2883         (clutter_behaviour_ellipse_newx):
2884
2885         Added direction parameter; made behaviour to respect direction
2886         parameter; unclumped angle_begin and angle_end values.
2887
2888 2007-08-02  Matthew Allum  <mallum@openedhand.com>
2889
2890         * NEWS:
2891         * README:
2892         Initial updating ready for release.
2893
2894 2007-08-02  Emmanuele Bassi  <ebassi@openedhand.com>
2895
2896         * clutter/eglnative/clutter-backend-egl.c:
2897         * clutter/eglx/clutter-backend-egl.c:
2898         * clutter/sdl/clutter-backend-sdl.c: Set the default resolution
2899         as 96.0 dpi for every backend (we already were under this
2900         assumption anyway, and this makes it easier to change this
2901         setting per-backend).
2902
2903         * clutter/pango/pangoclutter-fontmap.c:
2904         * clutter/pango/pangoclutter.h: Allow setting the resolution
2905         for the PangoClutterFontMap object and provide the implementation
2906         for the PangoFcFontMap::get_resolution() virtual function. This
2907         allows to set the resolution of the PangoContext when retrieving
2908         it.
2909
2910         * clutter/clutter-label.c (clutter_label_init): Set the
2911         resolution of the font map with the one the backend gives us.
2912
2913         * clutter/clutter-entry.c (clutter_entry_init): Ditto.
2914
2915 2007-08-02  Emmanuele Bassi  <ebassi@openedhand.com>
2916
2917         * clutter/clutter-color.c (clutter_color_subtract): Invert the
2918         operands and match what the function says it does. (#435)
2919
2920 2007-08-01  Matthew Allum  <mallum@openedhand.com>
2921
2922         * clutter/clutter-color.c: (clutter_color_from_pixel):
2923         Fix typo in alpha channel extraction (#434)
2924
2925 2007-08-01  Emmanuele Bassi  <ebassi@openedhand.com>
2926
2927         * clutter/clutter-actor.[ch]: Add floating-point variant of the
2928         clutter_actor_get_r[xyz]angx() functions.
2929
2930 2007-07-31  Emmanuele Bassi  <ebassi@openedhand.com>
2931
2932         * clutter/clutter-stage.[ch]: Fix clutter_stage_set_user_resizable()
2933         name, and add a getter for the property.
2934
2935         * clutter/glx/clutter-stage-glx.c: Use the accessor, not
2936         g_object_get() to retrieve the value of the resizable property.
2937
2938 2007-07-31  Emmanuele Bassi  <ebassi@openedhand.com>
2939
2940         * clutter/clutter-backend.[ch]: Add clutter_backend_set_resolution()
2941         and clutter_backend_get_resolution(); backends should use the former
2942         to set the resolution of the display when initialising, while actors
2943         should use the latter when sizing themselves depending on the
2944         resolution or the font size.
2945
2946         * clutter/glx/clutter-backend-glx.c: Set the resolution as 96 dpi
2947         as a default and query the X server when opening the display.
2948
2949         * clutter/clutter-entry.c: Drop the hardcoded dpi value and use
2950         clutter_backend_get_resolution() to compute the default size.
2951
2952 2007-07-31  Emmanuele Bassi  <ebassi@openedhand.com>
2953
2954         * clutter/clutter-entry.c (clutter_entry_init): Set the default
2955         size of the entry based on the size of the default font. (#414).
2956
2957 2007-07-31  Emmanuele Bassi  <ebassi@openedhand.com>
2958
2959         * clutter/sdl/clutter-backend-sdl.c: Fix a typo in
2960         clutter_backend_sdl_get_features() (#426, Pan Bohui)
2961
2962 2007-07-30  Matthew Allum  <mallum@openedhand.com>
2963
2964         * AUTHORS:
2965         * HACKING:
2966         * README:
2967         Various updates and improvements.
2968
2969         * configure.ac:
2970         Remove --disable-fast-fp-conversions
2971
2972 2007-07-30  Tomas Frydrych  <tf@openedhand.com>
2973
2974         * clutter/clutter-behaviour-ellipse:
2975         (clutter_behaviour_ellipse_advance):
2976
2977         Fixed invalid assumption about z cooordiance in calculation of
2978         tilt in y axis.
2979
2980 2007-07-30  Tomas Frydrych  <tf@openedhand.com>
2981
2982         * clutter/clutter-actor.c:
2983
2984         Fixed incorrect order of modelview matrix stack in calculating
2985         actor vertices.
2986
2987 2007-07-30  Matthew Allum  <mallum@openedhand.com>
2988
2989         * clutter/clutter-backend.h:
2990         Remove #if 0's old backend_api
2991         (generating uneeded documentation)
2992
2993 2007-07-30  Matthew Allum  <mallum@openedhand.com>
2994
2995         * clutter/clutter-texture.c:
2996         Fix re-relisation for large tiled textures.
2997         * tests/test-textures.c: (main):
2998         Add a show/hide to trigger above (see #442)
2999
3000 2007-07-29  Emmanuele Bassi  <ebassi@openedhand.com>
3001
3002         * clutter/clutter-types.h: Document ClutterGravity enumeration
3003         and remove the only incomplete symbol of the api reference. Now
3004         we are up to 79% documented symbols.
3005
3006 2007-07-29  Emmanuele Bassi  <ebassi@openedhand.com>
3007
3008         * clutter/clutter-media.c: Document ClutterMedia signals;
3009         replace the implementation of clutter_media_set_filename() with
3010         something a wee bit more robust (and portable) than a sprintf().
3011
3012 2007-07-29  Emmanuele Bassi  <ebassi@openedhand.com>
3013
3014         * clutter/clutter-behaviour-ellipse.c: Documentation
3015         fixes; kill some indirections; freeze the notification
3016         queue when (potentially) emitting multiple notify
3017         signals.
3018
3019         * clutter/clutter-alpha.h: Remove the unused macro
3020         CLUTTER_TYPE_SMOOTHSTEP.
3021
3022 2007-07-28  Emmanuele Bassi  <ebassi@openedhand.com>
3023
3024         * clutter/clutter-actor.[ch]: Use GInitiallyUnowned
3025         as the parent structure in the ClutterActor structure
3026         definition; somehow, this has escaped everyone attention
3027         in one year and a half. Luckily, GInitiallyUnowned is
3028         as big as GObject.
3029
3030          (clutter_actor_get_abs_position_units),
3031          (clutter_actor_get_abs_position): Check parameters.
3032
3033          * clutter/clutter-texture.h: Unmangle the flags enum
3034          type declaration, so that dumb parsers like h2defs.py
3035          are not fooled.
3036
3037          * clutter/clutter-behaviour-ellipse.[ch]:
3038          * clutter/clutter-effect.c: Fix some documentation
3039          issues and make gtk-doc happy.
3040
3041 2007-07-27  Tomas Frydrych  <tf@openedhand.com>
3042
3043         * clutter/clutter-behaviour-ellipse.h:
3044         * clutter/clutter-behaviour-ellipse.c:
3045         * tests/test-behave.c:
3046         (clutter_behaviour_ellipse_get_angle_tilt):
3047         (clutter_behaviour_ellipse_set_angle_tilt):
3048
3049         Pruned ClutterBehaviourEllipse api.
3050
3051 2007-07-27  Tomas Frydrych  <tf@openedhand.com>
3052
3053         * clutter/clutter-behaviour-ellipse.h:
3054         * clutter/clutter-behaviour-ellipse.c:
3055         (clutter_behaviour_ellipse_set_angle_tilt_x):
3056         (clutter_behaviour_ellipse_set_angle_tilt_xx):
3057         (clutter_behaviour_ellipse_get_angle_tilt_x):
3058         (clutter_behaviour_ellipse_get_angle_tilt_xx):
3059         (clutter_behaviour_ellipse_set_angle_tilt_y):
3060         (clutter_behaviour_ellipse_set_angle_tilt_yx):
3061         (clutter_behaviour_ellipse_get_angle_tilt_y):
3062         (clutter_behaviour_ellipse_get_angle_tilt_yx):
3063         (clutter_behaviour_ellipse_set_angle_tilt_z):
3064         (clutter_behaviour_ellipse_set_angle_tilt_zx):
3065         (clutter_behaviour_ellipse_get_angle_tilt_z):
3066         (clutter_behaviour_ellipse_get_angle_tilt_zx):
3067         (clutter_behaviour_ellipse_set_tilt):
3068         (clutter_behaviour_ellipse_set_tiltx):
3069         (clutter_behaviour_ellipse_get_tilt):
3070         (clutter_behaviour_ellipse_get_tiltx):
3071
3072         * tests/test-behave.c:
3073
3074         Allow tilting ClutterBehaviourEllipse in all three axis; affects
3075         any code using the previous tilt api.
3076
3077
3078 2007-07-26  Matthew Allum  <mallum@openedhand.com>
3079
3080         * clutter/clutter-feature.h:
3081         Add new stage feature flags and document.
3082
3083         * clutter/eglnative/clutter-backend-egl.c:
3084         * clutter/eglx/clutter-backend-egl.c:
3085         * clutter/sdl/clutter-backend-sdl.c:
3086         Set new feature flags.
3087
3088         * clutter/glx/clutter-backend-glx.c:
3089         * clutter/glx/clutter-stage-glx.c:
3090         * clutter/clutter-stage.c:
3091         * clutter/clutter-stage.h:
3092         Add a 'user_resizeable' setting to the backend and implement
3093         for glx backend.
3094
3095 2007-07-26  Emmanuele Bassi  <ebassi@openedhand.com>
3096
3097         * clutter/clutter-behaviour-ellipse.c:
3098         * clutter/clutter-behaviour.h:
3099         * clutter/clutter-event.c:
3100         * clutter/clutter-texture.h:
3101         * clutter/clutter-types.h: Add missing documentation and fix
3102         parameters names to make gtk-doc happy.
3103
3104 2007-07-26  Tomas Frydrych  <tf@openedhand.com>
3105
3106         * clutter/clutter-behaviour-ellipse.h:
3107         * clutter/clutter-behaviour-ellipse.c:
3108         * tests/test-behave.c:
3109
3110         Removed tilt paramter from ClutterBehaviourEllipse constructors;
3111         Made angles to be relative to 12 o'clock;
3112         Added direction property;
3113
3114 2007-07-26  Emmanuele Bassi  <ebassi@openedhand.com>
3115
3116         * clutter/clutter-types.h:
3117         * clutter/Makefile.am: Add a header for common types, to avoid
3118         inclusion hell.
3119
3120         * clutter/clutter-actor.h:
3121         * clutter/clutter-behaviour.h:
3122         * clutter/clutter-behaviour-rotate.h:
3123         * clutter/clutter-behaviour-scale.h: Move some boxed types and som
3124         enums to clutter-types.h.
3125
3126 2007-07-26  Neil J. Patel  <njp@o-hand.com>
3127
3128         * clutter/clutter-entry.c: (offset_to_bytes),
3129         (clutter_entry_ensure_cursor_position),
3130         (clutter_entry_new_with_text), (clutter_entry_new),
3131         (clutter_entry_insert_unichar), (clutter_entry_delete_chars):
3132
3133         Fixed utf8 support so it actually works now, for both
3134         inserting and deleting chars.  Fixed positioning of cursor for
3135         utf8 chars. Both GString and Pnago need bytes (not
3136         documented!) for string manipulation, so making sure all
3137         values were bytes and not char positions fixed the issue.  Set
3138         a default size of 50x50 for the entry, otherwise no chars can
3139         be seen if the size is not set after creation (which confuses
3140         the developer).
3141
3142 2007-07-26  Emmanuele Bassi  <ebassi@openedhand.com>
3143
3144         * clutter/clutter-timeline.c:
3145         Do not accept zero as a value for the num-frames and fps properties
3146         in both the constructor and the setter functions.
3147
3148 2007-07-26  Emmanuele Bassi  <ebassi@openedhand.com>
3149
3150         * clutter/clutter-actor.[ch]:
3151         * clutter/clutter-behaviour-bspline.c:
3152         * clutter/clutter-behaviour.c:
3153         * clutter/clutter-box.[ch]:
3154         * clutter/clutter-clone-texture.c:
3155         * clutter/clutter-entry.c:
3156         * clutter/clutter-group.[ch]:
3157         * clutter/clutter-texture.c:
3158         * clutter/pango/pangoclutter-render.c:
3159         * tests/test-actors.c:
3160         * tests/test-behave.c:
3161         * tests/test-entry.c:
3162         * tests/test-events.c:
3163         * tests/test-project.c:
3164         * tests/test-rotate.c:
3165         * tests/test-scale.c:
3166         * tests/test-text.c:
3167         * tests/test-textures.c: Miscellaneous compiler warning fixes.
3168
3169 2007-07-26  Emmanuele Bassi  <ebassi@openedhand.com>
3170
3171         * configure.ac:
3172         * Makefile.am: Add a configure switch to enable strict
3173         compiler flags, and turn it on when we are doing a distcheck.
3174
3175 2007-07-25  Matthew Allum  <mallum@openedhand.com>
3176
3177         * Makefile.am:
3178         * HACKING:
3179         Add with initial notes on coding bits and bobs.
3180
3181         * clutter/clutter-behaviour-scale.c:
3182         Doc fixes.
3183
3184         * clutter/clutter-event.c: (clutter_event_put):
3185         Doc fixes.
3186
3187         * clutter/glx/clutter-stage-glx.c:
3188         Disable wm user resizing of stage (At least for now)
3189         Doc fixes.
3190
3191 2007-07-25  Tomas Frydrych  <tf@openedhand.com>
3192
3193         * clutter/clutter-fixed.c:
3194
3195         Fixed endianness issue in fast fp conversions.
3196
3197 2007-07-25  Tomas Frydrych  <tf@openedhand.com>
3198
3199         * configure.ac:
3200         * clutter/clutter-fixed.c:
3201
3202         Added --disable-fast-fp-conversion option.
3203
3204 2007-07-25  Emmanuele Bassi  <ebassi@openedhand.com>
3205
3206         * clutter/clutter-label.[ch]: Ouch, clutter_label_get_alignment()
3207         returns a PangoAlignment, not a boolean.
3208
3209 2007-07-25  Emmanuele Bassi  <ebassi@openedhand.com>
3210
3211         * clutter/clutter-behaviour.h:
3212         * clutter/clutter-behaviour.c: Rename clutter_behaviour_clear()
3213         to clutter_behaviour_remove_all() to avoid method clashes in
3214         bindings.
3215
3216 2007-07-25  Tomas Frydrych  <tf@openedhand.com>
3217
3218         * tests/test-rotate.c:
3219         * tests/Makefile.am:
3220
3221         Added test-rotate.
3222
3223 2007-07-25  Emmanuele Bassi  <ebassi@openedhand.com>
3224
3225         * clutter/clutter-behaviour-bspline.c: Kill off some deep pointer
3226         indirections; use CLUTTER_NOTE() instead of ifdeffed out g_debug();
3227         add checks in every public entry point; move some initialisations
3228         of private data structures out of the constructor and into the
3229         init function, where they belong.
3230
3231 2007-07-25  Matthew Allum  <mallum@openedhand.com>
3232
3233         * clutter/clutter-behaviour-rotate.c:
3234         * clutter/clutter-behaviour-rotate.h:
3235         Split 'center' prop into 3 seperate props for each axis.
3236         Use clutter_behaviour_actors_foreach() rather than
3237         clutter_behaviour_get_actors() to avoid copying list.
3238         Call fixed point rotation funcs internally.
3239
3240         * clutter/clutter-effect.c:
3241         * clutter/clutter-effect.h:
3242         Add new simple rotation based effect funcs.
3243
3244 2007-07-25  Emmanuele Bassi  <ebassi@openedhand.com>
3245
3246         * clutter/clutter.h: Include clutter-behaviour-depth.h
3247
3248 2007-07-24  Emmanuele Bassi  <ebassi@openedhand.com>
3249
3250         * clutter/clutter-behaviour-rotate.[ch]: Add a center property
3251         for the center or rotation; implement the set_bounds() methods.
3252
3253 2007-07-24  Emmanuele Bassi  <ebassi@openedhand.com>
3254
3255         * clutter/eglx/clutter-backend-egl.c:
3256         * clutter/eglnative/clutter-backend-egl.c:
3257         * clutter/sdl/clutter-backend-sdl.c: Destroy the stage in every
3258         backend.
3259
3260 2007-07-24  Emmanuele Bassi  <ebassi@openedhand.com>
3261
3262         * clutter/glx/clutter-backend-glx.c: Destroy the stage, don't
3263         just unref it.
3264
3265 2007-07-24  Emmanuele Bassi  <ebassi@openedhand.com>
3266
3267         * clutter/clutter-main.c: Add debug markers.
3268
3269 2007-07-24  Emmanuele Bassi  <ebassi@openedhand.com>
3270
3271         * clutter/clutter-texture.[ch]: Add a ClutterTextureError
3272         to be returned by the loader functions; use the GObject API
3273         to allocate the private data structure instead of managing it
3274         ourselves; add documentation.
3275
3276 2007-07-24  Emmanuele Bassi  <ebassi@openedhand.com>
3277
3278         * clutter/clutter-actor.c:
3279         * clutter/clutter-box.h:
3280         * clutter/clutter-stage.c: Documentation fixes.
3281
3282 2007-07-24  Matthew Allum  <mallum@openedhand.com>
3283
3284         * clutter/cogl/gl/cogl-defines.h:
3285         Add  CGL_UNSIGNED_INT_8_8_8_8_REV (for big endian machines)
3286
3287 2007-07-24  Matthew Allum  <mallum@openedhand.com>
3288
3289         * clutter/cogl/gl/cogl-defines.h:
3290         Another GL_TEXTURE_RECTANGLE_ARB related fix (#404)
3291
3292 2007-07-24  Matthew Allum  <mallum@openedhand.com>
3293
3294         * clutter/clutter-backend.c:
3295         Minor build fixes (#413)
3296
3297 2007-07-24  Emmanuele Bassi  <ebassi@openedhand.com>
3298
3299         * clutter/clutter-effect.h:
3300         * clutter/clutter-effect.c: Add a secondary constructor for
3301         ClutterEffectTemplate, for use of the bindings.
3302
3303 2007-07-24  Matthew Allum  <mallum@openedhand.com>
3304
3305         * clutter/cogl/gles/cogl.c: (cogl_get_bitmasks):
3306         Fix typo calling glGetIntegerv rather than glGetInteger
3307
3308 2007-07-24  Matthew Allum  <mallum@openedhand.com>
3309
3310         * clutter/cogl/gl/cogl.c: (cogl_get_features):
3311         learn to use cpp properly.
3312
3313 2007-07-24  Matthew Allum  <mallum@openedhand.com>
3314
3315         * clutter/clutter-media.c: (clutter_media_base_init):
3316         Remove #if 0! signal - assume causing issues with binding generation.
3317         (#407)
3318
3319         * clutter/cogl/gl/cogl.c:
3320         Check GL_TEXTURE_RECTANGLE_ARB and GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB
3321         are defined in gl.h (#404)
3322
3323 2007-07-24  Matthew Allum  <mallum@openedhand.com>
3324
3325         * clutter/glx/clutter-stage-glx.c: (clutter_stage_glx_realize):
3326         Create stage window with correct depth/visual. Via patch from
3327         Robert Bragg (#409).
3328
3329 2007-07-23  Matthew Allum  <mallum@openedhand.com>
3330
3331         * clutter/clutter-texture.c: (texture_render_to_gl_quad),
3332         (clutter_texture_paint):
3333         Dont be over aggressive in throwing criticals for unrealized
3334         textures. Doesn't make sense for sub classes. (#403)
3335
3336 2007-07-22  Emmanuele Bassi  <ebassi@openedhand.com>
3337
3338         Two small fixes for correctly debugging the deinitialisation
3339         phase of the backend:
3340
3341         * clutter/glx/clutter-backend-glx.c: Remove the event source
3342         after we unref the main stage.
3343
3344         * clutter/glx/clutter-stage-glx.c: Add a mark at the end of the
3345         unrealize call (the perl bindings seem to crash before we reach
3346         this point).
3347
3348 2007-07-22  Emmanuele Bassi  <ebassi@openedhand.com>
3349
3350         * clutter/clutter-behaviour-ellipse.c: Remove pointer indirections;
3351         add sanity checks on the public entry points; make all the public
3352         properties floating point (where needed) andconvert them to fixed
3353         point internally. (Partial fix for #389)
3354
3355 2007-07-22  Emmanuele Bassi  <ebassi@openedhand.com>
3356
3357         * clutter/clutter-behaviour.[ch]: Rename ClutterBehaviour::apply
3358         and ClutterBehaviour::remove to ClutterBehaviour::applied and
3359         ClutterBehaviour::removed respectively, and emit them when the
3360         behaviour has been applied (or does no longer apply) to an actor.
3361
3362         (clutter_behaviour_dispose), (clutter_behaviour_finalize),
3363         (clutter_behaviour_class_init): Move the actor removal to the
3364         ::dispose virtual function, and remove the ::finalize one;
3365         document the missing properties and signals.
3366
3367         (clutter_behaviour_clear): Add function to clear a behaviour:
3368         every actor will be unreffed and the ClutterBehaviour::removed
3369         signal will be emitted.
3370
3371 2007-07-21  Matthew Allum  <mallum@openedhand.com>
3372
3373         * clutter/clutter-event.c:
3374         Correct  clutter_event_get_state () return type. Fixes #398
3375
3376         * clutter/glx/clutter-stage-glx.c:
3377         Disable use XFixes cursor visibility funcs. Appears to have issues
3378         on feisty X Server at least. Fallback should work generally better.
3379
3380         Fix non offscreen clutter_stage_snapshot to also rotate read pixel
3381         data to correct orientation.
3382
3383 2007-07-12  Matthew Allum  <mallum@openedhand.com>
3384
3385         * clutter/eglnative/clutter-event-egl.c: (clutter_event_dispatch):
3386         Avoid sending too many events which are just pressure changes.
3387
3388 2007-07-12  Matthew Allum  <mallum@openedhand.com>
3389
3390         * clutter/clutter-actor.c: (clutter_actor_paint):
3391         * clutter/clutter-stage.c: (clutter_stage_get_actor_at_pos):
3392         * clutter/cogl/cogl.h:
3393         * clutter/cogl/gl/cogl.c: (cogl_get_viewport):
3394         * clutter/cogl/gles/cogl.c: (cogl_get_viewport):
3395         Hopefully fix clutter_actor_at_pos on !32bpp displays.
3396         Based on patch from Pan Bohui, See;
3397         http://bugzilla.openedhand.com/show_bug.cgi?id=390
3398
3399         * TODO:
3400         More misc updates.
3401
3402 2007-07-11  Emmanuele Bassi  <ebassi@openedhand.com>
3403
3404         * clutter/clutter-behaviour-opacity.c:
3405         Don't check direction in opacity.
3406
3407 2007-07-11  Tomas Frydrych  <tf@openedhand.com>
3408
3409         * clutter/clutter-fixed.h:
3410         Fixed CLUTTER_ANGLE_ macros.
3411
3412         * clutter/clutter-behaviour-ellipse.h:
3413         * clutter/clutter-behaviour-ellipse.c:
3414         Implemented "apply" signal closer to position actor on the start
3415         of the elliptic path.
3416
3417         (clutter_behaviour_ellipse_get_angle_begin):
3418         (clutter_behaviour_ellipse_set_angle_begin):
3419         (clutter_behaviour_ellipse_get_angle_end):
3420         (clutter_behaviour_ellipse_set_angle_end):
3421         (clutter_behaviour_ellipse_get_angle_tilt):
3422         (clutter_behaviour_ellipse_set_angle_tilt):
3423         Renamed with an x suffix; added versions for angles in degrees.
3424
3425 2007-07-09  Matthew Allum  <mallum@openedhand.com>
3426
3427         * TODO:
3428         Updates.
3429         * clutter/clutter-stage.c:
3430         * clutter/glx/clutter-stage-glx.c:
3431         Fix cursor visibility property.
3432         Force a repaint before mapping to attempt to avoid flicker.
3433
3434 2007-07-09  Richard Purdie  <rpurdie@openedhand.com>
3435
3436         * clutter/eglnative/clutter-event-egl.c:
3437         * configure.ac:
3438         Add tslib support to eglnative backend.
3439
3440 2007-07-09  Richard Purdie  <rpurdie@openedhand.com>
3441
3442         * clutter/eglnative/clutter-backend-egl.c:
3443         Tweaks to the eglnative backend.
3444
3445 2007-07-09  Richard Purdie  <rpurdie@openedhand.com>
3446
3447         * clutter/clutter-backend.c:
3448         Make the backend add_option function optional.
3449
3450 2007-07-09  Emmanuele Bassi  <ebassi@openedhand.com>
3451
3452         * clutter/clutter-behaviour-depth.h:
3453         * clutter/clutter-behaviour-depth.c:
3454         * clutter/Makefile.am: Add ClutterBehaviourDepth, a simple
3455         behaviour controlling the depth of a set of actors.
3456
3457         * clutter/clutter-behaviour-opacity.c: Always make sure that
3458         the opacity applied to the actors is a positive integer, even
3459         in case where the start and end opacity are reversed; use the
3460         correct cast macros for passing the opacity as a pointer.
3461
3462 2007-07-06  ====================== 0.3.1 Release ========================
3463
3464 2007-07-06  Matthew Allum  <mallum@openedhand.com>
3465
3466         * NEWS:
3467         * configure.ac:
3468         Update for 0.3.1
3469
3470 2007-07-06  Matthew Allum  <mallum@openedhand.com>
3471
3472         * clutter/eglx/Makefile.am:
3473         * clutter/eglx/clutter-egl.h:
3474         * clutter/eglx/clutter-event-egl.c:
3475         * clutter/eglx/clutter-stage-egl.c:
3476         Rename clutter-egl.h -> clutter-eglx.h
3477
3478         * NEWS:
3479         * README:
3480         Add info re EGL split.
3481
3482 2007-07-06  Matthew Allum  <mallum@openedhand.com>
3483
3484         * clutter/Makefile.am:
3485         * clutter/eglnative/Makefile.am:
3486         * clutter/eglnative/clutter-backend-egl.c:
3487         * clutter/eglnative/clutter-backend-egl.h:
3488         * clutter/eglnative/clutter-egl.h:
3489         * clutter/eglnative/clutter-event-egl.c:
3490         * clutter/eglnative/clutter-stage-egl.c:
3491         * clutter/eglnative/clutter-stage-egl.h:
3492         * clutter/eglx/Makefile.am:
3493         * clutter/eglx/clutter-backend-egl.c:
3494         * clutter/eglx/clutter-egl.h:
3495         * clutter/eglx/clutter-event-egl.c:
3496         * clutter/eglx/clutter-stage-egl.c:
3497         * configure.ac:
3498         Add a new 'native' EGL backend for non X based EGL's
3499         (i.e on framebuffer).
3500         Rename old backend to 'eglx' and namespace public funcs with this.
3501
3502         * clutter/pango/pangoclutter-private.h:
3503         Add extra checks for expected defines.
3504
3505 2007-07-06  Matthew Allum  <mallum@openedhand.com>
3506
3507         * NEWS:
3508         * README:
3509         Updates for upcoming 0.3.1 release.
3510         * clutter/egl/Makefile.am:
3511         * clutter/egl/clutter-backend-egl.c:
3512         * clutter/egl/clutter-backend-egl.h:
3513         * clutter/egl/clutter-egl.h:
3514         * clutter/egl/clutter-event-egl.c:
3515         * clutter/egl/clutter-stage-egl.c:
3516         * clutter/egl/clutter-stage-egl.h:
3517         * configure.ac:
3518         Move egl -> eglx
3519
3520 2007-07-06  Matthew Allum  <mallum@openedhand.com>
3521
3522         * clutter/clutter-box.c: (clutter_box_pick):
3523         Call clutter_box_paint rather than actor paint method avoiding
3524         infinte loop (Fixes test-boxes crasher).
3525
3526         * clutter/glx/clutter-stage-glx.c: (clutter_stage_glx_unrealize):
3527         Trap the X calls to avoid potential X errors.
3528
3529 2007-07-06  Ross Burton  <ross@openedhand.com>
3530
3531         * tests/Makefile.am:
3532         Dist redhand.png.
3533
3534 2007-07-05  Tomas Frydrych  <tf@openedhand.com>
3535
3536         * cluter/clutter-group.c:
3537         (clutter_group_query_coords:)
3538         Reset box size to zero width and height to report correct size if
3539         the contents of the group shrink.
3540
3541 2007-07-05  Emmanuele Bassi  <ebassi@openedhand.com>
3542
3543         * clutter/clutter-rectangle.c: Fix off-by-border-width bug
3544         in the border creation of a ClutterRectangle.
3545
3546 2007-07-05  Tomas Frydrych  <tf@openedhand.com>
3547
3548         * clutter/clutter-fixed.h:
3549         * clutter/clutter-fixed.c:
3550         Added CLUTTER_FLOAT_TO_UINT macro;
3551         (clutter_pow2x):
3552         Fixed sign issue.
3553
3554 2007-07-04  Emmanuele Bassi  <ebassi@openedhand.com>
3555
3556         * clutter/*: Loads of fixes for the API reference.
3557
3558 2007-07-04  Emmanuele Bassi  <ebassi@openedhand.com>
3559
3560         Merge from clutter/work
3561
3562         * clutter/clutter-alpha.[ch]: Fix the argument names for
3563         the smoothstep alpha functions, for gtk-doc.
3564
3565         * clutter/clutter-group.c (clutter_group_remove_all): Fix
3566         the iteration on the children list.
3567
3568 2007-07-04  Emmanuele Bassi  <ebassi@openedhand.com>
3569
3570         * clutter/clutter-main.c (clutter_redraw): Move the stage
3571         paint init call from the main redraw function...
3572
3573         * clutter/clutter-stage.c (clutter_stage_paint): ... to the
3574         ClutterActor::paint() overridden method in ClutterStage.
3575
3576 2007-07-04  Emmanuele Bassi  <ebassi@openedhand.com>
3577
3578         * clutter/clutter.h:
3579         * clutter/Makefile.am: ClutterBackend is marked as public API,
3580         so install the clutter-backend.h header and include it when
3581         including clutter.h.
3582
3583 2007-07-04  Emmanuele Bassi  <ebassi@openedhand.com>
3584
3585         * clutter/clutter-entry.[ch]: Various fixes to ClutterEntry:
3586         fix code style issues; add documentation for the various
3587         properties; add ClutterEntry:entry-padding property, for controlling
3588         the text padding (until we have style properties separated from
3589         the object properties); notify property changes; free resources
3590         in the ::finalize method; rename clutter_entry_add() to
3591         clutter_entry_insert_unichar(), and clutter_entry_remove() to
3592         clutter_entry_delete_chars() - for bindings and for matching the
3593         insert_text() and delete_text() existing methods; add a getter
3594         method for the max-length property.
3595
3596 2007-07-04  Emmanuele Bassi  <ebassi@openedhand.com>
3597
3598         * clutter/clutter-actor.[ch]: Use the right get_type() function
3599         name for ClutterVertex, and add the CLUTTER_TYPE_VERTEX macro.
3600
3601 2007-07-03  Ross Burton  <ross@openedhand.com>
3602
3603         * configure.ac:
3604         Check for XFixes 4 and above.
3605
3606 2007-07-02  Tomas Frydrych  <tf@openedhand.com>
3607
3608         * clutter/clutter-actor.h:
3609         * clutter/clutter-actor.c:
3610         * tests/test-project.c:
3611         (clutter_actor_apply_transform_to_point):
3612         Use ClutterVertex for input and output parameters.
3613
3614 2007-07-01  Emmanuele Bassi  <ebassi@openedhand.com>
3615
3616         Merge from clutter.git/work branch
3617
3618         * clutter/clutter-effect.[ch]: Clean up ClutterEffect; use a
3619         pointer to access the private data structure, instead of doing
3620         a type check every time. Add description for the API reference.
3621
3622         * docs/reference/clutter-sections.txt:
3623         * clutter/*.[ch]: Add various documentation fixes.
3624
3625         * clutter/clutter-entry.c: Remove a stray g_print() call.
3626
3627 2007-06-29  Neil J. Patel  <njp@o-hand.com>
3628
3629         * clutter/clutter-entry.c: (clutter_entry_handle_key_event),
3630         (clutter_entry_add), (clutter_entry_remove):
3631         Check if unichar == 0, and if so, return, as it will cause a delete in
3632         the GString.
3633
3634 2007-06-20  ============== 0.3 Release ====================================
3635
3636 2007-06-29  Matthew Allum  <mallum@openedhand.com>
3637
3638         * clutter/clutter-texture.c: (texture_upload_data):
3639         Fix a SEGV for GL ES textures.
3640
3641         * clutter/cogl/gles/cogl.c: (cogl_setup_viewport):
3642         Tweak default z_camera for 60 degrees like GL.
3643
3644         * clutter/egl/clutter-backend-egl.c::
3645         * clutter/egl/clutter-stage-egl.c:
3646         Fix edpy usage (thanks to Kaj Gronholm).
3647
3648 2007-06-29  Tomas Frydrych  <tf@openedhand.com>
3649
3650         * clutter/clutter-group.c:
3651         (clutter_group_query_coords):
3652         Fixed box calculation.
3653
3654 2007-06-28  Tomas Frydrych  <tf@openedhand.com>
3655
3656         * clutter/clutter-group.c:
3657         (clutter_group_raise):
3658         (clutter_group_lower):
3659         Fixed SIGSEGV when attempting to raise / lower an only child.
3660
3661 2007-06-28  Matthew Allum  <mallum@openedhand.com>
3662
3663         * clutter/cogl/gl/cogl.c: (cogl_setup_viewport):
3664         Improve fixed z_camera value for defualt perspective.
3665         Appears pixel perfect on ATI and Intel at least
3666
3667 2007-06-28  Tomas Frydrych  <tf@openedhand.com>
3668
3669         * tests/test-perspective.c:
3670         Moved red dots to be positioned 1px off each corner.
3671
3672 2007-06-28  Matthew Allum  <mallum@openedhand.com>
3673
3674         * tests/Makefile.am:
3675         * tests/test-perspective.c:
3676         Add simple perspective test
3677
3678 2007-06-27  Tomas Frydrych  <tf@openedhand.com>
3679
3680         * clutter/clutter-actor.h:
3681         * clutter/clutter-actor.c:
3682         * tests/test-project.c:
3683         Renamed clutter_actor_project_point() to
3684         clutter_actor_apply_trasform_to_point() and
3685         clutter_actor_project_vertices() to clutter_actor_get_vertices().
3686
3687 2007-06-27  Tomas Frydrych  <tf@openedhand.com>
3688
3689         * clutter/clutter-actor.h:
3690         * clutter/clutter-actor.c:
3691         * tests/test-project.c:
3692         (clutter_actor_project_point):
3693         Separated input from output parameters.
3694
3695 2007-06-27  Matthew Allum  <mallum@openedhand.com>
3696
3697         * Makefile.am:
3698         Dont remove README on make clean
3699
3700 2007-06-27  Tomas Frydrych  <tf@openedhand.com>
3701
3702         * clutter/clutter-actor.c:
3703         (_clutter_actor_apply_modelview_transform):
3704         Fixed incorrect order of scaling an rotation that was causing
3705         objects that were both rotated and scaled to change position.
3706
3707 2007-06-27  Tomas Frydrych  <tf@openedhand.com>
3708
3709         * clutter/clutter-actor.c:
3710         (clutter_actor_scale_with_gravityx):
3711         Made to work after changes to the behavivour of
3712         clutter_actor_get_absolute_size() for rotated actors.
3713
3714 2007-06-26  Tomas Frydrych  <tf@openedhand.com>
3715
3716         * clutter/cogl/gl/cogl.c:
3717         * clutter/cogl/gles/cogl.c:
3718         (cogl_setup_viewport):
3719         For default perspective angle of 60 degrees, use a hardcoded
3720         z_camera constant that provides minimal artefacts when rendering
3721         text; for other angles we calculate.
3722
3723 2007-06-26  Tomas Frydrych  <tf@openedhand.com>
3724
3725         * clutter/clutter-actor.h:
3726         * clutter/clutter-actor.c:
3727         Added fixed point version of clutter_actor_rotate_*() functions
3728         and accessors for rotation angles.
3729
3730 2007-06-25  Matthew Allum  <mallum@openedhand.com>
3731
3732         * README:
3733         Update a little more.
3734         * clutter/clutter-effect.c:
3735         Add missing func documentation
3736         * clutter/clutter-rectangle.c:
3737         Fix border drawing.
3738
3739 2007-06-25  Tomas Frydrych  <tf@openedhand.com>
3740
3741         * clutter/clutter-fixed.h:
3742         Fixed definition of clutter_cosx() macro.
3743
3744         * clutter/clutter-stage.c:
3745         * clutter/cogl/cogl.h:
3746         * clutter/cogl/gl/cogl.c:
3747         * clutter/cogl/gles/cogl.c:
3748         Changed ClutterPerspective.fovy from ClutterAngle to degrees to
3749         improve precission in Z-camera calculations.
3750
3751 2007-06-22  Matthew Allum  <mallum@openedhand.com>
3752
3753         * README:
3754         * README.in:
3755         * autogen.sh:
3756         * configure.ac:
3757         Move back to regular README naming at least for now.
3758
3759 2007-06-22  Matthew Allum  <mallum@openedhand.com>
3760
3761         * NEWS:
3762         * README.in:
3763         * TODO:
3764         Update for 0.3 release.
3765
3766         * clutter/clutter-actor.c:
3767         Minor doc fixups
3768
3769         * clutter/clutter-texture.c:
3770         Various minor additions for handling non RGBA data.
3771         Fix a typo breaking clutter_texture_get_pixbuf() on tiled textures.
3772
3773         * tests/test-actors.c:
3774         Disable scaling to avoid drifting (temporary till API is fixed)
3775
3776 2007-06-21  Emmanuele Bassi  <ebassi@openedhand.com>
3777
3778         * clutter/clutter-timeline.c: Allow disabling the timeline pool
3779         by using the CLUTTER_TIMELINE environment variable set to
3780         "no-pool".
3781
3782 2007-06-19  Emmanuele Bassi  <ebassi@openedhand.com>
3783
3784         * README.in: Update release notes.
3785
3786 2007-06-19  Matthew Allum  <mallum@openedhand.com>
3787
3788         * clutter/clutter-main.c: (clutter_init_with_args), (clutter_init):
3789         Safer checks for setting progname if NULL is passed in init.
3790
3791 2007-06-19  Emmanuele Bassi  <ebassi@openedhand.com>
3792
3793         * autogen.sh: autoreconf needs a README.
3794
3795 2007-06-19  Matthew Allum  <mallum@openedhand.com>
3796
3797         * TODO:
3798         Sync up a little.
3799         * clutter/clutter-main.c:
3800         Set a default window title based on g_prgname().
3801
3802         * clutter/clutter-stage.c:
3803         * clutter/clutter-stage.h:
3804         * clutter/egl/clutter-stage-egl.c:
3805         * clutter/glx/clutter-stage-glx.c:
3806         * clutter/sdl/clutter-stage-sdl.c:
3807         Alter draw_to_pixbuf to return a pixbuf
3808
3809         * configure.ac:
3810         Only full in gdk-pixbuf-xlib as a GLX backend dep.
3811
3812         * tests/test-entry.c:
3813         Fix a couple of warnings.
3814
3815 2007-06-19  Emmanuele Bassi  <ebassi@openedhand.com>
3816
3817         * Makefile.am: Add README.in to the EXTRA_DIST.
3818
3819 2007-06-19  Emmanuele Bassi  <ebassi@openedhand.com>
3820
3821         * configure.ac:
3822         * README.in: Use a template for the README file, so that
3823         it gets the right version number.
3824
3825 2007-06-19  Matthew Allum  <mallum@openedhand.com>
3826
3827         * clutter/clutter-stage.c:
3828         * clutter/clutter-stage.h:
3829         * clutter/glx/clutter-stage-glx.c:
3830         * clutter/sdl/clutter-stage-sdl.c:
3831         Add window title setting/getting functionality.
3832
3833         * clutter/clutter-event.c: (clutter_key_event_unicode):
3834         Remove uneeded convert case call.
3835
3836         * clutter/cogl/gl/cogl.c: (cogl_rectangle)
3837         Use parameters correctly for underlying GL rect call.
3838
3839         * tests/test-entry.c:
3840         Add a window title.
3841
3842 2007-06-18  Matthew Allum  <mallum@openedhand.com>
3843
3844         * clutter/sdl/clutter-event-sdl.c:
3845         Seemingly fix SDL Event source.
3846         Add some very basic SDL keysym translation.
3847         (Thanks to Thomas Van Machelen for initial translation code)
3848
3849         * tests/test-events.c:
3850         Dump some info on keysyms pressed.
3851
3852 2007-06-16  Emmanuele Bassi  <ebassi@openedhand.com>
3853
3854         * clutter/clutter-actor.h:
3855         * clutter/clutter-stage.h: Add 32 padding slots; when we
3856         reach 1.0 it'll be a long road until the following ABI
3857         break.
3858
3859         * tests/test-behave.c: Don't forget to include headers.
3860
3861 2007-06-16  Emmanuele Bassi  <ebassi@openedhand.com>
3862
3863         * clutter/clutter-container.h:
3864         * clutter/clutter-layout.h: Interfaces are not checked
3865         at compile-time, so there's not need to add padding to
3866         avoid ABI breaks.
3867
3868 2007-06-16  Emmanuele Bassi  <ebassi@openedhand.com>
3869
3870         * configure.ac: Partially revert last commit, and fail
3871         with AC_MSG_ERROR() instead of disabling the manual build
3872         if no jw and xmlto were found.
3873
3874 2007-06-16  Emmanuele Bassi  <ebassi@openedhand.com>
3875
3876         * configure.ac: If the programs required to build the manual
3877         are not found and --enable-manual was passed, then just print
3878         a warning and disable the manual build instead of aborting the
3879         configure.
3880
3881         * doc/manual/Makefile.am: Use the full path gathered by the
3882         configure script when invoking jw and xmlto.
3883
3884 2007-06-16  Matthew Allum  <mallum@openedhand.com>
3885
3886         * clutter/clutter-actor.c:
3887         Fix typo in x rotation transform (Thanks to Johan Billen #138)
3888
3889         * configure.ac:
3890         * doc/manual/Makefile.am:
3891         Fix manual build and required program check.
3892
3893         * tests/Makefile.am:
3894         Another typo fix.
3895
3896 2007-06-15  Tomas Frydrych  <tf@openedhand.com>
3897
3898         * clutter/clutter-actor.c:
3899         Added some comments; renamed MTX_GL_SCALE to MTX_GL_SCALE_X for
3900         consistency; removed some debug output.
3901
3902 2007-06-14  Tomas Frydrych  <tf@openedhand.com>
3903
3904         * clutter/clutter-vbox.c:
3905         * clutter/clutter-hbox.c:
3906         (clutter_vbox_pack_child):
3907         (clutter_hbox_pack_child):
3908         Fixed child coords.
3909
3910 2007-06-14  Emmanuele Bassi  <ebassi@openedhand.com>
3911
3912         * clutter/clutter-box.[ch]: Base class for layout containers.
3913
3914         * clutter/clutter-hbox.[ch]: Horizontal box actor.
3915
3916         * clutter/clutter-vbox.[ch]: Vertical box actor.
3917
3918         * clutter/clutter.h:
3919         * clutter/Makefile.am: Build glue
3920
3921         * tests/Makefile.am:
3922         * tests/test-boxes.c: Test suite for ClutterBox API and
3923         implementations.
3924
3925 2007-06-14  Matthew Allum  <mallum@openedhand.com>
3926
3927         * clutter/cogl/gl/cogl.c: (cogl_check_extension):
3928         Actually populate this func and remove the static alternate
3929         named one. Means GLX actually checks for available extensions.
3930         Other minor tidy ups.
3931
3932         * clutter/glx/clutter-backend-glx.c:
3933         * clutter/glx/clutter-backend-glx.h:
3934         Add support for GLX_SGI_swap_control to do vblanking prefering
3935         over glXGetVideoSyncSGI. Should fix issues on Intel chips with
3936         very slow frame rates due to vblank problems.
3937         Thanks to  Michel Danzer for tips, see;
3938         http://bugs.freedesktop.org/show_bug.cgi?id=10542
3939
3940         * test/test-actors.c:
3941         Change FPS to 60.
3942
3943 2007-06-14  Emmanuele Bassi  <ebassi@openedhand.com>
3944
3945         * clutter/clutter-timeout-pool.c: Make ClutterTimeoutPool
3946         more thread-safe, using a static lock.
3947
3948         (clutter_timeout_pool_dispatch), (clutter_timeout_pool_remove): Fix
3949         a race condition-turned-in-memory corruption bug, triggered by
3950         removing a timeout from the pool while still spinning the pool
3951         source.
3952
3953 2007-06-14  Emmanuele Bassi  <ebassi@openedhand.com>
3954
3955         * configure.ac:
3956         * doc/manual/Makefile.am: Find xmlto and jw in the path and
3957         use the symbolic names when building the manual.
3958
3959 2007-06-14  Tomas Frydrych  <tf@openedhand.com>
3960
3961         * clutter/clutter-actor.c:
3962         (clutter_actor_get_abs_position):
3963         (clutter_actor_get_abs_size):
3964         Reimplement using clutter_actor_project_point() and
3965         clutter_actor_project_vertices().
3966
3967         * tests/test-project.c:
3968         Rename clutter_actor_allocate_coords -> clutter_actor_query_coords
3969
3970 2007-06-14  Matthew Allum  <mallum@openedhand.com>
3971
3972         * clutter/clutter-actor.c:
3973         * clutter/clutter-actor.h:
3974         * clutter/clutter-group.c:
3975         * clutter/clutter-label.c:
3976         * clutter/egl/clutter-stage-egl.c:
3977         * clutter/glx/clutter-stage-glx.c:
3978         * clutter/sdl/clutter-stage-sdl.c:
3979         Rename clutter_actor_allocate_coords -> clutter_actor_query_coords
3980
3981         Change repaints to G_PRIORITY_DEFAULT + 10.
3982         (timelines are G_PRIORITY_DEFAULT + 30, events G_PRIORITY_DEFAULT)
3983
3984         * clutter/glx/clutter-event-glx.c:
3985         Handle shift modifier in keycode -> keysym translation.
3986
3987         * tests/test-actors.c:
3988         Remove (broken) screen saver code.
3989         Add scaling behaviour, clean code a little.
3990
3991 2007-06-13  Tomas Frydrych  <tf@openedhand.com>
3992
3993         * clutter/clutter-actor.c:
3994         (clutter_actor_project_vertices):
3995         (clutter_actor_project_proint):
3996         Fixed translation of Y coords to match the windowing system.
3997
3998         * clutter/egl/clutter-stage-egl.c:
3999         * clutter/glx/clutter-stage-glx.c:
4000         * clutter/sdl/clutter-stage-sdl.c:
4001         (clutter_stage_*_request_size):
4002         Initialize viewport when setting/resetting stage side.
4003
4004         * tests/Makefile.am
4005         * tests/test-project.c:
4006         An interactive test of the projection stuff.
4007
4008 2007-06-12  Tomas Frydrych  <tf@openedhand.com>
4009
4010         * clutter/clutter-main.c:
4011         (clutter_redraw):
4012         Clear CLUTTER_ACTOR_SYNC_MATRICES flag after setting up viewport.
4013
4014 2007-06-12  Matthew Allum  <mallum@openedhand.com>
4015
4016         * doc/manual/Makefile.am:
4017         Fix typo in Makefile so PDF's actually get built.
4018
4019         * doc/manual/clutter-manual.xml.in:
4020         Add an FAQ section with initial entry.
4021
4022 2007-06-12  Tomas Frydrych  <tf@openedhand.com>
4023
4024         * clutter/clutter-fixed.h:
4025         Added shorthand CFX_QMUL macro.
4026
4027         * clutter/clutter-private.h:
4028         * clutter/clutter-actor.h:
4029         * clutter/clutter-actor.c:
4030         Replaced ClutterVertices with ClutterVertex;
4031
4032         (clutter_actor_get_transformed_vertices):
4033         (clutter_actor_get_transformed_point):
4034         Replaced with clutter_actor_projected_vertices and
4035         clutter_actor_projected_point.
4036
4037         (_clutter_actor_apply_modelview_transform):
4038         (_clutter_actor_apply_modelview_transform_recursive):
4039         Private functions to push actor modelview transforms on OpenGL
4040         stack.
4041
4042         * clutter/cogl/cogl.h:
4043         * clutter/cogl/gl/cogl.c:
4044         * clutter/cogl/gles/cogl.c:
4045         (cogl_get_viewport):
4046         (cogl_get_modelview_matrix):
4047         (cogl_get_projection_matrix):
4048         Functions to access OpenGL transforms.
4049
4050 2007-06-12  Matthew Allum  <mallum@openedhand.com>
4051
4052         * clutter/clutter-alpha.c:
4053         Remove stray g_debug.
4054
4055         * clutter/clutter-behaviour-rotate.c:
4056         Register private class member.
4057
4058         * clutter/clutter-behaviour.c:
4059         * clutter/clutter-behaviour.h:
4060         Add applied and removed signals.
4061
4062         * Makefile.am:
4063         * configure.ac:
4064         * examples/Makefile.am:
4065         * examples/README:
4066         * examples/behave.c:
4067         * examples/slider.c:
4068         * examples/super-oh.c:
4069         * examples/test-entry.c:
4070         * examples/test-text.c:
4071         * examples/test.c:
4072         * tests/Makefile.am:
4073         Remove examples, moving applicable code into tests.
4074
4075 2007-06-11  Tomas Frydrych  <tf@openedhand.com>
4076
4077         * clutter/clutter-alpha.c:
4078         (clutter_alpha_sine_inc):
4079         (clutter_alpha_sine_dec):
4080         (clutter_alpha_sine_half):
4081         Fixed unsigned overflow.
4082
4083 2007-06-11  Emmanuele Bassi  <ebassi@openedhand.com>
4084
4085         * clutter/clutter-event.h: Add full modifier masks enums.
4086
4087         * clutter/glx/clutter-event-glx.c: Copy the modifier masks from
4088         the native X event structure.
4089
4090         * clutter/clutter-event.c: Convert to upper case if the
4091         shift or the lock masks are applied.
4092
4093 2007-06-09  Emmanuele Bassi  <ebassi@openedhand.com>
4094
4095         * clutter/clutter.h:
4096         * clutter/clutter-timeout-pool.[ch]: Add a timeout pool source;
4097         every timeout added to this pool will use a single slice of the
4098         main loop.
4099
4100         * clutter/clutter-timelince.c: Use a per-class timeout pool for
4101         every timeline.
4102
4103 2007-06-08  Matthew Allum  <mallum@openedhand.com>
4104
4105         * clutter/clutter-texture.c: (clutter_texture_get_pixbuf):
4106         Remove stray printf.
4107
4108 2007-06-08  Matthew Allum  <mallum@openedhand.com>
4109
4110         * clutter/clutter-actor.c:
4111         * clutter/clutter-debug.h:
4112         * clutter/clutter-main.c:
4113         * clutter/clutter-main.h:
4114         * clutter/clutter-private.h:
4115         * clutter/clutter-timeline.c:
4116         Add 'schedule' debug flag and new CLUTTER_TIMESTAMP macro.
4117
4118         * clutter/clutter-texture.c:
4119         * clutter/clutter-texture.h:
4120         * clutter/cogl/cogl.h:
4121         * clutter/cogl/gl/cogl-defines.h:
4122         * clutter/cogl/gles/cogl-defines.h:
4123         * clutter/cogl/gl/cogl.c:
4124         * clutter/cogl/gles/cogl.c:
4125         Add initial experiemental YUV texture support.
4126         Move texture rect size checks into cogl.
4127         Better handle moving texture data from video -> system memory
4128         (if support available).
4129
4130 2007-06-07  Neil J. Patel  <njp@o-hand.com>
4131
4132         * clutter/clutter-entry.c: (clutter_entry_class_init),
4133         (clutter_entry_handle_key_event):
4134         * clutter/clutter-entry.h:
4135         Added an 'activated' signal, which is emitted when the 'Enter' key is
4136         pressed.
4137
4138         * examples/test-entry.c: (on_entry_activated), (main):
4139         Added a test handler for the activated signal.
4140
4141 2007-06-07  Emmanuele Bassi  <ebassi@openedhand.com>
4142
4143         * clutter/*: Move documentation from the templates into the
4144         source code.
4145
4146 2007-06-07  Emmanuele Bassi  <ebassi@openedhand.com>
4147
4148         * clutter/clutter-container.[ch]: Add a generic actor container
4149         interface, for actors to implement without subclassing ClutterGroup.
4150
4151         * clutter/clutter-group.[ch]: Make ClutterGroup implement the
4152         ClutterContainer interface, and deprecate the colliding methods.
4153
4154         * clutter/clutter-layout.[ch]: Add extended layout interface.
4155         Actors and containers requiring or honouring complex layout
4156         management should implement this interface and provide at least
4157         one of the available layout types: width for height, height for
4158         width, natural size, iterative size request.
4159
4160         * clutter/clutter-label.c: A ClutterLabel requires height for
4161         width layout management, so it implements the ClutterLayout
4162         interface.
4163
4164         * clutter/Makefile.am: Add new files to the build.
4165
4166         * tests/*.c:
4167         * examples/*.c: Update tests and examples code to use the
4168         new ClutterContainer API instead of ClutterGroup.
4169
4170 2007-06-07  Emmanuele Bassi  <ebassi@o-hand.com>
4171
4172         * clutter/clutter-timeline.[ch]: Add a "delay" property, which
4173         delays the real start of the timeline by a number of milliseconds.
4174
4175         (clutter_timeline_clone): Rename clutter_timeline_copy() to
4176         clutter_timeline_clone(), for consistency.
4177
4178 2007-06-01  Neil J. Patel  <njp@o-hand.com>
4179
4180         * clutter/clutter-entry.c: (clutter_entry_set_property),
4181         (clutter_entry_get_property), (clutter_entry_class_init),
4182         (clutter_entry_init), (clutter_entry_set_text),
4183         (clutter_entry_set_max_length):
4184         * clutter/clutter-entry.h:
4185         * examples/test-entry.c: (main):
4186         Added a max-length property whihc limits the length of the text in the
4187         entry.
4188
4189 2007-06-01  Neil J. Patel  <njp@o-hand.com>
4190
4191         * clutter/clutter-entry.c: (clutter_entry_ensure_cursor_position),
4192         (clutter_entry_paint), (clutter_entry_init),
4193         (clutter_entry_handle_key_event):
4194         Clipping within the entry class to stop it over-slipping its
4195         boundries.
4196         Text will move within the clip region to keep the cursor always
4197         visible.
4198         Added some padding to the left and right to make sure cursor is
4199         always show.
4200
4201 2007-06-01  Tomas Frydrych  <tf@openedhand.com>
4202
4203         * clutter/clutter-actor.c:
4204         * clutter/clutter-stage.c:
4205         * clutter/clutter-private.h:
4206         Removed perspective matrix caching from ClutterStage.
4207
4208 2007-06-01  Neil J. Patel  <njp@o-hand.com>
4209
4210         * clutter/clutter-entry.c: (clutter_entry_set_property),
4211         (clutter_entry_get_property), (clutter_entry_ensure_layout),
4212         (clutter_entry_class_init), (clutter_entry_init),
4213         (clutter_entry_set_visibility), (clutter_entry_get_visibility),
4214         (clutter_entry_set_invisible_char),
4215         (clutter_entry_get_invisible_char):
4216         * clutter/clutter-entry.h:
4217         Added text-visibility, which will allow you to show all entered text
4218         as a nominated charaecter ('*' is default).
4219
4220         * examples/test-entry.c: (main):
4221
4222 2007-06-01  Neil J. Patel  <njp@o-hand.com>
4223
4224         * clutter/clutter-entry.c: (clutter_entry_ensure_cursor_position),
4225         (clutter_entry_clear_cursor_position),
4226         (clutter_entry_paint_cursor), (clutter_entry_paint),
4227         (clutter_entry_class_init), (clutter_entry_set_text),
4228         (clutter_entry_set_position):
4229         * clutter/clutter-entry.h:
4230         Added a signla to track cursor movements.
4231         Moved the sursor painting function so it can be subclassed.
4232
4233 2007-06-01  Tomas Frydrych  <tf@openedhand.com>
4234
4235         * clutter/clutter-actor.c:
4236         (clutter_actor_get_transformed_point):
4237         Make input again relative to the actor; feed depth into transform.
4238
4239 2007-06-01  Neil J. Patel  <njp@o-hand.com>
4240
4241         * clutter/clutter-entry.c: (clutter_entry_class_init),
4242         (clutter_entry_set_text):
4243         * clutter/clutter-entry.h:
4244         * examples/test-entry.c: (on_entry_text_changed), (main):
4245         Added a text-changed signal to the entry.
4246
4247 2007-06-01  Neil J. Patel  <njp@o-hand.com>
4248
4249         * clutter/clutter-effect.h:
4250         Removed extra G_END_DECLS outside the #endif
4251
4252         * clutter/clutter-entry.c: (clutter_entry_handle_key_event),
4253         (clutter_entry_add):
4254         * clutter/clutter-entry.h:
4255         * examples/test-entry.c: (on_key_release_cb):
4256         Added a function to deal with ClutterKeyEvents. Handles the majority
4257         of entry-related keyboard keys. However modifiers still need to be
4258         implemented.
4259
4260 2007-06-01  Tomas Frydrych  <tf@openedhand.com>
4261
4262         * clutter/clutter-actor.c:
4263         (mtx_create):
4264         Apply perspective transform before all other transforms.
4265
4266 2007-06-01  Tomas Frydrych  <tf@openedhand.com>
4267
4268         * clutter/clutter-stage.c:
4269         (clutter_stage_init):
4270         Call _clutter_stage_refresh_perspective_matrix to initialize the
4271         matrix for default values.
4272
4273 2007-06-01  Tomas Frydrych  <tf@openedhand.com>
4274
4275         * clutter/clutter-fixed.h:
4276         * clutter/clutter-behaviour-ellipse.h:
4277         * clutter/clutter-behaviour-ellipse.c:
4278         * clutter/clutter-behaviour-bspline.h:
4279         * clutter/clutter-behaviour-bspline.c:
4280         Documentation fixes.
4281
4282 2007-05-31  Tomas Frydrych  <tf@openedhand.com>
4283
4284         * clutter/clutter-stage.c:
4285         * clutter/clutter-private.h:
4286         (_clutter_stage_get_perspective_matrix):
4287         New function.
4288
4289         * clutter/clutter-actor.c:
4290         (clutter_actor_get_tranformed_vertices):
4291         (clutter_actor_get_tranformed_point):
4292         Apply perspective matrix on the top of actor transform matrix.
4293
4294 2007-05-31  Neil J Patel  <njp@o-hand.com>
4295
4296         * clutter/Makefile.am:
4297         * clutter/clutter-entry.c: (clutter_entry_set_property),
4298         (clutter_entry_get_property), (clutter_entry_ensure_layout),
4299         (clutter_entry_clear_layout),
4300         (clutter_entry_ensure_cursor_position), (clutter_entry_paint),
4301         (clutter_entry_request_coords), (clutter_entry_dispose),
4302         (clutter_entry_finalize), (clutter_entry_class_init),
4303         (clutter_entry_init), (clutter_entry_new_with_text),
4304         (clutter_entry_new_full), (clutter_entry_new),
4305         (clutter_entry_get_text), (clutter_entry_set_text),
4306         (clutter_entry_get_font_name), (clutter_entry_set_font_name),
4307         (clutter_entry_set_color), (clutter_entry_get_color),
4308         (clutter_entry_get_layout), (clutter_entry_set_alignment),
4309         (clutter_entry_get_alignment), (clutter_entry_set_position),
4310         (clutter_entry_get_position), (clutter_entry_add),
4311         (clutter_entry_remove), (clutter_entry_insert_text),
4312         (clutter_entry_delete_text), (clutter_entry_set_visible_cursor),
4313         (clutter_entry_get_visible_cursor):
4314         * clutter/clutter-entry.h:
4315         * clutter/clutter.h:
4316         * examples/Makefile.am:
4317         Initial import of ClutterEntry actor.
4318
4319         * examples/test-entry.c: (on_key_release_cb), (main):
4320         A basic test for ClutterEntry
4321
4322 2007-05-31  Tomas Frydrych  <tf@openedhand.com>
4323
4324         * clutter/clutter-actor.c:
4325         (clutter_actor_get_transformed_point):
4326         Fixed coordinance translation.
4327
4328 2007-05-31  Matthew Allum  <mallum@openedhand.com>
4329
4330         * clutter/clutter-actor.c:
4331         * clutter/clutter-actor.h:
4332         Add clutter_actor_get_transformed_point()
4333
4334         * clutter/clutter-main.c:
4335         Plug in perspective setup to redraw
4336
4337         * clutter/clutter-stage.c:
4338         * clutter/clutter-stage.h:
4339         Remove audience code for now.
4340
4341 2007-05-31  Matthew Allum  <mallum@openedhand.com>
4342
4343         * clutter/egl/clutter-backend-egl.c:
4344         * clutter/egl/clutter-backend-egl.h:
4345         * clutter/egl/clutter-event-egl.c:
4346         * clutter/egl/clutter-stage-egl.c:
4347         * clutter/egl/clutter-stage-egl.h:
4348         Rename Egl -> EGL
4349
4350 2007-05-31  Matthew Allum  <mallum@openedhand.com>
4351
4352         * clutter/glx/clutter-backend-glx.c:
4353         * clutter/glx/clutter-backend-glx.h:
4354         * clutter/glx/clutter-event-glx.c:
4355         * clutter/glx/clutter-glx.h:
4356         * clutter/glx/clutter-stage-glx.c:
4357         * clutter/glx/clutter-stage-glx.h:
4358         Change type nameing from Glx -> GLX.
4359         Add basic event filtering functionality
4360
4361 2007-05-31  Tomas Frydrych  <tf@openedhand.com>
4362
4363         * clutter/clutter-behaviour-ellipse.c:
4364         Changed behaviour so that a beginning angle of 0 would correspond
4365         to 12 o'clock.
4366
4367 2007-05-31  Tomas Frydrych  <tf@openedhand.com>
4368
4369         * clutter/clutter-fixed.h:
4370         * clutter/clutter-fixed.c:
4371         (_clutter_double_to_int):
4372         Fixed return value to gint; added missing cast that broke negative
4373         number conversions.
4374
4375         (CLUTTER_ANGLE_FROM_DEGX):
4376         Swapped division and multiplication around to avoid overflows.
4377
4378         * clutter/clutter-behaviour-ellipse.c:
4379         Fixed incorrectly set lower bounds for angle properties.
4380
4381         * clutter/clutter-actor.h:
4382         * clutter/clutter-actor.c:
4383         Added ClutterVertices type.
4384         (clutter_actor_get_transformed_vertices):
4385         New function.
4386
4387 2007-05-31  Matthew Allum  <mallum@openedhand.com>
4388         * TODO:
4389         Sync up for whats left for 0.4 release (and 0.6 ideas)
4390
4391 2007-05-31  Matthew Allum  <mallum@openedhand.com>
4392
4393         * clutter/clutter-behaviour-ellipse.c:
4394         Remove uneeded knot signal
4395
4396         * clutter/clutter-behaviour-path.c:
4397         Fix so knot signal is emitted only when a knot is reached.
4398
4399         * clutter/clutter-effect.c:
4400         * clutter/clutter-effect.h:
4401         Add a scale effect.
4402
4403         * configure.ac:
4404         * doc/manual/Makefile.am:
4405         * doc/manual/clutter-manual.xml.in:
4406         * doc/manual/manual.xsl:
4407         * doc/manual/style.css:
4408         Add various bits for application developers manual.
4409
4410 2007-05-30  Tomas Frydrych  <tf@openedhand.com>
4411
4412         * clutter/clutter-alpha.h:
4413         * clutter/clutter-alpha.c:
4414         Removed ClutterSmoothstep struct
4415         (clutter_smoothstep_inc_func):
4416         Renamed to clutter_smoothstep_func.
4417         (clutter_smoothstep_added_func):
4418         Added.
4419
4420 2007-05-29  Tomas Frydrych  <tf@openedhand.com>
4421
4422         * clutter/clutter-fixed.h:
4423         (clutter_cosx):
4424         (clutter_cosi):
4425         Fixed wrong sign in cos -> sin tranformation.
4426
4427         * clutter/clutter-behaviour-ellipse.c:
4428         (clutter_behaviour_ellipse_advance):
4429         Replaced coordinace calculation for tilted ellipse with a sane
4430         algorithm.
4431
4432         * examples/behave.c:
4433         Added tilt parameter to the example ellptic path.
4434
4435 2007-05-29  Tomas Frydrych  <tf@openedhand.com>
4436
4437         * clutter/cogl/gles/cogl.c:
4438         (cogl_setup_viewport):
4439         Fixed z_camera calculation.
4440
4441 2007-05-28  Matthew Allum  <mallum@openedhand.com>
4442
4443         * clutter/clutter-texture.c: (clutter_texture_unrealize):
4444         Dont even try to move texture pixels from video -> system
4445         ram on unrealisation for GL/ES
4446
4447 2007-05-28  Matthew Allum  <mallum@openedhand.com>
4448
4449         * clutter/clutter-stage.c: (clutter_stage_get_actor_at_pos):
4450         Fix for GL/ES. Barring texture reads this means all clutter
4451         functionality now works on GL/ES! (no doubt with a few yet to
4452         be discovered bugs)
4453
4454 2007-05-28  Matthew Allum  <mallum@openedhand.com>
4455
4456         * clutter/clutter-backend.c:
4457         * clutter/clutter-backend.h:
4458         * clutter/glx/clutter-stage-glx.c:
4459         * clutter/glx/clutter-backend-glx.c:
4460         Fix up rendering pipeline removing clutter_backend_XXX_stage_paint
4461         and adding clutter_backend_XXX_redraw instead. Duplicates less
4462         code in backends, avoids clutter_actor_paint() getting called
4463         before stage is set up (viewport wise) and unbreaks things like
4464         picking.
4465
4466         * clutter/clutter-actor.c:
4467         * clutter/clutter-actor.h:
4468         * clutter/clutter-main.c:
4469         * clutter/clutter-private.h:
4470         * clutter/clutter-stage.c: (clutter_stage_get_actor_at_pos):
4471         Redo picking functionality a different way (via color indexing)
4472         as to provide more flexibility, possibly speed and more likely
4473         work with GL/ES (doesn't currently however - not sure why).
4474
4475         * clutter/clutter-group.c:
4476         Add groups own 'pick' method.
4477
4478         * clutter/cogl/cogl.h:
4479         * clutter/cogl/gl/cogl.c:
4480         * clutter/cogl/gles/cogl.c:
4481         Move clipping funtionality into cogl.
4482
4483         * clutter/cogl/gles/cogl-defines.h:
4484         Hack around missing BGR format in GL/ES.
4485
4486         * clutter/egl/clutter-backend-egl.c:
4487         * clutter/egl/clutter-backend-egl.h:
4488         * clutter/egl/clutter-stage-egl.c:
4489         * clutter/sdl/clutter-backend-sdl.c:
4490         * clutter/sdl/clutter-backend-sdl.h:
4491         * clutter/sdl/clutter-event-sdl.c:
4492         * clutter/sdl/clutter-stage-sdl.c:
4493         Update backends to newer API.
4494         Add basic mouse event translation to SDL.
4495
4496 2007-05-25  Matthew Allum  <mallum@openedhand.com>
4497
4498         * clutter/clutter-color.c: (clutter_color_parse):
4499         Handle #rrggbbaa color setting strings (i.e with alpha).
4500         Set alpha to 0xff if it is not specified.
4501
4502         * clutter/clutter-stage.c: (clutter_stage_get_actor_at_pos)
4503         Increase select buffer.
4504
4505         * examples/super-oh.c:
4506         Fix up use of clutter_group_show_all()
4507
4508 2007-05-25  Tomas Frydrych  <tf@openedhand.com>
4509
4510         * clutter/clutter-actor.c:
4511         * clutter/clutter-actor.h:
4512         Renamed clutter_actor_scalex() to clutter_actor_set_scale_with_gravityx
4513         Added floating point version clutter_actor_set_scale_with_gravity.
4514
4515         * clutter/clutter-units.h:
4516         * clutter/clutter-actor.h:
4517         typedef ClutterUnit
4518
4519         * clutter/clutter-fixed.h:
4520         * clutter/clutter-stage.c:
4521         CLUTTER_ANGLE_FROM_DEG(), CLUTTER_ANGLE_FROM_DEGX()
4522         renamed CLUTTER_DEGF_TO_CLUTTER_ANGLE to CLUTTER_ANGLE_FROM_DEGF
4523
4524         * clutter/clutter-behaviour-ellipse.h:
4525         * clutter/clutter-behaviour-ellipse.c:
4526         * examples/behave.c:
4527         (clutter_behaviour_ellipse_new):
4528         Changed signature to take angles in degrees, and x,y offsets.
4529         (clutter_behaviour_ellipse_newx):
4530         Fixed version clutter_behaviour_ellipse_new.
4531         (clutter_behaviour_ellipse_set_center):
4532         (clutter_behaviour_ellipse_get_center):
4533         Changed signature to take x,y coords instead of ClutterKnot.
4534
4535         clutter/cogl/gl/cogl.c:
4536         clutter/cogl/gles/cogl.c:
4537         (cogl_setup_viewport):
4538         Added z_camera calculation.
4539
4540 2007-05-25  Matthew Allum  <mallum@openedhand.com>
4541
4542         * Makefile.am:
4543         Install a default flavour .pc file.
4544
4545         * clutter/clutter-actor.c:
4546         Translate units correctly for translate()
4547
4548         * clutter/clutter-feature.h:
4549         Add new texture features.
4550
4551         * clutter/clutter-fixed.h:
4552         Add clutter angle conversion defines.
4553
4554         * clutter/clutter-group.c:
4555         Use cogl not GL. Dont recurse on show all.
4556
4557         * clutter/clutter-private.h:
4558         Remove sync_viewport.
4559
4560         * clutter/clutter-rectangle.c:
4561         Fix cogl typo.
4562
4563         * clutter/clutter-stage.c:
4564         * clutter/clutter-stage.h:
4565         Add perspective settings. Remove viewport_sync.
4566         Add audience stubs. Fix up actor_at_pos a little (still broken)
4567
4568         * clutter/clutter-texture.h:
4569         * clutter/clutter-texture.c:
4570         Redo pixel uploading. Add initial (disabled) YUV support.
4571
4572         * clutter/clutter-timeline.c:
4573         Fire 'completed' signal when looping.
4574
4575         * clutter/cogl/gl/cogl.c:
4576         Move some backend checks here.
4577
4578         * clutter/glx/clutter-backend-glx.c:
4579         Actually check target display has GLX ext.
4580
4581         * clutter/glx/clutter-stage-glx.c:
4582         Handle offscreen failing more gracefully.
4583
4584         * examples/Makefile.am:
4585         Use AM_LDFLAGS.
4586
4587         * clutter/clutter-main.c:
4588         * clutter/clutter-feature.c:
4589         * clutter/clutter-backend.c:
4590         * clutter/clutter-alpha.c:
4591         Fix a compile warnings.
4592
4593         * tests/Makefile.am:
4594         * tests/test-offscreen.c:
4595         * tests/test-scale.c:
4596         More tests.
4597
4598 2007-05-23  Tomas Frydrych  <tf@openedhand.com>
4599
4600         * clutter/clutter-actor.c:
4601         * clutter/clutter-actor.h:
4602         (clutter_actor_get_abs_size_units):
4603         (clutter_actor_get_abs_position_units):
4604         removed from public api
4605
4606 2007-05-22  Tomas Frydrych  <tf@openedhand.com>
4607
4608         * configure.ac:
4609         * Makefile.am:
4610         * clutter.pc.in:
4611         * clutter/Makefile.am:
4612         * clutter/clutter-actor.c:
4613         * clutter/clutter-actor.h:
4614         * clutter/clutter-group.c:
4615         * clutter/clutter-label.c:
4616         * clutter/clutter-real.h:
4617         * clutter/clutter-units.h:
4618         * clutter/clutter.h:
4619         * clutter/egl/clutter-stage-egl.c:
4620         * clutter/glx/clutter-stage-glx.c:
4621         * clutter/sdl/clutter-stage-sdl.c:
4622         * examples/Makefile.am:
4623         * tests/Makefile.am:
4624         Removed ClutterReal; added clutter-units.
4625
4626 2007-05-18  Tomas Frydrych  <tf@openedhand.com>
4627
4628         * configure.ac:
4629         * Makefile.am:
4630         * clutter.pc.in:
4631         * clutter/Makefile.am:
4632         * clutter/clutter-actor.c:
4633         * clutter/clutter-actor.h:
4634         * clutter/clutter-behaviour-scale.c:
4635         * clutter/clutter-behaviour-scale.h:
4636         * clutter/clutter-group.c:
4637         * clutter/clutter-label.c:
4638         * clutter/clutter-real.h:
4639         * clutter/egl/clutter-stage-egl.c:
4640         * clutter/glx/clutter-stage-glx.c:
4641         * examples/Makefile.am:
4642         * tests/Makefile.am:
4643         ClutterReal type.
4644
4645 2007-05-17  Emmanuele Bassi  <ebassi@openedhand.com>
4646
4647         * clutter/clutter-main.c: Use clutter_base_init() inside the
4648         initialisation process, instead of calling g_type_init() directly.
4649
4650         * clutter/clutter-alpha.c:
4651         * clutter/clutter-behaviour-bspline.c:
4652         * clutter/clutter-behaviour-ellipse.c: Fix API documentation.
4653
4654 2007-05-17  Matthew Allum  <mallum@openedhand.com>
4655
4656         * configure.ac:
4657         Fix CLUTTER_NO_FPU typo.
4658
4659 2007-05-17  Tomas Frydrych  <tf@openedhand.com>
4660
4661         * clutter/clutter-alpha.h:
4662         * clutter/clutter-alpha.c:
4663         * doc/reference/clutter-sections.txt:
4664         Added clutter_exp_inc_func() and clutter_exp_dec_func().
4665
4666 2007-05-16  Emmanuele Bassi  <ebassi@openedhand.com>
4667
4668         * clutter/clutter-main.[ch]: Add clutter_base_init(), semi-private
4669         function to initialise just the base Clutter functionalities; it's
4670         only used by gtk-doc to introspect the classes.
4671
4672         * clutter/clutter-feature.c: Do not access the private features
4673         data structure unless it has been initialised.
4674
4675 2007-05-16  Tomas Frydrych  <tf@openedhand.com>
4676
4677         * clutter/clutter-alpha.h:
4678         * clutter/clutter-alpha.c:
4679         * doc/reference/clutter-sections.txt:
4680         Added clutter_sine_half().
4681
4682 2007-05-16  Tomas Frydrych  <tf@openedhand.com>
4683
4684         * clutter/clutter-alpha.h:
4685         * clutter/clutter-alpha.c:
4686         * doc/reference/clutter-sections.txt:
4687         Fixed clutter_sine_inc(), added clutter_sine_dec().
4688
4689 2007-05-16  Tomas Frydrych  <tf@openedhand.com>
4690
4691         * clutter/clutter-alpha.h:
4692         * clutter/clutter-alpha.c:
4693         * doc/reference/clutter-sections.txt:
4694         * doc/rererence/clutter.types:
4695         * doc/reference/tmpl/clutter-alpha.sgml:
4696         clutter_smoothstep_func alpha function,
4697         ClutterSmoothstep struct for smoothstep function data.
4698
4699 2007-05-16  Matthew Allum  <mallum@openedhand.com>
4700
4701         * clutter/clutter-backend.c:
4702         * clutter/clutter-backend.h:
4703         * clutter/clutter-feature.c:
4704         * clutter/clutter-feature.h:
4705         * clutter/clutter-main.c:
4706         * clutter/clutter-main.h:
4707         * clutter/clutter-private.h:
4708         * clutter/clutter-stage.c:
4709         * clutter/cogl/cogl.h:
4710         * clutter/cogl/gl/cogl.c:
4711         * clutter/cogl/gles/cogl.c:
4712         * clutter/glx/clutter-backend-glx.c:
4713         * clutter/glx/clutter-backend-glx.h:
4714         * clutter/glx/clutter-glx.h:
4715         * clutter/glx/clutter-stage-glx.c:
4716         * clutter/glx/clutter-stage-glx.h:
4717         Rejig the features() foo, moving mostly into backends/cogl.
4718
4719 2007-05-15  Tomas Frydrych  <tf@openedhand.com>
4720
4721         * clutter/clutter-actor.c:
4722         (clutter_actor_get_abs_position):
4723         Removed unnecessary CFX_MUL().
4724
4725 2007-05-15  Tomas Frydrych  <tf@openedhand.com>
4726
4727         * clutter/clutter-behaviour-ellipse.h:
4728         * clutter/clutter-behaviour-ellipse.c:
4729         (clutter_behaviour_ellipse_new):
4730         Added a tilt parameter.
4731
4732 2007-05-14  Matthew Allum  <mallum@openedhand.com>
4733
4734         * clutter/clutter-behaviour-path.c:
4735         Fix bug where last knot position wouldn't get reached.
4736
4737         * clutter/clutter-group.c:
4738         Add some docs
4739
4740         * clutter/clutter-timeline.h:
4741         * clutter/clutter-timeline.c:
4742         Add clutter_timeline_copy (needed for ClutterEffect)
4743
4744         * clutter/clutter-version.h.in:
4745         Export windowing system / GL backend etc defines.
4746
4747         * clutter/Makefile.am:
4748         * clutter/clutter-effect.c:
4749         * clutter/clutter-effect.h:
4750         * clutter/clutter.h:
4751
4752         * clutter/glx/clutter-backend-glx.c:
4753         Minor clean ups.
4754
4755         * clutter/clutter-alpha.h:
4756         Add a fixme.
4757
4758         * configure.ac:
4759         Add FPU define.
4760
4761         * examples/Makefile.am:
4762         * examples/slider.c:
4763         Add Robs slider game.
4764
4765 2007-05-10  Matthew Allum  <mallum@openedhand.com>
4766
4767         * clutter/egl/clutter-backend-egl.c:
4768         * clutter/egl/clutter-event-egl.c:
4769         * clutter/sdl/clutter-backend-sdl.c:
4770         * clutter/sdl/clutter-event-sdl.c:
4771         Fix SDL & EGL backends to work with newer backend code.
4772
4773 2007-05-10  Tomas Frydrych  <tf@openedhand.com>
4774
4775         * clutter/clutter-color.h:
4776         * clutter/clutter-color.c:
4777         Added clutter_color_to/from_hlsx()
4778         (clutter_color_to/from_hls):
4779         Clobber hue to 0 .. 250
4780
4781 2007-05-10  Matthew Allum  <mallum@openedhand.com>
4782
4783         * clutter/clutter-backend.c:
4784         * clutter/clutter-backend.h:
4785         * clutter/clutter-event.c:
4786         * clutter/clutter-main.c:
4787         * clutter/clutter-private.h:
4788         * clutter/glx/clutter-backend-glx.c:
4789         * clutter/glx/clutter-backend-glx.h:
4790         * clutter/glx/clutter-event-glx.c:
4791         Rejig backend event code as to simplify a little.
4792         NOTE: This breaks non glx backends.
4793
4794         * tests/Makefile.am:
4795         * tests/test-events.c:
4796         Add a very simple event test.
4797
4798         * tests/test-textures.c: (main):
4799         Add some more sizes to the test.
4800
4801 2007-05-05  Matthew Allum  <mallum@openedhand.com>
4802
4803         * clutter/clutter-texture.c:
4804         Fix typos with new cogl using texture code. Fixes tiled textures.
4805         Add a check for max npots size.
4806
4807         * configure.ac:
4808         * Makefile.am:
4809         * tests/Makefile.am:
4810         * tests/test-textures.c:
4811         Add a simple texture test.
4812
4813 2007-05-02  Matthew Allum  <mallum@openedhand.com>
4814
4815         * clutter/Makefile.am:
4816         * clutter/clutter-stage.c:
4817         * clutter/sdl/Makefile.am:
4818         * clutter/sdl/clutter-backend-sdl.c:
4819         * clutter/sdl/clutter-backend-sdl.h:
4820         * clutter/sdl/clutter-event-sdl.c:
4821         * clutter/sdl/clutter-sdl.h:
4822         * clutter/sdl/clutter-stage-sdl.c:
4823         * clutter/sdl/clutter-stage-sdl.h:
4824         * configure.ac:
4825         Add a basic SDL based backend. Lacks real input event handling
4826         (translation) as yet.
4827         Also allows for clutter to be built against dgles.
4828
4829 2007-05-02  Matthew Allum  <mallum@openedhand.com>
4830
4831         * clutter/clutter-actor.c:
4832         * clutter/cogl/gles/cogl.c:
4833         Fix rotation + other fixed point cleanups.
4834
4835         * clutter/clutter-texture.h:
4836         Sketch out an updated API.
4837
4838 2007-05-01  Matthew Allum  <mallum@openedhand.com>
4839
4840         * clutter/clutter-rectangle.c:
4841         Comment out color match check for now as appears to be causing
4842         borders to always get pained.
4843
4844         * clutter/clutter-texture.h:
4845         Add some format defines (unused as yet)
4846
4847         * clutter/cogl/gles/cogl.c:
4848         * clutter/egl/clutter-stage-egl.c:
4849         * configure.ac:
4850         Various OpenGL ES backend related fixes and tweaks.
4851
4852 2007-04-30  Tomas Frydrych  <tf@openedhand.com>
4853
4854         * clutter/clutter-fixed.c (clutter_sini):
4855         Fixed bug in reducing angle to 0-2pi.
4856
4857         * clutter/clutter-behaviour-ellipse.h:
4858         * clutter/clutter-behaviour-ellipse.c:
4859         * clutter/clutter.h:
4860         * clutter/Makefile.am:
4861         * doc/clutter.types:
4862         * doc/clutter-docs.sgml:
4863         Added ClutterBehaviourEllipse for movement along
4864         elliptic paths.
4865
4866         * examples/bspline.c:
4867         * examples/behave.c:
4868         * examples/Makefile.am:
4869         Added --path commandline option to behave to choose different
4870         path types (poly, ellipse, bspline) and dropped bspline example.
4871
4872 2007-04-28  Matthew Allum  <mallum@openedhand.com>
4873
4874         * clutter/Makefile.am:
4875         * clutter/clutter-debug.h:
4876         * clutter/clutter-fixed.h:
4877         * clutter/clutter-main.c:
4878         * clutter/cogl/gles/Makefile.am:
4879         * clutter/cogl/gles/cogl-defines.h:
4880         * clutter/cogl/gles/cogl.c:
4881         * clutter/egl/clutter-backend-egl.c:
4882         * clutter/egl/clutter-backend-egl.h:
4883         * clutter/egl/clutter-stage-egl.c:
4884         * configure.ac:
4885         Populate most stubs for cogl GL/ES implementation.
4886         (against vincent - see http://svn.o-hand.com/repos/misc/ogles)
4887         Add various fixups to EGL backend.
4888         Code builds and runs (on 16bpp) but yet displays much (is close!)
4889
4890         * clutter/pango/pangoclutter-render.c:
4891         comment out some rouge glBegin/end calls.
4892
4893 2007-04-27  Matthew Allum  <mallum@openedhand.com>
4894
4895         * clutter/Makefile.am:
4896         * clutter/clutter-actor.c:
4897         * clutter/clutter-clone-texture.c:
4898         * clutter/clutter-rectangle.c:
4899         * clutter/clutter-stage.c:
4900         * clutter/clutter-texture.c:
4901         * clutter/cogl/cogl.h:
4902         * clutter/cogl/gl/Makefile.am:
4903         * clutter/cogl/gl/cogl-defines.h:
4904         * clutter/cogl/gl/cogl.c:
4905         * clutter/cogl/gles/Makefile.am:
4906         * clutter/cogl/gles/cogl-defines.h:
4907         * clutter/cogl/gles/cogl.c:
4908         * clutter/glx/Makefile.am:
4909         * clutter/glx/clutter-stage-glx.c:
4910         * clutter/pango/Makefile.am:
4911         * clutter/pango/pangoclutter-render.c:
4912         * configure.ac:
4913         Add initial 'cogl' implementation. 'cogl' is a simple abstration
4914         layer over GL and GL/ES used by clutter internally. It should
4915         eventually allow clutter applications to be run on both GL and GL/ES
4916         with just a recompile as well as provide more debugging and potentially
4917         profiling information for GL and GL/ES usage.
4918
4919         This commit contains the initial GL implementation.
4920
4921 2007-04-26  Emmanuele Bassi  <ebassi@openedhand.com>
4922
4923         Merge from clutter-0-2
4924
4925         * clutter/clutter-label.c: Unbreak the "use-markup" property
4926         by actually passing the markup to pango_layout_set_markup().
4927
4928 2007-04-25  Emmanuele Bassi  <ebassi@openedhand.com>
4929
4930         Merge from clutter.git/master
4931
4932         * clutter/glx/clutter-event-glx.c:
4933         * clutter/glx/clutter-stage-glx.c: Implement the _NET_WM_PING
4934         protocol handling on the main stage window.
4935
4936         * clutter/clutter-stage.h:
4937         * clutter/clutter-stage.c:
4938         * clutter/clutter-main.c: Handle CLUTTER_DELETE events internally,
4939         by calling clutter_main_quit(), and remove the ::delete-event
4940         signal from ClutterStage; clean up the signal emission sequence
4941         for the events: emit the ::event signal before emitting any signal
4942         and the ::event-after signal after the signal has been emitted; move
4943         the signal emission calls inside ClutterStage so we can call
4944         g_signal_emit() instead of g_signal_emit_by_name(), thus sparing us
4945         a lookup for each event.
4946
4947         * examples/test.c: Remove ::delete-event signal handling.
4948
4949 2007-04-19  Emmanuele Bassi  <ebassi@openedhand.com>
4950
4951         Merge from clutter.git/master
4952
4953         * clutter/clutter-backend.h:
4954         * clutter/clutter-backend.c: Add API for getting screen/display
4955         properties from the backend.
4956
4957         * clutter/glx/clutter-backend-glx.c:
4958         * clutter/glx/clutter-backend-egl.c: Retrieve screen/display
4959         properties inside the backends init function.
4960
4961         * clutter/glx/clutter-event-glx.c: Handle the WM_PROTOCOLS
4962         ClientMessage events.
4963
4964         * clutter/glx/clutter-stage-glx.c: Use XSetWMProtocols to enable
4965         the WM_PROTOCOLS ClientMessage events on the stage window.
4966
4967         * clutter/glx/clutter-glx.h: Return the Screen pointer and not
4968         the screen number in clutter_glx_get_default_screen(). The screen
4969         number is returned by clutter_backend_get_screen_number(), or
4970         by calling XScreenNumberOfScreen on the returned pointer.
4971
4972         * clutter/clutter-event.h: Add CLUTTER_DELETE to the event types.
4973
4974         * clutter/clutter-main.c: Emit the ClutterStage::delete-event
4975         when receiving a CLUTTER_DELETE event; if the signal handlers
4976         return FALSE, call clutter_main_quit().
4977
4978         * clutter/clutter-marshal.list:
4979         * clutter/clutter-stage.c: Use the right marshaller function
4980         for the delete-event closure.
4981
4982         * examples/test.c: Test the "delete-event" signal handler.
4983
4984 2007-04-16  Emmanuele Bassi  <ebassi@openedhand.com>
4985
4986         Merge from clutter.git/merge-from-stable
4987
4988         * clutter/clutter-event.h:
4989         * clutter/glx/clutter-event-glx.c: Add the XEMBED protocol support
4990         in the GLX backend, for embedding the stage window into another
4991         X window. This allows cross-toolkit inclusion and makes clutter-gtk
4992         possible.
4993
4994         * clutter/clutter-behaviour-scale.c: Implement every ClutterGravity
4995         value inside the scale behaviour and make the actors anchor to a
4996         gravity when scaling up and down.
4997
4998         * clutter/clutter-texture.c: Revert to copying GdkPixbuf areas to
4999         correctly implement the texture tiling. This fixes segmentation
5000         faults occurring with cards with a small texture memory area.
5001
5002         * clutter/clutter-actor.c: Call g_object_freeze_notify() (and take
5003         a reference on the actor) inside clutter_actor_request_size() so
5004         that the notifications get unqueued at the end of the size request.
5005
5006 2007-04-16  Emmanuele Bassi  <ebassi@openedhand.com>
5007
5008         Merge from clutter.git/work
5009
5010         * clutter/clutter-behaviour-bspline.[ch]: Return a ClutterBehaviour
5011         when splicing the b-spline; fix the header and the API documentation;
5012         hush the compiler warnings; kill of some pointer indirections.
5013
5014         * clutter/clutter-behaviour-rotate.[ch]: Add a rotate behaviour,
5015         with user defined axis, direction and sweep angle.
5016
5017         * clutter/clutter-behaviour.c (clutter_behaviour_is_applied): Add
5018         a parameter ISA check and return FALSE if it fails.
5019
5020 2007-04-12  Tomas Frydrych  <tf@openedhand.com>
5021
5022         * clutter/clutter-behaviour.h:
5023         * clutter/clutter-behaviour.c:
5024         * clutter/clutter-behaviour-path.h:
5025         * clutter/clutter-behaviour-path.c:
5026         Moved declaration of ClutterKnot from clutter-behaviour path
5027         into clutter-behaviour.
5028
5029         * clutter/clutter-fixed.h
5030         * clutter/clutter-fixed.c
5031         Added myself as an author.
5032
5033         * clutter/Makefile.am:
5034         * clutter/clutter.h:
5035         * clutter/clutter-behaviour-bspline.h:
5036         * clutter/clutter-behaviour-bspline.c:
5037         Added new bezier spline behaviour.
5038
5039         * examples/bspline.c:
5040         * examples/Makefile.am:
5041         An example of using bspline path.
5042
5043 2007-04-07  Matthew Allum  <mallum@openedhand.com>
5044
5045         * clutter/glx/clutter-backend-glx.c:
5046         Fix version check.
5047
5048 2007-03-29  Tomas Frydrych  <tf@openedhand.com>
5049
5050         * clutter/clutter-stage.c:
5051         (perspective): fixed degree -> rad conversion for fovy angle
5052         (perspectivex): fixed degree -> rad conversion for fovy angle,
5053         added code for gle glMultMatrixx().
5054
5055 2007-03-29  Tomas Frydrych  <tf@openedhand.com>
5056
5057         * configure.ac: fixed typo
5058
5059         * clutter/clutter-fixed.c:
5060         * clutter/clutter-fixed.h:
5061         (clutter_tani): fast implementation of tan()
5062         (clutter_qmulx): improved-precission fixed point multiply
5063
5064         * clutter/clutter-stage.c:
5065         (perspectivex): fixed point implementaiton of perspective()
5066         (_clutter_stage_sync_viewport):
5067         (clutter_stage_get_actor_at_pos):
5068         use perspectivex() instead of perspective()
5069
5070 2007-03-27  Matthew Allum  <mallum@openedhand.com>
5071
5072         * clutter/cogl/Makefile.am:
5073         * clutter/cogl/cogl.h:
5074         * clutter/cogl/gles/Makefile.am:
5075         * clutter/cogl/gles/cogl.c:
5076         Begin poplulating cogl GLES code.
5077
5078         * configure.ac:
5079         * clutter/egl/clutter-event-egl.c:
5080         * clutter/egl/clutter-stage-egl.c:
5081         * clutter/egl/clutter-stage-egl.h:
5082         * clutter/egl/clutter-backend-egl.c:
5083         * clutter/egl/clutter-backend-egl.h:
5084         * clutter/egl/clutter-egl.h:
5085         Add initial EGL/X backend work mostly ported from backend branch.
5086         Builds but untested as yet.
5087
5088         * clutter/glx/clutter-stage-glx.c:
5089         Only include XFixes Header if we have have it.
5090
5091         * clutter/clutter-behaviour.c: (clutter_behaviour_apply):
5092         * clutter/clutter-behaviour.h:
5093         Add clutter_behaviour_is_applied()
5094
5095 2007-03-27  Emmanuele Bassi  <ebassi@openedhand.com>
5096
5097         * clutter/clutter-stage.h: Remove unused clutter_stage_flush()
5098         declaration.
5099
5100 2007-03-27  Emmanuele Bassi  <ebassi@openedhand.com>
5101
5102         * clutter/glx/clutter-glx.h:
5103         * clutter/glx/clutter-stage-glx.c: (Re-)Implement the foreign
5104         window setting function for the stage in the GLX backend.
5105
5106 2007-03-27  Emmanuele Bassi  <ebassi@openedhand.com>
5107
5108         * clutter/clutter-stage.h: Declare the clutter_perspective_get_type()
5109         function in the header.
5110
5111 2007-03-27  Emmanuele Bassi  <ebassi@openedhand.com>
5112
5113         * clutter/cogl/cogl.h: Add header and compiler guards.
5114
5115 2007-03-27  Emmanuele Bassi  <ebassi@openedhand.com>
5116
5117         * clutter/glx/clutter-stage-glx.c: Remove the check in the
5118         paint chain up: we know for sure that the parent's paint
5119         vfunc is present.
5120
5121 2007-03-27  Matthew Allum  <mallum@openedhand.com>
5122
5123         * clutter/clutter-feature.c:
5124         Rejig ifdef's a little. Make drm vblanking Linux only.
5125
5126         * clutter/clutter-stage.c:
5127         * clutter/clutter-stage.h:
5128         Add a perspective boxed type.
5129
5130         * clutter/glx/clutter-stage-glx.c:
5131         Add some FIXMEs
5132
5133         * clutter/Makefile.am:
5134         * clutter/cogl/Makefile.am:
5135         * clutter/cogl/cogl.h:
5136         * clutter/cogl/gl/Makefile.am:
5137         * clutter/cogl/gl/cogl.c:
5138         * configure.ac:
5139         Very initial work on 'cogl' GL/GLES abstraction/utility code.
5140
5141 2007-03-26  Emmanuele Bassi  <ebassi@openedhand.com>
5142
5143         * clutter/clutter-behaviour-scale.[ch]: Add API for getting
5144         the scale bounds and the gravity from a scale behaviour instance.
5145
5146 2007-03-26  Emmanuele Bassi  <ebassi@openedhand.com>
5147
5148         * clutter/clutter-timeline.c: Fix last commit.
5149
5150 2007-03-25  Emmanuele Bassi  <ebassi@openedhand.com>
5151
5152         * clutter/clutter-timeline.c: Slightly lower the proiority
5153         of the ClutterTimeline tick, so that events get a higher
5154         priority in the main loop.
5155
5156 2007-03-25  Emmanuele Bassi  <ebassi@openedhand.com>
5157
5158         * clutter/clutter-event.[ch]: Remove the flags member from
5159         the ClutterEvent structure; remove the ClutterEventFlags
5160         enum.
5161
5162 2007-03-25  Emmanuele Bassi  <ebassi@openedhand.com>
5163
5164         * clutter/clutter-stage.h: Remove the ::get_actor_at_pos()
5165         and ::flush() vfuncs.
5166
5167         * clutter/glx/clutter-stage-glx.c: Remove the implementations
5168         of those vfuncs from the backend specific code, as they are
5169         pure GL calls.
5170
5171         * clutter/clutter-stage.c: Add back the actor hit detection
5172         code in the base stage class, along with the viewport
5173         synchronisation function.
5174
5175         * clutter/clutter-private.h: Declare the private function
5176         _clutter_stage_sync_viewport().
5177
5178 2007-03-23  Emmanuele Bassi  <ebassi@openedhand.com>
5179
5180         * clutter/clutter-backend.c: Clear the event queue when
5181         disposing the backend object; remove the initialisation
5182         of the backend structure members...
5183
5184         * clutter/glx/clutter-backend-glx.c: ... and keep it here
5185         in the backends where it belongs.
5186
5187 2007-03-23  Emmanuele Bassi  <ebassi@openedhand.com>
5188
5189         * clutter/clutter-private.h:
5190         * clutter/clutter-backend.h: Move the backend functions
5191         into the private header.
5192
5193         * clutter/glx/clutter-stage-glx.c:
5194         * clutter/glx/clutter-event-glx.c:
5195         * clutter/clutter-main.c:
5196         * clutter/clutter-stage.c: Update the calls to the private
5197         backend functions.
5198
5199         * clutter/clutter-backend.[ch]: Add an ::init_features
5200         vfunc to ClutterBackend.
5201
5202 2007-03-23  Emmanuele Bassi  <ebassi@openedhand.com>
5203
5204         * clutter/glx/clutter-stage-glx.c:
5205         Make sure the top-left corner of the box is our origin,
5206         when returning the allocation.
5207
5208         * clutter/clutter-stage.c:
5209         * clutter/clutter-group.c: Add tracing for the paint
5210         method.
5211
5212 2007-03-23  Matthew Allum  <mallum@openedhand.com>
5213
5214         * clutter/glx/clutter-stage-glx.c:
5215         (clutter_stage_glx_allocate_coords):
5216         Make new stage return correct width & height.
5217
5218 2007-03-23  Emmanuele Bassi  <ebassi@openedhand.com>
5219
5220         Assorted build fixes to pass distcheck.
5221
5222         * clutter/glx/Makefile.am: Install the clutter-glx.h header.
5223
5224         * clutter/Makefile.am: Actually apply linker flags.
5225
5226         * configure.ac: Use a more readable CLUTTER_API_VERSION instead
5227         of CLUTTER_MAJORMINOR; require gobject-2.0 with glib-2.0 >= 2.10,
5228         as we are using GObject and the slice allocator from glib 2.10.
5229
5230         * clutter.pc.in: Add the apiversion variable.
5231
5232 2007-03-23  Emmanuele Bassi  <ebassi@openedhand.com>
5233
5234         * clutter/clutter-event.c: Pop and peek the event queue
5235         from the tail - it's a queue, not a stack.
5236
5237         * clutter/clutter-private.h:
5238         * clutter/clutter-main.c: Add a boolean signal accumulator.
5239
5240         * clutter/clutter-stage.[ch]: Add an event argument to
5241         the 'delete-event' signal; rename the 'input-event' signal
5242         to 'event'; add the static scope flag to all the stage
5243         events.
5244
5245         * examples/*.c: Update.
5246
5247 2007-03-22  Emmanuele Bassi  <ebassi@openedhand.com>
5248
5249         * clutter.pc.in: Require gobject-2.0 too.
5250
5251         * ChangeLog: Fix the previous commit log.
5252
5253 2007-03-22  Emmanuele Bassi  <ebassi@openedhand.com>
5254
5255         * clutter/clutter-private.h: Remove inclusion of backend-specific
5256         headers; update the main context object; add the declarations for
5257         the event queue functions.
5258
5259         * clutter/clutter-backend.[ch]: Add the abstract ClutterBackend
5260         object, which holds backend-specific settings, the main stage,
5261         and the event queue. Every backend must implement a subclass of
5262         ClutterBackend and ClutterStage.
5263
5264         * clutter/clutter-feature.c: Protect the GLX specific calls
5265         behing #ifdef HAVE_CLUTTER_GLX.
5266
5267         * clutter/clutter-actor.c:
5268         * clutter/clutter-group.c:
5269         * clutter/clutter-clone-texture.c: Include GL/gl.h
5270
5271         * clutter/clutter-event.[ch]: Update public API and implement the
5272         event queue private API; hold a reference on the event objects;
5273         move out the keysym-to-unicode table; add the new event types.
5274
5275         * clutter/clutter-color.h: Include clutter-fixed.h
5276
5277         * clutter/clutter-main.c: Update API; get the main stage
5278         from the backend object; process the event received from the
5279         queue; lock/unlock the main mutex if we have one; move the
5280         initialisation process sooner in the init sequence, in order to
5281         have the backend object when we check for options; call the
5282         backed vfuncs in the pre/post parse hooks.
5283
5284         * clutter/clutter-stage.c: Make ClutterStage and abstract class,
5285         implemented by the backends.
5286
5287         * clutter/clutter/glx/clutter-glx.h:
5288         * clutter/clutter/glx/clutter-backend-glx.[ch]:
5289         * clutter/clutter/glx/clutter-event-glx.c:
5290         * clutter/clutter/glx/clutter-stage-glx.[ch]:
5291         * clutter/clutter/glx/Makefile.am: Add the GLX backend.
5292
5293         * clutter/clutter/egl/clutter-backend-egl.[ch]:
5294         * clutter/clutter/egl/clutter-event-egl.c:
5295         * clutter/clutter/egl/clutter-stage-egl.[ch]:
5296         * clutter/clutter/egl/Makefile.am: Add the stub for a EGL backend.
5297
5298         * examples/*.c: Update for the new API.
5299
5300         * configure.ac: Check for the XFixes X extension; add a configure
5301         switch for choosing the backend; show the backend we are building
5302         in the summary.
5303
5304         * clutter.pc.in: Add the backend to the exported variables.
5305
5306         * clutter/Makefile.am: Install the headers in the
5307         clutter-$api_version/clutter directory, as usual; call the shared
5308         object libclutter-$backend-$api_version; build glue for the
5309         backend static library.
5310
5311 2007-03-19  Matthew Allum  <mallum@openedhand.com>
5312
5313         * clutter/clutter-label.c:
5314         Simple doc fix.
5315         * clutter/clutter-texture.c: (clutter_texture_get_pixbuf):
5316         Backport of fix to get_pixbuf on non alpha textures from 0_2 branch.
5317
5318 2007-03-19  Emmanuele Bassi  <ebassi@openedhand.com>
5319
5320         * clutter/clutter-texture.c: Clean up code; add checks
5321         in public API.
5322
5323 2007-02-18  Matthew Allum  <mallum@openedhand.com>
5324
5325         * clutter/clutter-actor.c: (clutter_actor_reparent):
5326         Add a FIXME re calling clutter_group here.
5327         * clutter/clutter-group.c:
5328         Fix clutter_group_remove_all
5329
5330 2007-02-15  Matthew Allum  <mallum@openedhand.com>
5331
5332         * clutter/clutter-group.h:
5333         Add missing clutter_group_remove_all declaration.
5334
5335 2007-02-14  Matthew Allum  <mallum@openedhand.com>
5336
5337         * clutter/Makefile.am:
5338         * clutter/clutter-main.c:
5339         * clutter/clutter-stage.c:
5340         * clutter/clutter-version.h.in:
5341         * configure.ac:
5342         * examples/super-oh.c:
5343         Add CLUTTER_FLAVOUR define.
5344
5345 2007-02-13  Matthew Allum  <mallum@openedhand.com>
5346
5347         * examples/super-oh.c: (screensaver_setup):
5348         Fix example to build with new glx api
5349
5350 2007-02-07  Emmanuele Bassi  <ebassi@openedhand.com>
5351
5352         * clutter/clutter-debug.h: Define the CLUTTER_MARK()
5353         macro even when CLUTTER_ENABLE_DEBUG is not
5354         defined. (#215)
5355
5356 2007-01-30  Tomas Frydrych  <tf@openedhand.com>
5357
5358         * clutter/clutter-alpha.c:
5359         (sincx1024_func):
5360         (clutter_sine_func):
5361         (clutter_sine_inc_func):
5362         fixed the fixed point math.
5363
5364 2007-01-30  Emmanuele Bassi  <ebassi@openedhand.com>
5365
5366         * clutter/clutter-alpha.h:
5367         * clutter/clutter-alpha.c: Add the square waveform
5368         function clutter_square_func() to the precooked
5369         alpha functions.
5370
5371 2007-01-23  Matthew Allum  <mallum@openedhand.com>
5372
5373         * Makefile.am:
5374         * clutter.pc.in:
5375         * clutter/Makefile.am:
5376         * clutter/clutter-backend-glx.c:
5377         * clutter/clutter-backend-glx.h:
5378         * clutter/clutter-event.c:
5379         * clutter/clutter-feature.c:
5380         * clutter/clutter-group.c:
5381         * clutter/clutter-main.c:
5382         * clutter/clutter-main.h:
5383         * clutter/clutter-private.h:
5384         * clutter/clutter-stage-glx.c:
5385         * clutter/clutter-stage-glx.h:
5386         * clutter/clutter-stage.c:
5387         * clutter/clutter-stage.h:
5388         * clutter/clutter-util.c:
5389         * clutter/clutter-util.h:
5390         * clutter/pango/pangoclutter-render.c:
5391         * configure.ac:
5392         * examples/Makefile.am:
5393         Initial work in supporting different GL backends (ie. GLX/EGL/DirectFB etc).
5394         Currently just GLX supported and now mostly self contained.
5395
5396         * TODO:
5397         Add a note about caching glenables
5398
5399 2007-01-23  Tomas Frydrych  <tf@openedhand.com>
5400
5401         * clutter/clutter-fixed.c:
5402         (_clutter_double_to_fixed):
5403         (_clutter_double_to_int):
5404         Fixed to avoid problems with punned pointers and gcc
5405         optimatisation.
5406
5407         * clutter/pango/pangoclutter-private.h:
5408         Simplified PANGO_PIXELS_26_6 macro.
5409
5410         * clutter/pango/pangoclutter-font.c:
5411         (_pango_clutter_font_new):
5412         Replace floating with fixed point math.
5413
5414 2007-01-19  Tomas Frydrych  <tf@openedhand.com>
5415
5416         * clutter/clutter-fixed.c: (clutter_sqrti):
5417         Use union instead of casting int <-> float to get rid of
5418         punned-pointer warning and avoid gcc optimatisation breaking
5419         the function on arm.
5420
5421 2007-01-19  Emmanuele Bassi  <ebassi@openedhand.com>
5422
5423         Allow the ClutterGroup subclasses to override the add and
5424         remove operations.
5425
5426         * clutter/clutter-group.c: Move the add and remove code from
5427         clutter_group_add() and clutter_group_remove() to the signal
5428         class closures; make the "add" and "remove" signals as
5429         RUN_FIRST.
5430
5431 2007-01-19  Tomas Frydrych  <tf@openedhand.com>
5432
5433         * clutter/clutter-fixed.h.:
5434         * clutter/clutter-fixed.c:
5435         Added fast double to int and double to fixed point conversion
5436         routines; changed CLUTTER_FLOAT_TO_FIXED to use it.
5437         Replaced clutter_sqrti with fixed point implementation of the QIII
5438         algorithm.
5439
5440
5441         * clutter/clutter-behavior-path.c: use clutter_sqrti always
5442
5443         * clutter/clutter-alpha.c:
5444         (sinc_func): replaced double -> int cast with CLUTTER_FLOAT_TO_INT
5445
5446
5447 2007-01-18  Emmanuele Bassi  <ebassi@openedhand.com>
5448
5449         * configure.ac: Post release bump to 0.3.0.
5450
5451 2007-01-18 =============== 0.2 Release ================================
5452
5453 2007-01-18  Matthew Allum  <mallum@openedhand.com>
5454
5455         * clutter.doap:
5456         Update for 0.2 release
5457
5458 2007-01-18  Emmanuele Bassi  <ebassi@openedhand.com>
5459
5460         * clutter/clutter-group.h: Add public functions
5461         clutter_group_get_n_children() and clutter_group_get_nth_child().
5462
5463         * clutter/clutter-behaviour.h:
5464         * clutter/clutter-behaviour.c: Fix header alignment; fix argument
5465         name for apidoc.
5466
5467 2007-01-18  Emmanuele Bassi  <ebassi@openedhand.com>
5468
5469         * clutter/Makefile.am: Use the build dir when linking to the
5470         internal pango clutter renderer.
5471
5472 2007-01-18  Tomas Frydrych  <tf@openedhand.com>
5473
5474         * clutter/clutter-fixed.h: fixed a typo in comment
5475
5476 2007-01-18  Emmanuele Bassi  <ebassi@openedhand.com>
5477
5478         * clutter/clutter-fixed.h: Remove some inline documentation to
5479         make the header more readable.
5480
5481         * clutter/clutter-behaviour.c: The actors are store inside a
5482         GSList and not in a GList, so change the list operations to
5483         use the right API.
5484
5485 2007-01-18  Tomas Frydrych  <tf@openedhand.com>
5486
5487         * clutter/clutter-color.c:
5488         (clutter_color_darken):
5489         (clutter_color_lighten):
5490         Changed calls to clutter_color_shade calls to clutter_color_shadex
5491
5492 2007-01-17  Matthew Allum  <mallum@openedhand.com>
5493
5494         * configure.ac:
5495         Bump up version to 0.2.0
5496
5497 2007-01-17  Tomas Frydrych  <tf@openedhand.com>
5498         * configure.ac:
5499         * clutter/clutter-behavior-path.c:
5500         Added --without-fpu option.
5501
5502         * doc/refrence/tmpl/clutter-fixed.sgml:
5503         * clutter/clutter-fixed.c:
5504         * clutter/clutter-fixed.h:
5505         Documentation for fixed point API.
5506
5507         * AUTHORS: added self.
5508
5509 2007-01-17  Emmanuele Bassi  <ebassi@openedhand.com>
5510
5511         * clutter/clutter-feature.h:
5512         * clutter/clutter-feature.c: Move the GL headers from the
5513         header file to the body.
5514
5515         * clutter/clutter-fixed.h:
5516         * clutter/clutter-fixed.c: Fix apidoc.
5517
5518         * clutter/clutter-color.h:
5519         * clutter/clutter-color.c: Ditto.
5520
5521 2007-01-17  Tomas Frydrych  <tf@openedhand.com>
5522
5523         * clutter/clutter-fixed.h:
5524         * clutter/clutter-fixed.c:
5525         * clutter/clutter-alpha.c:
5526         Renamed clutter_fixed_sin() to clutter_sinx() and
5527         clutter_angle_sin() to clutter_sini(); added clutter_sqrtx()
5528         and clutter_sqrti(); added missing copyright.
5529
5530         * clutter/clutter-behavior.c:
5531         replaced call to sqrt() with clutter_sqrti()
5532
5533         * clutter/clutter-behavior-scale.c:
5534         (clutter_behaviour_scale_alpha_notify):
5535         Replaced floating point math with fixed point.
5536
5537 2007-01-16  Emmanuele Bassi  <ebassi@openedhand.com>
5538
5539         * clutter/clutter-feature.c: Use clutter_vblank_method() to
5540         get the VBlank method name from the environment variable OR
5541         the command line switch.
5542
5543         (clutter_feature_do_init): Move the check on the features
5544         state here, to avoid an expensive function call, and inline
5545         the function.
5546
5547         * clutter/clutter-fixed.c: Fix gtk-doc.
5548
5549         * clutter/clutter-main.c: Add a --clutter-vblank command line
5550         switch controlling the VBlank method to be used: it overrides
5551         the CLUTTER_VBLANK environment variable.
5552
5553         (pre_parse_hook), (clutter_init),
5554         (clutter_init_with_args): Move thread initialisation before
5555         type init, to avoid the warning that comes with newer GLib
5556         versions.
5557
5558         * clutter/clutter-group.h:
5559         * clutter/clutter-group.c: Mark clutter_group_show_all() and
5560         clutter_group_hide_all() as deprecated.
5561
5562 2007-01-16  Matthew Allum  <mallum@openedhand.com>
5563
5564         * NEWS:
5565         Minor tweaks
5566
5567         * TODO:
5568         Sync up, mainly with 0.3 todo items
5569
5570         * clutter/clutter-behaviour.c:
5571         * clutter/clutter-behaviour.h:
5572         clutter_behaviour_get_n_actors() / clutter_behaviour_get_nth_actor()
5573         Additions.
5574
5575         * clutter/clutter-stage.c: (clutter_stage_realize):
5576         Experimental (disabled) visual setting code.
5577
5578         * clutter/clutter-feature.c:
5579         Check for GL_EXT_texture_rectangle (#198  - Frederick Riss)
5580
5581         * clutter/clutter-group.c: (clutter_group_allocate_coords):
5582         Fix for group size allocation (#199 -  Frederick Riss)
5583
5584         * clutter/clutter-texture.c: (texture_upload_data):
5585         Fix texture unpacking row length (#197 Frederick Riss)
5586
5587         * examples/Makefile.am:
5588         Fix LDADD in build (#196 - Frederick Riss)
5589
5590 2007-01-16  Tomas Frydrych  <tf@openedhand.com>
5591
5592         * clutter/clutter-fixed.h:
5593         Added integer ClutterAngle type, protype of clutter_angle_sin,
5594         convenience macros clutter_fixed_cos and clutter_angle_cos, plus
5595         other convenience macros for commonly used constants and ops.
5596         * clutter/clutter-fixed.c:
5597         (clutter_fixed_sin):
5598         Fixed to work for negative angles.
5599         (clutter_angle_sin):
5600         Fast fixed point sin function for ClutterAngle angles.
5601         * clutter/clutter-alpha.c:
5602         (clutter_sin_func, clutter_sin_inc_func):
5603         Changed to use clutter_angle_sin function.
5604         * clutter-behavior-path.c:
5605         replaced floating point with fixed point operations
5606         * clutter/clutter-color.c:
5607         * clutter/clutter-color.h:
5608         Added (clutter_color_shadex), replaced floating point operations
5609         with fixed point
5610
5611 2007-01-15  Tomas Frydrych  <tf@openedhand.com>
5612
5613         * clutter/clutter-fixed.h: (CLUTTER_FIXED_TO_DOUBLE/FLOAT):
5614         Fixed macro so it works for negative values.
5615         * clutter/clutter-fixed.c: (clutter_fixed_sin):
5616         Implemented fixed point sin function.
5617         * clutter/clutter-alpha.c: (clutter_sin_func, clutter_sin_inc_func):
5618         Pluged in fixed point sin function.
5619
5620 2007-01-07  Matthew Allum  <mallum@openedhand.com>
5621
5622         * clutter/clutter-actor.c: (clutter_actor_allocate_coords):
5623         Fix an amazingly not noticed until now typo.
5624         Minor doc tweaks.
5625
5626         * clutter/clutter-behaviour-opacity.c:
5627         (clutter_behaviour_alpha_notify):
5628         Take into account initial opacity value when calculating from alpha.
5629
5630         * clutter/clutter-group.c:
5631         Add new get_nth_child() and get_n_children() api calls.
5632
5633 2007-01-04  Matthew Allum  <mallum@openedhand.com>
5634
5635         * clutter/clutter-actor.c:
5636         * clutter/clutter-actor.h:
5637         Add new set_width/height API calls.
5638         Tweak scaling by reseting matrix.
5639         Make set_opactiy() take parent opacity into account.
5640         Fix clipping.
5641
5642         * clutter/clutter-alpha.c:
5643         Add more sine functionality.
5644
5645         * clutter/clutter-behaviour-opacity.c:
5646         Dont make a copy of all applied actors but use a foreach()
5647
5648         * clutter/clutter-behaviour-scale.c:
5649         Give correct limits to propertys.
5650         Tweak gravity a little more.
5651         Update docs.
5652 :
5653         * clutter/clutter-behaviour.c: (clutter_behaviour_remove):
5654         Minor warning text change.
5655
5656         * clutter/clutter-feature.c: (clutter_feature_wait_for_vblank):
5657         Minor dri ioctl tweak.
5658
5659         * clutter/clutter-label.c:
5660         * clutter/clutter-label.h:
5661         Add new label_full api call.
5662
5663 2006-12-27  Emmanuele Bassi  <ebassi@openedhand.com>
5664
5665         * clutter/clutter-stage.[ch]:
5666         * clutter/clutter-event.[ch]: Revert changes; this is what
5667         happens when you keep old tree around.
5668
5669 2006-12-27  Emmanuele Bassi  <ebassi@openedhand.com>
5670
5671         * clutter/clutter-color.h:
5672         * clutter/clutter-color.c: Add clutter_color_to_string(),
5673         which creates a hex-encoded color string from a ClutterColor.
5674
5675 2006-12-20  Matthew Allum  <mallum@openedhand.com>
5676
5677         * NEWS:
5678         Add some missing improvements.
5679
5680 2006-12-17  Emmanuele Bassi  <ebassi@openedhand.com>
5681
5682         * clutter/clutter-label.c: Remove some gtk-isms; always take
5683         a reference before calling g_object_notify(), as the object
5684         might get disposed while calling the closures inside the
5685         notify queue; notify the changes of the ellipsize property.
5686
5687 2006-12-14  Emmanuele Bassi  <ebassi@openedhand.com>
5688
5689         * clutter/clutter-color.h:
5690         * clutter/clutter-color.c: Expose clutter_color_copy()
5691         and clutter_color_free() for the python bindings, so that
5692         they can manager the conversion automatically; use the
5693         slice allocator when copying/freeing a ClutterColor.
5694
5695 2006-12-13  Emmanuele Bassi  <ebassi@openedhand.com>
5696
5697         * clutter/clutter-color.h:
5698         * clutter/clutter-color.c: Add clutter_color_equal(),
5699         a function for comparing two colors.
5700
5701         * clutter/clutter-rectangle.c:
5702         (clutter_rectangle_set_color),
5703         (clutter_rectangle_set_border_color): Unset the border if
5704         the color of the rectangle and the color of the border are
5705         the same.
5706
5707 2006-12-13  Emmanuele Bassi  <ebassi@openedhand.com>
5708
5709         * clutter/clutter-actor.c:
5710         * clutter/clutter-clone-texture.c:
5711         * clutter/clutter-event.h:
5712         * clutter/clutter-stage.c:
5713         * clutter/clutter-texture.c:
5714         * clutter/clutter-timeline.c: Update the inline apidoc.
5715
5716 2006-12-13  Matthew Allum  <mallum@openedhand.com>
5717
5718         * clutter/clutter-actor.c: (clutter_actor_class_init):
5719         Allow actor x,y props to be negative.
5720
5721 2006-12-12  Emmanuele Bassi  <ebassi@openedhand.com>
5722
5723         Rework part of the show/hide machinery.  Allow groups sub-classes
5724         and composite actors to override show_all/hide_all in order to
5725         decide which children they wish to show/hide.  This means that
5726         if an actor overrides the default show/hide virtual methods, it'll
5727         have to chain up to the parent class show/hide.  While we're at it,
5728         provide the fully recursive clutter_actor_show_all() and
5729         clutter_actor_hide_all() methods.
5730
5731         * clutter/clutter-behaviour-path.c: Add apidoc for the ClutterKnot
5732         functions; add pathological equality case for clutter_knot_equal().
5733
5734         * clutter/clutter-event.h:
5735         * clutter/clutter-feature.h:
5736         * clutter/clutter-behaviour.c:
5737         * clutter/clutter-behaviour-scale.c:Fix parameters name so that
5738         gtk-doc doesn't complain.
5739
5740         * clutter/clutter-actor.c:
5741         * clutter/clutter-event.c: Add apidoc
5742
5743         * clutter/clutter-actor.h:
5744         * clutter/clutter-actor.c: Add a clutter_actor_show_all() and a
5745         clutter_actor_hide_all() functions; provide a mechanism for
5746         groups and composited actors to programmatically select what to
5747         show/hide when clutter_actor_show_all() and clutter_actor_hide_all()
5748         are called.  If you are overriding the ClutterActor::show or
5749         the ClutterActor::hide virtual methods you should chain up with
5750         the parent class.
5751
5752         * clutter/clutter-group.c: Override show_all and hide_all and
5753         recursively show/hide every child inside the group;
5754         clutter_group_show_all() and clutter_group_hide_all() remain as non
5755         recursive versions of clutter_actor_show_all() and
5756         clutter_actor_hide_all() (maybe we should rename them in order
5757         to avoid name clashes with the bindings).
5758
5759         * clutter/clutter-stage.c:
5760         * clutter/clutter-texture.c: Chain up with parent class show
5761         and hide vfuncs.
5762
5763         * clutter/clutter-clone-texture.h:
5764         * clutter/clutter-clone-texture.c: Provide API for changing the
5765         parent texture of a clone texture actor.
5766
5767         * examples/behave.c:
5768         * examples/super-oh.c:
5769         * examples/test.c: Use clutter_actor_show_all() instead of
5770         clutter_group_show_all().
5771
5772 2006-12-08  Matthew Allum  <mallum@openedhand.com>
5773
5774         * clutter.doap:
5775         Put release date in correct format.
5776
5777 2006-12-08  Emmanuele Bassi  <ebassi@openedhand.com>
5778
5779         * clutter/clutter-behaviour.h: Add a function prototype
5780         for the foreach function: we need something more specific
5781         than GFunc; add clutter_behaviour_get_actors(), used to
5782         get a list of the actors.
5783
5784         * clutter/clutter-behaviour.c: Add debugging notes; add
5785         a warning for behaviour implementations missing the
5786         alpha_notify vfunc; add api documentation
5787
5788         * clutter/clutter-behaviour-opacity.c:
5789         * clutter/clutter-behaviour-path.c:
5790         * clutter/clutter-behaviour-scale.c: Reimplement the
5791         alpha_notify functions using the new foreach function
5792         and, where possible, by directly iterating on the
5793         actors: this shaves off the number of recalculations
5794         of the property/alpha values, and the number of
5795         functions.
5796
5797 2006-12-05  Emmanuele Bassi  <ebassi@openedhand.com>
5798
5799         * clutter/clutter-rectangle.c: Forgot to set the
5800         pencil color.
5801
5802 2006-12-05  Emmanuele Bassi  <ebassi@openedhand.com>
5803
5804         * behave.c: Add test for clutter_color_parse().
5805
5806 2006-12-05  Emmanuele Bassi  <ebassi@openedhand.com>
5807
5808         * clutter/clutter-event.c: Move the apidoc out.
5809
5810 2006-12-05  Emmanuele Bassi  <ebassi@openedhand.com>
5811
5812         * clutter/clutter-color.h:
5813         * clutter/clutter-color.c: Add clutter_color_parse(),
5814         which parses a string containing a color definition as
5815         understood by XParseColor() (or pango_color_parse()).
5816
5817 2006-12-04  Emmanuele Bassi  <ebassi@openedhand.com>
5818
5819         Avoid clutter segfaulting when used without invoking
5820         clutter_init().  This is needed when using api documentation
5821         tools and every other tool relying on the GObject
5822         introspection API (esp. on a headless box).  see the
5823         note in clutter/clutter-feature.c:clutter_feature_init
5824         for a full explanation.
5825
5826         * clutter/clutter-feature.c: Call clutter_feature_init()
5827         when needed by one of the accessors of the features
5828         structure.
5829
5830         * clutter/clutter-main.c:
5831         * clutter/clutter-private.h: Remove clutter_feature_init()
5832         public declaration: the features support check is done the
5833         first time a feature is needed.
5834
5835         * clutter/clutter-main.c: Do not ever access the clutter
5836         main context pointer directly; instead, obtain a pointer
5837         to it via clutter_context_get_default(), which will always
5838         return something valid.
5839
5840 2006-12-04  Emmanuele Bassi  <ebassi@openedhand.com>
5841
5842         * clutter/clutter-private.h: Add our own READABLE,
5843         WRITABLE and READWRITE paramspec flags, declaring the
5844         string components of the properties GParamSpec as static;
5845         this should shave off some bytes in the memory footprint
5846         and avoid relocations.
5847
5848         * clutter/clutter-actor.c:
5849         * clutter/clutter-behaviour.c:
5850         * clutter/clutter-behaviour-opacity.c:
5851         * clutter/clutter-behaviour-path.c:
5852         * clutter/clutter-behavuour-scale.c:
5853         * clutter/clutter-clone-texture.c:
5854         * clutter/clutter-label.c:
5855         * clutter/clutter-rectangle.c:
5856         * clutter/clutter-stage.c:
5857         * clutter/clutter-texture.c:
5858         * clutter/clutter-timeline.c: Use the CLUTTER_PARAM_*
5859         macros we just added.
5860
5861         * clutter/clutter-behaviour-scale.c: Add properties for
5862         the scale begin, scale end and gravity parameters.
5863
5864         * clutter/clutter-behaviour-path.h: Mark the ClutterKnot
5865         memory management functions as public (for the bindings),
5866         since we use the slice allocator for copying knots around;
5867         add a clutter_knot_equal() function.
5868
5869         * clutter/clutter-behaviour-path.c:
5870         (node_distance): Use clutter_knot_equal() as a fast path
5871         to avoid the sqrt() in case the nodes we are using are
5872         at the same position.
5873         (path_total_length): Additional check on the existence
5874         of the next node.
5875
5876         * examples/behave.c: Do not leak the ClutterBehaviour
5877         objects around.
5878
5879 2006-12-03  Emmanuele Bassi  <ebassi@openedhand.com>
5880
5881         * clutter/clutter-texture.h: Clean up.
5882
5883         * clutter/clutter-texture.c: Typo fix in the name
5884         of ClutterTextureTileDimension.
5885
5886         * clutter/clutter-behaviour.c: Allow passing NULL
5887         to clutter_behaviour_set_alpha() (as we pass NULL
5888         in the finalize process).
5889
5890 2006-12-02  Emmanuele Bassi  <ebassi@openedhand.com>
5891
5892         * clutter/clutter-version.h.in: Fix a stupid logic
5893         error in the CHECK_VERSION macro.
5894
5895 2006-11-30  Matthew Allum  <mallum@openedhand.com>
5896
5897         * clutter.doap:
5898         Updates
5899
5900 2006-11-30  Emmanuele Bassi  <ebassi@openedhand.com>
5901
5902         * clutter/clutter-stage.h:
5903         * clutter/clutter-stage.c:
5904         (clutter_stage_swap_buffers): Remove, as the same is done
5905         via clutter_redraw() and clutter_actor_queue_redraw().
5906
5907         (clutter_stage_unrealize), (clutter_stage_init),
5908         (clutter_stage_set_xwindow_foreign): Do not call
5909         XDestroyWindow() on the stage Window if we are using a
5910         foreign Window, as we don't control its lifetime.
5911
5912 2006-11-30  Emmanuele Bassi  <ebassi@openedhand.com>
5913
5914         * Makefile.am: Remove the gtk directory from the SUBDIRS.
5915
5916         * clutter/clutter-stage.h:
5917         * clutter/clutter-stage.c: Add clutter_stage_swap_buffers(),
5918         which swaps the GL buffers.  This fixes the redraw in the
5919         GTK widget.
5920
5921 2006-11-29  Emmanuele Bassi  <ebassi@openedhand.com>
5922
5923         * clutter/clutter-stage.c:
5924         (clutter_stage_set_xwindow_foreign): Add checks;
5925         remove an indirection to the private data.
5926
5927 2006-11-29  Emmanuele Bassi  <ebassi@openedhand.com>
5928
5929         * gtk/*
5930         * configure.ac:
5931         * Makfile.am: Remove the GTK+ widget from the
5932         main tree; now Clutter depends just on GLib,
5933         XLibs, GdkPixbuf and OpenGL.
5934
5935 2006-11-29  Matthew Allum  <mallum@openedhand.com>
5936
5937         * clutter/clutter-stage.c: (clutter_stage_realize):
5938         Set colormap on stage window - should fix issues
5939         with indirect rendering.
5940
5941 2006-11-23  Matthew Allum  <mallum@openedhand.com>
5942
5943         * clutter/clutter-debug.h:
5944         Fix small macro typo.
5945
5946 2006-11-22  Matthew Allum  <mallum@openedhand.com>
5947
5948         * clutter/clutter-actor.c:
5949         * clutter/clutter-alpha.c:
5950         * clutter/clutter-behaviour-opacity.c:
5951         * clutter/clutter-behaviour-scale.c:
5952         * clutter/clutter-clone-texture.c:
5953         * clutter/clutter-feature.c:
5954         * clutter/clutter-label.c:
5955         * clutter/clutter-main.c:
5956         * clutter/clutter-stage.c:
5957         * clutter/clutter-texture.c
5958         * clutter/clutter-timeline.c:
5959         * clutter/clutter-debug.h:
5960         Make CLUTTER_NOTE() just take a string rather than a func.
5961         Add more default context to output.
5962
5963         * configure.ac:
5964         Fix flag and add more help docs for --ebable-debug option.
5965
5966 2006-11-21  Emmanuele Bassi  <ebassi@openedhand.com>
5967
5968         * clutter/clutter-main.c: Add a --g-fatal-warnings switch
5969         for abort()-ing on warnings and criticals.
5970
5971 2006-11-21  Emmanuele Bassi  <ebassi@openedhand.com>
5972
5973         * configure.ac: Enable debug messages also when
5974         --enable-debug is set to "minimum".
5975
5976         * clutter/Makefile.am:
5977         * clutter/clutter-debug.h: Move all debugging macros inside
5978         this private header; make all debug macros depend on the
5979         CLUTTER_ENABLE_DEBUG compile time define, controlled by
5980         the --enable-debug configure switch; add G_LOG_DOMAIN define.
5981
5982         * clutter/clutter-main.c: Clean up the debug stuff; add
5983         command line argument parsing using GOption; the debug
5984         messages now are triggered like this:
5985
5986           CLUTTER_DEBUG=section:section:... clutter-app
5987
5988         or like this:
5989
5990           clutter-app --clutter-debug=section:section:...
5991
5992         where "section" is one of the sections listed in clutter-main.c,
5993         or "all", for all sections; each section is bound to a flag,
5994         which can be used to define a domain when adding a debug note
5995         using the CLUTTER_NOTE() macro; the old CLUTTER_DBG() macro is
5996         just a wrapper around that, under the CLUTTER_DEBUG_MISC domain;
5997         CLUTTER_NOTE() is used like this:
5998
5999           CLUTTER_NOTE (DOMAIN, log-function);
6000
6001         where log function is g_printerr(), g_message(), g_warning(),
6002         g_critical() or directly g_log() - for instance:
6003
6004           CLUTTER_NOTE (PANGO, g_warning ("Cache miss: %d", glyph));
6005
6006         will print the warning only if the "pango" flag has been
6007         set to the CLUTTER_DEBUG envvar or passed to the --clutter-debug
6008         command line argument.
6009
6010         similar to CLUTTER_SHOW_FPS, there's also the --clutter-show-fps
6011         command line switch; also, the --display and --screen command
6012         line switches have been added: the first overrides the DISPLAY
6013         envvar and the second controls the X screen used by Clutter to
6014         get the root window on the display.
6015
6016         * clutter/clutter-main.h:
6017         * clutter/clutter-main.c: Add extended support for GOption
6018         in Clutter; use clutter_init_with_args() to let Clutter
6019         parse your own command line arguments; use instead
6020         clutter_get_option_group() to get the GOptionGroup used by
6021         Clutter if you want to do the parsing yourself with
6022         g_option_context_parse(). The init sequence has been verified,
6023         updated and moved into common functions where possible.
6024
6025         * clutter/pango/pangoclutter-render.c:
6026         * clutter/*.c: Include "clutter-debug.h" where needed; use
6027         CLUTTER_NOTE() instead of CLUTTER_DBG().
6028
6029         * examples/super-oh.c: Use the new clutter_init_with_args()
6030         function, and add a --num-hands command line switch to
6031         the SuperOH example code controlling the number of hands at
6032         runtime.
6033
6034 2006-11-21  Emmanuele Bassi  <ebassi@openedhand.com>
6035
6036         * configure.ac: Rename G_ENABLE_DEBUG to CLUTTER_ENABLE_DEBUG.
6037
6038 2006-11-20  Emmanuele Bassi  <ebassi@openedhand.com>
6039
6040         * clutter/clutter-rectangle.h:
6041         * clutter/clutter-rectangle.c: Add border to the ClutterRectangle
6042         actor; add "border-width", "border-color" and "has-border"
6043         properties, plus their accessors.  The border generation code is
6044         pretty lame, at the moment.
6045
6046         * examples/behave.c: Add code to test the new rectangle properties.
6047
6048 2006-11-20  Matthew Allum  <mallum@openedhand.com>
6049
6050         * clutter.doap:
6051         Add an initial DOAP file to project
6052
6053 2006-11-20  Emmanuele Bassi  <ebassi@openedhand.com>
6054
6055         * clutter/Makefile.am:
6056         * clutter/clutter.h:
6057         * clutter/clutter-version.h.in: Auto-generated versioning macros.
6058
6059         * clutter/clutter-actor.h:
6060         * clutter/clutter-actor.c: Add a ClutterActor::parent-set signal,
6061         for notificating changes of an actor's parent; add api-doc for
6062         the actor's properties; add the ClutterActor "name" property; clean
6063         up a bit some functions; emit the "parent-set" signal when setting
6064         te parent and when unparenting; better warnings when lowering
6065         and raising an actor.
6066
6067         * configure.ac:
6068         * clutter/Makefile.am: Add a --enable-debug configure option,
6069         with three levels of debugging: no, minimum and yes; default
6070         for development releases (odd minor version) is "yes"; update
6071         the version m4 defines; update the libtool macros: now just
6072         changed the clutter_interface_age when releasing will update
6073         everything else.
6074
6075 2006-11-17  Emmanuele Bassi  <ebassi@openedhand.com>
6076
6077         * clutter/clutter-behaviour-path.h:
6078         * clutter/clutter-behaviour-path.c: Add "since" strings; add
6079         a "knot" property which can be used to append a knot to the path;
6080         fix apidoc.
6081
6082         * clutter/clutter-alpha.c: Add "since" strings.
6083
6084         * clutter/clutter-feature.c: Add apidoc.
6085
6086         * clutter/clutter-behaviour-opacity.c: Add the "opacity-start"
6087         and "opacity-end" properties; rewrite constructor to use them.
6088
6089 2006-11-17  Emmanuele Bassi  <ebassi@openedhand.com>
6090
6091         * clutter/clutter-behaviour-path.h:
6092         * clutter/clutter-behaviour-path.c: Add a "knot-reached" signal,
6093         which is emitted when the path reaches a node in the nodes list;
6094         flesh out the documentation a bit; sync the parameters names
6095         so that gtk-doc doesn't complain about missing stuff.
6096
6097         * clutter/clutter-behaviour.h:
6098         * clutter/clutter-behaviour.c: Add the alpha value to the
6099         ClutterBehaviour::alpha_notify vfunc, so you don't have to
6100         get the value from the alpha inside the behaviour implementations;
6101         add more documentation.
6102
6103         * clutter/clutter-alpha.c: Flesh out the description.
6104
6105         * clutter/clutter-actor.h: Update the header.
6106
6107         * clutter/clutter-behaviour-opacity.c:
6108         * clutter/clutter-behaviour-scale.c: Update docs.
6109
6110 2006-11-17  Matthew Allum  <mallum@openedhand.com>
6111
6112         * clutter/clutter-alpha.c:
6113         * clutter/clutter-behaviour-opacity.c:
6114         More docs.
6115
6116         * clutter/clutter-behaviour-path.h:
6117         * clutter/clutter-behaviour-path.c:
6118         More docs, add clutter_behaviour_path_insert_knot(),
6119         clutter_behaviour_path_remove_knot()
6120
6121         * clutter/clutter-behaviour-scale.h:
6122         * clutter/clutter-behaviour-scale.c:
6123         More docs, add clutter_behaviour_scale_newx() taking fixed values.
6124
6125         * clutter/Makefile.am:
6126         * clutter/pango/Makefile.am:
6127         Fix linking warning.
6128
6129 2006-11-15  Matthew Allum  <mallum@openedhand.com>
6130
6131         * clutter/clutter-actor.h:
6132         * clutter/clutter-actor.c:
6133         Add new API clutter_actor_move_by(), clutter_actor_get_size()
6134
6135         * clutter/clutter-alpha.c:
6136         * clutter/clutter-alpha.h:
6137         Add clutter alpha sine func
6138
6139         * clutter/clutter-behaviours.h:
6140         * clutter/clutter-behaviours.c:
6141         Add a basic scale behaviour (needs work)
6142
6143         * examples/behave.c: (main):
6144         More playing with new behaviour functionality
6145
6146         * clutter/clutter-feature.c:
6147         * clutter/clutter-feature.h:
6148         * clutter/clutter-main.c:
6149         Add new experimental sync to vblank code
6150         Set env CLUTTER_VBLANK=none to disable.
6151
6152 2006-11-16  Emmanuele Bassi  <ebassi@openedhand.com>
6153
6154         * clutter/clutter-private.h:
6155         * clutter/clutter-actor.c: Implement the defined
6156         clutter_actor_reparent() method; call unrealize
6157         when unparenting an actor.
6158
6159 2006-11-15  Emmanuele Bassi  <ebassi@openedhand.com>
6160
6161         * clutter/clutter-alpha.h:
6162         * clutter/clutter-alpha.c: Add a data parameter to
6163         the ClutterAlphaFunc; add a data+destroy parameter
6164         to clutter_alpha_set_func() and to clutter_alpha_new(),
6165         and turned the latter into clutter_alpha_new_full();
6166         add a simple, empty constructor clutter_alpha_new().
6167
6168         These changes makes writing bindings a tad more easy,
6169         as bindings require passing their own functions in
6170         order to call the real alpha function.
6171
6172         * clutter/clutter-behaviour.h: Clean up the header.
6173
6174         * clutter/clutter-behaviours.[ch]:
6175         * clutter/clutter-behaviour-opacity.[ch]:
6176         * clutter/clutter-behaviour-path.[ch]:
6177         * clutter/clutter-behaviour-scale.[ch]: Split the
6178         ClutterBehaviourPath, ClutterBehaviourOpacity and
6179         ClutterBehaviourScale into their own files as they
6180         have been growing a bit. Fix ClutterBehaviourPath
6181         API.
6182
6183         * clutter/clutter-media.h: Remove the commented
6184         "metadata_available" signal: gtk-doc chokes up on that.
6185
6186         * clutter/clutter-timeline.h:
6187         * clutter/clutter-timeline.c: Remove the useless
6188         ClutterTimelineAlphaFunc signature; add missing accessor
6189         methods for the properties; clean up a bit.
6190
6191         * clutter/clutter-util.h:
6192         * clutter/clutter-util.c: Remove unneeded function
6193         clutter_util_can_create_texture().
6194
6195         * clutter/clutter-feature.h: Sync the name of
6196         clutter_feature_get_all() with the name declared
6197         in clutter-feature.h.
6198
6199         * clutter/Makefile.am:
6200         * clutter/clutter.h: Update.
6201
6202         * examples/behave.c: Update to the new ClutterAlpha
6203         constructor.
6204
6205         * examples/super-oh.c: Use the right pointer and avoid
6206         the compiler making a fuss about it.
6207
6208 2006-11-15  Matthew Allum  <mallum@openedhand.com>
6209
6210         * clutter/clutter-actor.h:
6211         * clutter/clutter-actor.c:
6212         Add new API clutter_actor_move_by(), clutter_actor_get_size()
6213
6214         * clutter/clutter-alpha.c:
6215         * clutter/clutter-alpha.h:
6216         Add clutter alpha sine func
6217
6218         * clutter/clutter-behaviours.h:
6219         * clutter/clutter-behaviours.c:
6220         Add a basic scale behaviour (needs work)
6221
6222         * examples/behave.c: (main):
6223         More playing with new behaviour functionality
6224
6225         * clutter/clutter-feature.c:
6226         * clutter/clutter-feature.h:
6227         * clutter/clutter-main.c:
6228         Add new experimental sync to vblank code
6229         Set env CLUTTER_VBLANK=none to disable.
6230
6231 2006-11-15  Emmanuele Bassi  <ebassi@openedhand.com>
6232
6233         * clutter/clutter-alpha.h:
6234         * clutter/clutter-alpha.c: ClutterAlpha is an initially
6235         floating object, as it makes sense only when bound to
6236         a ClutterBehaviour; add checks for public API.
6237
6238         * clutter/clutter-behaviour.h:
6239         * clutter/clutter-behaviour.c: Remove the ClutterBehaviour
6240         constructor: ClutterBehaviour is an abstract class which
6241         must be implemented by subclassing; add checks for public
6242         API; unref the actors on finalize; sink the ClutterAlpha
6243         object.
6244
6245         * clutter/clutter-behaviours.h: ClutterKnot is a boxed
6246         type: add the _get_type() function declaration and the
6247         type macro.
6248
6249 2006-10-23  Matthew Allum  <mallum@openedhand.com>
6250
6251         * clutter/clutter-alpha.h:
6252         * clutter/clutter-behaviour.c:
6253         * clutter/clutter-behaviour.h:
6254         * clutter/clutter-behaviours.c:
6255         * clutter/clutter-behaviours.h:
6256         * examples/behave.c:
6257         Behaviours now only 'driven' by ClutterAlpha, not any object/prop.
6258         Add simple Clutter path behaviour.
6259
6260 2006-10-03  Matthew Allum  <mallum@openedhand.com>
6261
6262         * configure.ac:
6263         * clutter/Makefile.am:
6264         * clutter/clutter-actor.c:
6265         * clutter/clutter-label.c:
6266         * clutter/clutter-label.h:
6267         * clutter/pango/Makefile.am:
6268         * clutter/pango/pangoclutter-font.c:
6269         * clutter/pango/pangoclutter-fontmap.c:
6270         * clutter/pango/pangoclutter-private.h:
6271         * clutter/pango/pangoclutter-render.c:
6272         * clutter/pango/pangoclutter.h:
6273         Add initial rough new pango renderer and clutter-label.
6274
6275         * examples/super-oh.c:
6276         * examples/test.c:
6277         Minor fixups
6278
6279 2006-09-20  Matthew Allum  <mallum@openedhand.com>
6280
6281         * clutter/clutter-actor.c: (clutter_actor_paint):
6282         * clutter/clutter-clone-texture.c: (clutter_clone_texture_paint):
6283         * clutter/clutter-group.c: (clutter_group_paint):
6284         * clutter/clutter-rectangle.c: (clutter_rectangle_paint):
6285         * clutter/clutter-texture.c: (clutter_texture_paint):
6286         Fix for #156.
6287         clutter_actor_paint() now translates to actor position as
6288         to not fix scaled groups positioning. Sub classes now paint
6289         at 0,0.
6290
6291 2006-09-19  Matthew Allum  <mallum@openedhand.com>
6292
6293         * clutter/clutter-actor.c: (redraw_update_idle),
6294         (clutter_actor_queue_redraw):
6295         * clutter/clutter-main.c: (clutter_redraw):
6296         Remove now uneeded locks
6297         ( new gst and texture code makes redundant )
6298
6299         * clutter/clutter-texture.c:
6300         * clutter/clutter-texture.h:
6301         Redo clutter texture as to not keep a reference
6302         to underlying texture.
6303
6304 2006-09-15  Matthew Allum  <mallum@openedhand.com>
6305
6306         More fixes from Bastien Nocera (#155):
6307
6308         * clutter/clutter-main.c: (clutter_init):
6309         * clutter/clutter-main.h:
6310         Add an enum for clutter init to return an error code.
6311         * configure.ac:
6312         Dont check for XInitThreads, there is no need, its part of xlib.
6313
6314 2006-09-14  Matthew Allum  <mallum@openedhand.com>
6315
6316         Various fixes from Bastien Nocera:
6317
6318         * clutter/clutter-event.h:
6319         * clutter/clutter-stage.c: (clutter_stage_unrealize),
6320         (clutter_stage_realize), (clutter_stage_request_coords),
6321         (clutter_stage_dispose), (clutter_stage_init):
6322         * clutter/clutter-stage.h:
6323         * gtk/gtk-clutter-test.c: (input_cb), (frame_cb), (main):
6324         * gtk/gtk-clutter.c: (realize):
6325         Misc fixes (#152)
6326
6327         * clutter/clutter-group.c: (clutter_group_remove):
6328         Remove uneeded ref count (#143)
6329
6330         * examples/super-oh.c: (input_cb):
6331         Handle key release rather than presses (#154)
6332
6333         * configure.ac:
6334         Add old style X libs check when x11.pc unavailable (#101)
6335
6336 2006-09-01  Matthew Allum  <mallum@openedhand.com>
6337
6338         * clutter/Makefile.am:
6339         * clutter/clutter-media.c:
6340         * clutter/clutter-media.h:
6341         * clutter/clutter.h:
6342         Re-add clutter media.
6343
6344 2006-08-31  Matthew Allum  <mallum@openedhand.com>
6345
6346         * clutter/clutter-actor.c:
6347         * clutter/clutter-group.c: (clutter_group_paint),
6348         (clutter_group_request_coords), (clutter_group_allocate_coords),
6349         (clutter_group_add):
6350         Fix some group sizing/positioning issues.
6351
6352 2006-08-30  Jorn Baayen  <jorn@openedhand.com>
6353
6354         * clutter.pc.in:
6355
6356         Remove gstreamer deps.
6357
6358 2006-08-30  Jorn Baayen  <jorn@openedhand.com>
6359
6360         * README:
6361         * clutter/Makefile.am:
6362         * clutter/clutter-audio.c:
6363         * clutter/clutter-audio.h:
6364         * clutter/clutter-main.c: (clutter_init):
6365         * clutter/clutter-media.c:
6366         * clutter/clutter-media.h:
6367         * clutter/clutter-video-texture.c:
6368         * clutter/clutter-video-texture.h:
6369         * clutter/clutter.h:
6370         * configure.ac:
6371         * examples/Makefile.am:
6372         * examples/README:
6373         * examples/video-cube.c:
6374         * examples/video-player.c:
6375         * gst/Makefile.am:
6376         * gst/clutterimagesink.:
6377         * gst/clutterimagesink.c:
6378         * gst/clutterimagesink.h:
6379         * gtk/Makefile.am:
6380
6381         Remove gstreamer bits. There live in clutter-gst now.
6382
6383 2006-08-30  Jorn Baayen  <jorn@openedhand.com>
6384
6385         * clutter/Makefile.am:
6386         * clutter/clutter-audio.c:
6387         * clutter/clutter-audio.h:
6388         * clutter/clutter.h:
6389
6390         Added ClutterAudio audio playback object.
6391
6392 2006-08-29  Matthew Allum  <mallum@openedhand.com>
6393
6394         * clutter/clutter-fixed.h:
6395         Add basic fixed point utility defines and type.
6396
6397         * clutter/Makefile.am:
6398         * clutter/clutter-actor.c:
6399         * clutter/clutter-actor.h:
6400         * clutter/clutter-group.c:
6401         * clutter/clutter-stage.c:
6402         * examples/super-oh.c: (main):
6403         Add scale API and functionality.
6404         Rework group sizing. Now group size requests have no effect
6405         but can be scaled.
6406
6407 2006-08-29  Jorn Baayen  <jorn@openedhand.com>
6408
6409         * clutter/clutter-behaviour.c: (_clutter_behaviour_finalize),
6410         (_clutter_behaviour_set_property),
6411         (_clutter_behaviour_get_property), (clutter_behaviour_class_init),
6412         (clutter_behaviour_init), (clutter_behaviour_apply),
6413         (clutter_behaviour_remove), (clutter_behaviour_remove_all),
6414         (clutter_behaviour_actors_foreach):
6415         * clutter/clutter-behaviour.h:
6416         * clutter/clutter-behaviours.c:
6417         (clutter_behaviour_property_change),
6418         (clutter_behaviour_opacity_dispose),
6419         (clutter_behaviour_opacity_finalize),
6420         (clutter_behaviour_opacity_class_init),
6421         (clutter_behaviour_opacity_init):
6422         * clutter/clutter-behaviours.h:
6423         * clutter/clutter-marshal.list:
6424         * examples/behave.c: (main):
6425
6426         Behaviours track generic GObject properties.
6427
6428         * clutter/clutter-video-texture.h:
6429
6430         Remove signal prototypes - they are already specified in
6431         clutter-media.h.
6432
6433 2006-08-28  Jorn Baayen  <jorn@openedhand.com>
6434
6435         * clutter/Makefile.am:
6436         * clutter/clutter-alpha.c:
6437         * clutter/clutter-alpha.h:
6438         * clutter/clutter-behaviours.c:
6439         (clutter_behaviour_opacity_dispose),
6440         (clutter_behaviour_opacity_init),
6441         (clutter_behaviour_opacity_frame_foreach),
6442         (clutter_behaviour_opacity_frame):
6443         * clutter/clutter-behaviours.h:
6444         * clutter/clutter-timeline.c: (clutter_timeline_class_init):
6445         * clutter/clutter-timeline.h:
6446         * clutter/clutter.h:
6447         * examples/behave.c: (main):
6448
6449         Separate alpha calculation into its own class.
6450
6451         * clutter/clutter-behaviour.c: (clutter_behaviour_set_timelime):
6452
6453         Correct NULL check.
6454
6455 2006-08-15  Matthew Allum  <mallum@openedhand.com>
6456
6457         * clutter/clutter-behaviour.h:
6458         Behaviours shouldn't subclass timelines.
6459
6460 2006-08-15  Matthew Allum  <mallum@openedhand.com>
6461
6462         * clutter/clutter-behaviour.c:
6463         * clutter/clutter-behaviour.h:
6464         * clutter/clutter-behaviours.c:
6465         * clutter/clutter-timeline.c:
6466         * clutter/clutter-timeline.h:
6467         * clutter/clutter.h:
6468         Make basic behaviour infrastructure actually work.
6469
6470         * examples/Makefile.am:
6471         * examples/behave.c:
6472         Add a simple behaviour demo/test
6473
6474         * clutter/clutter-media.c: (clutter_media_set_volume):
6475         Actuall set volume rather than position..   (Fixes #141)
6476
6477 2006-08-14  Matthew Allum  <mallum@openedhand.com>
6478
6479         * clutter/Makefile.am:
6480         * clutter/clutter-behaviour.c:
6481         * clutter/clutter-behaviour.h:
6482         * clutter/clutter-behaviours.c:
6483         * clutter/clutter-behaviours.h:
6484         * clutter/clutter-timeline.c:
6485         * clutter/clutter-timeline.h:
6486         Add very initial new behaviour functionality.
6487
6488         * clutter/clutter-stage.c:
6489         * clutter/clutter-main.c:
6490         * clutter/clutter-actor.c:
6491         Improve clipping using stencil test rather than scissor check.
6492         ( Should now handle rotated clips etc ).
6493
6494         * clutter/clutter-group.c: (clutter_group_paint):
6495         Fix typo on position check.
6496
6497 2006-08-07  Matthew Allum  <mallum@openedhand.com>
6498
6499         * clutter/clutter-video-texture.c: (lay_pipeline):
6500         Set quality of service prop on fakesink to TRUE.
6501
6502 2006-08-07  Matthew Allum  <mallum@openedhand.com>
6503
6504         * clutter/clutter-actor.c: (clutter_actor_paint):
6505         Remove relic from old stage behaviour - dont unref
6506         it during a clip.
6507
6508 2006-07-27  Emmanuele Bassi  <ebassi@openedhand.com>
6509
6510         * clutter/clutter-feature.c: No need to call clutter_feature_init()
6511         each time: it's private and should never be seen from the outside;
6512         add a warning, just in case something screws up and calls it more
6513         than once.
6514
6515 2006-07-27  Emmanuele Bassi  <ebassi@openedhand.com>
6516
6517         * clutter/clutter-private.h: Move clutter_feature_init()
6518         declaration here: you shouldn't even need to initialise
6519         features yourself.
6520
6521         * clutter/clutter-feature.c: call clutter_feature_init()
6522         each time you try to access the feature list; add a static
6523         lock around the feature flags container; add api documentation.
6524
6525         * clutter/clutter-feature.h: Add a type for the feature flags
6526         to make bindings happy.
6527
6528 2006-07-24  Matthew Allum  <mallum@openedhand.com>
6529
6530         * clutter/Makefile.am:
6531         * clutter/clutter-feature.c:
6532         * clutter/clutter-feature.h:
6533
6534         Add new funcs for checking for available runtime GL
6535         extensions.
6536
6537         * clutter/clutter-clone-texture.c:
6538         * clutter/clutter-texture.c:
6539
6540         Add support for non power of two textures
6541        if GL_TEXTURE_RECTANGLE_ARB extension available ( at runtime ).
6542        Should lower texture memory needs a little.
6543
6544 2006-07-17  Emmanuele Bassi  <ebassi@openedhand.com>
6545
6546         * clutter/clutter-stage.c (clutter_stage_get_default): Fix
6547         api documentation.
6548
6549 2006-07-15  Emmanuele Bassi  <ebassi@openedhand.com>
6550
6551         * clutter/clutter-main.c:
6552
6553         (clutter_main): Destroy the main stage, instead of unreffing it.
6554
6555         (clutter_init): Ref and sink the main stage, as it is a top
6556         level actor.
6557
6558         * clutter/clutter-stage.c (clutter_stage_unrealize): Access
6559         the Window private member directly, instead of calling the
6560         get_xwindow method.
6561
6562         * examples/test.c (main): Quit on button press.
6563
6564 2006-07-09  Emmanuele Bassi  <ebassi@openedhand.com>
6565
6566         * clutter/clutter-event.h: Change the name of the
6567         ClutterEvent union members to something a little shorter.
6568
6569 2006-07-06  Emmanuele Bassi  <ebassi@openedhand.com>
6570
6571         * configure.ac: Remove the python stuff, now that the bindings
6572         are out of tree.
6573
6574 2006-07-06  Emmanuele Bassi  <ebassi@openedhand.com>
6575
6576         * configure.ac: Mark this as 0.1.1, and change the version info
6577         of the library.
6578
6579         * clutter/clutter-actor.c:
6580         * clutter/clutter-group.c: Fix documentation.
6581
6582 2006-07-06  Emmanuele Bassi  <ebassi@openedhand.com>
6583
6584         * clutter/clutter-actor.h:
6585         * clutter/clutter-actor.c:
6586
6587         (clutter_actor_class_init), (clutter_actor_set_property),
6588         (clutter_actor_get_property): Add the "clip" and "has-clip"
6589         properties.
6590
6591         (clutter_actor_set_clip), (clutter_actor_remove_clip): Emit
6592         the notification for the changed properties.
6593
6594         (clutter_actor_has_clip): Simple accessor to the "has-clip"
6595         property.
6596
6597 2006-07-06  Emmanuele Bassi  <ebassi@openedhand.com>
6598
6599         Big rework of the actor management semantics: now ClutterActor
6600         objects behave like GtkObjects - that is they have an initial
6601         "floating" reference that gets "sunk" when they are added to
6602         a ClutterGroup.  This makes a group responsible of de-allocating
6603         each actor inside it, so you just have to destroy the group to
6604         get every child actor destroyed.  Also, now you can do:
6605
6606           clutter_group_add (group, clutter_video_texture_new ());
6607
6608         without having to care about reference counting and explicit
6609         unreffing.
6610
6611         * clutter/clutter-private.h: Add private flags setter and
6612         getter macros.
6613
6614         * clutter/clutter-actor.h:
6615         * clutter/clutter-actor.c: Clean up; inherit from GInitiallyUnowned;
6616         add a "visible" property; add the "destroy", "show" and "hide"
6617         signals to ClutterActorClass.
6618
6619         (clutter_actor_show), (clutter_actor_hide): Refactor a bit; emit
6620         the "show" and "hide" signals.
6621
6622         (clutter_actor_set_property), (clutter_actor_get_property),
6623         (clutter_actor_class_init): Implement the "visible" property; add
6624         signals.
6625
6626         (clutter_actor_finalize): Do not leak the actor's name, if it is
6627         set.
6628
6629         (clutter_actor_dispose): Emit the "destroy" signal here.
6630
6631         (clutter_actor_init): Sink the initial floating flag if needed.
6632
6633         (clutter_actor_destroy): Add a function to explicitely destroy
6634         a ClutterActor.
6635
6636         (clutter_actor_set_parent), (clutter_actor_get_parent),
6637         (clutter_actor_unparent): Make set_parent require a valid parent;
6638         add unparent; check on get_parent; ref_sink the actor when
6639         setting its parent and unref it when unsetting it.  Probably we'll
6640         need a function that does reparenting as unparent+set_parent in
6641         a single shot.
6642
6643         * clutter/clutter-group.h:
6644         * clutter/clutter-group.c (clutter_group_dispose),
6645         (clutter_group_finalize), (clutter_group_add),
6646         (clutter_group_remove): Make the group destroy its children when
6647         disposing it; clean up, and use the newly-available
6648         clutter_actor_unparent().
6649
6650         * clutter/clutter-stage.h:
6651         * clutter/clutter-stage.c (clutter_stage_init): ClutterStage is
6652         a top-level actor; clean up.
6653
6654         * clutter/clutter-video-texture.h:
6655         * clutter/clutter-video-texture.c: Clean up.
6656
6657         * examples/super-oh.c:
6658         * examples/test.c:
6659         * examples/video-player.c:
6660         * examples/test-text.c:
6661         * examples/video-cube.c: Remove the g_object_unref() call, as the
6662         ClutterStage object is destroyed on clutter_main_quit().
6663
6664 2006-06-23  Matthew Allum  <mallum@openedhand.com>
6665
6666         * examples/super-oh.c:
6667         Remove random stage unref fixing trails. Fixes #98
6668
6669 2006-06-23  Matthew Allum  <mallum@openedhand.com>
6670
6671         * examples/video-player.c: (size_change):
6672         cast stage height to gint avoiding wierdness for when
6673         video height greater than half display height. Fixed #99
6674
6675 2006-06-23  Matthew Allum  <mallum@openedhand.com>
6676
6677         * clutter/clutter-video-texture.c: (clutter_video_texture_new):
6678         Small fix for video playback on Big Endian. See #97
6679
6680 2006-06-23  Iain Holmes  <iain@openedhand.com>
6681
6682         * clutter/clutter-texture.h: Add space :) Sorry.
6683
6684 2006-06-23  Iain Holmes  <iain@openedhand.com>
6685
6686         * clutter/clutter-label.h:
6687         * clutter/clutter-group.h:
6688         * clutter/clutter-rectangle.h:
6689         * clutter/clutter-video-texture.h:
6690         * clutter/clutter-event.h:
6691         * clutter/clutter-texture.h: Fix the header layout so that C# parser
6692         can understand everything.
6693
6694 2006-06-23  Ross Burton  <ross@openedhand.com>
6695
6696         * configure.ac:
6697         * Makefile.am:
6698         Remove references to bindings/, it's moved.
6699
6700 2006-06-23  Emmanuele Bassi  <ebassi@openedhand.com>
6701
6702         * clutter/clutter-group.c
6703         (clutter_group_get_children): Mention that you must free
6704         the returned list otherwise you'll leak stuff all around.
6705
6706 2006-06-23  Ross Burton  <ross@openedhand.com>
6707
6708         * examples/super-oh.c:
6709         Fix build with trails enabled. Still crashes.
6710
6711 2006-06-23  Ross Burton  <ross@openedhand.com>
6712
6713         * configure.ac:
6714         Disable static libraries.
6715
6716 2006-06-22  Matthew Allum  <mallum@openedhand.com>
6717
6718         * web/index.html:
6719         Make OpeneHand link
6720
6721 2006-06-22  Matthew Allum  <mallum@openedhand.com>
6722
6723         * web/index.html:
6724         Add Pango ref, authors info.
6725
6726 ========== 2006-06-22 0.1 Release =====================
6727
6728 2006-06-22  Matthew Allum  <mallum@openedhand.com>
6729
6730         * configure.ac:
6731         * web/index.html:
6732         Correct Bugzilla link. Add debs link
6733         Bump up version to 0.1 !
6734
6735 2006-06-22  Matthew Allum  <mallum@openedhand.com>
6736
6737         * NEWS:
6738         Add an entry for 0.1 release
6739         * web/index.html:
6740         * web/style.css:
6741         Add basic website.
6742
6743 2006-06-22  Iain Holmes  <iain@openedhand.com>
6744
6745         * clutter/clutter-main.c: Guess what...more docs
6746
6747 2006-06-22  Iain Holmes  <iain@openedhand.com>
6748
6749         * clutter/clutter-event.c: Add docs
6750
6751 2006-06-22  Iain Holmes  <iain@openedhand.com>
6752
6753         * clutter/clutter-media.c: Add docs
6754
6755 2006-06-22  Iain Holmes  <iain@openedhand.com>
6756
6757         * clutter/clutter-texture.c: Fix typos.
6758
6759         * clutter/clutter-timeline.c: Fix typos.
6760
6761 2006-06-22  Iain Holmes  <iain@openedhand.com>
6762
6763         * clutter/clutter-video-texture.c: Docs.
6764
6765 2006-06-22  Iain Holmes  <iain@openedhand.com>
6766
6767         * clutter/clutter-group.c: More typo fixes
6768
6769         * clutter/clutter-event.c: Documentation
6770
6771 2006-06-22  Emmanuele Bassi  <ebassi@openedhand.com>
6772
6773         * clutter/clutter-timeline.h:
6774         * clutter/clutter-timeline.c: Add a "started" and a "paused"
6775         signals; add more sanity checks on the public functions.
6776
6777         (clutter_timeline_get_loop): Add a getter function for the
6778         loop property.
6779
6780         * clutter/clutter-marshal.list: Add marshallers.
6781
6782         * clutter/clutter-timeline.h:
6783         * clutter/clutter-actor.h: Add padding for future expansion
6784         without breaking ABI.
6785
6786 2006-06-22  Iain Holmes  <iain@openedhand.com>
6787
6788         * clutter/clutter-actor.c: Fix some typos in the docs.
6789
6790 2006-06-22  Iain Holmes  <iain@openedhand.com>
6791
6792         * clutter/clutter-util.c: And more
6793
6794 2006-06-22  Ross Burton  <ross@openedhand.com>
6795
6796         * clutter/clutter-label.c:
6797         * clutter/clutter-video-texture.c:
6798         * clutter/clutter-texture.c:
6799         * clutter/clutter-timeline.c:
6800         * clutter/clutter-group.c:
6801         Fix gtk-doc problems.
6802
6803 2006-06-22  Iain Holmes  <iain@openedhand.com>
6804
6805         * clutter/clutter-main.c: More documentation
6806
6807 2006-06-22  Matthew Allum  <mallum@openedhand.com>
6808
6809         * clutter/clutter-main.h:
6810         Remove bogus xvisual call.
6811
6812 2006-06-22  Matthew Allum  <mallum@openedhand.com>
6813
6814         * clutter/clutter-actor.c:
6815         * clutter/clutter-actor.h:
6816         Remove mirroring related calls ( unimplemented )
6817         * gtk/gtk-clutter-test.c: 0 -> NULL
6818
6819 2006-06-22  Iain Holmes  <iain@openedhand.com>
6820
6821         * clutter/clutter-actor.c:
6822         * clutter/clutter-stage.c:
6823         * gtk/gtk-clutter.c: More docs
6824
6825 2006-06-22  Iain Holmes  <iain@openedhand.com>
6826
6827         * clutter/clutter-actor.c: Added some more docs.
6828
6829 2006-06-22  Matthew Allum  <mallum@openedhand.com>
6830
6831         * clutter/clutter-actor.c:
6832         * clutter/clutter-clone-texture.c:
6833         * clutter/clutter-color.c:
6834         * clutter/clutter-event.c:
6835         * clutter/clutter-group.c:
6836         * clutter/clutter-label.c:
6837         * clutter/clutter-main.c:
6838         * clutter/clutter-media.c:
6839         * clutter/clutter-rectangle.c:
6840         * clutter/clutter-stage.c:
6841         * clutter/clutter-texture.c:
6842         * clutter/clutter-timeline.c:
6843         * clutter/clutter-util.c:
6844         * clutter/clutter-video-texture.c:
6845         * configure.ac:
6846         Documentation updates - add section headers.
6847
6848 2006-06-22  Iain Holmes  <iain@openedhand.com>
6849
6850         * gtk/gtk-clutter-test.c (main): Don't show the stage.
6851
6852 2006-06-22  Iain Holmes  <iain@openedhand.com>
6853
6854         * gtk/gtk-clutter.[ch]: Rewrite to use
6855         clutter_stage_set_xwindow_foreign rather than GtkSocket.
6856
6857         * gtk/gtk-clutter-test.c: Add fading!1!!!!11! OMGWTFBBQ!!!
6858
6859 2006-06-21  Emmanuele Bassi  <ebassi@openedhand.com>
6860
6861         * examples/video-cube.c (main): Quit on key press.
6862
6863 2006-06-21  Emmanuele Bassi  <ebassi@openedhand.com>
6864
6865         * clutter/Makefile.am: Re-fix distcheck after last commit.
6866
6867 2006-06-21  Matthew Allum  <mallum@openedhand.com>
6868
6869         * clutter/Makefile.am:
6870         Make sure clutter.h included.
6871         * clutter/clutter-stage.c: (clutter_stage_realize),
6872         (clutter_stage_get_actor_at_pos):
6873         Select for motion events on X window.
6874         Return highest rather than lowest found actor for actor_at_pos.
6875         * examples/Makefile.am:
6876         Remove test-text, remane test video.
6877         * examples/README:
6878         Add info about the included examples.
6879         * examples/test-video.c:
6880         * examples/video-player.c:
6881         Redo test-video a little nicer and rename.
6882         * examples/video-cube.c:
6883         Fix so it at least 'works' again.
6884         * examples/test.c:
6885         Clean up a little.
6886
6887 2006-06-21  Ross Burton  <ross@openedhand.com>
6888
6889         * Makefile.am:
6890         * gtk/Makefile.am:
6891         Add gtk widget to distcheck and fix.
6892
6893 2006-06-21  Emmanuele Bassi  <ebassi@openedhand.com>
6894
6895         * clutter/Makefile.am:
6896         * bindings/python/Makefile.am:
6897         * Makefile.am: Fix distcheck
6898
6899 2006-06-21  Ross Burton  <ross@openedhand.com>
6900
6901         * clutter/Makefile.am:
6902         * examples/Makefile.am:
6903         Fix dist.
6904
6905 2006-06-20  Matthew Allum  <mallum@openedhand.com>
6906
6907         * TODO:
6908         Update.
6909         * clutter/clutter-group.c:
6910         Attempt better group sizing code.
6911         * clutter/clutter-label.c:
6912         Minor tweaks.
6913         * clutter/clutter-texture.c:
6914         More debug info, make sure texture is realised for base_size()
6915         * clutter/clutter-video-texture.c:
6916         Seeking fixes
6917         * examples/test.c: (main):
6918         Populate with more randomness.
6919
6920 2006-06-15  Matthew Allum  <mallum@openedhand.com>
6921
6922         * clutter/clutter-stage.c:
6923         * clutter/clutter-stage.h:
6924         Add clutter_stage_set_xwindow_foreign() call
6925         * clutter/clutter-util.c:
6926         * clutter/clutter-util.h:
6927         Add some X error traps
6928         * examples/super-oh.c:
6929         Toy with us of new clutter_stage_set_xwindow_foreign() for
6930         optional screensaver functionality.
6931
6932 2006-06-14  Matthew Allum  <mallum@openedhand.com>
6933
6934         * configure.ac:
6935         Add checks for GL/gl.h and GL/glx.h
6936
6937 2006-06-14  Matthew Allum  <mallum@openedhand.com>
6938
6939         * AUTHORS:
6940         * README:
6941         * TODO:
6942         Update all.
6943
6944 2006-06-13  Matthew Allum  <mallum@openedhand.com>
6945
6946         * clutter/clutter-video-texture.c:
6947         Add missing license.
6948
6949 2006-06-13  Matthew Allum  <mallum@openedhand.com>
6950
6951         * clutter/Makefile.am:
6952         * clutter/clutter-actor.c:
6953         * clutter/clutter-actor.h:
6954         * clutter/clutter-clone-texture.c:
6955         * clutter/clutter-clone-texture.h:
6956         * clutter/clutter-element.c:
6957         * clutter/clutter-element.h:
6958         * clutter/clutter-group.c:
6959         * clutter/clutter-group.h:
6960         * clutter/clutter-label.c:
6961         * clutter/clutter-label.h:
6962         * clutter/clutter-main.c:
6963         * clutter/clutter-main.h:
6964         * clutter/clutter-rectangle.c:
6965         * clutter/clutter-rectangle.h:
6966         * clutter/clutter-stage.c:
6967         * clutter/clutter-stage.h:
6968         * clutter/clutter-texture.c:
6969         * clutter/clutter-texture.h:
6970         * clutter/clutter-video-texture.c:
6971         * clutter/clutter-video-texture.h:
6972         * clutter/clutter.h:
6973         * examples/super-oh.c:
6974         * examples/test-text.c:
6975         * examples/test-video.c:
6976         * examples/test.c:
6977         * examples/video-cube.c:
6978         * gtk/gtk-clutter-test.c:
6979         * gtk/gtk-clutter.c:
6980         * gtk/gtk-clutter.h:
6981         Element to Actor Renaming.
6982
6983 2006-06-12  Matthew Allum  <mallum@openedhand.com>
6984
6985         * clutter/Makefile.am:
6986         * clutter/clutter-media.c:
6987         * clutter/clutter-media.h:
6988         * clutter/clutter-video-texture.c:
6989         * clutter/clutter-video-texture.h:
6990         * clutter/clutter.h:
6991         * examples/test-video.c: (main):
6992         * examples/video-cube.c: (main):
6993         Add new 'media' interface.
6994         Drop Totem based video playback code replace with newly
6995         rewritten supper Jorn based code. Clutter is now fully LGPL.
6996
6997         * clutter/clutter-texture.c: (tile_dimension):
6998         Remove uneeded overlap code.
6999
7000 2006-06-08  Iain Holmes  <iain@openedhand.com>
7001
7002         * clutter/clutter-texture.c:
7003         Opps, undo change I didn't mean to commit
7004
7005 2006-06-08  Iain Holmes  <iain@openedhand.com>
7006
7007         * configure.ac:
7008         Add gdk-pixbuf-xlib cflags/libs to clutter libs
7009         Build the gtk-clutter.pc file.
7010
7011         * clutter.pc.in:
7012         Add the gdk-pixbuf-xlib depends.
7013
7014         * gtk/gtk-clutter.pc.in:
7015         pkg-config stuff for gtk-clutter
7016
7017         * gtk/Makefile.am:
7018         Install gtk-clutter.pc
7019
7020 2006-06-08  Matthew Allum  <mallum@openedhand.com>
7021
7022         * clutter/clutter-main.c:
7023         * clutter/clutter-private.h:
7024         * clutter/clutter-stage.c:
7025         Rework and fix offscreen rendering, also rejig GLX
7026         context handling, moving mostly into stage.
7027         Require at least OpenGL 1.2 ( CLAMP_TO_EDGE )
7028
7029         * clutter/clutter-texture.c:
7030         Explicity set props on _init() as to avoid nasty can_create
7031         bug failing miserably in certain situations.
7032         Switch to CLAMP_TO_EDGE for textures to avoid tile seams.
7033         Add some more GL error checks.
7034
7035         * clutter/clutter-label.c:
7036         Extra debug info
7037
7038         * configure.ac:
7039         Require gdk-pixbuf-xlib-2.0
7040
7041 2006-06-06  Matthew Allum  <mallum@openedhand.com>
7042
7043         * configure.ac:
7044         Use pkg-config to check for X. Really Check for GL libs.
7045         Make gtk binding optional. Cleanup a little.
7046
7047         * Makefile.am:
7048         * gtk/Makefile.am:
7049         Make gtk binding optional
7050
7051         * clutter/clutter-element.c:
7052         Cleanup a little, notify on size change.
7053
7054         * clutter/clutter-texture.c:
7055         Lots of cleanups. Add waste prop. Add filter quality prop.
7056
7057         * clutter/clutter-clone-texture.c:
7058         Make object construction simpler to work better with bindings.
7059
7060         * clutter/clutter-stage.c:
7061         * clutter/clutter-timeline.c:
7062         Minor reformating, cleanups.
7063
7064         * examples/test-text.c: (main):
7065         Random experimentation
7066
7067 2006-06-06  Iain Holmes  <iain@openedhand.com>
7068
7069         * gtk/gtk-clutter.c (size_request): Take the size of the widget from
7070         the ClutterStage.
7071         (gtk_clutter_class_init): Hook up size-request
7072
7073 2006-06-06  Iain Holmes  <iain@openedhand.com>
7074
7075         * gtk/: Add a gtk widget for clutter.
7076
7077         * configure.ac: Add GTK checks
7078
7079         * Makefile.am: Go into gtk/
7080
7081 2006-06-05  Matthew Allum  <mallum@openedhand.com>
7082
7083         * clutter/clutter-group.c: (clutter_group_remove):
7084         Fix parent check.
7085
7086 2006-06-05  Matthew Allum  <mallum@openedhand.com>
7087
7088         * clutter/clutter-event.h:
7089         Remove send_event field. Clutter shouldn't need it.
7090
7091         * clutter/clutter-main.c: (clutter_dispatch_x_event):
7092         Dont malloc a new clutter event for each xevent.
7093
7094         * clutter/clutter-stage.h:
7095         * clutter/clutter-stage.c: (clutter_stage_class_init),
7096         (clutter_stage_get_default):
7097         Dont ref stage from clutter_stage_get_default.
7098
7099         * examples/super-oh.c: (main):
7100         Remove some now uneeded debug g_prints
7101
7102 2006-06-05  Emmanuele Bassi  <ebassi@openedhand.com>
7103
7104         * clutter-color.h:
7105         * clutter-color.c: Reimplement ClutterColor as a boxed type;
7106         add convenience API for color handling, like: add, subtract,
7107         shade, HSL color-space conversion, packing and unpacking.
7108
7109         * clutter-private.h: Update ClutterMainContext, and export the
7110         main context pointer here.
7111
7112         * clutter-rectangle.h:
7113         * clutter-rectangle.c: Update the color-related code; make
7114         clutter_rectangle_new() and empty constructor and provide
7115         clutter_rectangle_new_with_color(); provide color setter
7116         and getter API.
7117
7118         * clutter-label.h:
7119         * clutter-label.c: Rename the "font" property to "font-name";
7120         update the color-related code to the new ClutterColor object;
7121         rename clutter_label_new() to clutter_label_new_with_text(),
7122         and add setters and getters for the properties.
7123
7124         * clutter-marshal.list: Add VOID:OBJECT and VOID:BOXED marshallers
7125         generators.
7126
7127         * clutter-stage.h:
7128         * clutter-stage.c: Rework the API: provide a default constructor
7129         for a singleton object, named clutter_stage_get_default(), which
7130         supercedes the clutter_stage() function in clutter-main; provide
7131         new events: button-press-event, button-release-event,
7132         key-press-event and key-release-event; update the color-related
7133         code;
7134
7135         (clutter_stage_snapshot): Allow negative width and height when
7136         taking a snapshot (meaning: use full width/height).
7137
7138         (clutter_stage_get_element_at_pos): Rename clutter_stage_pick().
7139
7140         * clutter-element.c (clutter_element_paint): Clean up the
7141         stage and color related code.
7142
7143         * clutter-event.h:
7144         * clutter-event.c: Add generic ClutterAnyEvent type; add
7145         clutter_event_new(), clutter_event_copy() and clutter_event_free();
7146         make ClutterEvent a boxed type.
7147
7148         * clutter-main.h:
7149         * clutter-main.c: Remove clutter_stage(); add clutter_main_quit(),
7150         for cleanly quitting from clutter_main(); add multiple mainloops
7151         support; allocate the ClutterCntx instead of adding it to the
7152         stack; re-work the ClutterEvent dispatching.
7153
7154         * clutter-group.c (clutter_group_add), (clutter_group_remove): Keep
7155         a reference on the element when added to a ClutterGroup.
7156
7157         * examples/rects.py
7158         * examples/test.c:
7159         * examples/test-text.c:
7160         * examples/video-cube.c:
7161         * examples/super-oh.c:
7162         * examples/test-video.c: Update.
7163
7164 2006-06-04  Matthew Allum  <mallum@openedhand.com>
7165
7166         * clutter/clutter-element.c:
7167         * clutter/clutter-group.c:
7168         * clutter/clutter-group.h:
7169         Work more on depth ( Z ) setting with sorting.
7170
7171         * clutter/clutter-main.c: (clutter_redraw):
7172         Experiment with glXWaitVideoSyncSGI. Currently disabled.
7173
7174 2006-06-02  Matthew Allum  <mallum@openedhand.com>
7175
7176         * clutter/clutter-element.h:
7177         Add missing _depth() declarations
7178
7179         * clutter/clutter-main.c:
7180         * clutter/clutter-main.h:
7181         * clutter/clutter-private.h:
7182         * clutter/clutter-stage.c:
7183         * clutter/clutter-stage.h:
7184         Rejig GL setup as for stage to support an offscreen property.
7185         Offscreen support is however a little borked.
7186
7187 2006-06-01  Matthew Allum  <mallum@openedhand.com>
7188
7189         * clutter/clutter-element.c:
7190         Fix a snafu in clutter_element_raise ()
7191
7192         * clutter/clutter-timeline.c:
7193         * clutter/clutter-timeline.h:
7194         Add new clutter_timeline_is_playing() method
7195
7196 2006-05-29  Matthew Allum  <mallum@openedhand.com>
7197
7198         * clutter/clutter-color.c: (clutter_color_set):
7199         Fix bit shifts in clutter color setters.
7200
7201 2006-05-29  Matthew Allum  <mallum@openedhand.com>
7202
7203         * clutter/clutter-element.c:
7204         * clutter/clutter-element.h:
7205         Add initial new element depth() getter and setter.
7206
7207         * clutter/clutter-group.c:
7208         * clutter/clutter-group.h:
7209         Add 2 new methods for listing a groups children externally.
7210
7211 2006-05-27  Emmanuele Bassi  <ebassi@openedhand.com>
7212
7213         * clutter/clutter-clone-texture.c (set_parent_texture),
7214         (clutter_clone_texture_set_property),
7215         (clutter_clone_texture_get_property),
7216         (clutter_clone_texture_class_init),
7217         (clutter_clone_texture_new): Add a "parent-texture"
7218         constructor-only property to simplify the constructor code.
7219
7220         * clutter/clutter-rectangle.c (clutter_rectangle_new):
7221         * clutter/clutter-timeline.c (clutter_timeline_new): Simplify
7222         the constructor code.
7223
7224         * examples/rect.py: Use the new method names for clutter.main()
7225         and clutter.stage().
7226
7227 2006-05-26  Emmanuele Bassi  <ebassi@openedhand.com>
7228
7229         * clutter/clutter-element.c: Fix gtk-doc annotations for public
7230         functions; add sanity checks for public API; factor out some
7231         pointer dereferences.
7232
7233 2006-05-26  Emmanuele Bassi  <ebassi@openedhand.com>
7234
7235         Big entry, small changes.
7236
7237         * clutter/clutter-rectangle.c:
7238         * clutter/clutter-clone-texture.c:
7239         * clutter/clutter-group.c:
7240         * clutter/clutter-element.c:
7241         * clutter/clutter-label.c: Use the GObject built-in definition
7242         of a private data structure; it removes the need for managing
7243         the allocation/de-allocation of a private structure ourselves.
7244
7245         * clutter/clutter-group.h:
7246         * clutter/clutter-label.h: Add padding, for adding signals and
7247         other class-wide definitions without breaking ABI.
7248
7249         * clutter/clutter-element.h:
7250         * clutter/clutter-element.c (clutter_element_box_get_type),
7251         (clutter_element_box_copy): Make ClutterElementBox a GBoxed
7252         type; clean up declarations of the enums and flags.
7253
7254         * clutter/clutter-group.h:
7255         * clutter/clutter-group.c (clutter_group_add_many_valist),
7256         (clutter_group_add_many): Add a _valist version of
7257         clutter_group_add_many() function, and re-implement the latter
7258         as a proxy for the former; language bindings do not cope
7259         well with variable argument functions.
7260
7261         * clutter/clutter-video-texture.h:
7262         * clutter/clutter-video-texture.c: Use the right prefix for
7263         the error and for the ratio enumerations.
7264
7265         * clutter/*.c:
7266         * clutter/*.h:
7267         * clutter/Makefile.am: Use the <clutter/...> include path
7268         for parallel installations.
7269
7270         * clutter/Makefile.am:
7271         * clutter/clutter-enum-types.h:
7272         * clutter/clutter-enum-types.c: Register the enumeration types
7273         inside the GObject type system in order to use them as properties
7274         and bindings automagically pick them up.
7275
7276         * bindings/python/ChangeLog: Add a changelog for the bindings...
7277
7278         * doc/reference/ChangeLog: ... and a changelog for the reference.
7279
7280         * examples/test.c:
7281         * examples/video-cube.c:
7282         * examples/test-video.c: Use the <clutter/clutter.h> header.
7283
7284 2006-05-25  Matthew Allum  <mallum@openedhand.com>
7285
7286         * clutter/clutter-clone-texture.c:
7287         (clone_texture_render_to_gl_quad):
7288         Remove uneeded bogus warning. Fix a typo causing large
7289         texture to get incorrectly rendered.
7290         * clutter/clutter-texture.c: (init_tiles),
7291         (texture_render_to_gl_quad), (clutter_texture_sync_pixbuf),
7292         (clutter_texture_realize):
7293         Add some new debug info.
7294         * clutter/clutter-video-texture.c: (fakesink_handoff_cb):
7295         Set the pixbuf from GST_BUFFER_DATA() a little safer.
7296
7297 2006-05-25  Matthew Allum  <mallum@openedhand.com>
7298
7299         * clutter.pc.in:
7300         Fix prefix snafu via Ross.
7301
7302 2006-05-24  Matthew Allum  <mallum@openedhand.com>
7303
7304         * clutter/clutter-element.c: (clutter_element_paint),
7305         (clutter_element_class_init):
7306         * clutter/clutter-label.c: (clutter_label_make_pixbuf):
7307         * clutter/clutter-main.c: (clutter_main):
7308         * clutter/clutter-stage.c: (sync_fullscreen), (sync_gl_viewport):
7309         * clutter/clutter-stage.h:
7310         Various minor tweaks / fixes needed by o.p.t
7311         * clutter/clutter-texture.c: (texture_render_to_gl_quad),
7312         (clutter_texture_sync_pixbuf), (clutter_texture_set_property),
7313         (clutter_texture_get_property), (clutter_texture_class_init):
7314         Experiment adding currently borked repreating textures,
7315         * clutter/clutter-timeline.c: (timeline_timeout_func),
7316         (clutter_timeline_skip):
7317         Fix timeline callback frame counting.
7318         * examples/test-video.c: (main):
7319         Experiment with repeated textures.
7320
7321 2006-05-23  Matthew Allum  <mallum@openedhand.com>
7322
7323         * clutter/clutter-clone-texture.h:
7324         Fix Include.
7325         * clutter/clutter-element.c: (clutter_element_set_parent):
7326         Only unref if parent non NULL
7327         * clutter/clutter-label.c: (clutter_label_class_init),
7328         (clutter_label_set_text), (clutter_label_set_font):
7329         * clutter/clutter-stage.h:
7330         Add some utility defines
7331         * clutter/clutter-texture.c: (init_tiles):
7332         * clutter/clutter-timeline.c: (clutter_timeline_class_init),
7333         (timeline_timeout_func), (clutter_timeline_get_current_frame):
7334         * clutter/clutter-timeline.h:
7335         Add a 'completed' signal
7336         Dont free priv when g_type_class_private used.
7337         * clutter/clutter.h:
7338         Add missing clutter-rectangle.h
7339         * examples/Makefile.am:
7340         * examples/super-oh.c: (main):
7341         * examples/test.c:
7342         * examples/video-cube.c:
7343         Fix includes
7344
7345 2006-05-22  Matthew Allum  <mallum@openedhand.com>
7346
7347         * clutter/clutter-element.c:
7348         * clutter/clutter-element.h:
7349         * clutter/clutter-event.c:
7350         * clutter/clutter-group.c: (clutter_group_remove_all):
7351         * clutter/clutter-group.h:
7352         * clutter/clutter-main.c: (translate_button_event),
7353         (translate_motion_event):
7354         Improve mouse event handling.
7355         Add code to map arbituary ( i.e cursor ) position to
7356         a clutter element using OpenGL 'picking'.
7357         * clutter/clutter-texture.c:
7358         * clutter/clutter-clone-texture.c:
7359         re-realize parent texture if it gets hidden.
7360         * clutter/clutter-stage.c:
7361         * clutter/clutter-stage.h:
7362         Make sure stage sets gl viewport up even if just default size.
7363         (clutter_texture_hide), (clutter_texture_paint):
7364         * doc/reference/Makefile.am:
7365         * examples/super-oh.c: (input_cb), (frame_cb), (main):
7366         Add test for mouse events, click to remove.
7367
7368 2006-05-21  Matthew Allum  <mallum@openedhand.com>
7369
7370         * clutter/clutter-element.c:
7371         * clutter/clutter-element.h:
7372         Add new core sizing methods and more documentation.
7373         * clutter/clutter-group.c:
7374         * clutter/clutter-group.h:
7375         Use the sizing bits and documentation.
7376         * clutter/clutter-main.c:
7377         * clutter/clutter-event.h:
7378         Add FPS display when CLUTTER_SHOW_FPS env var set.
7379         Add initial support for mouse events.
7380         * clutter/clutter-stage.c:
7381         Add 'snapshot' method.
7382         * clutter/clutter-texture.c: (clutter_texture_new_from_pixbuf):
7383         * clutter/clutter-texture.h:
7384         Documentation.
7385         * clutter/clutter-timeline.c:
7386         Add support for changing FPS setting on the fly. Document.
7387         * examples/super-oh.c: (frame_cb), (main):
7388         Add an optional motion trails effect.
7389
7390 2006-05-17  Matthew Allum  <mallum@openedhand.com>
7391
7392         * README:
7393         Add a tiny bit of info
7394         * TODO:
7395         Sync up a little
7396         * clutter/clutter-clone-texture.c:
7397         (clone_texture_render_to_gl_quad):
7398         * clutter/clutter-element.c: (clutter_element_show),
7399         (clutter_element_realize), (clutter_element_unrealize),
7400         (clutter_element_paint), (clutter_element_set_id),
7401         (clutter_element_get_id):
7402         * clutter/clutter-element.h:
7403         Rename REALISE() to REALIZE()
7404
7405         * clutter/clutter-texture.c: (texture_render_to_gl_quad),
7406         (clutter_texture_sync_pixbuf), (clutter_texture_set_pixbuf):
7407         * clutter/clutter-video-texture.c: (query_timeout),
7408         (got_video_size), (caps_set), (parse_stream_info),
7409         (handle_element_message), (bus_message_cb),
7410         (poll_for_state_change_full), (clutter_video_texture_get_property),
7411         (clutter_video_texture_class_init), (clutter_video_texture_init),
7412         (clutter_video_texture_open), (clutter_video_texture_seek_time),
7413         (stop_play_pipeline):
7414         * clutter/clutter-video-texture.h:
7415         Move over using fakesink and handoff instead of custom element
7416         Support 3 channel pixbufs as textures and thus increase efficiency
7417         of video texture ( also avoids byte swapping. )
7418         Clean up video texture code somemore.
7419         Add some metadata support.
7420
7421         * Makefile.am:
7422         * configure.ac:
7423         Disable old custom clutter gst element from build.
7424
7425         * examples/test-video.c: (foo), (size_change), (tick), (main):
7426         * examples/video-cube.c: (clutter_video_texture_cube_paint):
7427         Sink with new API. Pause on key press.
7428
7429 2006-05-13  Matthew Allum  <mallum@openedhand.com>
7430
7431         * clutter/clutter-element.c: (redraw_update_idle),
7432         (clutter_element_show), (clutter_element_hide),
7433         (clutter_element_realize), (clutter_element_unrealize),
7434         (clutter_element_class_init), (clutter_element_init),
7435         (clutter_element_queue_redraw), (clutter_element_set_geometry),
7436         (clutter_element_get_geometry), (clutter_element_get_coords),
7437         (clutter_element_set_position), (clutter_element_set_size),
7438         (clutter_element_get_abs_position), (clutter_element_get_width),
7439         (clutter_element_get_height), (clutter_element_get_x),
7440         (clutter_element_get_y), (clutter_element_set_opacity):
7441         * clutter/clutter-texture.c: (clutter_texture_get_base_size),
7442         (clutter_texture_bind_tile), (clutter_texture_get_n_tiles),
7443         (clutter_texture_get_x_tile_detail),
7444         (clutter_texture_get_y_tile_detail):
7445         * doc/reference/Makefile.am:
7446         * doc/reference/clutter.types:
7447         Documentation updates.
7448
7449 2006-05-13  Matthew Allum  <mallum@openedhand.com>
7450
7451         * clutter.pc.in:
7452         Add @MAJORMINOR@ to installed dirs.
7453         * clutter/clutter-main.c: (clutter_xscreen), (clutter_init):
7454         * clutter/clutter-main.h:
7455         * clutter/clutter-private.h:
7456         Quick fix for debug statements so now only appear
7457         if CLUTTER_DBBUG env var set.
7458
7459 2006-05-12  Matthew Allum  <mallum@openedhand.com>
7460
7461         * configure.ac:
7462         * Makefile.am:
7463         * clutter/Makefile.am:
7464         * bindings/python/Makefile.am:
7465         * examples/Makefile.am:
7466         * gst/Makefile.am:
7467         Clean up autofoo a bit fixing versioning.
7468         * bootstrap-autotools.sh:
7469         * clutter-1.0.pc.in:
7470         Rename.
7471
7472 2006-05-12  Matthew Allum  <mallum@openedhand.com>
7473
7474         * bindings/python/Makefile.am:
7475         * bindings/python/clutter.override:
7476         * clutter/Makefile.am:
7477         * clutter/clutter-bin.c:
7478         * clutter/clutter-bin.h:
7479         * clutter/clutter-element.c: (clutter_element_dispose),
7480         (clutter_element_raise), (clutter_element_lower):
7481         * clutter/clutter-group.c:
7482         * clutter/clutter-group.h:
7483         * clutter/clutter-main.c: (clutter_threads_leave):
7484         * clutter/clutter-main.h:
7485         * clutter/clutter-stage.c: (clutter_stage_class_init):
7486         * clutter/clutter-stage.h:
7487         * clutter/clutter.h:
7488         * examples/super-oh.c: (frame_cb), (main):
7489         * examples/test-text.c: (main):
7490         * examples/test-video.c: (main):
7491         * examples/test.c: (main):
7492         * examples/video-cube.c: (main):
7493         Rename clutter-bin to clutter-group
7494
7495 2006-05-11  Matthew Allum  <mallum@openedhand.com>
7496
7497         * clutter/clutter-clone-texture.c:
7498         (clone_texture_render_to_gl_quad), (clutter_clone_texture_paint),
7499         (clutter_clone_texture_class_init), (clutter_clone_texture_new):
7500         Fix cloning.
7501         * clutter/clutter-element.c: (clutter_element_rotate_z),
7502         (clutter_element_rotate_x), (clutter_element_rotate_y):
7503         Minor tweaks
7504         * examples/Makefile.am:
7505         * examples/super-oh.c:
7506         Add a new demo - unsing rotations and clones.
7507
7508 2006-05-11  Matthew Allum  <mallum@openedhand.com>
7509
7510         * bindings/python/Makefile.am:
7511         * bindings/python/clutter-base-types.defs:
7512         * bindings/python/clutter-base.defs:
7513         * bindings/python/clutter.override:
7514         Python goodiness from ebassi.
7515          - Element geometry handled nicely.
7516          - get_coords(), get_abs_position() added.
7517
7518         * clutter/clutter-element.c: (clutter_element_rotate_x),
7519         (clutter_element_rotate_y), (clutter_element_mirror),
7520         * clutter/clutter-element.h:
7521         Add initial rotation API. Make Geometry boxed ( ebassi )
7522
7523         * clutter/clutter-stage.c: (sync_gl_viewport):
7524         Set depth in main world transform.
7525
7526         * clutter/clutter-timeline.h:
7527         Add missing new() api call.
7528
7529         * examples/test.c: (timeout_text_cb), (frame_cb), (main):
7530         Tou with some rotation
7531
7532 2006-05-11  Matthew Allum  <mallum@openedhand.com>
7533
7534         reviewed by: <delete if not using a buddy>
7535
7536         * bindings/python/Makefile.am:
7537         * bindings/python/clutter-base-types.defs:
7538         * bindings/python/clutter-base.defs:
7539         * bindings/python/clutter.override:
7540         * clutter/clutter-bin.c: (clutter_bin_paint):
7541         * clutter/clutter-element.c: (clutter_element_paint),
7542         (clutter_element_get_height), (clutter_element_get_x),
7543         (clutter_element_get_y), (clutter_element_set_opacity),
7544         (clutter_element_get_opacity), (clutter_element_set_id),
7545         (clutter_element_get_id), (clutter_element_rotate_x),
7546         (clutter_element_rotate_y), (clutter_element_mirror),
7547         (clutter_element_set_clip), (clutter_element_remove_clip),
7548         (clutter_element_set_parent), (clutter_element_get_parent),
7549         (clutter_element_raise), (clutter_element_lower),
7550         (clutter_element_raise_top), (clutter_element_lower_bottom):
7551         * clutter/clutter-element.h:
7552         * clutter/clutter-main.c: (clutter_redraw):
7553         * clutter/clutter-stage.c: (sync_gl_viewport):
7554         * clutter/clutter-timeline.h:
7555         * examples/test.c: (timeout_text_cb), (frame_cb), (main):
7556
7557 2006-05-09  Matthew Allum  <mallum@openedhand.com>
7558
7559         * COPYING:
7560         * clutter/clutter-bin.c:
7561         * clutter/clutter-bin.h:
7562         * clutter/clutter-clone-texture.c:
7563         * clutter/clutter-clone-texture.h:
7564         * clutter/clutter-color.c:
7565         * clutter/clutter-color.h:
7566         * clutter/clutter-element.c:
7567         * clutter/clutter-element.h:
7568         * clutter/clutter-event.c:
7569         * clutter/clutter-event.h:
7570         * clutter/clutter-keysyms.h:
7571         * clutter/clutter-label.c:
7572         * clutter/clutter-label.h:
7573         * clutter/clutter-main.c:
7574         * clutter/clutter-main.h:
7575         * clutter/clutter-private.h:
7576         * clutter/clutter-rectangle.c:
7577         * clutter/clutter-rectangle.h:
7578         * clutter/clutter-stage.c:
7579         * clutter/clutter-stage.h:
7580         * clutter/clutter-texture.c:
7581         * clutter/clutter-texture.h:
7582         * clutter/clutter-timeline.c:
7583         * clutter/clutter-timeline.h:
7584         * clutter/clutter-util.c:
7585         * clutter/clutter-util.h:
7586         Add license info.
7587
7588 2006-05-08  Matthew Allum  <mallum@openedhand.com>
7589
7590         * clutter/Makefile.am:
7591         * clutter/clutter-event.c:
7592         * clutter/clutter-event.h:
7593         * clutter/clutter-keysyms.h:
7594         * clutter/clutter-main.c: (clutter_dispatch_x_event):
7595         * clutter/clutter-stage.c: (clutter_stage_class_init):
7596         * clutter/clutter-stage.h:
7597         * clutter/clutter.h:
7598         * bindings/python/Makefile.am:
7599         * bindings/python/clutter.override:
7600         Add basic input event handling. Keys only atm.
7601
7602 2006-05-08  Matthew Allum  <mallum@openedhand.com>
7603
7604         * TODO:
7605         Sync a little.
7606         * bindings/python/Makefile.am:
7607         * bindings/python/clutter.override:
7608         Fix up so pixbufs now work ( thanks ebassi! )
7609         Add some missing newer headers.
7610         * clutter/clutter-main.h:
7611         Remove unused clutter_queue_redraw();
7612
7613 2006-05-07  Matthew Allum  <mallum@openedhand.com>
7614
7615         * clutter/clutter-element.c: (clutter_element_class_init),
7616         (clutter_element_init), (clutter_element_queue_redraw),
7617         (clutter_element_set_geometry), (clutter_element_get_geometry),
7618         (clutter_element_get_coords), (clutter_element_set_position),
7619         (clutter_element_set_size), (clutter_element_get_abs_position),
7620         (clutter_element_get_width), (clutter_element_get_height),
7621         (clutter_element_get_x), (clutter_element_get_y),
7622         (clutter_element_set_opacity):
7623         * clutter/clutter-main.c: (clutter_dispatch_x_event):
7624         * clutter/clutter-main.h:
7625         * clutter/clutter-private.h:
7626         * clutter/clutter-stage.c: (clutter_stage_set_color):
7627         * clutter/clutter-texture.c: (clutter_texture_set_pixbuf):
7628         Rename clutter_queue_redraw -> clutter_element_queue_redraw
7629
7630         * clutter/clutter-label.c: (clutter_label_make_pixbuf),
7631         (clutter_label_set_property), (clutter_label_set_text_extents):
7632         * clutter/clutter-label.h:
7633         Fixes to extents
7634
7635         * examples/Makefile.am:
7636         * examples/test-text.c:
7637         Add sime test text example.
7638
7639 2006-05-07  Matthew Allum  <mallum@openedhand.com>
7640
7641         * clutter/clutter-label.c: (clutter_label_make_pixbuf),
7642         (clutter_label_get_property), (clutter_label_dispose),
7643         (clutter_label_class_init), (clutter_label_init),
7644         (clutter_label_new_with_text), (clutter_label_new),
7645         (clutter_label_set_text), (clutter_label_set_font),
7646         (clutter_label_set_text_extents), (clutter_label_set_fg_color):
7647         * examples/test.c: (main):
7648         Slight efficiency improvements. Add initial extents API.
7649
7650 2006-05-07  Matthew Allum  <mallum@openedhand.com>
7651
7652         * TODO:
7653         resync.
7654         * clutter/Makefile.am:
7655         * clutter/clutter-clone-texture.c:
7656         * clutter/clutter-clone-texture.h:
7657         Add new texture clone element.
7658         * clutter/clutter-color.c:
7659         * clutter/clutter-color.h:
7660         Add simple color API.
7661         * clutter/clutter-util.c:
7662         * clutter/clutter-util.h:
7663         Move shared texture funcs into shared util code.
7664         * clutter/clutter-texture.c: (can_create), (tile_dimension),
7665         (init_tiles), (texture_render_to_gl_quad),
7666         (clutter_texture_unrealize), (clutter_texture_sync_pixbuf),
7667         (clutter_texture_realize), (clutter_texture_show),
7668         (clutter_texture_hide), (clutter_texture_paint),
7669         (clutter_texture_finalize), (clutter_texture_set_property),
7670         (clutter_texture_get_property), (clutter_texture_class_init),
7671         (clutter_texture_init), (clutter_texture_set_pixbuf),
7672         (clutter_texture_new_from_pixbuf), (clutter_texture_get_base_size),
7673         (clutter_texture_bind_tile):
7674         Changes for clones to work.
7675         * clutter/clutter-element.c: (clutter_element_paint),
7676         (clutter_element_set_property), (clutter_element_get_property),
7677         (clutter_element_set_position), (clutter_element_set_size),
7678         (clutter_element_get_abs_position), (clutter_element_get_width),
7679         (clutter_element_get_height), (clutter_element_get_x),
7680         (clutter_element_get_y), (clutter_element_set_opacity),
7681         (clutter_element_get_opacity), (clutter_element_set_id),
7682         (clutter_element_get_id), (clutter_element_set_clip):
7683         * clutter/clutter-element.h:
7684         Add clipping and other tweaks.
7685         * clutter/clutter-stage.c: (sync_gl_viewport),
7686         (clutter_stage_paint), (clutter_stage_init):
7687         Add psuedo 3D desktop like GL setup.
7688         * clutter/clutter-label.c: (clutter_label_make_pixbuf):
7689         * clutter/clutter-label.h:
7690         * clutter/clutter-main.c: (clutter_redraw):
7691         * clutter/clutter-main.h:
7692         * clutter/clutter-private.h:
7693         * clutter/clutter-rectangle.c: (clutter_rectangle_paint):
7694         * clutter/clutter-stage.h:
7695         * clutter/clutter-texture.h:
7696         * clutter/clutter-timeline.c: (clutter_timeline_class_init):
7697         * clutter/clutter-video-texture.c:
7698         * clutter/clutter.h:
7699         * examples/test-video.c: (foo), (size_change), (tick), (main):
7700         * examples/test.c: (main):
7701         * examples/video-cube.c: (clutter_video_texture_cube_paint),
7702         (clutter_video_texture_cube_class_init),
7703         (clutter_video_texture_cube_init):
7704         Various minor tweaks for API changes, new features etc.
7705
7706 2006-05-03  Matthew Allum  <mallum@openedhand.com>
7707
7708         * clutter/clutter-bin.c: (clutter_bin_paint):
7709         * clutter/clutter-bin.h:
7710         * clutter/clutter-element.c: (clutter_element_unrealize),
7711         (clutter_element_paint), (clutter_element_set_property),
7712         (clutter_element_get_property), (clutter_element_dispose),
7713         (clutter_element_finalize), (clutter_element_class_init),
7714         (clutter_element_init), (clutter_element_queue_redraw),
7715         (clutter_element_set_geometry), (clutter_element_get_geometry),
7716         (clutter_element_get_coords), (clutter_element_set_position),
7717         (clutter_element_set_size), (clutter_element_get_abs_position),
7718         (clutter_element_set_opacity), (clutter_element_get_opacity),
7719         (clutter_element_set_clip), (clutter_element_remove_clip),
7720         (clutter_element_set_parent), (clutter_element_get_parent),
7721         (clutter_element_raise), (clutter_element_lower),
7722         (clutter_element_raise_top), (clutter_element_lower_bottom):
7723         * clutter/clutter-element.h:
7724         * clutter/clutter-label.c: (clutter_label_set_fg_color):
7725         * clutter/clutter-rectangle.c: (clutter_rectangle_paint),
7726         (clutter_rectangle_set_property), (clutter_rectangle_init):
7727         * clutter/clutter-stage.c: (sync_xwindow_size):
7728         * clutter/clutter-texture.c: (clutter_texture_paint),
7729         (clutter_texture_set_pixbuf):
7730         Clean up ClutterElement, removing globals, improving sizing
7731         and initial clipping code.
7732
7733         * clutter/clutter.h:
7734         * clutter/clutter-timeline.c: (clutter_timeline_class_init),
7735         (timeline_timeout_func), (clutter_timeline_start),
7736         (clutter_timeline_pause), (clutter_timeline_rewind),
7737         (clutter_timeline_skip), (clutter_timeline_advance),
7738         (clutter_timeline_get_current_frame), (clutter_timeline_new):
7739         * clutter/clutter-timeline.h:
7740         Various fixes to timelines. Implement frame skipping.
7741
7742         * examples/test.c: (timeout_text_cb), (main):
7743         Update to use timeline.
7744
7745 2006-05-02  Matthew Allum  <mallum@openedhand.com>
7746
7747         * TODO:
7748         Update
7749         * clutter/clutter-element.h:
7750         * clutter/clutter-rectangle.h:
7751         Minor formatting cleanups
7752
7753 2006-05-02  Matthew Allum  <mallum@openedhand.com>
7754
7755         * clutter/Makefile.am:
7756         * clutter/clutter-timeline.c:
7757         * clutter/clutter-timeline.h:
7758         Add initial timeline implementation
7759
7760 2006-05-02  Matthew Allum  <mallum@openedhand.com>
7761
7762         * bindings/python/Makefile.am:
7763         * bindings/python/cluttermodule.c: (initclutter):
7764         Fix python build with new -1.0 naming. Use of GdkPixbufs
7765         still causing crashes.
7766
7767 2006-04-30  Matthew Allum  <mallum@openedhand.com>
7768
7769         * clutter/clutter-main.c: (events_init), (redraw_update_idle),
7770         (clutter_queue_redraw), (clutter_redraw):
7771         Fix repaint queueing, using idle handler now.
7772         Clean up some minor compiler warnings.
7773         * clutter/clutter-main.h:
7774         * clutter/clutter-texture.c: (clutter_texture_unrealize),
7775         (clutter_texture_set_pixbuf):
7776         Rename gl_lock/unlock to threads_enter/leaver
7777
7778 2006-04-30  Matthew Allum  <mallum@openedhand.com>
7779
7780         * Makefile.am:
7781         * clutter-1.0.pc.in:
7782         * clutter/Makefile.am:
7783         * clutter/clutter-bin.h:
7784         * clutter/clutter-label.h:
7785         * clutter/clutter-rectangle.h:
7786         * clutter/clutter-stage.h:
7787         * clutter/clutter-texture.h:
7788         * clutter/clutter-video-texture.h:
7789         * clutter/clutter.h:
7790         * configure.ac:
7791         * examples/Makefile.am:
7792         Add .pc file, tag -1.0 onto lib, includes dir naming.
7793
7794 2006-04-29  Matthew Allum  <mallum@openedhand.com>
7795
7796         * clutter/clutter-main.c: (clutter_dispatch_x_event),
7797         (clutter_queue_redraw), (clutter_redraw):
7798         Simplify paint event queueing. Does not actually queue
7799         anymore (broken), needs wrong to reduce high number of
7800         uneeded paints.
7801
7802         * clutter/clutter-texture.c: (clutter_texture_set_pixbuf):
7803         Remove visible check which broke paints of resized texture pixmaps.
7804
7805 2006-04-19  Matthew Allum  <mallum@openedhand.com>
7806
7807         * clutter/clutter-bin.c: (clutter_bin_paint), (clutter_bin_add):
7808         * clutter/clutter-element.c: (clutter_element_paint):
7809         * clutter/clutter-element.h:
7810         * clutter/clutter-label.c: (clutter_label_set_property),
7811         (clutter_label_get_property), (clutter_label_class_init):
7812         * clutter/clutter-marshal.list:
7813         * clutter/clutter-rectangle.c: (clutter_rectangle_set_property),
7814         (clutter_rectangle_get_property), (clutter_rectangle_class_init):
7815         * clutter/clutter-stage.c: (clutter_stage_dispose),
7816         (clutter_stage_get_property), (clutter_stage_class_init):
7817         * clutter/clutter-texture.c: (clutter_texture_realize),
7818         (clutter_texture_class_init), (clutter_texture_set_pixbuf):
7819         * clutter/clutter-texture.h:
7820         More object cleanups. Add signal to texture size changes.
7821         Fix color props. Adjust element realise flags workings ( broken ).
7822         * examples/test-video.c: (main):
7823         Broken due to realize flag changes.
7824
7825 2006-04-18  Matthew Allum  <mallum@openedhand.com>
7826
7827         * clutter/clutter-bin.c: (clutter_bin_get_property),
7828         (clutter_bin_finalize), (clutter_bin_class_init),
7829         (clutter_bin_new), (clutter_bin_show_all), (clutter_bin_hide_all),
7830         (clutter_bin_add):
7831         * clutter/clutter-bin.h:
7832         * clutter/clutter-element.c: (clutter_element_get_property),
7833         (clutter_element_finalize), (clutter_element_class_init),
7834         (clutter_element_set_parent), (clutter_element_get_parent),
7835         (clutter_element_raise), (clutter_element_lower):
7836         * clutter/clutter-element.h:
7837         * clutter/clutter-label.c: (clutter_label_make_pixbuf),
7838         (clutter_label_get_property), (clutter_label_dispose),
7839         (clutter_label_finalize), (clutter_label_class_init),
7840         (clutter_label_init), (clutter_label_new_with_text),
7841         (clutter_label_new), (clutter_label_set_text),
7842         (clutter_label_set_font), (clutter_label_set_fg_color):
7843         * clutter/clutter-label.h:
7844         * clutter/clutter-rectangle.c: (clutter_rectangle_paint),
7845         (clutter_rectangle_set_property), (clutter_rectangle_get_property),
7846         (clutter_rectangle_finalize), (clutter_rectangle_dispose),
7847         (clutter_rectangle_class_init), (clutter_rectangle_init),
7848         (clutter_rectangle_new):
7849         * clutter/clutter-texture.c: (clutter_texture_paint),
7850         (clutter_texture_dispose), (clutter_texture_finalize),
7851         (clutter_texture_set_property), (clutter_texture_get_property),
7852         (clutter_texture_class_init), (clutter_texture_init),
7853         (clutter_texture_set_pixbuf), (clutter_texture_new_from_pixbuf):
7854         Various GObject usages cleanups, adding properties and
7855         finalize/dispose functions properly.
7856
7857 2006-04-18  Matthew Allum  <mallum@openedhand.com>
7858
7859         * bindings/python/Makefile.am:
7860         * bindings/python/clutter.override:
7861         * bindings/python/cluttermodule.c: (initclutter):
7862         * clutter/clutter-label.h:
7863         * clutter/clutter-rectangle.h:
7864         * clutter/clutter-video-texture.h:
7865         More fixups to now less broken python bindings
7866         * examples/rects.py:
7867         A simple python script using bindings
7868
7869 2006-04-18  Matthew Allum  <mallum@openedhand.com>
7870
7871         * clutter/clutter-marshal.list:
7872         Add missing.
7873
7874 2006-04-17  Matthew Allum  <mallum@openedhand.com>
7875
7876         * Makefile.am:
7877         * bindings/Makefile.am:
7878         * bindings/python/Makefile.am:
7879         * bindings/python/clutter.override:
7880         * bindings/python/cluttermodule.c:
7881         * configure.ac:
7882         First shot at some python bindings ( broken atm )
7883         * clutter/clutter-bin.h:
7884         * clutter/clutter-element.h:
7885         * clutter/clutter-stage.h:
7886         * clutter/clutter-texture.h:
7887         * clutter/clutter.h:
7888         Rejig headers a little so h2def.py happier
7889
7890 2006-04-17  Matthew Allum  <mallum@openedhand.com>
7891
7892         * TODO:
7893         * doc/clutter.types:
7894         * doc/reference/Makefile.am:
7895         Move gtk-doc gubbins to doc/reference
7896
7897 2006-04-16  Matthew Allum  <mallum@openedhand.com>
7898
7899         * TODO:
7900         More updates
7901
7902         * clutter/clutter-bin.c: (clutter_bin_paint):
7903         Add translate call
7904
7905         * clutter/clutter-texture.c: (clutter_texture_dispose),
7906         (clutter_texture_class_init), (clutter_texture_set_pixbuf):
7907         Fixup object finalization a little.
7908
7909         * bootstrap-autotools.sh:
7910         * configure.ac:
7911         * doc/Makefile.am:
7912         * doc/clutter.types:
7913         Add gtk-doc infrastructure
7914
7915 2006-04-15  Matthew Allum  <mallum@openedhand.com>
7916
7917         * TODO:
7918         More ideas.
7919
7920         * clutter/Makefile.am:
7921         * clutter/clutter-rectangle.c: (clutter_rectangle_new):
7922         Sync passed color alpha chan to element opacity,
7923
7924         * clutter/clutter-video-texture.c:
7925         (clutter_video_texture_error_quark), (signal_eos_delayed),
7926         (query_timeout), (got_video_size), (caps_set), (parse_stream_info),
7927         (handle_element_message)
7928         * clutter/clutter-video-texture.h:
7929         Port more of bacon video widget API.
7930
7931         * examples/test-video.c: (foo), (tick), (main):
7932         Add a simple overlay displaying playback time.
7933
7934 2006-04-15  Matthew Allum  <mallum@openedhand.com>
7935
7936         * clutter/clutter-element.c:
7937         * clutter/clutter-label.c: (clutter_label_init),
7938         (clutter_label_new_with_text):
7939         * clutter/clutter-label.h:
7940         * clutter/clutter-main.c: (clutter_redraw), (clutter_gl_unlock):
7941         * clutter/clutter-main.h:
7942         * clutter/clutter-rectangle.c: (clutter_rectangle_init),
7943         (clutter_rectangle_new):
7944         * clutter/clutter-rectangle.h:
7945         * clutter/clutter-texture.c: (clutter_texture_class_init),
7946         (clutter_texture_set_pixbuf), (clutter_texture_new_from_pixbuf):
7947         * clutter/clutter-texture.h:
7948         * clutter/clutter-video-texture.c: (clutter_video_texture_init):
7949         * clutter/clutter-video-texture.h:
7950         * examples/test-video.c: (main):
7951         * examples/test.c: (main):
7952         * examples/video-cube.c: (clutter_video_texture_cube_init), (main):
7953         Make xxx_new() return there type as ClutterElement*
7954
7955 2006-04-15  Matthew Allum  <mallum@openedhand.com>
7956
7957         * TODO:
7958         Update
7959         * clutter/clutter-main.c:
7960         * clutter/clutter-stage.c:
7961         * clutter/clutter-texture.c:
7962         * clutter/clutter-texture.h:
7963         * gst/clutterimagesink.c: (gst_clutterimagesink_clutterimage_put),
7964         (gst_clutterimagesink_context_get):
7965         Various experiments with textures and 3D views.
7966
7967         * clutter/clutter-video-texture.c:
7968         (clutter_video_texture_class_init), (clutter_video_texture_init):
7969         * examples/Makefile.am:
7970         * examples/test-video.c: (main):
7971         * examples/video-cube.c:
7972         Add video-cube example
7973
7974 2006-04-13  Matthew Allum  <mallum@openedhand.com>
7975
7976         * TODO:
7977         Update
7978
7979         * clutter/clutter-bin.c:
7980         * clutter/clutter-bin.h:
7981         New container element
7982
7983         * clutter/clutter-stage.c:
7984         * clutter/clutter-stage.h:
7985         Make stage a proper element
7986
7987         * clutter/Makefile.am:
7988         * clutter/clutter.h:
7989         * clutter/clutter-element.c: (clutter_element_show),
7990         (clutter_element_set_opacity):
7991         * clutter/clutter-element.h:
7992         * clutter/clutter-label.c: (clutter_label_make_pixbuf),
7993         (clutter_label_set_text), (clutter_label_set_font):
7994         * clutter/clutter-private.h:
7995         Various tweaks new api calls.
7996
7997         * clutter/clutter-main.c: (events_init):
7998         * clutter/clutter-main.h:
7999         Make ClutterContex Private to main
8000
8001         * clutter/clutter-texture.c:
8002         * clutter/clutter-texture.h:
8003         * clutter/clutter-video-texture.c:
8004         (clutter_video_texture_finalize):
8005         Fix video crash
8006
8007         * examples/test-video.c: (main):
8008         * examples/test.c: (main):
8009         Fix for API changes.
8010
8011 2006-04-11  Matthew Allum  <mallum@openedhand.com>
8012
8013         * TODO:
8014         Add
8015         * clutter/clutter-video-texture.c:
8016         (clutter_video_texture_finalize):
8017         * clutter/clutter-video-texture.h:
8018         Remove bogus pixbuf attribute
8019
8020 2006-04-10  Matthew Allum  <mallum@openedhand.com>
8021
8022         * clutter/clutter-main.c: (clutter_dispatch_x_event),
8023         (clutter_queue_redraw), (clutter_main), (clutter_set_stage_params),
8024         (clutter_init):
8025         * clutter/clutter-main.h:
8026         * clutter/clutter-private.h:
8027         Make Stage non fullscreen ( for now ). Change event loop to
8028         work better with video.
8029
8030         * clutter/Makefile.am:
8031         * clutter/clutter-label.c: (clutter_label_make_pixbuf),
8032         (clutter_label_class_init), (clutter_label_new_with_text),
8033         (clutter_label_set_text), (clutter_label_set_font):
8034         * clutter/clutter-texture.c: (texture_render_to_gl_quad),
8035         (clutter_texture_unrealize), (clutter_texture_sync_pixbuf),
8036         (clutter_texture_realize), (clutter_texture_show),
8037         (clutter_texture_hide), (clutter_texture_paint),
8038         (clutter_texture_finalize), (clutter_texture_set_property),
8039         (clutter_texture_get_property), (clutter_texture_class_init),
8040         (clutter_texture_init), (clutter_texture_get_pixbuf),
8041         (clutter_texture_set_pixbuf), (clutter_texture_new_from_pixbuf):
8042         * clutter/clutter-texture.h:
8043         * clutter/clutter.h:
8044         Fix leakage. Improve performance. Add support for non tiled
8045         textures.
8046
8047         * examples/Makefile.am:
8048         * examples/test.c: (timeout_text_cb), (main):
8049         Experiments
8050
8051         * examples/test-video.c:
8052         * configure.ac:
8053         * gst/Makefile.am:
8054         * gst/clutterimagesink.c:
8055         * gst/clutterimagesink.h:
8056         * clutter/clutter-video-texture.c:
8057         * clutter/clutter-video-texture.h:
8058         Add initial support for video textures with gst-0.10
8059
8060         * gst/cltrimagesink.c:
8061         * gst/cltrimagesink.h:
8062         Remove old gst-0.8 sink
8063
8064
8065 2006-04-05  Matthew Allum  <mallum@openedhand.com>
8066
8067         * clutter/Makefile.am:
8068         * clutter/clutter-element.c: (clutter_element_show),
8069         (clutter_element_hide), (clutter_element_realize),
8070         (clutter_element_unrealize), (clutter_element_paint),
8071         (clutter_element_finalize), (clutter_element_class_init),
8072         (clutter_element_init), (clutter_element_new):
8073         * clutter/clutter-element.h:
8074         * clutter/clutter.h:
8075         * clutter/clutter-main.c: (clutter_dispatch_x_event),
8076         (events_init), (clutter_redraw), (clutter_main), (clutter_init),
8077         (clutter_show_stage):
8078         * clutter/clutter-main.h:
8079         Various minor tweaks.
8080
8081         * clutter/clutter-private.h:
8082         * clutter/clutter-texture.c: (can_create), (init_tiles),
8083         (clutter_texture_unrealize), (clutter_texture_realize),
8084         (clutter_texture_finalize), (clutter_texture_class_init),
8085         (clutter_texture_init):
8086         * clutter/clutter-texture.h:
8087         Much improve texture class.
8088
8089         * clutter/clutter-label.c:
8090         * clutter/clutter-label.h:
8091         Add new text rendering class
8092
8093         * clutter/clutter-rectangle.c:
8094         * clutter/clutter-rectangle.h:
8095         Add basic rectangle drawing class
8096
8097         * examples/test.c:
8098         Add text rendering and animation to test.
8099
8100 2006-04-04  Matthew Allum  <mallum@openedhand.com>
8101
8102         * clutter/Makefile.am:
8103         * clutter/clutter-element.c: (clutter_element_realize):
8104         * clutter/clutter-element.h:
8105         * clutter/clutter-image.c:
8106         * clutter/clutter-image.h:
8107         * clutter/clutter-main.c: (clutter_dispatch_x_event),
8108         (clutter_main), (clutter_set_stage_params), (clutter_init):
8109         * clutter/clutter-texture.c: (next_p2), (can_create),
8110         (tile_dimension), (init_tiles), (texture_render_to_gl_quad),
8111         (clutter_texture_unrealize), (clutter_texture_realize),
8112         (clutter_texture_get_pixbuf), (clutter_texture_paint),
8113         (clutter_texture_finalize), (clutter_texture_class_init):
8114         * clutter/clutter-texture.h:
8115         * clutter/clutter.h:
8116         * configure.ac:
8117         * examples/test.c:
8118         Implement basic tiled texture painting.
8119
8120 2006-04-03  Matthew Allum  <mallum@openedhand.com>
8121
8122         reviewed by: <delete if not using a buddy>
8123
8124         * clutter/Makefile.am:
8125         * clutter/clutter-element.c:
8126         * clutter/clutter-element.h:
8127         * clutter/clutter-image.c:
8128         * clutter/clutter-image.h:
8129         * clutter/clutter-main.c: (events_init), (stage_realize),
8130         (clutter_queue_redraw), (clutter_redraw), (clutter_add_to_stage),
8131         (clutter_remove_from_stage), (clutter_main),
8132         (clutter_set_stage_params), (clutter_init):
8133         * clutter/clutter-main.h:
8134         * clutter/clutter-private.h:
8135         * clutter/clutter.h:
8136         * examples/test.c:
8137
8138 2006-04-02  Matthew Allum  <mallum@openedhand.com>
8139
8140         * clutter/Makefile.am:
8141         * clutter/cltr-animator.c:
8142         * clutter/cltr-animator.h:
8143         * clutter/cltr-button.c:
8144         * clutter/cltr-button.h:
8145         * clutter/cltr-core.c:
8146         * clutter/cltr-core.h:
8147         * clutter/cltr-events.c:
8148         * clutter/cltr-events.h:
8149         * clutter/cltr-glu.c:
8150         * clutter/cltr-glu.h:
8151         * clutter/cltr-label.c:
8152         * clutter/cltr-label.h:
8153         * clutter/cltr-list.c:
8154         * clutter/cltr-list.h:
8155         * clutter/cltr-overlay.c:
8156         * clutter/cltr-overlay.h:
8157         * clutter/cltr-photo-grid.c:
8158         * clutter/cltr-photo-grid.h:
8159         * clutter/cltr-private.h:
8160         * clutter/cltr-scratch.c:
8161         * clutter/cltr-scratch.h:
8162         * clutter/cltr-texture.c:
8163         * clutter/cltr-texture.h:
8164         * clutter/cltr-video.c:
8165         * clutter/cltr-video.h:
8166         * clutter/cltr-widget.c:
8167         * clutter/cltr-widget.h:
8168         * clutter/cltr-window.c:
8169         * clutter/cltr-window.h:
8170         * clutter/cltr.h:
8171         * clutter/clutter-main.c:
8172         * clutter/clutter-main.h:
8173         * clutter/clutter-private.h:
8174         * clutter/clutter.h:
8175         * clutter/fonts.c:
8176         * clutter/fonts.h:
8177         * clutter/pixbuf.c:
8178         * clutter/pixbuf.h:
8179         * clutter/util.c:
8180         * clutter/util.h:
8181         * configure.ac:
8182         * examples/Makefile.am:
8183         * examples/photos.c:
8184         * examples/player.c:
8185         * examples/scratch.c:
8186         * examples/select.c:
8187         * examples/test.c:
8188         Remove old cltr files replacing with beginnings of
8189         rejigged 'clutter' ones.
8190
8191 2005-05-27  mallum,,,  <mallum@openedhand.com>
8192
8193         * clutter/cltr-animator.c: (cltr_animator_zoom_new),
8194         (cltr_animator_move_new), (cltr_animator_fullzoom_new),
8195         (cltr_animator_new), (cltr_animator_set_args),
8196         (cltr_animator_wrapped_zoom_paint), (cltr_animator_reset),
8197         (cltr_animator_timeout_cb), (cltr_animator_run):
8198         * clutter/cltr-animator.h:
8199         * clutter/cltr-button.c: (cltr_button_set_label),
8200         (cltr_button_paint):
8201         * clutter/cltr-label.c: (cltr_label_new), (cltr_label_set_text),
8202         (cltr_label_get_text), (cltr_label_show),
8203         (cltr_label_handle_xevent), (cltr_label_paint):
8204         * clutter/cltr-label.h:
8205         * clutter/cltr-list.c: (cltr_list_paint):
8206         * clutter/cltr-widget.c:
8207         * examples/select.c: (usage), (video_ctrl_hide),
8208         (video_ctrl_stop_cb), (video_ctrl_play_cb),
8209         (video_ctrl_seek_begin_cb), (init_video_ctrl), (show_video_ctrl),
8210         (populate), (cell_to_item), (zoom_video_out), (init_show_controls),
8211         (handle_xevent), (zoom_out_complete), (zoom_in_complete):
8212         More select hacking ...
8213
8214 2005-05-23  mallum,,,  <mallum@openedhand.com>
8215
8216         * clutter/cltr-button.c: (cltr_button_new_with_label),
8217         (cltr_button_handle_xevent), (cltr_button_paint):
8218         * clutter/cltr-button.h:
8219         * clutter/cltr-events.c: (cltr_main_loop):
8220         * clutter/cltr-list.c: (cltr_list_cell_new),
8221         (cltr_list_append_cell), (cltr_list_update_layout),
8222         (cltr_list_paint):
8223         * clutter/cltr-list.h:
8224         * clutter/cltr-overlay.c: (cltr_overlay_paint):
8225         * clutter/cltr-private.h:
8226         * clutter/cltr-widget.c: (cltr_widget_show),
8227         (cltr_widget_show_all), (cltr_widget_add_child):
8228         * clutter/cltr-widget.h:
8229         * clutter/cltr-window.c: (cltr_window_show), (cltr_window_paint),
8230         (cltr_window_handle_xevent), (cltr_window_post_paint),
8231         (cltr_window_set_paint_funcs), (cltr_window_xwin),
8232         (cltr_window_hide_cursor), (cltr_window_set_fullscreen):
8233         * clutter/cltr-window.h:
8234         * examples/select.c: (usage), (init_video_ctrl), (show_video_ctrl),
8235         (populate), (cell_to_item), (handle_xevent), (zoom_out_complete),
8236         (zoom_in_complete), (cell_activated), (main):
8237         Much Select hacking
8238
8239 2005-05-17  mallum,,,  <mallum@openedhand.com>
8240
8241         * clutter/cltr-video.c: (cltr_video_get_pixbuf):
8242         * gst/cltrimagesink.c: (gst_cltrimagesink_change_state),
8243         (gst_cltrimagesink_chain):
8244         Fix thread related segv's on grabbing video image.
8245         Also pop any unplayed data from sink on stop
8246
8247 2005-05-16  mallum,,,  <mallum@openedhand.com>
8248
8249         * clutter/cltr-animator.c: (cltr_animator_zoom_new),
8250         (cltr_animator_fullzoom_new), (cltr_animator_new),
8251         (cltr_animator_set_args), (cltr_animator_wrapped_paint):
8252         * clutter/cltr-animator.h:
8253         * clutter/cltr-list.c: (cltr_list_cell_new),
8254         (cltr_list_get_active_cell_co_ords), (cltr_list_show),
8255         (cltr_list_on_activate_cell), (cltr_list_update_layout),
8256         (cltr_list_paint):
8257         * clutter/cltr-list.h:
8258         * clutter/cltr-texture.c: (cltr_texture_realize),
8259         (cltr_texture_unref), (cltr_texture_sync_pixbuf),
8260         (cltr_texture_force_rgb_data):
8261         * clutter/cltr-video.c: (got_stream_length), (got_time_tick),
8262         (got_state_change), (parse_stream_info), (cb_iterate),
8263         (cltr_video_play), (cltr_video_set_volume),
8264         (cltr_video_get_volume), (cltr_video_get_pixbuf),
8265         (cltr_video_idler), (cltr_video_set_source),
8266         (cltr_video_handle_xevent), (cltr_video_paint):
8267         * clutter/cltr-video.h:
8268         * clutter/cltr-widget.c:
8269         * clutter/pixbuf.c: (pixbuf_write_png), (load_png_file),
8270         (pixbuf_copy), (pixbuf_fill_rect), (pixbuf_scale_down),
8271         (pixbuf_clone):
8272         * examples/select.c: (usage), (populate), (cell_to_item),
8273         (handle_xevent), (zoom_out_complete), (zoom_in_complete),
8274         (cell_activated), (main):
8275         * gst/cltrimagesink.c: (gst_cltrimagesink_getcaps),
8276         (gst_cltrimagesink_chain):
8277         Far too much hacking. Fix many endian image issues.
8278         Greatly improve select demo
8279
8280 2005-05-16  mallum,,,  <mallum@openedhand.com>
8281
8282         * clutter/Makefile.am:
8283         * clutter/cltr-animator.c:
8284         * clutter/cltr-animator.h:
8285         * clutter/cltr-list.c: (distfunc), (cltr_list_new),
8286         (cltr_list_get_active_cell_co_ords), (cltr_list_show),
8287         (cltr_list_on_activate_cell), (cltr_list_handle_xevent),
8288         (cltr_list_animate), (cltr_list_timeout_cb),
8289         (cltr_list_update_layout), (cltr_list_paint):
8290         * clutter/cltr-list.h:
8291         * clutter/cltr-private.h:
8292         * clutter/cltr.h:
8293         * clutter/pixbuf.c: (load_png_file):
8294         * examples/player.c:
8295         * examples/select.c: (usage), (populate), (cell_activated), (main):
8296         Work on animator zooming. Also build up select.c much
8297
8298 2005-05-14  mallum,,,  <mallum@openedhand.com>
8299
8300         * clutter/cltr-animator.c:
8301         Add initial outline
8302         * clutter/cltr-button.c: (cltr_button_new_with_pixbuf),
8303         (cltr_button_handle_xkeyevent), (cltr_button_handle_xevent),
8304         (cltr_button_paint):
8305         various tweaks/experimentation
8306         * clutter/cltr-core.c: (cltr_init), (cltr_display_height):
8307         * clutter/cltr-glu.c: (cltr_glu_set_color):
8308         * clutter/cltr-glu.h:
8309         Add unfilled rect call.
8310         * clutter/cltr-label.c: (cltr_label_new), (cltr_label_paint):
8311         * clutter/cltr-list.c: (distfunc), (cltr_list_cell_new),
8312         (cltr_list_show), (cltr_list_animate), (cltr_list_paint):
8313         update list a little.
8314         * clutter/cltr-overlay.c: (cltr_overlay_handle_xevent),
8315         (cltr_overlay_paint):
8316         * clutter/cltr-private.h:
8317         * clutter/cltr-texture.c: (cltr_texture_realize):
8318         * clutter/cltr-video.c: (cltr_video_paint):
8319         * clutter/cltr.h:
8320         * clutter/fonts.c: (draw_layout_on_pixbuf):
8321         Fix font alpha blending
8322         * examples/Makefile.am:
8323         * examples/player.c: (main):
8324         * examples/scratch.c: (main):
8325         tweaks.
8326         * examples/select.c:
8327         new example
8328
8329 2005-05-11  mallum,,,  <mallum@openedhand.com>
8330
8331         * clutter/cltr-video.c: (got_buffering), (cltr_video_new),
8332         (cltr_video_play), (cltr_video_idler):
8333         * examples/photos.c: (main):
8334         * examples/player.c: (handle_xevent), (main):
8335         * gst/cltrimagesink.c: (gst_cltrimagesink_chain):
8336         Fix Gl thread related crash on video playback
8337         Make examples less bound to my laptop ;)
8338
8339 2005-05-06  mallum,,,  <mallum@openedhand.com>
8340
8341         * clutter/cltr-button.c: (cltr_button_new_with_label):
8342         * clutter/cltr-overlay.c:
8343         * clutter/cltr-photo-grid.c: (cltr_photo_grid_cell_new),
8344         (cltr_photo_grid_paint), (cltr_photo_grid_new):
8345         * clutter/cltr-video.c: (cltr_video_print_tag), (got_buffering),
8346         (got_error), (caps_set), (parse_stream_info), (cb_iterate),
8347         (cltr_video_new), (cltr_video_play), (cltr_video_seek),
8348         (cltr_video_seek_time), (cltr_video_stop), (cltr_video_close),
8349         (cltr_video_pause), (cltr_video_can_set_volume),
8350         (cltr_video_set_volume), (cltr_video_get_volume),
8351         (cltr_video_idler), (cltr_video_set_source), (cltr_video_show),
8352         (cltr_video_hide), (cltr_video_handle_xevent), (cltr_video_paint):
8353         * clutter/cltr-video.h:
8354         * clutter/cltr-widget.h:
8355         * clutter/cltr-window.c: (cltr_window_show), (cltr_window_paint),
8356         (cltr_window_handle_xevent), (cltr_window_set_fullscreen),
8357         (cltr_window_focus_widget):
8358         * clutter/cltr-window.h:
8359         * clutter/cltr.h:
8360         * clutter/fonts.c: (get_layout_bitmap), (font_draw),
8361         (font_get_pixel_size):
8362         * configure.ac:
8363         * examples/photos.c: (photo_grid_populate):
8364         * examples/player.c: (handle_xevent), (main):
8365         * examples/scratch.c: (main):
8366         Lots more tweaks, mainly updating video widget.
8367
8368 2005-04-29  mallum,,,  <mallum@openedhand.com>
8369
8370         * clutter/cltr-button.c: (cltr_button_new),
8371         (cltr_button_on_activate), (cltr_button_new_with_label),
8372         (cltr_button_show):
8373         * clutter/cltr-button.h:
8374         * clutter/cltr-label.c: (cltr_label_new), (cltr_label_paint):
8375         * clutter/cltr-private.h:
8376         * clutter/cltr-video.c: (cltr_video_play):
8377         * clutter/cltr-widget.c: (cltr_widget_new), (cltr_widget_abs_x),
8378         (cltr_widget_abs_y), (cltr_widget_abs_x2), (cltr_widget_abs_y2),
8379         (cltr_widget_width), (cltr_widget_height), (cltr_widget_show),
8380         (cltr_widget_focus), (cltr_widget_unfocus),
8381         (cltr_widget_set_focus_next), (cltr_widget_get_focus_next),
8382         (cltr_widget_show_all):
8383         * clutter/cltr-widget.h:
8384         * clutter/cltr-window.c: (cltr_window_new),
8385         (cltr_window_focus_widget):
8386         * clutter/cltr.h:
8387         * clutter/fonts.c: (draw_layout_on_pixbuf), (font_get_pixel_size):
8388         * examples/scratch.c: (main):
8389         Hack buttons some more
8390
8391
8392 2005-04-27  mallum,,,  <mallum@openedhand.com>
8393
8394         * clutter/Makefile.am:
8395         * clutter/cltr-button.c: (cltr_button_new):
8396         * clutter/cltr-label.c:
8397         * clutter/cltr-label.h:
8398         * clutter/cltr-photo-grid.c: (cltr_photo_grid_paint):
8399         * clutter/cltr-texture.c: (cltr_texture_realize),
8400         (cltr_texture_new), (cltr_texture_unref),
8401         (cltr_texture_no_tile_new):
8402         * clutter/cltr-texture.h:
8403         * clutter/cltr-video.c: (cltr_video_got_time_tick), (caps_set),
8404         (cltr_video_new), (cltr_video_idler), (cltr_video_set_source),
8405         (cltr_video_play), (cltr_video_pause), (cltr_video_show),
8406         (cltr_video_hide), (cltr_video_handle_xevent), (cltr_video_paint):
8407         * clutter/cltr.h:
8408         * clutter/fonts.c: (font_new), (draw_layout_on_pixbuf),
8409         (font_draw):
8410         * clutter/fonts.h:
8411         * clutter/pixbuf.c: (pixbuf_set_pixel), (pixbuf_get_pixel):
8412         * examples/photos.c: (photo_grid_populate), (main):
8413         * examples/player.c: (main):
8414         Improve video widget, use playbin rather than gst_play
8415         Lots of misc tweaks.
8416
8417 2005-04-26  mallum,,,  <mallum@openedhand.com>
8418
8419         * clutter/Makefile.am:
8420         * clutter/cltr-core.c: (cltr_init):
8421         * clutter/cltr-events.c: (cltr_events_init), (cltr_main_loop):
8422         * clutter/cltr-photo-grid.c:
8423         * clutter/cltr-private.h:
8424         * clutter/cltr-scratch.c: (cltr_scratch_handle_xevent),
8425         (cltr_scratch_paint):
8426         * clutter/cltr-texture.c: (cltr_texture_render_to_gl_quad),
8427         (init_tiles), (cltr_texture_unrealize), (cltr_texture_realize),
8428         (cltr_texture_new), (cltr_texture_no_tile_new),
8429         (cltr_texture_get_pixbuf):
8430         * clutter/cltr-texture.h:
8431         * clutter/cltr-video.c:
8432         * clutter/cltr-video.h:
8433         * clutter/cltr-widget.c: (cltr_widget_queue_paint):
8434         * clutter/cltr.h:
8435         * examples/Makefile.am:
8436         * examples/player.c:
8437         * gst/cltrimagesink.c: (gst_cltrimagesink_fixate),
8438         (gst_cltrimagesink_getcaps), (gst_cltrimagesink_sink_link),
8439         (gst_cltrimagesink_change_state), (gst_cltrimagesink_chain),
8440         (gst_cltrimagesink_set_property), (gst_cltrimagesink_get_property),
8441         (gst_cltrimagesink_finalize), (gst_cltrimagesink_class_init):
8442         * gst/cltrimagesink.h:
8443         Initial go at very hacky gst video widget
8444
8445 2005-04-22  mallum,,,  <mallum@openedhand.com>
8446
8447         * clutter/Makefile.am:
8448         * clutter/cltr-button.c:
8449         * clutter/cltr-button.h:
8450         * clutter/cltr-core.c: (cltr_init):
8451         * clutter/cltr-overlay.c:
8452         * clutter/cltr-overlay.h:
8453         * clutter/cltr-photo-grid.c: (cltr_photo_grid_handle_xevent),
8454         (cltr_photo_grid_cell_new), (ctrl_photo_grid_get_zoomed_coords),
8455         (cell_is_offscreen), (cltr_photo_grid_idle_cb),
8456         (cltr_photo_grid_navigate), (cltr_photo_grid_activate_cell),
8457         (cltr_photo_grid_populate), (cltr_photo_grid_update_visual_state),
8458         (cltr_photo_grid_paint), (cltr_photo_grid_show),
8459         (cltr_photo_grid_set_fps), (cltr_photo_grid_get_fps),
8460         (cltr_photo_grid_set_anim_steps), (cltr_photo_grid_get_anim_steps),
8461         (cltr_photo_grid_new):
8462         Fix up grid so external prog can load images.
8463         * clutter/cltr-photo-grid.h:
8464         * clutter/cltr-texture.c: (cltr_texture_realize),
8465         (cltr_texture_new):
8466         * clutter/cltr-texture.h:
8467         * clutter/cltr-window.c: (cltr_window_set_fullscreen):
8468         * clutter/cltr.h:
8469         * clutter/pixbuf.c: (pixbuf_scale_down), (ConvolveImage),
8470         (GaussianBlurImage):
8471         * clutter/pixbuf.h:
8472         New experimental Methods
8473         * configure.ac:
8474         * examples/Makefile.am:
8475         * examples/photos.c:
8476         * examples/player.c:
8477         Add new examples
8478         * gst/Makefile.am:
8479         * gst/cltrimagesink.c:
8480         * gst/cltrimagesink.h:
8481         Add initial crusty ( broken ) gst stuff
8482
8483 2005-04-13  mallum,,,  <mallum@openedhand.com>
8484
8485         * bootstrap-autotools.sh:
8486         * clutter/Makefile.am:
8487         * clutter/cltr.c:
8488         * configure.ac:
8489         * examples/Makefile.am:
8490         * examples/scratch.c:
8491         Initial autotooling of everything.
8492
8493 2005-04-07  mallum,,,  <mallum@openedhand.com>
8494
8495         * Makefile:
8496         * cltr-events.c: (cltr_main_loop):
8497         * cltr-list.c:
8498         * cltr-list.h:
8499         Add list widget
8500         * cltr-photo-grid.c: (cltr_photo_grid_cell_new),
8501         (cltr_photo_grid_append_cell), (ctrl_photo_grid_cell_to_coords),
8502         (ctrl_photo_grid_get_zoomed_coords), (cltr_photo_grid_idle_cb),
8503         (cltr_photo_grid_navigate), (cltr_photo_grid_activate_cell),
8504         (cltr_photo_grid_update_visual_state), (cltr_photo_grid_paint),
8505         (cltr_photo_grid_show), (cltr_photo_grid_new):
8506         * cltr-texture.c:
8507         * cltr-widget.c:
8508         * cltr-window.c: (cltr_window_new), (cltr_window_show),
8509         (cltr_window_handle_xevent):
8510         * cltr-window.h:
8511         * cltr.c: (main):
8512         * cltr.h:
8513         * pixbuf.c: (pixbuf_copy):
8514         * pixbuf.h:
8515         Cleanups
8516
8517 2005-04-03  mallum,,,  <mallum@openedhand.com>
8518
8519         * Makefile:
8520         * cltr-core.c:
8521         * cltr-core.h:
8522         * cltr-events.c:
8523         * cltr-events.h:
8524         * cltr-photo-grid.c: (cltr_photo_grid_handle_xkeyevent),
8525         (cltr_photo_grid_handle_xevent), (cltr_photo_grid_cell_new),
8526         (cltr_photo_grid_append_cell), (ctrl_photo_grid_cell_to_coords),
8527         (ctrl_photo_grid_get_zoomed_coords), (cell_is_offscreen),
8528         (cltr_photo_grid_idle_cb), (cltr_photo_grid_navigate),
8529         (cltr_photo_grid_activate_cell), (cltr_photo_grid_populate),
8530         (cltr_photo_grid_paint), (cltr_photo_grid_show),
8531         (cltr_photo_grid_new):
8532         * cltr-photo-grid.h:
8533         * cltr-private.h:
8534         * cltr-texture.c:
8535         * cltr-texture.h:
8536         * cltr-widget.c:
8537         * cltr-widget.h:
8538         * cltr-window.c:
8539         * cltr-window.h:
8540         * cltr.c:
8541         * cltr.h:
8542         Add very basic initial toolkit infrastructure
8543
8544 2005-03-31  mallum,,,  <mallum@openedhand.com>
8545
8546         * cltr-photo-grid.c: (cltr_photo_grid_append_cell),
8547         (ctrl_photo_grid_cell_to_coords),
8548         (ctrl_photo_grid_get_zoomed_coords), (cell_is_offscreen),
8549         (cltr_photo_grid_idle_cb), (cltr_photo_grid_navigate),
8550         (cltr_photo_grid_activate_cell), (cltr_photo_grid_populate),
8551         (cltr_photo_grid_redraw), (cltr_photo_grid_new):
8552         * cltr-photo-grid.h:
8553         * cltr-texture.c: (cltr_texture_render_to_gl_quad), (init_tiles),
8554         (cltr_texture_realize):
8555         * cltr-texture.h:
8556         * cltr.c: (main):
8557         Implemented scrolling. Very rough around the edges, needs tidying.
8558
8559 2005-03-30  mallum,,,  <mallum@openedhand.com>
8560
8561         * Makefile:
8562         * cltr-photo-grid.c: (cltr_photo_grid_redraw),
8563         (cltr_photo_grid_new):
8564         * cltr-tex.c:
8565         * cltr-tex.h:
8566         * cltr-texture.c: (cltr_texture_new):
8567         More renaming
8568
8569 2005-03-30  mallum,,,  <mallum@openedhand.com>
8570
8571         * cltr-photo-grid.c: (cltr_photo_grid_populate),
8572         (cltr_photo_grid_redraw), (cltr_photo_grid_new):
8573         * cltr-photo-grid.h:
8574         * cltr-tex.c: (next_p2), (cltr_texture_render_to_gl_quad),
8575         (tile_dimension), (init_tiles), (cltr_texture_new):
8576         * cltr-tex.h:
8577         * cltr.h:
8578         Rename CltrImage -> CltrTexture
8579
8580 2005-03-30  mallum,,,  <mallum@openedhand.com>
8581
8582         * Makefile:
8583         * cltr-photo-grid.c: (cltr_photo_grid_populate),
8584         (cltr_photo_grid_redraw):
8585         * cltr-photo-grid.h:
8586         * cltr-tex.c:
8587         * cltr-tex.h:
8588         * cltr.c: (main):
8589         * cltr.h:
8590         * pixbuf.c: (pixbuf_unref), (pixbuf_copy):
8591         * pixbuf.h:
8592         Add intial new texture tiling code.
8593
8594 2005-03-27  mallum,,,  <mallum@openedhand.com>
8595
8596         * Makefile:
8597         * cltr-photo-grid.c: (cltr_photo_grid_cell_new),
8598         (ctrl_photo_grid_get_zoomed_coords), (cltr_photo_grid_navigate),
8599         (cltr_photo_grid_activate_cell), (cltr_photo_grid_populate),
8600         (cltr_photo_grid_redraw), (cltr_photo_grid_new):
8601         * cltr-photo-grid.h:
8602         * cltr.c: (cltr_dispatch_x_event), (cltr_init), (test_idle_cb),
8603         (main):
8604         * cltr.h:
8605         Add a very hacky threaded image loader.
8606         Make event handling a little more efficient, though still hacky
8607         * pixbuf.c: (pixel_set_vals), pixbuf.h:
8608         Add copy func ( unused as yet )
8609
8610 2005-03-25  mallum,,,  <mallum@openedhand.com>
8611
8612         * cltr-photo-grid.c: (cltr_photo_grid_cell_new),
8613         (ctrl_photo_grid_get_zoomed_coords), (cltr_photo_grid_redraw),
8614         (cltr_photo_grid_new):
8615         * cltr-photo-grid.h:
8616         * cltr.c: (cltr_window_new), (idle_cb), (main):
8617         Use GL matrices in a saner way.
8618         Add random rotation to picts
8619         Random minor tweaks
8620
8621 2005-03-24  mallum,,,  <mallum@openedhand.com>
8622
8623         * Makefile:
8624         * cltr-photo-grid.c:
8625         * cltr-photo-grid.h:
8626         * cltr.c: (cltr_window_new), (cltr_main_loop):
8627         * cltr.h:
8628         Split up cltr.c a bit. start refactoring a bit.
8629
8630 2005-03-23  mallum,,,  <mallum@openedhand.com>
8631
8632         * cltr.c: (cltr_photo_grid_populate), (cltr_photo_grid_redraw),
8633         (cltr_photo_grid_new), (main):
8634         * cltr.h:
8635         Various minor tweaks
8636         * pixbuf.c: (pixbuf_set_pixel), (pixbuf_get_pixel):
8637         Fix RGBA ordering in set/get pixel
8638
8639 2005-03-23  mallum,,,  <mallum@openedhand.com>
8640
8641         * cltr.c: (ctrl_photo_grid_get_trans_coords),
8642         Fix grid co-ords -> translation vals converter
8643         (cltr_photo_grid_navigate), (cltr_photo_grid_redraw),
8644         (cltr_photo_grid_new), (idle_cb):
8645         Fix moving between pictures when zoomed
8646
8647
8648 2005-03-23  mallum,,,  <mallum@openedhand.com>
8649
8650         * cltr.c: (cltr_dispatch_x_event), (cltr_window_new),
8651         (cltr_main_loop), (cltr_photo_grid_navigate),
8652         (cltr_photo_grid_activate_cell), (cltr_photo_grid_populate),
8653         (cltr_photo_grid_redraw), (cltr_photo_grid_new), (idle_cb), (main):
8654         * cltr.h:
8655         Lots, make the grid roughly work.
8656
8657         * fonts.c: (get_layout_bitmap), (font_draw):
8658         remove debug printfs
8659
8660 2005-03-22  mallum,,,  <mallum@openedhand.com>
8661
8662         * cltr.c: (x_event_prepare), (x_event_check), (x_event_dispatch),
8663         (cltr_dispatch_x_event), (cltr_init), (cltr_window_new),
8664         (cltr_photo_grid_append_cell), (cltr_photo_grid_populate),
8665         (cltr_photo_grid_redraw), (cltr_photo_grid_new),
8666         (idle_cb), (main):
8667         * cltr.h:
8668         Add glib event loop