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