Merge branch 'text-direction'
[profile/ivi/clutter.git] / ChangeLog.pre-git-import
1 2008-12-10  Neil Roberts  <neil@linux.intel.com>
2
3         * clutter/cogl/gl/cogl.c:
4         * clutter/cogl/gl/cogl-defines.h.in:
5         * clutter/cogl/gl/cogl-context.h:
6         * clutter/cogl/common/cogl-mesh.c: Rename the glBufferDataSub
7         function to glBufferSubData. When calling glXGetProcAddress with
8         the former Mesa returns a stub dispatch function which will
9         segfault if you try to use it. With NVIDIA it returns NULL so
10         _cogl_features_init decides the card doesn't have VBO support.
11
12 2008-12-10  Neil Roberts  <neil@linux.intel.com>
13
14         Bug 1323 - ClutterBehaviorDepth conflicts with other behaviors
15
16         * clutter/clutter-behaviour-ellipse.c (actor_apply_knot_foreach):
17         Don't set the depth if there is no x or y tilt. That way it can
18         still be used in conjunction with ClutterBehaviourDepth. Thanks to
19         Tonny Tzeng.
20
21 2008-12-08  Emmanuele Bassi  <ebassi@linux.intel.com>
22
23         * clutter/clutter-binding-pool.h: Fix the ActivateFunc
24         documentation by adding a "return value" annotation.
25
26 2008-12-08  Emmanuele Bassi  <ebassi@linux.intel.com>
27
28         * clutter/Makefile.am:
29         * clutter/clutter.h: Add ClutterBindingPool to the build.
30
31         * clutter/clutter-binding-pool.c:
32         * clutter/clutter-binding-pool.h: Add ClutterBindingPool, a data
33         structure meant to hold (key symbol, modifiers) pairs and associate
34         them to a closure. The ClutterBindingPool can be used to install
35         key bindings for actors and then execute closures inside the
36         key-press-event signal handlers, removing the need for big
37         switch() or if() blocks for each key.
38
39         * clutter/clutter-event.c: Consistently use "key symbol" instead
40         of "key value".
41
42         * clutter/clutter-event.h: Add more modifier masks.
43
44         * clutter/clutter-marshal.list:
45
46         * tests/conform/Makefile.am:
47         * tests/conform/test-binding-pool.c:
48         * tests/conform/test-conform-main.c: Add ClutterBindingPool
49         conformance test.
50
51         * tests/interactive/Makefile.am:
52         * tests/interactive/test-binding-pool.c: Add interactive test (and
53         example code) for the ClutterBindingPool usage.
54
55 2008-12-08  Neil Roberts  <neil@linux.intel.com>
56
57         * clutter/clutter-main.c (_clutter_do_pick): Restore the GL_DITHER
58         state after reading the pixel value instead of before. Suggested
59         in bug 1328 thanks to Guy Zadickario.
60
61 2008-12-05  Emmanuele Bassi  <ebassi@linux.intel.com>
62
63         Bug 1309 - clutter_timeline_new and clutter_timeline_set_speed
64         have two standard of the fps limitation
65
66         * clutter/clutter-timeline.c:
67         (clutter_timeline_class_init): Set the maximum value of the
68         :fps property to be G_MAXUINT. (Zhang Wei)
69
70 2008-12-05  Neil Roberts  <neil@linux.intel.com>
71
72         * clutter/clutter-entry.c: Fix the 'Since' annotation in the
73         gtk-doc.
74
75 2008-12-05  Neil Roberts  <neil@linux.intel.com>
76
77         * clutter/clutter-timeline.c:
78         * clutter/clutter-texture.c:
79         * clutter/clutter-stage.c:
80         * clutter/clutter-label.c:
81         * clutter/clutter-behaviour-path.c:
82         * clutter/clutter-actor.c: Fix the 'Since' annotation in the
83         gtk-doc.
84
85 2008-12-05  Neil Roberts  <neil@linux.intel.com>
86
87         Bug 1252 - Merge ClutterBehaviourPath and ClutterBehaviourBspline
88
89         * clutter/clutter-path.h:
90         * clutter/clutter-path.c: Implementation of new ClutterPath object
91         to represent a path combining straight line and bezier curve
92         elements.
93
94         * clutter/clutter.h: Include clutter-path.h and remove
95         clutter-behaviour-bspline.h
96
97         * tests/interactive/test-threads.c (test_threads_main):
98         * tests/interactive/test-script.c:
99         * tests/interactive/test-behave.c (test_behave_main): Use new path
100         API
101
102         * clutter/clutter-effect.c: Use the new ClutterBehaviourPath API.
103
104         * clutter/clutter-bezier.h:
105         * clutter/clutter-bezier.c: Moved bezier curve handling code out
106         from clutter-behaviour-bspline.c to a separate file.
107
108         * clutter/clutter-behaviour-path.h:
109         * clutter/clutter-behaviour-path.c: Reimplemented to work with a
110         ClutterPath
111
112         * clutter/clutter-behaviour-bspline.h:
113         * clutter/clutter-behaviour-bspline.c: Removed
114
115         * clutter/Makefile.am: Add clutter-path and clutter-bezier, remove
116         clutter-behaviour-bspline.
117
118         * tests/conform/test-path.c: New automatic test for ClutterPath
119         consistency
120
121         * tests/conform/test-conform-main.c (main): Add test_path
122
123         * tests/conform/Makefile.am (test_conformance_SOURCES): Add
124         test-path.c
125
126         * clutter/clutter-sections.txt: Add ClutterPath docs
127
128         * clutter/clutter.types:
129         * clutter/clutter-docs.xml:
130         * doc/reference/clutter/clutter-animation-tutorial.xml: Remove
131         mention of ClutterBehaviourBspline
132
133         * clutter/clutter-marshal.list: Add VOID:UINT
134
135 2008-12-04  Neil Roberts  <neil@linux.intel.com>
136
137         Bug 1297 - Bring back support for GL_ARB_texture_rectangle
138
139         * clutter/cogl/gl/cogl-texture.c (cogl_texture_new_from_foreign,
140         (_cogl_texture_quad_hw, cogl_texture_polygon),
141         (_cogl_texture_quad_sw): Support GL_ARB_texture_rectangle textures
142
143         * clutter/glx/clutter-glx-texture-pixmap.c: Use rectangle textures
144         when NPOTs are not available or it is forced by the
145         CLUTTER_PIXMAP_TEXTURE_RECTANGLE environment variable.
146
147         * clutter/cogl/gl/cogl.c (cogl_enable): Allow enabling
148         GL_TEXTURE_RECTANGLE_ARB.
149
150 2008-12-04  Neil Roberts  <neil@linux.intel.com>
151
152         Bug 1172 - Disjoint paths and clip to path
153
154         * clutter/cogl/cogl-path.h:
155         * clutter/cogl/common/cogl-primitives.c:
156         * clutter/cogl/common/cogl-primitives.h:
157         * clutter/cogl/gl/cogl-primitives.c:
158         * clutter/cogl/gles/cogl-primitives.c: Changed the semantics of
159         cogl_path_move_to. Previously this always started a new path but
160         now it instead starts a new disjoint sub path. The path isn't
161         cleared until you call either cogl_path_stroke, cogl_path_fill or
162         cogl_path_new. There are also cogl_path_stroke_preserve and
163         cogl_path_fill_preserve functions.
164
165         * clutter/cogl/gl/cogl-context.c:
166         * clutter/cogl/gl/cogl-context.h:
167         * clutter/cogl/gles/cogl-context.c:
168         * clutter/cogl/gles/cogl-context.h: Convert the path nodes array
169         to a GArray.
170
171         * clutter/cogl/gl/cogl-texture.c:
172         * clutter/cogl/gles/cogl-texture.c: Call cogl_clip_ensure
173
174         * clutter/cogl/common/cogl-clip-stack.c:
175         * clutter/cogl/common/cogl-clip-stack.h: Simplified the clip
176         stack code quite a bit to make it more maintainable.  Previously
177         whenever you added a new clip it would go through a separate route
178         to immediately intersect with the current clip and when you
179         removed it again it would immediately rebuild the entire clip. Now
180         when you add or remove a clip it doesn't do anything immediately
181         but just sets a dirty flag instead.
182
183         * clutter/cogl/gl/cogl.c:
184         * clutter/cogl/gles/cogl.c: Taken away the code to intersect
185         stencil clips when there is exactly one stencil bit. It won't work
186         with path clips and I don't know of any platform that doesn't have
187         eight or zero stencil bits. It needs at least three bits to
188         intersect a path with an existing clip. cogl_features_init now
189         just decides you don't have a stencil buffer at all if you have
190         less than three bits.
191
192         * clutter/cogl/cogl.h.in: New functions and documentation.
193
194         * tests/interactive/test-clip.c: Replaced with a different test
195         that lets you add and remove clips. The three different mouse
196         buttons add clips in different shapes. This makes it easier to
197         test multiple levels of clipping.
198
199         * tests/interactive/test-cogl-primitives.c: Use
200         cogl_path_stroke_preserve when using the same path again.
201
202         * doc/reference/cogl/cogl-sections.txt: Document the new
203         functions.
204
205 2008-12-03  Robert Bragg  <robert@linux.intel.com>
206
207         Bug 1303 - clutter_glx_texture_pixmap_using_extension doesn't check if
208         fallbacks are being used
209
210         * glx/clutter-glx-texture-pixmap.c:
211         clutter_glx_texture_pixmap_using_extension now checks to see if
212         priv->use_fallback is TRUE not just that the tfp extension is
213         available.
214
215 2008-12-01  Neil Roberts  <neil@linux.intel.com>
216
217         Bug 1305 - NPOT textures unaligned to a pixel sometimes have
218         border artifacts
219
220         * clutter/cogl/gl/cogl-texture.c: Set the wrap mode of a texture
221         on demand
222
223         Instead of setting the wrap mode once per texture at creation, it
224         is now changed whenever the texture is drawn. The previous value
225         is cached so that it isn't changed if the value is the same.
226
227         This is used in _cogl_texture_quad_hw to only enable GL_REPEAT
228         mode when the coordinates are not in the range [0,1]. Otherwise it
229         can pull in pixels from the other edge when the texture is
230         rendered off-pixel.
231
232 2008-11-28  Neil Roberts  <neil@linux.intel.com>
233
234         * tests/conform/test-backface-culling.c (TEXTURE_SIZE): Don't set
235         to a funny size on GLES because it will break cogl_texture_polygon
236
237 2008-11-28  Neil Roberts  <neil@linux.intel.com>
238
239         * tests/conform/test-backface-culling.c: New test for backface
240         culling
241
242         * tests/conform/test-conform-main.c (main): Add
243         /texture/test_backface_culing
244
245         * tests/conform/Makefile.am (test_conformance_SOURCES): Add
246         test-backface-culling.c
247
248 2008-11-28  Neil Roberts  <neil@linux.intel.com>
249
250         * tests/conform/test-mesh-mutability.c:
251         * tests/conform/test-mesh-interleved.c:
252         * tests/conform/test-mesh-contiguous.c: Remove the idle source
253         after the test is complete so that it won't interfere with other
254         tests.
255
256 2008-11-26  Emmanuele Bassi  <ebassi@linux.intel.com>
257
258         * clutter/clutter-group.c:
259         (clutter_group_real_raise), (clutter_group_real_lower): Repaint
260         the Group on raise and lower.
261
262 2008-11-26  Neil Roberts  <neil@linux.intel.com>
263
264         * clutter/cogl/gl/cogl-texture.c (cogl_texture_rectangle): Fixed
265         the test for whether to use hardware tiling. Previously it assumed
266         that texture coordinates are in increasing order but this is not
267         the case since bug 1057 was fixed. The texture coordinates are now
268         sorted later. It also allowed negative coordinates which doesn't
269         make sense if the texture has waste.
270
271 2008-11-25  Emmanuele Bassi  <ebassi@linux.intel.com>
272
273         * configure.ac: Remove stray dependency on gdk-pixbuf-xlib; we
274         don't use the xlib specific API anymore. (thanks to Matthias
275         Clasen)
276
277 2008-11-25  Neil Roberts  <neil@linux.intel.com>
278
279         Bug 1299 - clutter_score_remove will segmentation fault if
280         timelines are more than 52 and continue to remove them
281
282         * clutter/clutter-score.c (traverse_children): Don't destroy the
283         entry in the handler for REMOVE_BY_ID. It will be removed again
284         anyway in the call to g_node_traverse. This was causing a
285         crash. Thanks to zhangwei for spotting.
286
287 2008-11-24  Neil Roberts  <neil@linux.intel.com>
288
289         Add a wrapper library to help testing without NPOTs.
290
291         * tests/tools/Makefile.am: Optionally build the
292         libdisable-npots.la library depending on whether libdl was
293         detected in the configure script. A helper script is also
294         generated to setup the LD_PRELOAD.
295
296         * tests/conform/Makefile.am: There are now two versions of the
297         test-report and full-report rules. test-report-normal is the same
298         as before and test-report-disable-npots runs the tests with the
299         disable-npots wrapper script. The full-report rule runs both of
300         them and displays two separate HTML files. The test-report rule
301         just runs the normal version as before.
302
303         * configure.ac: Add a test for libdl
304
305         * tests/tools/disable-npots.sh.in: New file. Template for the
306         helper script
307
308         * tests/tools/disable-npots.c: New file
309
310 2008-11-24  Neil Roberts  <neil@linux.intel.com>
311
312         * clutter/cogl/gl/cogl-texture.c (cogl_texture_polygon): Fix the
313         equation for calculating texture coordinates when using sliced
314         textures. This became broken in revision 3520.
315
316 2008-11-21  Neil Roberts  <neil@linux.intel.com>
317
318         Bug 1270 - Update to mingw-cross-compile.sh
319
320         * build/mingw/mingw-cross-compile.sh: Update to download latest
321         binaries. Patch thanks to David Kedves.
322
323 2008-11-21  Neil Roberts  <neil@linux.intel.com>
324
325         Bug 1271 - mingw compiling failed: undefined reference to
326         `_glDrawRangeElements@24'
327
328         Resolve glDrawRangeElements with cogl_get_proc_address instead of
329         calling it directly because functions defined in GL > 1.1 are not
330         directly exported under Windows.
331
332         * clutter/cogl/common/cogl-mesh.c: Use the function pointer from
333         the context
334
335         * clutter/cogl/gl/cogl-context.c (cogl_create_context): Initialise
336         function pointer.
337
338         * clutter/cogl/gl/cogl-context.h (CoglContext): Add a function
339         pointer
340
341         * clutter/cogl/gl/cogl-defines.h.in: Add a typedef for the
342         function pointer.
343
344         * clutter/cogl/gl/cogl.c (_cogl_features_init): Resolve
345         glDrawRangeElements
346
347 2008-11-21  Neil Roberts  <neil@linux.intel.com>
348
349         * tests/interactive/Makefile.am:
350         * tests/conform/Makefile.am: Use $(EXEEXT) when specifying a
351         dependency on an executable otherwise there won't be a rule to
352         build it on Windows.
353
354 2008-11-21  Neil Roberts  <neil@linux.intel.com>
355
356         Bug 1269 - mingw32 building failed at clutter-media.c
357
358         * clutter/clutter-media.c: Rename the 'ERROR' signal enum to
359         'ERROR_SIGNAL' otherwise it clashes with windgi.h. Thanks to David
360         Kedves
361
362 2008-11-21  Neil Roberts  <neil@linux.intel.com>
363
364         * clutter/pango/cogl-pango.h: Include pango/pango.h to get
365         pango-renderer.h. In versions prior to 1.18.4 pangocairo.h does
366         not include pango-renderer.h
367
368 2008-11-21  Neil Roberts  <neil@linux.intel.com>
369
370         Bug 1280 - clutter_score_append_at_marker lead to segmentation
371         fault in trunk and incorrect appearance in clutter-0.8
372
373         * clutter/clutter-score.c (start_children_entries): Check whether
374         the child timeline is actually attached at a marker before
375         comparing whether the marker's name matches the marker
376         reached. This fixes a crash that happens when a marker is reached
377         on a timeline that also has child timelines attached at the
378         end. Thanks to zhangwei for spotting.
379
380 2008-11-20  Emmanuele Bassi  <ebassi@linux.intel.com>
381
382         * clutter/clutter-actor.c:
383         (clutter_actor_set_property): Add sanity checks for NULL
384         boxed values when setting the rotation center.
385
386         * tests/interactive/test-animation.c:
387         (on_button_press): Add an example on how to use the rotation
388         properties to animate an actor.
389
390 2008-11-18  Neil Roberts  <neil@linux.intel.com>
391
392         Fixed some trivial compiler warnings
393
394         * tests/interactive/test-pixmap.c (create_pixmap): Use a format
395         string instead of passing the error message directly to g_error.
396
397         * tests/interactive/test-easing.c (test_easing_main)
398         (on_button_press):
399         * tests/interactive/test-animation.c (on_button_press): Use
400         unsigned variables for the results from clutter_actor_get_size
401         otherwise it complains about the pointer signedness being
402         different.
403
404         * clutter/clutter-script.c (clutter_script_add_search_paths): Use
405         G_GSIZE_FORMAT instead of %d for a gsize parameter otherwise it
406         gets upset on 64-bit.
407
408 2008-11-18  Neil Roberts  <neil@linux.intel.com>
409
410         * tests/conform/test-timeline.c (test_timeline): Remove the delay
411         idle handler after the test is finished, otherwise it will
412         continue running during subsequent tests. This was breaking
413         test_timeline_interpolate.
414
415 2008-11-18  Robert Bragg  <robert@linux.intel.com>
416
417         * clutter/cogl/common/cogl-mesh.c:
418         Re-works validate_custom_attribute_name() so it doesn't access an
419         un-initialised variable.
420
421 2008-11-18  Robert Bragg  <robert@linux.intel.com>
422
423         A comparison of gl/cogl-texture.c and gles/cogl-texture.c, to reduce
424         differences and improve maintainability.
425
426         * clutter/cogl/gl/cogl-context.h:
427         Adds a CoglTextureGLVertex typedef + texture_vertices and
428         texture_vertices_size members to CoglContext for using vertex arrays
429         like GLES does
430
431         * clutter/cogl/gl/cogl-context.c:
432         Initializes texture_vertices + texture_vertices_size members
433
434         * clutter/cogl/gl/cogl-internal.h:
435         Adds COGL_ENABLE_COLOR_ARRAY
436
437         * clutter/cogl/gl/cogl.c:
438         Add COGL_ENABLE_COLOR_ARRAY support to cogl_enable
439
440         * clutter/cogl/gles/cogl-context.h:
441         Change the CoglTextureGLVertex to use GLfloat for the position
442         and texture coord attributes and GLubyte for the color.
443
444         * clutter/cogl/gles/cogl-texture-private.h:
445         Adds a wrap_mode member like GL has.
446
447         * clutter/cogl/gl/cogl-texture.c
448         * clutter/cogl/gles/cogl-texture.c:
449         Improves the comparability of the files, such that the remaining
450         differences, better reflect the fundamental differences needed
451         between GL and GLES. Notably GL no longer uses glBegin/glEnd for
452         submitting vertices, it uses vertex arrays like GLES and this gives
453         a small but measurable fps improvement for test-text.
454
455 2008-11-18  Robert Bragg  <robert@linux.intel.com>
456
457         * clutter/cogl/gl/cogl-internal.h
458         * clutter/cogl/gles/cogl-internal.h:
459         Removes semicolon after the GE() macro since that breaks using it as a
460         single statement.
461
462 2008-11-18  Emmanuele Bassi  <ebassi@linux.intel.com>
463
464         * clutter/clutter.h: Add clutter-shader.h and
465         clutter-shader-types.h to the global include.
466
467 2008-11-18  Emmanuele Bassi  <ebassi@linux.intel.com>
468
469         * clutter/cogl/cogl-shader.h: Add a function for setting an
470         integer uniform, similar to cogl_program_uniform_1f().
471
472         * clutter/cogl/gl/cogl-program.c: Implement the GL version
473         of cogl_program_uniform_1i().
474
475         * clutter/cogl/gles/cogl-program.c: Implement the GLES version
476         of cogl_program_uniform_1i().
477
478 2008-11-18  Emmanuele Bassi  <ebassi@linux.intel.com>
479
480         Bug 1049 - Clutter doesn't support most GLSL uniforms (patch
481         by Chris Lord and Neil Roberts)
482
483         * README: Update release notes.
484
485         * clutter/Makefile.am:
486         * clutter/clutter-shader-types.[ch]: Add GValue types for
487         shader values.
488
489         * clutter/clutter-actor.[ch]: Update the shader API to use
490         the newly added GValue support for GLSL shader uniform
491         setters.
492
493         * clutter/clutter-shader.[ch]: Add float and integer convenience
494         API for single value GLSL uniform setters.
495
496         * clutter/cogl/cogl-shader.h: Add new uniform setters.
497
498         * clutter/cogl/gl/cogl-context.c:
499         * clutter/cogl/gl/cogl-context.h:
500         * clutter/cogl/gl/cogl-defines.h.in:
501         * clutter/cogl/gl/cogl-program.c:
502         * clutter/cogl/gl/cogl.c: Update the GL implementation of COGL
503         to handle the GLSL uniform setters.
504
505         * clutter/cogl/gles/cogl-gles2-wrapper.c:
506         * clutter/cogl/gles/cogl-gles2-wrapper.h:
507         * clutter/cogl/gles/cogl-internal.h:
508         * clutter/cogl/gles/cogl-program.c: Update the GLES 2.0 implementation
509         of COGL to handle the GLSL uniform setters.
510
511         * doc/reference/clutter/clutter-sections.txt:
512         * doc/reference/cogl/cogl-sections.txt: Update the documentation.
513
514         * tests/interactive/test-fbo.c:
515         * tests/interactive/test-shader.c: Update the shader tests.
516
517 2008-11-18  Emmanuele Bassi  <ebassi@linux.intel.com>
518
519         * clutter/clutter-texture.c:
520         (clutter_texture_get_preferred_width): Fix the usage of the
521         fixed point division macro.
522
523 2008-11-18  Emmanuele Bassi  <ebassi@linux.intel.com>
524
525         * tests/conform/test-conform-main.c (main): Do not run the
526         conformance test suite if we are on X11 but we do not have
527         a DISPLAY available. Some of the tests require a DISPLAY,
528         and everything passes through a clutter_init() call which will
529         fail anyway. If we are running make distcheck on an headless
530         box we might as well just skip the conformance test suite
531         without a meaningless error.
532
533 2008-11-18  Emmanuele Bassi  <ebassi@linux.intel.com>
534
535         * tests/conform/test-mesh-contiguous.c:
536         * tests/conform/test-mesh-interleved.c:
537         * tests/conform/test-mesh-mutability.c: Remove the last bare
538         g_print() from the conformance test suite.
539
540 2008-11-18  Emmanuele Bassi  <ebassi@linux.intel.com>
541
542         * clutter/clutter-alpha.h:
543         * clutter/clutter-alpha.c:
544         (clutter_alpha_set_mode): Use a lookup table to find the alpha
545         function given the animation mode.
546
547         (clutter_exp_in_func),
548         (clutter_exp_out_func),
549         (clutter_exp_in_out_func): Add new exponential functions.
550
551         * clutter/clutter-script.c: Update the lookup table with the
552         new animation modes; match "linear" to the ramp-inc alpha
553         function.
554
555         * clutter/clutter-types.h: Add new AnimationMode values.
556
557         * tests/interactive/test-easing.c: Update the easing functions
558         test.
559
560 2008-11-18  Neil Roberts  <neil@linux.intel.com>
561
562         * tests/conform/test-pick.c (test_pick): The final result message
563         when --verbose is used was the wrong way around
564
565 2008-11-18  Neil Roberts  <neil@linux.intel.com>
566
567         * tests/conform/test-conform-main.c (main): Fixed a typo in the
568         name of the path for test_realized.
569
570 2008-11-17  Emmanuele Bassi  <ebassi@linux.intel.com>
571
572         Bug 1014 - Clutter Animation API Improvements
573
574         * clutter/Makefile.am:
575         * clutter/clutter.h: Update the build
576
577         * clutter/clutter-types.h: Add AnimationMode, an enumeration
578         for easing functions.
579
580         * clutter/clutter-alpha.[ch]: Add the :mode property to
581         control the function bound to an Alpha instance using an
582         enumeration value. Also add six new alpha functions:
583
584                 - ease-in, ease-out, ease-in-out
585                 - sine-in, sine-out, sine-in-out
586
587         * clutter/clutter-deprecated.h: Deprecate the #defines for
588         the alpha functions. They will be replaced by entries in the
589         ClutterAnimationMode.
590
591         * clutter/clutter-interval.[ch]: Add ClutterInterval, an
592         object for defining, validating and computing an interval
593         between two values.
594
595         * clutter/clutter-animation.[ch]: Add ClutterAnimation, an
596         object responsible for animation the properties of a single
597         actor along an interval of values. ClutterAnimation memory
598         management is automatic. A simple wrapper method for
599         ClutterActor is provided:
600
601                 clutter_actor_animate()
602
603         which will create, or update, an animation for the passed
604         actor.
605
606         * clutter/clutter-debug.h:
607         * clutter/clutter-main.c: Add a new 'animation' debug note.
608
609         * clutter/clutter-script.c: Clean up the alpha functions
610         whitelist, and add the new functions.
611
612         * doc/reference/clutter/Makefile.am:
613         * doc/reference/clutter/clutter-sections.txt: Update the
614         API reference.
615
616         * doc/reference/clutter/clutter-animation.xml: Renamed to
617         doc/reference/clutter/clutter-animation-tutorial.xml to
618         avoid clashes with the ClutterAnimation section.
619
620         * doc/reference/clutter/clutter-docs.sgml: Renamed to
621         doc/reference/clutter/clutter-docs.xml, as it was an XML
622         file and not a SGML file.
623
624         * tests/Makefile.am:
625         * tests/interactive/Makefile.am:
626         * tests/interactive/test-animation.c:
627         * tests/interactive/test-easing.c: Add two tests for the
628         new simple animation API and the easing functions.
629
630         * tests/interactive/test-actors.c:
631         * tests/interactive/test-behave.c:
632         * tests/interactive/test-depth.c:
633         * tests/interactive/test-effects.c:
634         * tests/interactive/test-layout.c:
635         * tests/interactive/test-multistage.c:
636         * tests/interactive/test-paint-wrapper.c:
637         * tests/interactive/test-rotate.c:
638         * tests/interactive/test-scale.c:
639         * tests/interactive/test-texture-quality.c:
640         * tests/interactive/test-threads.c:
641         * tests/interactive/test-viewport.c: Update interactive tests
642         to the deprecations and new alpha API.
643
644 2008-11-17  Emmanuele Bassi  <ebassi@linux.intel.com>
645
646         * clutter/clutter-entry.c:
647         * clutter/clutter-label.c:
648         * clutter/clutter-rectangle.c:
649         * clutter/clutter-script.c:
650         * clutter/clutter-stage.c: Use the ParamSpecColor and GValue
651         API for ClutterColor-based properties.
652
653 2008-11-14  Robert Bragg  <ebassi@linux.intel.com>
654
655         * tests/interactive/Makefile.am
656         * tests/interactive/test-pixmap.c:
657         test-pixmap + test-devices accidentally got dropped from the makefiles
658         when changing the unit test layout; this puts them back.
659
660 2008-11-14  Emmanuele Bassi  <ebassi@linux.intel.com>
661
662         Bug 1265 - ClutterScore doesn't emit 'started' signal (Bastian
663         Winkler)
664
665         * clutter/clutter-score.c: Emit the ::started signal.
666
667         * tests/interactive/test-score.c: Check the emission of the
668         Score signals.
669
670 2008-11-13  Neil Roberts  <neil@linux.intel.com>
671
672         * clutter/cogl/gles/cogl-gles2-wrapper.h:
673         * clutter/cogl/gles/cogl-gles2-wrapper.c:
674         Initialise the 'tex' sampler uniform to 0. The GLSL spec
675         specifically says that you must initialize sampler uniforms. This
676         fixes texturing for GLES 2 when using the PowerVR simulator via
677         software Mesa.
678
679 2008-11-13  Robert Bragg  <robert@linux.intel.com>
680
681         Gets the mesh API working with GLES2
682
683         * clutter/cogl/common/cogl-mesh.c:
684         Make sure we use the appropriate cogl_wrap_gl* funcs as appropriate
685
686         * clutter/cogl/gles/cogl-gles2-wrapper.c
687         * clutter/cogl/gles/cogl-gles2-wrapper.h:
688         In our glColorPointer wrapper we needed to mark our color attribute
689         as normalized.
690
691         * tests/conform/Makefile.am:
692         When creating unit test symlinks we use the -l gtester option to
693         list tests, but when using the PVR SDK the test binary also spews
694         out some extra info that caused lots of random symlinks to be
695         created. We now grep for lines starting with a '/'
696
697         * tests/conform/test-mesh-contiguous.c
698         * tests/conform/test-mesh-mutability.c:
699         Use cogl_set_source_color instead of directly calling glColor4ub
700
701 2008-11-13  Neil Roberts  <neil@linux.intel.com>
702
703         * clutter/clutter-actor.c (clutter_actor_get_paint_visibility):
704         Fix logic so that it won't return TRUE for a hidden stage.
705
706 2008-11-13  Emmanuele Bassi  <ebassi@linux.intel.com>
707
708         * clutter/clutter-behaviour-ellipse.c:
709         (clutter_behaviour_ellipse_applied): Do not reset the depth
710         of the actors to which the Ellipse behaviour has been applied
711         to, unless the behaviour is going to update it because it has
712         a tilt on the X or Y axis.
713
714 2008-11-13  Neil Roberts  <neil@linux.intel.com>
715
716         * clutter/clutter-actor.c (clutter_actor_get_reactive)
717         (clutter_actor_get_paint_visibility): Be sure to return exactly
718         TRUE or FALSE instead of zero or some non-zero value in these
719         functions that return a gboolean. Thanks to Kai Wei for spotting.
720
721 2008-11-12  Emmanuele Bassi  <ebassi@linux.intel.com>
722
723         * tests/conform/Makefile.am:
724         * tests/conform/test-conform-main.c:
725         * tests/conform/test-paint-opacity.c: Add test unit for label,
726         rectangle and paint opacity.
727
728 2008-11-12  Emmanuele Bassi  <ebassi@linux.intel.com>
729
730         * clutter/cogl/cogl-color.h:
731         * clutter/cogl/cogl-path.h:
732         * clutter/cogl/cogl-types.h:
733         * clutter/cogl/common/cogl-color.c: Deprecated cogl_color()
734         in favour of cogl_set_source_color() and friends; store the
735         CoglColor components as unsigned bytes instead of fixed point
736         normalized values; add functions for allocating, copying and
737         freeing CoglColor, for use of language bindings.
738
739         * clutter/cogl/cogl.h.in:
740         * clutter/cogl/cogl-deprecated.h: Added cogl-deprecated.h,
741         an header file containing the deprecation symbols similar
742         to clutter-deprecated.h.
743
744         * clutter/cogl/gl/Makefile.am:
745         * clutter/cogl/gl/cogl-texture.c:
746         * clutter/cogl/gl/cogl.c:
747         * clutter/cogl/gles/Makefile.am:
748         * clutter/cogl/gles/cogl-texture.c:
749         * clutter/cogl/gles/cogl.c: Update the GL and GLES implementations
750         of COGL after the CoglColor changes.
751
752         * clutter/clutter-actor.c:
753         * clutter/clutter-clone-texture.c:
754         * clutter/clutter-entry.c:
755         * clutter/clutter-label.c:
756         * clutter/clutter-rectangle.c:
757         * clutter/clutter-texture.c: Do not use CoglColor whenever it
758         is possible, and use cogl_set_source_color4ub() instead.
759
760         * clutter/pango/cogl-pango-render.c: Ditto as above.
761
762         * doc/reference/clutter/subclassing-ClutterActor.xml:
763         * doc/reference/cogl/cogl-sections.txt: Update the documentation.
764
765         * tests/interactive/test-cogl-offscreen.c:
766         * tests/interactive/test-cogl-primitives.c:
767         * tests/interactive/test-cogl-tex-convert.c:
768         * tests/interactive/test-cogl-tex-foreign.c:
769         * tests/interactive/test-cogl-tex-getset.c:
770         * tests/interactive/test-cogl-tex-polygon.c:
771         * tests/interactive/test-cogl-tex-tile.c:
772         * tests/interactive/test-paint-wrapper.c: Drop the usage of
773         CoglColor whenever it is possible.
774
775 2008-11-12  Neil Roberts  <neil@linux.intel.com>
776
777         Bug 1057 - cogl_texture_rectangle doesn't support backward
778         coordinates
779
780         * clutter/cogl/gl/cogl-texture.c: Instead of sorting the vertex
781         and texture coordinates passed to cogl_texture_rectangle, just
782         swap both sets whenever the texture coordinates are backward.
783
784 2008-11-12  Neil Roberts  <neil@linux.intel.com>
785
786         * clutter/clutter-rectangle.c (clutter_rectangle_paint): Fixed so
787         that it doesn't use the alpha value from the border colour to draw
788         the rectangle
789
790 2008-11-12  Neil Roberts  <neil@linux.intel.com>
791
792         * clutter/cogl/gles/Makefile.am (libclutterinclude_HEADERS):
793         * clutter/cogl/gl/Makefile.am (libclutterinclude_HEADERS):
794         * clutter/cogl/common/Makefile.am
795         (libclutter_cogl_common_la_SOURCES): Move cogl-mesh.h into the
796         headers for libclutter so that it will get installed.
797
798 2008-11-12  Neil Roberts  <neil@linux.intel.com>
799
800         Fix warnings in mesh tests
801
802         * tests/conform/test-mesh-mutability.c (on_paint):
803         * tests/conform/test-mesh-interleved.c (on_paint):
804         * tests/conform/test-mesh-contiguous.c (on_paint): Use g_usleep
805         instead of sleep
806
807         * tests/conform/test-mesh-mutability.c (queue_redraw):
808         * tests/conform/test-mesh-interleved.c (queue_redraw):
809         * tests/conform/test-mesh-contiguous.c (queue_redraw): Added
810         missing return statement
811
812         * clutter/cogl/cogl-mesh.h: Add a declaration for
813         cogl_mesh_submit
814
815         * clutter/cogl/common/cogl-mesh.c (cogl_mesh_submit): Move the
816         documentation to cogl-mesh.h to match the rest of the functions
817
818 2008-11-10  Robert Bragg  <robert@linux.intel.com>
819
820         Bug 1164 - Implements the proposed Mesh API
821
822         * clutter/cogl/cogl-mesh.h
823         * clutter/cogl/cogl-types.h
824         * clutter/cogl/cogl.h.in
825         * clutter/cogl/common/Makefile.am
826         * clutter/cogl/common/cogl-mesh-private.h
827         * clutter/cogl/common/cogl-mesh.c
828         * clutter/cogl/gl/cogl-context.c
829         * clutter/cogl/gl/cogl-context.h
830         * clutter/cogl/gl/cogl-defines.h.in
831         * clutter/cogl/gl/cogl.c
832         * clutter/cogl/gles/cogl-context.c
833         * clutter/cogl/gles/cogl-context.h:
834         The Mesh API provides a means for submitting an extensible number of
835         per vertex attributes to OpenGL in a way that doesn't require format
836         conversions and so that the data can be mapped into the GPU (in vertex
837         buffer objects) for - hopefully - fast re-use.
838
839         There are a number of things we can potentially use this API for, but
840         right now this just provides a foundation to build on. Please read
841         the extensive list of TODO items in cogl-mesh.c for examples.
842
843         Please refer to the cogl-mesh section in the reference manual for
844         documentation of the API.
845
846         * tests/conform/Makefile.am
847         * tests/conform/test-conform-main.c
848         * tests/conform/test-mesh-contiguous.c
849         * tests/conform/test-mesh-interleved.c
850         * tests/conform/test-mesh-mutability.c:
851         Privides basic coverage testing for the mesh API.
852
853 2008-11-10  Robert Bragg  <robert@linux.intel.com>
854
855         Bug 1164 - Implements the proposed Mesh API
856
857         * clutter/cogl/cogl-mesh.h
858         * clutter/cogl/cogl-types.h
859         * clutter/cogl/cogl.h.in
860         * clutter/cogl/common/Makefile.am
861         * clutter/cogl/common/cogl-mesh-private.h
862         * clutter/cogl/common/cogl-mesh.c
863         * clutter/cogl/gl/cogl-context.c
864         * clutter/cogl/gl/cogl-context.h
865         * clutter/cogl/gl/cogl-defines.h.in
866         * clutter/cogl/gl/cogl.c
867         * clutter/cogl/gles/cogl-context.c
868         * clutter/cogl/gles/cogl-context.h:
869         The Mesh API provides a means for submitting an extensible number of
870         per vertex attributes to OpenGL in a way that doesn't require format
871         conversions and so that the data can be mapped into the GPU (in vertex
872         buffer objects) for - hopefully - fast re-use.
873
874         There are a number of things we can potentially use this API for, but
875         right now this just provides a foundation to build on. Please read
876         the extensive list of TODO items in cogl-mesh.c for examples.
877
878         Please refer to the cogl-mesh section in the reference manual for
879         documentation of the API.
880
881         * tests/conform/Makefile.am
882         * tests/conform/test-conform-main.c
883         * tests/conform/test-mesh-contiguous.c
884         * tests/conform/test-mesh-interleved.c
885         * tests/conform/test-mesh-mutability.c:
886         Privides basic coverage testing for the mesh API.
887
888 2008-11-10  Robert Bragg  <robert@linux.intel.com>
889
890         * tests/conform/ADDING_NEW_TESTS
891         * tests/conform/test-conform-common.c
892         * tests/conform/test-pick.c:
893         Instead of using clutter_stage_new /clutter_actor_destroy as a way to
894         avoid cascading side effects between unit tests, due to left over
895         actors, we now destroy all children of the default stage between
896         tests instead.
897
898         * tests/conform/wrapper.sh:
899         Adds a convenience note about how to run valgrind for an individual
900         unit test
901
902 2008-11-10  Neil Roberts  <neil@linux.intel.com>
903
904         * tests/interactive/test-main.c (main): Allow more than two
905         arguments so that the remaining arguments can be passed to the
906         test. This is needed for test-behave for example which can take a
907         --path argument.
908
909 2008-11-10  Emmanuele Bassi  <ebassi@linux.intel.com>
910
911         * clutter/clutter-texture.c: Remove an unused function.
912
913 2008-11-10  Emmanuele Bassi  <ebassi@linux.intel.com>
914
915         * tests/conform/test-label-cache.c:
916         * tests/conform/test-pick.c:
917         * tests/conform/test-timeline.c: Show all the output messages only
918         if the test was done with the verbose flag turned on.
919
920         * tests/interactive/test-main.c: Do not use the (gpointer*) cast,
921         but use a temporary gpointer instead.
922
923 2008-11-10  Robert Bragg  <robert@linux.intel.com>
924
925         * tests/conform/Makefile.am:
926         * tests/conform/wrapper.sh:
927         * tests/conform/test-conform-main.c:
928         * tests/conform/test-timeline.c:
929         Adds Neil's updates to test-timeline.c so it now works with the new
930         unit testing infrastructure.
931
932         Also some fixes to ensure wrappers get setup correctly for the
933         timeline tests.
934
935         * tests/interactive/test-main.c:
936         cast the symbol return pointer as (gpointer *) to avoid warning
937
938         * tests/conform/test-pick.c:
939         g_assert that the test passes, instead of using exit()
940
941         * test/conform/ADDING_NEW_TESTS:
942         Fixes a silly typo
943
944 2008-11-08  Emmanuele Bassi  <ebassi@linux.intel.com>
945
946         * tests/conform/Makefile.am:
947         * tests/conform/test-actor-invariants.c:
948         * tests/conform/test-conform-main.c: Move the actor invariants
949         unit to the conform section of the test suite.
950
951         * tests/interactive/Makefile.am:
952         * tests/interactive/test-entry-auto.c:
953         * tests/interactive/test-invariants.c: Remove the entry-auto
954         and invariants test, since those two belong to the conform
955         section.
956
957 2008-11-07  Robert Bragg  <robert@linux.intel.com>
958
959         Bug 1162 - Re-works the tests/ to use the glib-2.16 unit testing
960         framework
961
962         * configure.ac:
963         * tests/*:
964         The tests have been reorganised into different categories: conformance,
965         interactive and micro benchmarks.
966         - conformance tests can be run as part of automated tests
967         - interactive tests are basically all the existing tests
968         - micro benchmarks focus on a single performance metric
969
970         I converted the timeline tests to conformance tests and also added some
971         tests from Neil Roberts and Ebassi.
972
973         Note: currently only the conformance tests use the glib test APIs,
974         though the micro benchmarks should too.
975
976         The other change is to make the unit tests link into monolithic binaries
977         which makes the build time for unit tests considerably faster. To deal
978         with the extra complexity this adds to debugging individual tests I
979         have added some sugar to the makefiles so all the tests can be run
980         directly via a symlink and when an individual test is run this way,
981         then a note is printed to the terminal explaining exactly how that test
982         may be debugged using GDB.
983
984         There is a convenience make rule: 'make test-report', that will run all
985         the conformance tests and hopefully even open the results in your web
986         browser. It skips some of the slower timeline tests, but you can run
987         those using 'make full-report'
988
989 2008-11-07  Emmanuele Bassi  <ebassi@linux.intel.com>
990
991         * clutter/clutter-media.c: Improve documentation of the
992         ClutterMedia interface.
993
994 2008-11-07  Matthew Allum  <mallum@linux.intel.com>
995
996         Bug 1238 - [PATCH] Pack bitfields in ClutterTexturePrivate
997
998         * clutter/clutter-texture.c:
999
1000         Using 'guint my_field : 1' for booleans to save space only
1001         makes sense if you group all such fields together. Fix
1002         grouping for ClutterTexturePrivate. Thanks to Owen Taylor for
1003         patch.
1004
1005 2008-11-07  Matthew Allum  <mallum@linux.intel.com>
1006
1007        Bug 1237 - clutter_texture_set_filter_quality calls
1008                   clutter_texture_[un]realize
1009
1010         * clutter/clutter-texture.c: (clutter_texture_set_filter_quality):
1011         Call clutter_actor_[un]realize and keep visibility state
1012
1013 2008-11-07  Matthew Allum  <mallum@linux.intel.com>
1014
1015         * clutter/clutter-actor.c:
1016         * clutter/clutter-actor.h:
1017         * clutter/clutter-clone-texture.c:
1018         * clutter/clutter-private.h:
1019         * clutter/clutter-texture.c:
1020         * clutter/x11/clutter-x11-texture-pixmap.c:
1021
1022         Attempt to lower overhead of updating TFP's (particularly mipmaped).
1023         Compresses mipmap updates only for visible TFPs.
1024         Avoiding updates for non visible TFP's whilst keeping visible
1025         clones working ok.
1026
1027 2008-11-06  Neil Roberts  <neil@linux.intel.com>
1028
1029         Bug 1230 - Pick fails on low precision color buffers
1030
1031         * clutter/clutter-main.c (_clutter_id_to_color): When using fuzzy
1032         picking to pick a color for an actor, it would previously set the
1033         fuzzy bit and then all but the most significant of the remaining
1034         unused bits. This meant that for 16-bit displays it would end up
1035         with a strange pattern for the unused bits like 1011 which could
1036         cause it to round up. Now it just sets all but the most
1037         significant of all of the unused bits giving a pattern like
1038         0111. Thanks to Guy Zadickario for the patch.
1039
1040 2008-11-06  Neil Roberts  <neil@linux.intel.com>
1041
1042         * clutter/cogl/gles/cogl.c (cogl_perspective):
1043         * clutter/cogl/common/cogl-fixed.c (cogl_fixed_sin)
1044         (cogl_angle_sin, cogl_angle_tan, cogl_fixed_sqrt): Replaced uses
1045         of 1 + ~x with just -x which is equivalent and easier to
1046         understand.
1047
1048 2008-11-06  Emmanuele Bassi  <ebassi@linux.intel.com>
1049
1050         Bug 1233 - CLUTTER_ALPHA_SINE_INC is broken in trunk
1051
1052         * clutter/clutter-alpha.c: Fix a rollover in the sine functions.
1053
1054 2008-11-05  Neil Roberts  <neil@linux.intel.com>
1055
1056         * clutter/clutter-color.c (clutter_color_new): Remove CLAMP macros
1057         around the component parameters because they are guint8 anyway so
1058         the CLAMP is redundant and it causes a warning.
1059
1060 2008-11-04  Thomas Wood  <thomas@linux.intel.com>
1061
1062         * clutter/clutter-color.c: Update ClutterColor documentation as
1063         changes have been backported to 0.8.4.
1064
1065 2008-11-04  Emmanuele Bassi  <ebassi@linux.intel.com>
1066
1067         * clutter/clutter-script.c: Document the "is-default" member of
1068         a ClutterStage definition.
1069
1070 2008-11-04  Neil Roberts  <neil@linux.intel.com>
1071
1072         * clutter/cogl/gl/cogl.c (cogl_perspective): Use the accurate
1073         64-bit multiplication macro instead of COGL_FIXED_FAST_DIV for
1074         calculating xmax as was done previously. This fixes
1075         test-perspective and other tests that had a gone a bit skewiff.
1076
1077 2008-11-04  Neil Roberts  <neil@linux.intel.com>
1078
1079         Bug 1181 - In Score, timelines, appended at markers, are also
1080         called on complete
1081
1082         * clutter/clutter-score.c (start_children_entries): Use the name
1083         of the marker to start as the data parameter and only start child
1084         timelines that have the same marker name. Previously the
1085         ClutterScore would just start all child entries when a marker was
1086         reached or the timeline completed regardless of whether they were
1087         added with a marker or not. Thanks to Mihail Naydenov for
1088         reporting the bug.
1089
1090 2008-11-03  Emmanuele Bassi  <ebassi@linux.intel.com>
1091
1092         * clutter/cogl/gl/Makefile.am: Whitespace fixes.
1093
1094         * clutter/cogl/gles/Makefile.am: Put back a missing backslash
1095         that broke the GLES build.
1096
1097 2008-11-03  Emmanuele Bassi  <ebassi@linux.intel.com>
1098
1099         Bug 1231 - Build fails in gles flavour in revision 3442
1100
1101         * clutter/cogl/gles/cogl-context.h: Fix remaining use of
1102         ClutterFixed over CoglFixed. (Michael Boccara)
1103
1104 2008-11-03  Neil Roberts  <neil@linux.intel.com>
1105
1106         Bug 1207 - Timelines sometime miss markers
1107
1108         * clutter/clutter-timeline.c (timeline_timeout_func): Move the
1109         code for firing the new-frame and marker-reached signals into a
1110         separate static function so that it can also be called when the
1111         last frame is reached. Also fix an issue where the frame numbers
1112         were changed in the wrong direction when detecting missed markers
1113         in a reversed timeline. Based on a patch by Michael Boccara.
1114
1115         * tests/test-timeline.c: Now tries to automatically verify whether
1116         the test worked by keeping track of all the signal emissions. The
1117         timelines are run a second time with an extra timeout that causes
1118         delays to simulate skipped frames.
1119
1120 2008-10-31  Emmanuele Bassi  <ebassi@linux.intel.com>
1121
1122         * clutter/pango/cogl-pango-fontmap.c:
1123         * clutter/pango/cogl-pango-render.c: Whitespace fixes and code
1124         duplication removal. Plus, start documenting the CoglPango API.
1125
1126 2008-10-31  Matthew Allum  <mallum@openedhand.com>
1127
1128         * clutter/clutter-texture.c: (clutter_texture_set_filter_quality),
1129         (clutter_texture_get_filter_quality):
1130         Fix up some logic, typos.
1131
1132         * clutter/glx/clutter-glx-texture-pixmap.c:
1133         Improve support for mipmaped TFP textures.
1134
1135 2008-10-31  Emmanuele Bassi  <ebassi@linux.intel.com>
1136
1137         Bug 1200 - Crash with invalid DISPLAY
1138
1139         * clutter/clutter-main.c: Use the ClutterBackend wrapper API
1140         instead of directly checking the class structure.
1141
1142         * clutter/glx/clutter-backend-glx.c: Return the correct value
1143         in case of failure.
1144
1145         * clutter/x11/clutter-backend-x11.c: Bail out if XOpenDisplay()
1146         failed.
1147
1148 2008-10-30  Emmanuele Bassi  <ebassi@linux.intel.com>
1149
1150         * clutter/cogl/cogl-color.h:
1151         * clutter/cogl/cogl-fixed.h:
1152         * clutter/cogl/cogl-offscreen.h:
1153         * clutter/cogl/cogl-path.h:
1154         * clutter/cogl/cogl-shader.h:
1155         * clutter/cogl/cogl-texture.h:
1156         * clutter/cogl/cogl-types.h: Add copyright and licensing
1157         notice to the newly added files.
1158
1159 2008-10-30  Emmanuele Bassi  <ebassi@linux.intel.com>
1160
1161         Bug 1219 - Clean up cogl.h
1162
1163         * clutter/cogl/cogl.h.in:
1164         * clutter/cogl/cogl-offscreen.h:
1165         * clutter/cogl/cogl-path.h:
1166         * clutter/cogl/cogl-shader.h:
1167         * clutter/cogl/cogl-texture.h:
1168         * clutter/cogl/cogl-types.h: Split up the massive cogl.h file
1169         into sub-header for each section of the API.
1170
1171         * clutter/cogl/gl/*:
1172         * clutter/cogl/gles/*: Update the GL and GLES implementations
1173         of COGL to cope with the new header structure.
1174
1175         * doc/reference/cogl/Makefile.am: Fix symbol retrieval.
1176
1177 2008-10-30  Emmanuele Bassi  <ebassi@linux.intel.com>
1178
1179         Bug 1215 - Move the Pango renderer to the public API
1180
1181         * clutter/pango/*: Rename PangoClutter -> CoglPango.
1182
1183         * clutter/Makefile.am:
1184         * clutter/clutter-backend.c:
1185         * clutter/clutter-entry.c:
1186         * clutter/clutter-label.c:
1187         * clutter/clutter-main.[ch]:
1188         * clutter/clutter-private.h: Update the users of the Pango
1189         renderer API.
1190
1191         * README: Update release notes.
1192
1193 2008-10-30  Emmanuele Bassi  <ebassi@linux.intel.com>
1194
1195         Bug 1212 - Allow only a single include file for Clutter
1196
1197         * clutter/*.h: Only allow including clutter.h in third
1198         party code.
1199
1200         * clutter/cogl/cogl-color.h:
1201         * clutter/cogl/cogl-fixed.h:
1202         * clutter/cogl/cogl.h.in: Only allow including cogl.h in
1203         third party code.
1204
1205         * clutter/cogl/common/Makefile.am:
1206         * clutter/cogl/gl/Makefile.am:
1207         * clutter/cogl/gles/Makefile.am:
1208         * clutter/eglnative/Makefile.am:
1209         * clutter/eglx/Makefile.am:
1210         * clutter/fruity/Makefile.am:
1211         * clutter/glx/Makefile.am:
1212         * clutter/glx/clutter-glx.h:
1213         * clutter/osx/Makefile.am:
1214         * clutter/pango/Makefile.am:
1215         * clutter/sdl/Makefile.am:
1216         * clutter/win32/Makefile.am:
1217         * clutter/x11/Makefile.am: Fix build environment.
1218
1219         * clutter/x11/clutter-x11-texture-pixmap.h:
1220         * clutter/x11/clutter-x11.h: Fix inclusion rules.
1221
1222         * tests/test-pixmap.c: Fix inclusion of GdkPixbuf header.
1223
1224         * README: Update release notes.
1225
1226 2008-10-30  Emmanuele Bassi  <ebassi@linux.intel.com>
1227
1228         Bug 1211 - Drop ClutterFeatureFlags usage from COGL
1229
1230         * clutter/cogl/cogl.h.in:
1231         * clutter/cogl/gl/cogl.c:
1232         * clutter/cogl/gles/cogl.c: Do not use ClutterFeatureFlags
1233         when CoglFeatureFlags will do. This removes the last usage
1234         of Clutter API inside COGL.
1235
1236 2008-10-30  Emmanuele Bassi  <ebassi@linux.intel.com>
1237
1238         Bug 1210 - Add CoglColor API
1239
1240         * clutter/cogl/cogl-color.h:
1241         * clutter/cogl/cogl.h.in:
1242         * clutter/cogl/common/Makefile.am:
1243         * clutter/cogl/common/cogl-color.c:
1244         * clutter/cogl/gl/Makefile.am:
1245         * clutter/cogl/gl/cogl.c:
1246         * clutter/cogl/gles/Makefile.am:
1247         * clutter/cogl/gles/cogl-texture.c:
1248         * clutter/cogl/gles/cogl.c: Add a new color-type, to be used by
1249         COGL. CoglColor is optimized to allow the minimum amount of
1250         conversions possible for both GL and GLES implementations.
1251
1252         * clutter/clutter-actor.c:
1253         * clutter/clutter-clone-texture.c:
1254         * clutter/clutter-entry.c:
1255         * clutter/clutter-main.c:
1256         * clutter/clutter-rectangle.c:
1257         * clutter/clutter-stage.c:
1258         * clutter/clutter-texture.c: Use CoglColor when needed.
1259
1260         * clutter/pango/pangoclutter-render.c: Use CoglColor when needed.
1261
1262         * doc/reference/cogl/cogl-docs.sgml:
1263         * doc/reference/cogl/cogl-sections.txt: Update the documentation.
1264
1265         * tests/test-cogl-offscreen.c:
1266         * tests/test-cogl-primitives.c:
1267         * tests/test-cogl-tex-convert.c:
1268         * tests/test-cogl-tex-foreign.c:
1269         * tests/test-cogl-tex-getset.c:
1270         * tests/test-cogl-tex-polygon.c:
1271         * tests/test-cogl-tex-tile.c:
1272         * tests/test-paint-wrapper.c: Update the tests.
1273
1274         * README: Update release notes.
1275
1276 2008-10-30  Emmanuele Bassi  <ebassi@linux.intel.com>
1277
1278         Bug 1209 - Move fixed point API in COGL
1279
1280         * clutter/cogl/cogl-fixed.h:
1281         * clutter/cogl/cogl.h.in:
1282         * clutter/cogl/common/Makefile.am:
1283         * clutter/cogl/common/cogl-fixed.c: Add fixed point API, modelled
1284         after the ClutterFixed. The CoglFixed API supercedes the ClutterFixed
1285         one and avoids the dependency of COGL on Clutter's own API.
1286
1287         * clutter/cogl/common/cogl-clip-stack.c:
1288         * clutter/cogl/common/cogl-primitives.c:
1289         * clutter/cogl/common/cogl-primitives.h: Update internal usage of
1290         ClutterFixed to CoglFixed.
1291
1292         * clutter/cogl/gl/Makefile.am:
1293         * clutter/cogl/gl/cogl-primitives.c:
1294         * clutter/cogl/gl/cogl-texture.c:
1295         * clutter/cogl/gl/cogl.c: Ditto, in the GL implementation of the
1296         COGL API.
1297
1298         * clutter/cogl/gles/Makefile.am:
1299         * clutter/cogl/gles/cogl-fbo.c:
1300         * clutter/cogl/gles/cogl-gles2-wrapper.c:
1301         * clutter/cogl/gles/cogl-primitives.c:
1302         * clutter/cogl/gles/cogl-texture.c:
1303         * clutter/cogl/gles/cogl.c: Ditto, in the GLES implementation of
1304         the COGL API.
1305
1306         * clutter/pango/pangoclutter-glyph-cache.c:
1307         * clutter/pango/pangoclutter-glyph-cache.h: Ditto, in the Pango
1308         renderer glyphs cache.
1309
1310         * clutter/clutter-fixed.c:
1311         * clutter/clutter-fixed.h: ClutterFixed and related API becomes
1312         a simple transition API for bindings and public Clutter API.
1313
1314         * clutter/clutter-actor.c:
1315         * clutter/clutter-alpha.c:
1316         * clutter/clutter-backend.c:
1317         * clutter/clutter-behaviour-depth.c:
1318         * clutter/clutter-behaviour-ellipse.c:
1319         * clutter/clutter-behaviour-path.c:
1320         * clutter/clutter-behaviour-rotate.c:
1321         * clutter/clutter-behaviour-scale.c:
1322         * clutter/clutter-clone-texture.c:
1323         * clutter/clutter-color.c:
1324         * clutter/clutter-entry.c:
1325         * clutter/clutter-stage.c:
1326         * clutter/clutter-texture.c:
1327         * clutter/clutter-timeline.c:
1328         * clutter/clutter-units.h: Move from the internal usage of
1329         ClutterFixed to CoglFixed.
1330
1331         * doc/reference/clutter/clutter-sections.txt:
1332         * doc/reference/cogl/cogl-docs.sgml:
1333         * doc/reference/cogl/cogl-sections.txt: Update the documentation.
1334
1335         * tests/test-cogl-tex-tile.c:
1336         * tests/test-project.c: Fix tests after the API change
1337
1338         * README: Add release notes.
1339
1340 2008-10-29  Neil Roberts  <neil@linux.intel.com>
1341
1342         Bug 1074 - FBOs on GLES
1343
1344         * clutter/cogl/gles/cogl-fbo.c: Copy the code from gl/cogl-fbo but
1345         use the API calls directly instead of loading an extension because
1346         it is part of the core in GLES 2.
1347
1348         * clutter/cogl/gles/cogl.c (_cogl_features_init): Report
1349         COGL_FEATURE_OFFSCREEN.
1350
1351         * clutter/cogl/gles/cogl-fbo.h (CoglFbo): Add gl_stencil_handle.
1352
1353         * clutter/cogl/gles/cogl-context.h (CoglContext): Add
1354         viewport_store
1355
1356         * tests/test-fbo.c (make_shader): Conditionally use the GLES 2
1357         names of the shader variables
1358
1359 2008-10-29  Neil Roberts  <neil@linux.intel.com>
1360
1361         Bug 1206 - Picking disabled dithering
1362
1363         * clutter/clutter-main.c (_clutter_do_pick): After picking is
1364         finished, restore the state of glEnable (GL_DITHER). Otherwise it
1365         will cause the scene to look different after the first pick on low
1366         depth displays. (Thanks to Michael Boccara for the patch)
1367
1368 2008-10-28  Thomas Wood  <thomas@linux.intel.com>
1369
1370         * clutter/clutter-color.c (param_color_set_default): Set the no copy
1371         flag when setting the default param spec value to prevent invalid
1372         frees.
1373
1374 2008-10-27  Neil Roberts  <neil@linux.intel.com>
1375
1376         Bug 1189 - Backface culling
1377
1378         * clutter/cogl/gl/cogl-texture.c (cogl_texture_polygon)
1379         (_cogl_texture_quad_sw, _cogl_texture_quad_hw):
1380         * clutter/cogl/gles/cogl-texture.c (cogl_texture_polygon)
1381         (_cogl_texture_quad_sw, _cogl_texture_quad_hw): Enable backface
1382         culling in GL if it is requested.
1383
1384         * clutter/cogl/gles/cogl-texture.c (_cogl_texture_quad_sw)
1385         (_cogl_texture_quad_hw):
1386         * clutter/cogl/gl/cogl-texture.c (_cogl_texture_quad_sw)
1387         (_cogl_texture_quad_hw): Reorder the
1388         vertices so that they are counter-clockwise.
1389
1390         * clutter/cogl/gles/cogl-context.h (CoglContext):
1391         * clutter/cogl/gl/cogl-context.h (CoglContext): Added a flag to
1392         store whether backface culling is currently enabled.
1393
1394         * clutter/cogl/gles/cogl.c (cogl_enable_backface_culling):
1395         * clutter/cogl/gl/cogl.c (cogl_enable_backface_culling): New
1396         function
1397
1398         * doc/reference/cogl/cogl-sections.txt: Add
1399         cogl_enable_backface_culling
1400
1401 2008-10-27  Neil Roberts  <neil@linux.intel.com>
1402
1403         Bug 1196 - Texture border drawing problems
1404
1405         * clutter/cogl/gl/cogl-texture.c (_cogl_texture_upload_subregion_to_gl)
1406         (_cogl_texture_upload_to_gl):
1407
1408         * clutter/cogl/gles/cogl-texture.c (_cogl_texture_upload_to_gl)
1409         (_cogl_texture_upload_subregion_to_gl):
1410
1411         When uploading data to a sliced texture, fill the waste pixels
1412         with copies of the edge of the real texture data. Otherwise the
1413         value of the waste pixels are undefined so it will show artifacts
1414         when the texture is scaled with GL_LINEAR and the pixels are
1415         blended in.
1416
1417 2008-10-22  Thomas Wood  <thomas@linux.intel.com>
1418
1419         * tests/test-actors.c: Don't adjust the radius based on the number of
1420         actors
1421
1422 2008-10-21  Emmanuele Bassi  <ebassi@linux.intel.com>
1423
1424         * clutter/clutter-color.[ch] (clutter_value_set_color): Constify
1425         colors and values where needed.
1426
1427 2008-10-21  Emmanuele Bassi  <ebassi@linux.intel.com>
1428
1429         Bug 1197 - Missing const for clutter_init_with_args *
1430
1431         * clutter/clutter-main.[ch] (clutter_init_with_args): Constify
1432         the string parameters. (Owen Taylor)
1433
1434 2008-10-20  Emmanuele Bassi  <ebassi@linux.intel.com>
1435
1436         * configure.ac: Use gmodule-no-export-2.0, not gmodule-2.0,
1437         to avoid breaking the symbol hiding. (thanks to Ross Burton
1438         and Laurent Bigonville)
1439
1440 2008-10-20  Neil Roberts  <neil@linux.intel.com>
1441
1442         Bug 1043 - COGL calls glTexSubImage2D() with out-of-bounds
1443         values (SIGSEGV)
1444
1445         * clutter/cogl/gl/cogl-texture.c
1446         (_cogl_texture_upload_subregion_to_gl): When iterating over the
1447         slices, discard ones that don't intersect immediatly otherwise it
1448         will call glTexSubImage2D with a negative width/height and then
1449         move the source position incorrectly. Thanks to Gwenole
1450         Beauchesne.
1451
1452 2008-10-20  Emmanuele Bassi  <ebassi@linux.intel.com>
1453
1454         * clutter/clutter-color.h: Declare clutter_color_new() in the
1455         installed header.
1456
1457 2008-10-20  Neil Roberts  <neil@linux.intel.com>
1458
1459         Bug 1195 - ClutterBehaviourBspline only works for very short paths
1460
1461         * clutter/clutter-behaviour-bspline.c: Changed the CBZ_T_POW3 and
1462         CBZ_T_MUL functions so that they preserve more of the least
1463         significant bits. This fixes some of the jaggy behaviour with
1464         longer paths.
1465
1466 2008-10-17  Thomas Wood  <thomas@linux.intel.com>
1467
1468         reviewed by: Emmanuele Bassi <ebassi@linux.intel.com>
1469
1470         * clutter/clutter-color.[ch]: Add GParamSpec and GValue integration
1471         for ClutterColor. With ClutterParamSpecColor it is possible to define
1472         color properties; with the GValue integration it's possible to
1473         automatically transform strings into colors and vice versa.
1474
1475         (clutter_color_free): Allow NULL parameter to match other boxed
1476         types destructors.
1477
1478         (clutter_color_new): Add a constructor for the ClutterColor boxed
1479         type, mostly for bindings.
1480
1481 2008-10-17  Emmanuele Bassi  <ebassi@linux.intel.com>
1482
1483         * clutter/clutter-color.c (clutter_color_parse): Add checks
1484         for the arguments, to avoid trying to parse NULL strings.
1485
1486 2008-10-16  Emmanuele Bassi  <ebassi@linux.intel.com>
1487
1488         * clutter/clutter-container.[ch]: Add checks to the Container
1489         interface invocation methods, to avoid crashing or corrupting
1490         the stack when an actor does not implement every virtual
1491         function of the Container interface vtable. GObject allows this
1492         to happen so we must handle the case gracefully. This also means
1493         that we can classify some virtual function as mandatory (as is
1494         the case for ::add, ::remove and ::foreach) and some other
1495         optional.
1496
1497 2008-10-08  Emmanuele Bassi  <ebassi@linux.intel.com>
1498
1499         * tests/test-depth.c (raise_top), (main): Fix a shadowing
1500         with raise() from signal.h.
1501
1502 2008-10-01  Ã˜yvind KolÃ¥s  <pippin@linux.intel.com>
1503
1504         Bug 1108 - Enter/Leave events logics wrt. skipped motion events
1505
1506         Handle dropped motion events when computing crossing events,
1507         based on a patch from Gwenole Beauchesne.
1508
1509         * clutter/clutter-main.c: (clutter_event_get_device): internal static
1510         utility function.
1511         (clutter_do_event): generate enter/leave events for all pointer
1512         events.
1513         (generate_enter_leave_events): modified enter/leave events generator
1514         to work for all pointer event types. Enter/leave events are now
1515         delivered before the motion/button event that caused the crossing to
1516         happen.
1517         * clutter/clutter-event.c: (clutter_event_copy), (clutter_event_free):
1518         removed reference counting logic that is not needed when the crossing
1519         events are directly delivered.
1520
1521 2008-09-29  Emmanuele Bassi  <ebassi@linux.intel.com>
1522
1523         * configure.ac: Post branch bump to 0.9.0
1524
1525 2008-09-25  Emmanuele Bassi  <ebassi@linux.intel.com>
1526
1527         * configure.ac: Post release bump to 0.8.3
1528
1529 ======== Release 0.8.2 ========================================================
1530
1531 2008-09-25  Emmanuele Bassi  <ebassi@linux.intel.com>
1532
1533         * configure.ac:
1534         * README:
1535         * NEWS: Release 0.8.2
1536
1537 2008-09-25  Emmanuele Bassi  <ebassi@linux.intel.com>
1538
1539         * clutter/clutter-event.h: Fix missing documentation.
1540
1541 2008-09-24  Emmanuele Bassi  <ebassi@linux.intel.com>
1542
1543         Bug 1130 - CLUTTER_MOTION is not emitted when time goes backwards.
1544
1545         * clutter/clutter-main.c (clutter_do_event): Check for time
1546         rollbacks inside the motion event throttling. (Pierce Liu)
1547
1548 2008-09-23  Emmanuele Bassi  <ebassi@linux.intel.com>
1549
1550         * clutter/clutter-timeout-pool.c: Reword previous commit.
1551
1552 2008-09-23  Emmanuele Bassi  <ebassi@linux.intel.com>
1553
1554         * clutter/clutter-timeout-pool.c:
1555         (clutter_timeout_pool_new): Fix previous commit: g_source_unref()
1556         is not needed. (Thanks to Neil Roberts)
1557
1558 2008-09-23  Emmanuele Bassi  <ebassi@linux.intel.com>
1559
1560         Bug 1154 - clutter_timeout_pool_new() documentation doesn't say
1561         how to free
1562
1563         * clutter/clutter-timeout-pool.c: Update the documentation to
1564         note that you must use g_source_unref() to free the timeout
1565         pool. (Murray Cumming)
1566
1567 2008-09-23  Emmanuele Bassi  <ebassi@linux.intel.com>
1568
1569         Bug 1124 - Clutter causes an additional size request in each
1570         allocation
1571
1572         * clutter/clutter-actor.c:
1573         (clutter_actor_store_old_geometry): Store the allocation instead
1574         of causing a new size-request cycle. (Johan Bilien)
1575
1576 2008-09-23  Emmanuele Bassi  <ebassi@linux.intel.com>
1577
1578         Bug 1125 - Save an extra pango_layout_get_size in many cases
1579
1580         * clutter/clutter-label.c:
1581         (clutter_label_create_layout_no_cache): Add a simple check
1582         before calling pango_layout_get_size(). (Johan Bilien)
1583
1584 2008-09-23  Emmanuele Bassi  <ebassi@linux.intel.com>
1585
1586         * clutter/clutter-alpha.c:
1587         (clutter_alpha_get_alpha): Do not return the cached value but
1588         just compute the current alpha value. The use case is pretty
1589         much straightforward: stop a timeline, advance it, and retrieve
1590         the alpha value before starting the timeline to adjust an
1591         animation dependent on the alpha. Caching the alpha value is
1592         not needed because the behaviours will always pass the alpha
1593         value inside the ::alpha-notify virtual function anyway, so
1594         there is no need for them to call clutter_alpha_get_alpha().
1595
1596         This change makes it also possible to reliably unit-test
1597         ClutterAlpha.
1598
1599         (timeline_new_frame_cb): Call clutter_alpha_get_alpha().
1600
1601 2008-09-23  Tomas Frydrych  <tf@linux.intel.com>
1602
1603         * clutter/clutter-main.c:
1604         * clutter/clutter-main.h:
1605         * clutter/clutter-private.h:
1606         * clutter/x11/clutter-backend-x11.c:
1607         (clutter_get_option_group_without_init):
1608         Function to obtain clutter option group without opening display
1609         (for use with foreign display and gtk_clutter_init). Bug 1033.
1610
1611         Stripped trailing whitespace.
1612
1613 2008-09-22  Neil Roberts  <neil@linux.intel.com>
1614
1615         Bug 856 - Teardown sequence is borked
1616
1617         * clutter/clutter-main.c: Don't free the ClutterMainContext so
1618         that the main loop can be restarted.
1619
1620         * clutter/eglx/clutter-backend-egl.c:
1621         * clutter/eglnative/clutter-backend-egl.c: Register an atexit
1622         handler which disposes the backend object so that we are still
1623         guaranteed to call eglTerminate on GLES.
1624
1625 2008-09-22  Neil Roberts  <neil@linux.intel.com>
1626
1627         * tests/test-unproject.c (on_event):
1628         * tests/test-project.c (on_event): Use a return value for the
1629         'event' signal handler, otherwise it might accidentally return
1630         TRUE for unhandled events and you won't be able to close the
1631         window.
1632
1633 2008-09-19  Emmanuele Bassi  <ebassi@linux.intel.com>
1634
1635         Bug 1033 - Manually parsing command line options prevents
1636         initializing clutter
1637
1638         * clutter/clutter-main.c:
1639         (post_parse_hook), (clutter_init_with_args),
1640         (clutter_parse_args), (clutter_init): Move the initialization
1641         of Clutter at the end of the post-parse hook of Clutter's
1642         GOptionGroup. Clutter must be initialized at the end of the
1643         argument parsing.
1644
1645 2008-09-19  Emmanuele Bassi  <ebassi@linux.intel.com>
1646
1647         * clutter/clutter-main.c: Properly document the
1648         clutter_get_option_group() function and the invariant that
1649         after parsing Clutter's option group the library will be
1650         initialized. (Thanks to Tomas Frydrych for pointing this
1651         out)
1652
1653 2008-09-19  Emmanuele Bassi  <ebassi@linux.intel.com>
1654
1655         * clutter/x11/clutter-backend-x11.c: Properly document the
1656         usage of clutter_x11_set_display().
1657
1658         * clutter/x11/clutter-x11.h: clutter_x11_set_display() is
1659         public API and should be declared in the header we install.
1660
1661 2008-09-18  Neil Roberts  <neil@linux.intel.com>
1662
1663         Bug 1048 - SIGFPE in cogl_texture_set_region() with nvidia
1664
1665         * clutter/cogl/gl/cogl-texture.c (cogl_texture_set_region):
1666         * clutter/cogl/gles/cogl-texture.c (cogl_texture_set_region):
1667         Don't attempt to upload any data if the width or height of the
1668         subregion is zero. Thanks to Gwenole Beauchesne.
1669
1670 2008-09-18  Neil Roberts  <neil@linux.intel.com>
1671
1672         Bug 1044 - cogl_get_viewport error
1673
1674         * clutter/cogl/gles/cogl.c (cogl_get_viewport): Use glGetIntegerv
1675         instead of glGetFixedv to read the viewport because the latter
1676         converts incorrectly on some hardware.
1677
1678 2008-09-18  Neil Roberts  <neil@linux.intel.com>
1679
1680         Bug 1080 - clutter_stage_read_pixels has upside-down y coordinate
1681
1682         * clutter/clutter-stage.c (clutter_stage_read_pixels): Use
1683         OpenGL's coordinate system for the arguments to glReadPixels (so
1684         that y zero is the bottom of the window). Use clutter_redraw
1685         instead of clutter_stage_paint to ensure the right GL context is
1686         selected. Set some of the glPixelStore parameters that might have
1687         been changed by Cogl.
1688
1689         * tests/test-stage-read-pixels.c: Replace with a different test
1690         that gets a sub-region of the stage around the cursor.
1691
1692 2008-09-17  Neil Roberts  <neil@linux.intel.com>
1693
1694         Bug 1145 - Flicker on resize the window
1695
1696         * clutter/glx/clutter-stage-glx.c (clutter_stage_glx_realize):
1697         Don't set a backing pixel on the X window. Otherwise when the
1698         window resizes it will flicker when X paints the background
1699         immediatly before Clutter repaints the whole stage.
1700
1701 2008-09-17  Neil Roberts  <neil@linux.intel.com>
1702
1703         * clutter/clutter-types.h: Swap left and right in the
1704         documentation for ClutterGravity.
1705
1706 2008-09-17  Neil Roberts  <neil@linux.intel.com>
1707
1708         Bug 1121 - Setting anchor point doesn't work if set too early
1709
1710         * clutter/clutter-actor.c
1711         (clutter_actor_set_anchor_point_from_gravity)
1712         (clutter_actor_move_anchor_point_from_gravity): Add documentation
1713         to make it clear that the anchor point won't move when the actor
1714         is resized.
1715
1716 2008-09-16  Neil Roberts  <neil@linux.intel.com>
1717
1718         Bug 1100 - WM_SIZE not handled correctly, user_resize and
1719         window_style correction.
1720
1721         * clutter/win32/clutter-stage-win32.c (get_window_style): Remove
1722         the WS_MAXIMIZEBOX style if the stage isn't resizable.
1723         (clutter_stage_win32_set_user_resize): Queue a redraw of the
1724         window frame when the user_resize property is changed.
1725
1726         * clutter/win32/clutter-event-win32.c (message_translate): Don't
1727         update the size of the stage when handling WM_SIZE messages that
1728         result from the stage being minimized. Thanks to Roman Yazmin.
1729
1730 2008-09-16  Tomas Frydrych  <tf@linux.intel.com>
1731
1732         * clutter/glx/clutter-glx-texture-pixmap.c:
1733         * clutter/x11/clutter-x11-texture-pixmap.c:
1734         TFP resyncing on MapNotify/ConfigureNotify (bug  1020; patch by
1735         Andy Wingo <wingo@pobox.com>).
1736
1737 2008-09-15  Ã˜yvind KolÃ¥s  <pippin@linux.intel.com>
1738
1739         * clutter/clutter-main.c: amended typo in gtk-doc.
1740
1741 2008-09-12  Neil Roberts  <neil@linux.intel.com>
1742
1743         Bug 1034 - Picking doesn't work on Eee PC
1744
1745         * clutter/clutter-main.c (_clutter_id_to_color): When choosing a
1746         pick color, set all but the most significant of the unused
1747         bits. This should make make it more likely that the GL
1748         implementation will round down to the right value.
1749
1750         * tests/test-pick.c: Test case for picking. It creates 192 actors
1751         at known positions and stores their gids. It then calls
1752         clutter_stage_get_actor_at_pos with each position to check that
1753         the right gid is returned.
1754
1755         * tests/Makefile.am (noinst_PROGRAMS): Add test-pick
1756
1757 2008-09-12  Neil Roberts  <neil@linux.intel.com>
1758
1759         Bug 1010 - ClutterLabel does not update the layout (again)
1760
1761         * clutter/clutter-label.c: Bring back layout caching. This time it
1762         will cache up to three different layouts. The width for which each
1763         layout was generated is stored so that if the same width is
1764         requested again it can use the cached version. If no cached
1765         version is available it will try to replace the oldest
1766         layout. 'Age' is determined by a counter which is incremented
1767         every time a layout is created. The cache is cleared after any
1768         property changes that might affect the layout.
1769         (struct _ClutterLabelPrivate): Removed extents_width,
1770         extents_height and context because they weren't used anywhere.
1771
1772         * tests/test-label-cache.c: Add a test which checks whether the
1773         label is using a different layout when properties are
1774         changed. Also compares the extents of the label's layout with an
1775         independent layout and fails if they aren't the same.
1776
1777         * tests/Makefile.am (noinst_PROGRAMS): Add test-label-cache
1778
1779 2008-09-10  Neil Roberts  <neil@o-hand.com>
1780
1781         Bug 1137 - Setting the anchor point does not trigger a re-paint
1782
1783         * clutter/clutter-actor.c (clutter_actor_set_property): When
1784         changing the anchor point properties, use set_anchor_pointu
1785         instead of changing the value directly so that a redraw will be
1786         queued.
1787         (clutter_actor_set_anchor_pointu): Queue a redraw when the anchor
1788         point is changed. Thanks to Johan Bilien.
1789
1790 2008-08-27  Emmanuele Bassi  <ebassi@openedhand.com>
1791
1792         Bug 1082 - Texture bitmap is destroyed in wrong way
1793
1794         * clutter/cogl/common/cogl-bitmap-pixbuf.c:
1795         (_cogl_bitmap_from_file): Make a copy of the pixbuf data in
1796         the internal image loader so that we can keep working under
1797         the assumption that we are using the GLib memory allocation
1798         and deallocation functions.
1799
1800 2008-08-27  Emmanuele Bassi  <ebassi@openedhand.com>
1801
1802         Bug 1099 - No ClutterScript API to get a list of IDs in a given file
1803
1804         * clutter/clutter-script.[ch]: Add clutter_script_list_objects(),
1805         a function for retrieving all the objects built by a ClutterScript
1806         instance. (Based on a patch by Noah Gibbs)
1807
1808 2008-08-26  Emmanuele Bassi  <ebassi@openedhand.com>
1809
1810         Bug 1090 - Label somtimes returns natural_width < min_width
1811
1812         * clutter/clutter-label.c:
1813         (clutter_label_get_preferred_width): Check that the width of the
1814         layout is always greater than 0. (Johan Bilien)
1815
1816 2008-08-19  Neil Roberts  <neil@o-hand.com>
1817
1818         Bug 1103 - Two typos in clutter documentation
1819
1820         * doc/reference/clutter/subclassing-ClutterActor.xml: Update the
1821         custom actor example since the Cogl API was changed to namespace
1822         all of the path related functions in cogl_path_*. Thanks to Nati
1823         Berkover.
1824
1825         * clutter/clutter-score.c: Add missing parameter in example of
1826         calling clutter_score_start().
1827
1828 2008-08-18  Neil Roberts  <neil@o-hand.com>
1829
1830         Bug 1085 - Cursor is in wrong position on ClutterEntry if set
1831         x-align property
1832
1833         * clutter/clutter-entry.c (clutter_entry_paint): When calculating
1834         the position to draw the cursor at, take into account the
1835         alignment of the text. Queue a redraw when the x-align property is
1836         changed.
1837
1838 2008-08-07  Neil Roberts  <neil@o-hand.com>
1839
1840         Bug 1091 - WM_MOUSEWHEEL (scroll-event) not handled correctlly
1841
1842         * clutter/win32/clutter-event-win32.c (message_translate): The
1843         coordinates in a WM_MOUSEWEEL message are given relative to the
1844         screen so they need to be converted to client coordinates before
1845         use. Thanks to Roman Yazmin.
1846
1847 2008-08-06  Emmanuele Bassi  <ebassi@openedhand.com>
1848
1849         * clutter/clutter-child-meta.c:
1850         (clutter_child_meta_set_property),
1851         (clutter_child_meta_class_init): Make the :container and
1852         :actor properties of ChildMeta construct-only, to allow
1853         bindings to actually use ChildMeta without abusing the API.
1854
1855         * clutter/clutter-container.c (create_child_meta): Instead of
1856         setting the members of the ChildMeta structure, use the
1857         constructor properties.
1858
1859 2008-08-04  Emmanuele Bassi  <ebassi@openedhand.com>
1860
1861         * clutter/clutter-keysyms.h: Resync with keysymdef.h inside Xorg.
1862
1863 2008-08-04  Emmanuele Bassi  <ebassi@openedhand.com>
1864
1865         * clutter/clutter-script.c:
1866         (clutter_script_default_connect): Improve wording and debug
1867         messages in the default autoconnection for signal handlers.
1868
1869 2008-08-04  Emmanuele Bassi  <ebassi@openedhand.com>
1870
1871         * clutter/clutter-script-parser.c:
1872         * clutter/clutter-script-private.h: Clean up the code; add a
1873         conversion function for reading a ClutterColor out of a
1874         JSON object or array definition.
1875
1876         * clutter/clutter-script.c: Clean up the code; document properly
1877         how we translate from type name to type function.
1878
1879 2008-08-04  Emmanuele Bassi  <ebassi@openedhand.com>
1880
1881         * clutter/clutter-main.c: Rework and improve the documentation
1882         of the thread-safe timeout and idle source installer functions.
1883
1884 2008-08-01  Neil Roberts  <neil@o-hand.com>
1885
1886         Bug 945 - Clipping+fbo cloning bugs
1887
1888         * clutter/cogl/gl/cogl.c:
1889         * clutter/cogl/gles/cogl.c:
1890         * clutter/cogl/cogl.h.in: Add cogl_clip_stack_save,
1891         cogl_clip_stack_restore, cogl_viewport and cogl_frustum.
1892
1893         * clutter/cogl/gl/cogl-fbo.h:
1894         * clutter/cogl/gl/cogl-fbo.c: Try to attach a stencil buffer when
1895         creating an FBO.
1896
1897         * clutter/cogl/common/cogl-clip-stack.c: Add functions to save and
1898         restore the whole state of the stack.
1899
1900         * clutter/clutter-texture.c (clutter_texture_paint): When
1901         rendering the FBO source, setup a temporary asymmetric perspective
1902         projection matrix to render it as it would appear on screen.
1903
1904         * clutter/clutter-private.h:
1905         * clutter/clutter-actor.c
1906         (_clutter_actor_apply_modelview_transform_recursive): No longer
1907         static and exported in clutter-private.h
1908
1909 2008-08-01  Neil Roberts  <neil@o-hand.com>
1910
1911         Bug 1071 - clutter_timeline_get_duration doesn't always work
1912
1913         * clutter/clutter-timeline.c: Calculate the 'duration' property
1914         on-demand instead of storing it as a member variable. Notify
1915         duration property changes whenever the fps or num_frames changes.
1916
1917 2008-08-01  Neil Roberts  <neil@o-hand.com>
1918
1919         Bug 1069 - Warnings with ClutterScore
1920
1921         * clutter/clutter-score.c (clutter_score_is_playing): Check
1922         whether priv->running_timelines is NULL before checking its
1923         length.
1924         (foreach_running_timeline): Remove the completed signal handler
1925         when stopping the score. Otherwise the completed callback will get
1926         called multiple times if the timeline is started later.
1927
1928 2008-07-31  Neil Roberts  <neil@o-hand.com>
1929
1930         Bug 1075 - Difficult to bind clutter_stage_new
1931
1932         * clutter/clutter-stage.c (clutter_stage_dispose): Unrealize the
1933         stage before removing the update idle handler. Otherwise
1934         unrealizing causes another redraw to be queued and if the stage
1935         object remains alive it will cause an assert and abort.
1936
1937 2008-07-30  Neil Roberts  <neil@o-hand.com>
1938
1939         * clutter/clutter-stage.c (clutter_stage_class_init): Added the
1940         'perspective' property. All of the machinery was there to
1941         implement the property but somehow the call that actually installs
1942         it was missing.
1943
1944 2008-07-30  Emmanuele Bassi  <ebassi@openedhand.com>
1945
1946         * clutter/clutter-fixed.h:
1947         * clutter/clutter-units.h: Fix the upper and lower boundaries of
1948         ClutterFixed and ClutterUnit types; G_MAXINT16 and G_MININT16
1949         were not enough to describe those values.
1950
1951 2008-07-30  Ross Burton  <ross@openedhand.com>
1952
1953         * clutter/clutter-main.c:
1954         Destroy the debugging timer when the context is freed.
1955
1956         * clutter/clutter-stage.c:
1957         Free the stage title when the stage is finalized.
1958
1959 2008-07-30  Neil Roberts  <neil@o-hand.com>
1960
1961         * clutter/clutter-model.c (clutter_model_set_sorting_column): This
1962         function is supposed to accept -1 to disable sorting. However it
1963         checks for whether the column is >= the number of columns, but
1964         clutter_model_get_n_columns() returns an unsigned int so the
1965         column number also gets promoted to unsigned for the
1966         comparison. Therefore -1 is always greater than the number of
1967         columns so it wouldn't let you set it.
1968
1969 2008-07-26  Neil Roberts  <neil@o-hand.com>
1970
1971         * clutter/clutter-timeline.c (clutter_timeline_list_markers): When
1972         requesting the list of markers it was returning the marker data as
1973         a string instead of the name so it was copying garbage.
1974
1975 2008-07-25  Neil Roberts  <neil@o-hand.com>
1976
1977         * clutter/clutter-actor.c (clutter_actor_remove_clip)
1978         (clutter_actor_set_clipu): Queue a redraw when the clip is
1979         changed.
1980
1981 2008-07-24  Neil Roberts  <neil@o-hand.com>
1982
1983         * clutter/clutter-script.c: The example in the documentation
1984         showed a color being specified as '0xff0000ff' but it should be
1985         '#ff0000ff'
1986
1987 2008-07-23  Emmanuele Bassi  <ebassi@openedhand.com>
1988
1989         Bug 1062 - clutter_actor_query_coords() replacement in 0.8
1990
1991         * clutter/clutter-deprecated.h: Fix the deprecation warning
1992         for clutter_actor_query_coords(). (Gwenole Beauchesne)
1993
1994 2008-07-17  Emmanuele Bassi  <ebassi@openedhand.com>
1995
1996         Bug 1047 -  API documentation from release tarball is not
1997                     installed by "make install"
1998
1999         * configure.ac:
2000         * Makefile.am: Make the recursion into the documentation
2001         directory depend on on whether we explicitly enable it or
2002         if we are not inside an SVN checkout.
2003
2004 2008-07-17  Neil Roberts  <neil@o-hand.com>
2005
2006         * clutter/clutter-texture.c:
2007         * clutter/clutter-rectangle.c:
2008         * clutter/clutter-group.c:
2009         * clutter/clutter-entry.c:
2010         * clutter/clutter-clone-texture.c: Remove unnecessary calls to
2011         cogl_{push,pop}_matrix. The matrix is preserved in
2012         clutter_actor_paint whenever the actor's transformation is applied
2013         so there should be no need to push the matrix in actor paint
2014         implementations unless it does some additional transformations
2015         itself.
2016
2017 2008-07-16  Emmanuele Bassi  <ebassi@openedhand.com>
2018
2019         * clutter.pc.in: Add a variable containing the COGL backend
2020         inside the pkg-config file, for configure-time checks.
2021
2022 2008-07-14  Neil Roberts  <neil@o-hand.com>
2023
2024         * clutter/cogl/common/cogl-primitives.c (cogl_path_rel_curve_to):
2025         Fixed a typo in the second parameter which meant the curve was
2026         drawn incorrectly.
2027
2028 2008-07-14  Emmanuele Bassi  <ebassi@openedhand.com>
2029
2030         * clutter/clutter.h: Include missing installed files.
2031
2032 2008-07-14  Tomas Frydrych  <tf@openedhand.com>
2033
2034         * clutter/clutter-stage.c:
2035         (clutter_stage_hide_cursor):
2036         Fixed C&P bug that made it impossible to show cursor once hidden.
2037
2038         Stripped trailing whitespace.
2039
2040 2008-07-13  Matthew Allum  <mallum@openedhand.com>
2041
2042         * clutter/x11/clutter-x11-texture-pixmap.c:
2043         Call XSync in unredirect X error trap (Thanks to Andy Wingo)
2044
2045 2008-07-13  Neil Roberts  <neil@o-hand.com>
2046
2047         * build/mingw/mingw-cross-compile.sh: Avoid using the --strip
2048         option to tar because it isn't supported in the version shipped
2049         with MSYS.
2050
2051 2008-07-11  Tomas Frydrych  <tf@openedhand.com>
2052
2053         * clutter/clutter-fixed.c:
2054         Move G_IMPLEMENT_INLINES before all other #include statements (bug
2055         #1038).
2056
2057 2008-07-11  Tomas Frydrych  <tf@openedhand.com>
2058
2059         * clutter/clutter-fixed.c:
2060         Changed #define G_IMPLEMENTS_INLINES to G_IMPLEMENT_INLINES (bug
2061         #1038).
2062
2063 2008-07-10  Emmanuele Bassi  <ebassi@openedhand.com>
2064
2065         * configure.ac: Post release bump to 0.3.1.
2066
2067 ======== Release 0.8.0 ========================================================
2068
2069 2008-07-10  Emmanuele Bassi  <ebassi@openedhand.com>
2070
2071         * configure.ac:
2072         * NEWS: Release 0.8.0.
2073
2074 2008-07-10  Matthew Allum  <mallum@openedhand.com>
2075
2076         * clutter/cogl/gles/cogl-fbo.c:
2077         * clutter/cogl/gles/cogl-texture.c:
2078         Fix warnings with eglnative build
2079
2080 2008-07-10  Matthew Allum  <mallum@openedhand.com>
2081
2082         * README:
2083         Sync up/improve ready for 0.8 release.
2084
2085         * AUTHORS:
2086         Sync up to date - hope I havn't missed anyone..
2087
2088 2008-07-10  Matthew Allum  <mallum@openedhand.com>
2089
2090         * clutter/glx/clutter-glx-texture-pixmap.c:
2091         Assume TFP npots sized textures are always supported if TFP ext is!
2092         (Based on patch from James Ketrenos)
2093
2094 2008-07-08  Matthew Allum  <mallum@openedhand.com>
2095
2096         Bug 1011 - Fix TFP fallback mechanism (take 2)
2097
2098         * clutter/glx/clutter-glx-texture-pixmap.c:
2099         * tests/test-pixmap.c:
2100         Slightly modified patch from Gwenole Beauchesne applied
2101         to better handle both falling back to non accelerated tfp
2102         and improvements to the test case.
2103
2104 2008-07-07  Matthew Allum  <mallum@openedhand.com>
2105
2106         Bug 1016 - Changing window-redirect-automatic property after
2107                    creating ClutterX11TexturePixmap doesn't work.
2108
2109         * clutter/x11/clutter-x11-texture-pixmap.c:
2110         (clutter_x11_texture_pixmap_set_window):
2111         Sync up redirection prop correctly (Jason Tackaberry)
2112
2113 2008-07-07  Matthew Allum  <mallum@openedhand.com>
2114
2115         Bug 1019 - clutter-frame-source.h not included by clutter.h
2116
2117         * clutter/clutter.h:
2118         Add missing header include.
2119
2120 2008-07-05  Neil Roberts  <neil@o-hand.com>
2121
2122         * clutter/clutter-actor.h: Remove redundant duplicate declaration
2123         of clutter_actor_allocate_preferred_size
2124
2125 2008-07-05  Emmanuele Bassi  <ebassi@openedhand.com>
2126
2127         Bug 1033 - Manually parsing command line options prevents
2128                    initializing clutter (Armin Burgmeier)
2129
2130         * clutter/clutter-main.c:
2131         (post_parse_hook), (clutter_init_real): Set the is_initialized
2132         flag inside the real initialization function.
2133
2134 2008-07-04  Emmanuele Bassi  <ebassi@openedhand.com>
2135
2136         * clutter/clutter-label.c: Properly document the behaviour
2137         of the :alignment property.
2138
2139 2008-07-04  Neil Roberts  <neil@o-hand.com>
2140
2141         * build/mingw/mingw-cross-compile.sh: Default to the win32 flavour
2142         instead of the SDL flavour
2143
2144 2008-07-04  Neil Roberts  <neil@o-hand.com>
2145
2146         Bug 1015 - Cloning unparented actors with FBOs doesn't work with
2147         new layout code
2148
2149         * clutter/clutter-texture.c (clutter_texture_new_from_actor): Now
2150         parents the source actor if it doesn't already have a parent so
2151         that it will get an allocation during layout.
2152
2153         * tests/test-fbo.c: One of the tests tries to ensure that the
2154         ClutterTexture clone keeps the source actor alive by derefing
2155         it. However as actors have a floating reference then test-fbo
2156         doesn't have its own reference once the source is parented so
2157         unrefing just steals the parent's reference and causes
2158         badness. The test now claims the floating reference before cloning
2159         the source so that it can safely be unref'd later.
2160
2161 2008-07-03  Emmanuele Bassi  <ebassi@openedhand.com>
2162
2163         * clutter/x11/Makefile.am: Fix distchecking by adding the
2164         generated enum types files to DISTCLEANFILES.
2165
2166 2008-07-03  Tomas Frydrych  <tf@openedhand.com>
2167
2168         * clutter/clutter-fixed.h:
2169         * clutter/clutter-fixed.c
2170         Fixed inlining of clutter_qmulx() and clutter_qdivx() (bug 1022).
2171
2172 2008-07-03  Neil Roberts  <neil@o-hand.com>
2173
2174         * clutter/clutter-shader.c (bind_glsl_shader): Fix a cut-and-paste
2175         error which broke vertex shaders
2176
2177 2008-07-03  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
2178
2179         * clutter/cogl/common/cogl-bitmap-pixbuf.c:
2180         (_cogl_bitmap_from_file): removed debug g_printf that announces each
2181         successful image load done by the internal image backend.
2182
2183 2008-07-02  Neil Roberts  <neil@o-hand.com>
2184
2185         * clutter/clutter-actor.c
2186         (clutter_actor_get_abs_allocation_vertices): The initialization of
2187         the local stage pointer got moved away in revision 3081 so it was
2188         crashing if the function is called before the layout is run.
2189
2190 2008-07-02  Emmanuele Bassi  <ebassi@openedhand.com>
2191
2192         * clutter/clutter-label.c:
2193         (clutter_label_create_layout_no_cache),
2194         (clutter_label_create_layout): Split the layout creation in two
2195         functions: one creating the layout, the other creating the layout
2196         and hitting the glyphs cache. The first one is for the offscren
2197         operations - like requesting the preferred size; the second one
2198         is for paint and allocation.
2199
2200         (clutter_label_allocate): Try to aggressively cache the PangoLayout
2201         between allocations - to avoid recreating it even when the label
2202         just moved because of an animation. See bug #1010.
2203
2204 2008-07-02  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
2205
2206         * clutter/fruity/clutter-fruity.c: made the multi touch code more
2207         robust. There are situations though where the device seems to stop
2208         generating any touch events until all fingers have been lifted and
2209         a new interaction session is started.
2210
2211 2008-07-02  Neil Roberts  <neil@o-hand.com>
2212
2213         * clutter/eglx/clutter-stage-egl.c (clutter_stage_egl_realize):
2214         Use clutter_x11_has_event_retrieval() instead of
2215         !backend_x11->no_xevent_retrieval to reflect the changes to the
2216         GLX backend in revision 3078
2217
2218 2008-07-02  Emmanuele Bassi  <ebassi@openedhand.com>
2219
2220         Bug 1010 - ClutterLabel does not update the layout (Lee Jusung)
2221
2222         * clutter/clutter-actor.c:
2223         (clutter_actor_queue_relayout): Remove some pointer dereferencing.
2224
2225         * clutter/clutter-label.c:
2226         (clutter_label_allocate): Revert the change of r2883 and remove the
2227         layout width cache and force a recreation of the layout every time
2228         we receive an allocation.
2229
2230 2008-07-01  Neil Roberts  <neil@o-hand.com>
2231
2232         * clutter/clutter-actor.c (clutter_actor_get_transformed_sizeu):
2233         This is now do-what-I-mean like clutter_actor_get_size so that if
2234         the allocation box is available it will use that, otherwise it
2235         will use the preferred size. clutter_actor_transform_vertices has
2236         been converted to clutter_actor_transform_and_project_box so that
2237         it can be used by both functions. Based on a patch by Emmanuele
2238         Bassi.
2239         (clutter_actor_get_abs_allocation_vertices)
2240         (clutter_actor_get_allocation_vertices): These two functions now
2241         force a relayout if the allocation box is not available.
2242
2243         * tests/test-fbo.c: Fixed the shader to use texture2D instead of
2244         texture2DRect now that GL_EXT_texture_rectangle is no longer used.
2245
2246 2008-07-01  Chris Lord  <chris@openedhand.com>
2247
2248         * clutter/clutter-stage.c:
2249         Add a note to the clutter_stage_read_pixels doc that the alpha channel
2250         isn't guaranteed to contain sensible data
2251
2252         * tests/test-stage-read-pixels.c: (update_snapshot):
2253         Overwrite the alpha data when using clutter_stage_read_pixels; fixes
2254         this test on non-nvidia drivers
2255
2256 2008-07-01  Matthew Allum  <mallum@openedhand.com>
2257
2258         * clutter/glx/clutter-stage-glx.c:
2259         * clutter/x11/clutter-backend-x11.c:
2260         * clutter/x11/clutter-backend-x11.h:
2261         * clutter/x11/clutter-event-x11.c:
2262         * clutter/x11/clutter-x11.h:
2263         * tests/test-devices.c:
2264         Disable use of XInput and add an explicit clutter_x11_enable_xinput
2265         to enable it.
2266         Also fix up the x11 pre-init calls to not need g_type_init.
2267
2268 2008-07-01  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
2269
2270         Bug 1013 - Per device grabs are not obeyed in pointer device
2271                    propagation.
2272
2273         * clutter/clutter-event.c: (clutter_event_get_device_id): swap
2274         arguments of g_return_val_if_fail around.
2275         * clutter/clutter-event.h: added *device field to crossing events as
2276         well.
2277         * clutter/clutter-main.c: (emit_pointer_event): added a device
2278         argument and check for per device grabs if this device is passed.
2279         (clutter_do_event): pass the device if present for all pointer event
2280         emissions.
2281         (generate_enter_leave_events): copy the device from the motion events
2282         when generating enter/leave events.
2283
2284 2008-07-01  Chris Lord  <chris@openedhand.com>
2285
2286         * clutter/clutter-texture.c:
2287         Correct documentation about accepted pixel formats
2288
2289         * tests/test-stage-read-pixels.c: (main):
2290         Don't try to free a ClutterTexture after main, fixes segfault on quit
2291
2292 2008-07-01  Emmanuele Bassi  <ebassi@openedhand.com>
2293
2294         * clutter/clutter-behaviour-bspline.h:
2295         * clutter/clutter-behaviour.h:
2296         * clutter/clutter-event.h:
2297         * clutter/clutter-texture.h: Add missing documentation and
2298         change the copyright and licensing notice to use the FSF
2299         website instead of its address. (#512)
2300
2301 2008-06-30  Matthew Allum  <mallum@openedhand.com>
2302
2303         Bug 1008 - tfp still a bit borked
2304
2305         * clutter/x11/clutter-x11-texture-pixmap.c:
2306         Fix from Andy Wingo for sync_window borkage
2307
2308 2008-06-30  Neil Roberts  <neil@o-hand.com>
2309
2310         Bug 985 - MSC math.h / M_PI issue
2311
2312         * clutter/cogl/gl/cogl.c (set_clip_plane):
2313         * clutter/clutter-alpha.c (sinc_func): Use G_PI instead of M_PI
2314         because M_PI isn't defined in MSVC without a special
2315         #define. Thanks to Haakon Sporsheim
2316
2317 2008-06-30  Neil Roberts  <neil@o-hand.com>
2318
2319         * clutter/win32/clutter-backend-win32.c (check_vblank_env): Use
2320         g_ascii_strcasecmp instead of strcasecmp because strcasecmp isn't
2321         available in MSVC.
2322
2323 2008-06-30  Matthew Allum  <mallum@openedhand.com>
2324
2325          Bug 1007 - Fix TFP fallback mechanism
2326
2327         * clutter/glx/clutter-glx-texture-pixmap.c:
2328         * clutter/x11/clutter-x11-texture-pixmap.c:
2329         Add some extra safety to glx pixmap creations and tidy up some notes.
2330         Patch from Gwenole Beauchesne.
2331
2332 2008-06-30  Neil Roberts  <neil@o-hand.com>
2333
2334         * clutter/x11/clutter-event-x11.c:
2335         * clutter/win32/clutter-event-win32.c: Use the HAVE_CONFIG_H guard
2336         around #include "config.h"
2337
2338 2008-06-30  Emmanuele Bassi  <ebassi@openedhand.com>
2339
2340         * clutter/Makefile.am:
2341         * clutter/eglx/Makefile.am:
2342         * clutter/glx/Makefile.am: Build the X11 base backend before
2343         the backends that depend on it.
2344
2345 2008-06-30  Emmanuele Bassi  <ebassi@openedhand.com>
2346
2347         Bug 1000 - clutter-x11 should define gtypes for its enumerations
2348
2349         * clutter/x11/Makefile.am:
2350         * clutter/x11/clutter-event-x11.c:
2351         * clutter/x11/clutter-x11-enum-types.c.in:
2352         * clutter/x11/clutter-x11-enum-types.h.in:
2353         * clutter/x11/clutter-x11.h: Add the GTypes for the X11-specific
2354         enumerations, so that they can be used by the bindings. (Andy
2355         Wingo)
2356
2357 2008-06-30  Chris Lord  <chris@openedhand.com>
2358
2359         * tests/test-shader.c:
2360         Fix edge-detect shader on ATI, thanks Gwenole Beauchesne
2361
2362 2008-06-30  Matthew Allum  <mallum@openedhand.com>
2363
2364         Bug 997 - automatic updates not working for named TFP pixmaps,
2365                   at least in x11
2366
2367         * clutter/glx/clutter-glx-texture-pixmap.c:
2368         * clutter/glx/clutter-glx-texture-pixmap.h:
2369         * clutter/x11/clutter-backend-x11.c:
2370         * clutter/x11/clutter-x11-texture-pixmap.c:
2371         * clutter/x11/clutter-x11-texture-pixmap.h:
2372         * clutter/x11/clutter-x11.h:
2373         * configure.ac:
2374         * tests/test-pixmap.c:
2375         Rework Andy Wingos patch a little adding more safety for now also
2376         handling redirect Windows (as well as pixmaps)
2377
2378 2008-06-30  Emmanuele Bassi  <ebassi@openedhand.com>
2379
2380         Bug 980 - cogl-bitmap-fallback.c compiler error/warning due to
2381                   cast issue (Haakon Sporsheim)
2382
2383         * clutter/cogl/common/cogl-bitmap-fallback.c:
2384         (_cogl_unpremult_alpha_last),
2385         (_cogl_unpremult_alpha_first): Cast to avoid a compiler warning
2386         with MSC.
2387
2388 2008-06-30  Chris Lord  <chris@openedhand.com>
2389
2390         * tests/test-shader.c: (main):
2391         Add a new shader to test-shaders (Sobel operator edge-detect)
2392
2393 2008-06-30  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
2394
2395         Disable XInput handling for keyboard events, re-enabling key press and
2396         release events when pointer is outside window as well as re-enabling
2397         keyrepeat.
2398
2399         * clutter/glx/clutter-stage-glx.c: (clutter_stage_glx_realize): select
2400         for KeyPressMask and KeyReleaseMask even with XInput enabled.
2401         * clutter/x11/clutter-backend-x11.c: (_clutter_x11_register_xinput):
2402         Disabled the XInput keyboard code paths (comments and #if 0's)
2403         * clutter/x11/clutter-event-x11.c: (event_translate): always handle
2404         keyboard events without regard to XInput.
2405
2406 2008-06-29  Matthew Allum  <mallum@openedhand.com>
2407
2408         * clutter/x11/clutter-event-x11.c:
2409         ifdef convert_xdevicekey_to_xkey () with XINPUT check.
2410         (fix via Andy Wingo)
2411
2412 2008-06-29  Tommi Komulainen  <tommi.komulainen@iki.fi>
2413
2414         * clutter/osx/clutter-osx.h (_clutter_event_osx_put)
2415         * clutter/osx/clutter-event-osx.c (clutter_event_osx_translate,
2416         NSEvent:clutterStage:)
2417         * clutter/osx/clutter-stage-osx.c (EVENT_HANDLER): Since events are
2418         delivered to ClutterGLView, pass the associated ClutterStage directly
2419         to event translation. Avoids relying on being embedded in
2420         ClutterGLWindow, which makes it easier to implement clutter-gtk.
2421
2422 2008-06-29  Tommi Komulainen  <tommi.komulainen@iki.fi>
2423
2424         * clutter/osx/clutter-event.osx.c (NSEvent:clutterKeyVal:): Add
2425         comment, on OSX backend the Shift modifier is included in 'keyval'
2426         making it identical to 'unicode_value'  Instead of <Shift>a or
2427         <Shift>3 you'd get <Shift>A and <Shift>#
2428
2429 2008-06-27  Matthew Allum  <mallum@openedhand.com>
2430
2431         * clutter/cogl/gl/cogl.c:
2432         Temp workaround for 10.4 ATI card OSX folks, see #929
2433         (Tommi Komulainen)
2434
2435         Bug 998 - clutter always captures X input events
2436
2437         * clutter/eglx/clutter-stage-egl.c:
2438         * clutter/glx/clutter-stage-glx.c:
2439         When we disable X event retrival, dont still select for window
2440         events.
2441
2442 2008-06-27  Emmanuele Bassi  <ebassi@openedhand.com>
2443
2444         * clutter/clutter-event.h:
2445         * clutter/clutter-main.c:
2446         * clutter/x11/clutter-backend-x11.c: Add further documentation,
2447         and increase the coverage to 94%.
2448
2449 2008-06-27  Emmanuele Bassi  <ebassi@openedhand.com>
2450
2451         * configure.ac: Post release bump to 0.7.7.
2452
2453 ======== Release 0.7.6 ========================================================
2454
2455 2008-06-27  Emmanuele Bassi  <ebassi@openedhand.com>
2456
2457         * configure.ac:
2458         * NEWS: Release 0.7.6.
2459
2460 2008-06-27  Neil Roberts  <neil@o-hand.com>
2461
2462         Bug 993 - Underline colors are sometimes wrong
2463
2464         * clutter/pango/pangoclutter-render.c: Fixed so that instead
2465         of trying to set the color in prepare_run it uses draw_glyphs
2466         to draw groups of glyphs and requests the color for each part
2467         from Pango.
2468
2469 2008-06-26  Emmanuele Bassi  <ebassi@openedhand.com>
2470
2471         * clutter/clutter-actor.c:
2472         (clutter_actor_set_min_width),
2473         (clutter_actor_set_min_height),
2474         (clutter_actor_set_natural_width),
2475         (clutter_actor_set_natural_height): Ignore any override of the
2476         minimum and natural size of the stage on backends that only
2477         support static stages.
2478
2479         * clutter/clutter-stage.c (clutter_stage_allocate): Use the
2480         preferred size of the ClutterStage implementation instead of
2481         the display size.
2482
2483         * clutter/clutter-backend.[ch]: Remove get_display_size() and
2484         clutter_backend_get_display_size().
2485
2486         * clutter/eglnative/clutter-backend-egl.c:
2487         * clutter/fruity/clutter-backend-fruity.c:
2488         * clutter/osx/clutter-backend-osx.c:
2489         * clutter/sdl/clutter-backend-sdl.c:
2490         * clutter/win32/clutter-backend-win32.c:
2491         * clutter/x11/clutter-backend-x11.c: Remove get_display_size()
2492         implementations.
2493
2494 2008-06-26  Emmanuele Bassi  <ebassi@openedhand.com>
2495
2496         * clutter/clutter-shader.c (bind_glsl_shader): Verify that the
2497         vertex shader has been successfully compiled, like we do with
2498         the fragment shader.
2499
2500 2008-06-26  Emmanuele Bassi  <ebassi@openedhand.com>
2501
2502         * clutter/osx/clutter-backend-osx.c:
2503         (clutter_backend_osx_get_display_size): Fix the allocation pool
2504         macro name.
2505
2506 2008-06-26  Matthew Allum  <mallum@openedhand.com>
2507
2508         * clutter/glx/clutter-glx-texture-pixmap.c:
2509         Move the gl extension probe into the regular object init() rather than
2510         class_init. Should be a little safer.
2511
2512 2008-06-26  Matthew Allum  <mallum@openedhand.com>
2513
2514         * tests/test-pixmap.c: (main):
2515         Use strtol on arg as to take hex values. Tweak from James Ketrenos
2516
2517 2008-06-25  Emmanuele Bassi  <ebassi@openedhand.com>
2518
2519         * configure.ac: Post release bump to 0.7.5.
2520
2521 ======== Release 0.7.4 ========================================================
2522
2523 2008-06-25  Emmanuele Bassi  <ebassi@openedhand.com>
2524
2525         * configure.ac:
2526         * NEWS: Release 0.7.4.
2527
2528 2008-06-25  Neil Roberts  <neil@o-hand.com>
2529
2530         * clutter/win32/clutter-backend-win32.c
2531         (clutter_backend_win32_get_display_size): Implement
2532         get_display_size on the Win32 backend.
2533
2534 2008-06-25  Emmanuele Bassi  <ebassi@openedhand.com>
2535
2536         * clutter/clutter-main.h: Make the priority constants public.
2537
2538         * clutter/clutter-stage.c: Use CLUTTER_PRIORITY_REDRAW.
2539
2540         * clutter/clutter-timeline.c: Use CLUTTER_PRIORITY_TIMELINE.
2541
2542 2008-06-25  Emmanuele Bassi  <ebassi@openedhand.com>
2543
2544         * clutter/osx/clutter-backend-osx.c:
2545         (clutter_backend_osx_get_display_size),
2546         (clutter_backend_osx_class_init): Implement the get_display_size
2547         function.
2548
2549 2008-06-25  Emmanuele Bassi  <ebassi@openedhand.com>
2550
2551         * clutter/clutter-actor.c:
2552         (clutter_actor_set_min_width),
2553         (clutter_actor_set_min_height),
2554         (clutter_actor_set_natural_width),
2555         (clutter_actor_set_natural_height): Add a comment explaining
2556         the override in place for backends providing a fixed size
2557         on a stage.
2558
2559 2008-06-25  Emmanuele Bassi  <ebassi@openedhand.com>
2560
2561         * clutter/clutter-actor.c:
2562         (clutter_actor_set_min_width),
2563         (clutter_actor_set_min_height),
2564         (clutter_actor_set_natural_width),
2565         (clutter_actor_set_natural_height): If setting the minimum
2566         and natural width and height on a top-level actor, and on
2567         a backend that provides only static stages, then override
2568         the value and use the size of the display as returned by
2569         the backend.
2570
2571         * clutter/eglnative/clutter-stage-egl.c:
2572         (clutter_stage_egl_realize): Remove the setting of the
2573         minimum and natural width and height.
2574
2575 2008-06-25  Emmanuele Bassi  <ebassi@openedhand.com>
2576
2577         * clutter/clutter-stage.c:
2578         (clutter_stage_allocate): Minor optimization.
2579
2580         (clutter_stage_init): Do not set the minimum size of the
2581         stage wrapper, and require that the backends set the size
2582         themselves.
2583
2584 2008-06-25  Emmanuele Bassi  <ebassi@openedhand.com>
2585
2586         * clutter/eglnative/clutter-stage-egl.c:
2587         (clutter_stage_egl_realize): Try to force the minimum and
2588         natural size on realization.
2589
2590 2008-06-25  Emmanuele Bassi  <ebassi@openedhand.com>
2591
2592         * clutter/clutter-backend.c:
2593         (clutter_backend_get_display_size): Provide a fallback for
2594         backends not implementing get_display_size().
2595
2596         * clutter/clutter-stage.c:
2597         (clutter_stage_allocate): Add debug messages.
2598
2599         * clutter/sdl/clutter-backend-sdl.c:
2600         (clutter_backend_sdl_get_display_size),
2601         (clutter_backend_sdl_class_init): Implement get_display_size()
2602         on the SDL backend.
2603
2604 2008-06-25  Chris Lord  <chris@openedhand.com>
2605
2606         * clutter/clutter-fixed.c: (clutter_sinx):
2607         Fix clutter_sinx for angles > CFX_2PI - CFX_ONE. Also add note to
2608         documentation about being able to use modulus with ClutterFixed
2609
2610 2008-06-25  Emmanuele Bassi  <ebassi@openedhand.com>
2611
2612         * clutter/clutter-backend.h:
2613         * clutter/clutter-backend.c:
2614         (clutter_backend_get_display_size): Add a function for getting the
2615         display size out of the backend.
2616
2617         * clutter/clutter-stage.c:
2618         (clutter_stage_allocate): When allocating on a backend with a
2619         static stage, we simply ignore the passed box and override it with
2620         the size of the display.
2621
2622         * clutter/eglnative/clutter-backend-egl.c:
2623         (clutter_backend_egl_get_display_size),
2624         (clutter_backend_egl_class_init): Implement get_display_size() by
2625         returning the size of the EGL surface.
2626
2627         * clutter/fruity/clutter-backend-fruity.c:
2628         (clutter_backend_egl_get_display_size),
2629         (clutter_backend_egl_class_init): Ditto as above.
2630
2631         * clutter/x11/clutter-backend-x11.c:
2632         (clutter_backend_x11_get_display_size),
2633         (clutter_backend_x11_class_init): Implement get_display_size() by
2634         returning the DisplayWidth and DisplayHeight of the current
2635         screen.
2636
2637 2008-06-25  Neil Roberts  <neil@o-hand.com>
2638
2639         * clutter/win32/clutter-stage-win32.c
2640         (clutter_stage_win32_realize): Use a more direct method to choose
2641         the best pixel format instead of ChoosePixelFormat because
2642         otherwise if the display's depth is 16 then it will prefer the
2643         non-accelerated software implementation when the requested depth
2644         is 24.
2645
2646 2008-06-25  Emmanuele Bassi  <ebassi@openedhand.com>
2647
2648         * clutter/clutter-stage.c (clutter_stage_allocate): Fix condition;
2649         should always test before committing.
2650
2651 2008-06-25  Matthew Allum  <mallum@openedhand.com>
2652
2653         * clutter/x11/clutter-backend-x11.c: (_clutter_x11_register_xinput)
2654         Add extra safety and fallback if no useable pointing devices are
2655         found.
2656
2657 2008-06-25  Emmanuele Bassi  <ebassi@openedhand.com>
2658
2659         * clutter/clutter-stage.c:
2660         (clutter_stage_allocate): Check if the stage provided by the
2661         backend is static (i.e. a framebuffer that cannot be resized)
2662         and interrupt the allocation chain there.
2663
2664         * clutter/eglnative/clutter-stage-egl.c:
2665         (clutter_stage_egl_class_init): Remove the ::allocate empty
2666         stub.
2667
2668 2008-06-25  Matthew Allum  <mallum@openedhand.com>
2669
2670         * clutter/eglnative/clutter-stage-egl.c:
2671         * clutter/eglx/clutter-stage-egl.c:
2672         Disable passing of attribs to eglCreateContext() on GLES 1.1 h/w
2673
2674 2008-06-25  Neil Roberts  <neil@o-hand.com>
2675
2676         * clutter/clutter-actor.c (clutter_actor_paint): Guard against the
2677         actor clip being enabled or disabled in an actor paint
2678         method. Otherwise the clip stack can be become unbalanced. This
2679         was happening in ClutterEntry until it was fixed in revision 2983.
2680
2681 2008-06-24  Neil Roberts  <neil@o-hand.com>
2682
2683         Bug 979 - Wrong call convension for SwapIntervalProc in win32 backend
2684
2685         * clutter/win32/clutter-backend-win32.c: Use the correct calling
2686         convention for SwapInterval. Thanks to Haakon Sporsheim.
2687
2688 2008-06-24  Emmanuele Bassi  <ebassi@openedhand.com>
2689
2690         Bug 989 - Add a search path for clutter script assets
2691
2692         * clutter/clutter-script.h:
2693         * clutter/clutter-script.c:
2694         (clutter_script_finalize),
2695         (clutter_script_add_search_paths),
2696         (clutter_script_lookup_filename): Add the ability to define multiple
2697         search paths inside ClutterScript and to look up a specific filename
2698         inside those search paths. This is useful to define a set of
2699         directories where the assets for a UI definition are and still
2700         reference those assets by their name instead of the full path. (989,
2701         based on a patch by Matthew Allum)
2702
2703         * clutter/clutter-texture.c:
2704         (clutter_texture_set_custom_property): Use the newly added
2705         clutter_script_lookup_filename() function.
2706
2707 2008-06-24  Neil Roberts  <neil@o-hand.com>
2708
2709         * clutter/cogl/gles/cogl-gles2-wrapper.h:
2710         * clutter/cogl/gles/cogl-gles2-wrapper.c: All of the settings and
2711         uniforms are now proxied into COGL variables instead of setting
2712         the GL uniforms directly. Just before glDrawArrays is executed a
2713         shader is generated using the given settings to avoid using 'if'
2714         statements. The shaders are cached.
2715
2716         * clutter/cogl/gles/cogl-fixed-vertex-shader.glsl:
2717         * clutter/cogl/gles/cogl-fixed-fragment-shader.glsl: The shaders
2718         are now split into parts using comments instead of 'if' statements
2719         so that the simplest shader can be generated on the fly.
2720
2721         * clutter/cogl/gles/stringify.sh: Now splits up the shader sources
2722         into separate C strings where deliminated by special comments.
2723
2724         * clutter/cogl/gles/cogl-program.h:
2725         * clutter/cogl/gles/cogl-program.c: A custom shader can no longer
2726         be directly linked with the fixed-functionality replacement
2727         because the replacement changes depending on the settings. Instead
2728         the bound shader is linked with the appropriate replacement shader
2729         just before glDrawArrays is executed. The custom uniform variables
2730         must also be proxied through COGL variables because their location
2731         can change when relinked.
2732
2733 2008-06-24  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
2734
2735         * clutter/fruity/clutter-fruity.c: removed dead code and unused
2736         variables.
2737
2738 2008-06-24  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
2739
2740         * configure.ac: better alignment of list of enabled experimental
2741         features.
2742
2743 2008-06-24  Emmanuele Bassi  <ebassi@openedhand.com>
2744
2745         * doc/clutter-actor-invariants.txt: Fix grammar and spelling,
2746         document the ::parent-set signal emission.
2747
2748 2008-06-24  Emmanuele Bassi  <ebassi@openedhand.com>
2749
2750         * clutter/clutter-entry.c:
2751         (clutter_entry_ensure_layout): Convert the invisible char
2752         to UTF-8 to avoid Pango barfing on us.
2753
2754 2008-06-24  Matthew Allum  <mallum@openedhand.com>
2755
2756         * clutter/eglnative/clutter-stage-egl.c:
2757         Add an extra debug note.
2758         * configure.ac:
2759         Generate version.xml for COGL API docs
2760
2761 2008-06-24  Chris Lord  <chris@openedhand.com>
2762
2763         Bug 988 - cursor position wrong with multibyte invisible char
2764
2765         * clutter/clutter-entry.c: (clutter_entry_ensure_cursor_position):
2766         Fix cursor position calculation when using invisible text
2767
2768 2008-06-23  Emmanuele Bassi  <ebassi@openedhand.com>
2769
2770         * clutter/x11/clutter-event-x11.c (event_translate): Set the
2771         event type explicitly in the union members as well for the
2772         key events, like we do for all the other events.
2773
2774 2008-06-23  Neil Roberts  <neil@o-hand.com>
2775
2776         * clutter/clutter-entry.c (clutter_entry_paint): Set the clip
2777         using COGL directly instead of setting the actor clip. Otherwise
2778         the clip stack will be unbalanced after the first draw. This also
2779         frees up the actor clip to be set by an application.
2780
2781 2008-06-23  Matthew Allum  <mallum@openedhand.com>
2782
2783         * NEWS:
2784         Add a quick note on fruity multiple deivce support.
2785         * README:
2786         Add multiple device support details and some tweaks on
2787         Clutter requirements (i.e GdkPixbuf).
2788
2789 2008-06-23  Matthew Allum  <mallum@openedhand.com>
2790
2791         Bug 987 - clutter-event.c c99 variable declaration
2792
2793         * clutter/clutter-event.c:
2794         Remove c99ism.
2795
2796 2008-06-23  Emmanuele Bassi  <ebassi@openedhand.com>
2797
2798         * configure.ac: Post release bump to 0.7.3.
2799
2800 ======== Release 0.7.2 ========================================================
2801
2802 2008-06-23  Emmanuele Bassi  <ebassi@openedhand.com>
2803
2804         * configure.ac:
2805         * NEWS: Release 0.7.2.
2806
2807 2008-06-23  Emmanuele Bassi  <ebassi@openedhand.com>
2808
2809         * clutter/clutter-texture.c:
2810         (clutter_texture_get_preferred_width),
2811         (clutter_texture_get_preferred_height),
2812         (clutter_texture_set_property),
2813         (clutter_texture_get_property),
2814         (clutter_texture_class_init),
2815         (clutter_texture_init): Add the new :keep-aspect-ratio property
2816         to ClutterTexture; when set to TRUE the texture will return a
2817         preferred width maintaining the aspect ratio with the given height
2818         and a preferred height maintaining the aspect ratio with the
2819         given width. This allows to set the width or the height and have
2820         the texture automatically request the height or the width respectively
2821         while maintaining the aspect ratio of the original image.
2822
2823         * tests/test-script.json: Update to test the new :keep-aspect-ratio
2824         property.
2825
2826 2008-06-23  Neil Roberts  <neil@o-hand.com>
2827
2828         Bug 918 - Group doesn't clip if it's children are clipped
2829
2830         * clutter/cogl/common/cogl-clip-stack.h:
2831         * clutter/cogl/common/cogl-clip-stack.c: Added functions to
2832         maintain a stack of clipping rectangles.
2833
2834         * clutter/cogl/gles/cogl.c:
2835         * clutter/cogl/gl/cogl.c: The cogl_clip_set and unset functions
2836         have moved into cogl-clip-stack.c which calls back to cogl.c to
2837         set the actual rectangles. Multiple clip rectangles are combined
2838         by merging the stencil buffers.
2839
2840         * clutter/cogl/gles/cogl-primitives.c (_cogl_path_fill_nodes):
2841         * clutter/cogl/gl/cogl-primitives.c (_cogl_path_fill_nodes): Merge
2842         the stencil buffer with the contents of the clipping stack after
2843         drawing the path.
2844
2845         * clutter/cogl/gles/cogl-context.h (CoglContext):
2846         * clutter/cogl/gl/cogl-context.h (CoglContext): Store the number
2847         of available stencil bits.
2848
2849         * clutter/cogl/common/Makefile.am
2850         (libclutter_cogl_common_la_SOURCES): Added cogl-clip-stack.c
2851
2852 2008-06-23  Robert Bragg  <bob@o-hand.com>
2853
2854         * clutter/eglx/clutter-stage-egl.c: Makes sure the eglx backend
2855         passes the EGL_OPENGL_ES2_BIT surface attrib when using
2856         GLES2.0 under cogl
2857
2858 2008-06-23  Chris Lord  <chris@openedhand.com>
2859
2860         * clutter/x11/clutter-event-x11.c: (convert_xdevicekey_to_xkey),
2861         (translate_key_event), (event_translate):
2862         Change the xinput event handling to use translate_key (fixes modifier
2863         handling with xinput key events)
2864
2865 2008-06-23  Emmanuele Bassi  <ebassi@openedhand.com>
2866
2867         Bug 982 - __COGL_GET_CONTEXT MS compiler issue (Haakon Sporsheim)
2868
2869         * clutter/cogl/common/cogl-handle.h:
2870         * clutter/cogl/common/cogl-primitives.c: Remove C99-isms.
2871
2872         * clutter/cogl/gl/cogl-fbo.c:
2873         * clutter/cogl/gl/cogl-primitives.c:
2874         * clutter/cogl/gl/cogl-texture.c:
2875         * clutter/cogl/gl/cogl.c: Ditto as above.
2876
2877         * clutter/cogl/gles/cogl-fbo.c:
2878         * clutter/cogl/gles/cogl-primitives.c:
2879         * clutter/cogl/gles/cogl-texture.c: Ditto as above.
2880
2881 2008-06-23  Emmanuele Bassi  <ebassi@openedhand.com>
2882
2883         Bug 984 - pango_clutter_render_layout() declared void, but
2884                   returns (Haakon Sporsheim)
2885
2886         * clutter/pango/pangoclutter-render.c:
2887         (pango_clutter_render_layout): Do not use a return statement.
2888
2889 2008-06-23  Emmanuele Bassi  <ebassi@openedhand.com>
2890
2891         Bug 905 - Paint cursor directly (Xan López)
2892
2893         * clutter/clutter-entry.c:
2894         (clutter_entry_paint_cursor),
2895         (clutter_entry_init),
2896         (clutter_entry_set_color): Directly paint the cursor on the
2897         entry instead of using an actor.
2898
2899 2008-06-23  Emmanuele Bassi  <ebassi@openedhand.com>
2900
2901         Bug 981 - clutter_stage_read_pixels temprow fix (Haakon Sporsheim)
2902
2903         * clutter/clutter-stage.c (clutter_stage_read_pixels): Allocate
2904         the temporary row data used to flip the buffer from glReadPixels()
2905         in order to fix compilation under MSVC. Also validate the input
2906         parameters to avoid random segfaults.
2907
2908 2008-06-23  Matthew Allum  <mallum@openedhand.com>
2909
2910         * clutter/clutter-actor.c:
2911         * clutter/clutter-actor.h:
2912         * clutter/clutter-event.c:
2913         * clutter/clutter-event.h:
2914         * clutter/clutter-main.c:
2915         * clutter/clutter-main.h:
2916         * clutter/clutter-private.h:
2917         * clutter/eglx/clutter-stage-egl.c:
2918         * clutter/fruity/clutter-backend-fruity.c:
2919         * clutter/fruity/clutter-backend-fruity.h:
2920         * clutter/fruity/clutter-fruity.c:
2921         * clutter/glx/clutter-stage-glx.c:
2922         * clutter/x11/clutter-backend-x11.c:
2923         * clutter/x11/clutter-backend-x11.h:
2924         * clutter/x11/clutter-event-x11.c:
2925         * clutter/x11/clutter-stage-x11.h:
2926         * clutter/x11/clutter-x11.h:
2927         * configure.ac:
2928         * tests/Makefile.am:
2929         * tests/test-devices.c:
2930         Merge of 'xinput' branch giving initial basic support of
2931         multiple input devices.
2932
2933 2008-06-23  Matthew Allum  <mallum@openedhand.com>
2934
2935         * clutter/clutter-actor.c:
2936         * clutter/clutter-actor.h:
2937         * clutter/clutter-group.c:
2938         Remove uneeded (at least for now) paint_area method (#970)
2939
2940 2008-06-19  Emmanuele Bassi  <ebassi@openedhand.com>
2941
2942         * clutter/clutter-script.c: Be more explicit about the fact that
2943         the script id is not the name of an actor, and that it is retrieved
2944         by using clutter_get_script_id().
2945
2946 2008-06-17  Emmanuele Bassi  <ebassi@openedhand.com>
2947
2948         * clutter/clutter-actor.h:
2949         * clutter/clutter-actor.c:
2950         (clutter_actor_allocate_preferred_size): Add more documentation
2951         and notes on where it's appropriate to call this function.
2952
2953 2008-06-17  Chris Lord  <chris@openedhand.com>
2954
2955         * clutter/clutter-texture.c: (clutter_texture_get_preferred_width),
2956         (clutter_texture_get_preferred_height):
2957         Maintain aspect ratio with natural width/height when for_width/height
2958         are specified
2959
2960 2008-06-17  Matthew Allum  <mallum@openedhand.com>
2961
2962         * clutter/clutter-actor.c:
2963         * clutter/clutter-actor.h:
2964         Clean up of parenting code (see #972)
2965         Doc updates to section intro.
2966         Add clutter_actor_allocate_preferred_size () utility call
2967
2968         * clutter/clutter-group.c: (clutter_fixed_layout_allocate):
2969         Use clutter_actor_allocate_preferred_size ()
2970
2971         * doc/clutter-actor-invariants.txt:
2972         Add some more notes
2973
2974 2008-06-17  Emmanuele Bassi  <ebassi@openedhand.com>
2975
2976         * clutter/clutter-actor.c:
2977         (clutter_actor_set_parent): Do not emit ::parent-set when
2978         reparenting.
2979
2980         (clutter_actor_unparent): Ditto, as above.
2981
2982         (clutter_actor_reparent): Emit ::parent-set with the old
2983         parent and set the IN_REPARENT flag unconditionally.
2984
2985 2008-06-17  Emmanuele Bassi  <ebassi@openedhand.com>
2986
2987         * doc/clutter-actor-invariants.txt: Document the flags, the
2988         invariants, the state changes and the minimum requirements for
2989         actor implementations. Needs to be tweaked and fleshed out
2990         before 0.8.0, and we obviously need to enforce the invariants.
2991
2992 2008-06-17  Emmanuele Bassi  <ebassi@openedhand.com>
2993
2994         * clutter/clutter-actor.c:
2995         (clutter_actor_set_parent): Document and maintain the invariant
2996         that after setting a realized parent on an actor, the actor is
2997         also going to be realized.
2998
2999         (clutter_actor_unparent): Change the invariant that an unparented
3000         actor is also unrealized: the paint is fast enough to avoid
3001         unrealizing, since it also causes more problems that what it's
3002         worth.
3003
3004         * tests/test-invariants.c (test_show_on_set_parent): Update the
3005         invariants test because we changed the invariants.
3006
3007 2008-06-17  Jussi Kukkonen  <jku@o-hand.com>
3008
3009         * clutter/clutter-score.c (clutter_score_append):
3010         initialize "marker" string and "complete_id" signal id when creating a
3011         ClutterScoreEntry.
3012
3013 2008-06-16  Tomas Frydrych  <tf@openedhand.com>
3014
3015         * clutter/clutter-actor.c:
3016         (clutter_actor_move_anchor_point_from_gravity):
3017         Fixed incorrect sign of position adjustment (revert of earlier
3018         change).
3019
3020 2008-06-16  Emmanuele Bassi  <ebassi@openedhand.com>
3021
3022         * clutter/clutter-actor.c (clutter_actor_unparent): Reset the
3023         :show-on-set-parent property to TRUE when unparenting.
3024
3025         * tests/Makefile.am: Add test-invariant to the build.
3026
3027         * tests/test-invariants.c: Test the invariants that we are going
3028         to honour (and document, at some point).
3029
3030 2008-06-16  Emmanuele Bassi  <ebassi@openedhand.com>
3031
3032         * clutter/eglnative/clutter-stage-egl.c: Ignore any size allocation
3033         we receive from the user.
3034
3035         * clutter/fruity/clutter-stage-fruity.c: Ditto as above.
3036
3037 2008-06-16  Tomas Frydrych  <tf@openedhand.com>
3038
3039         * clutter/clutter-actor.c:
3040         (clutter_actor_move_anchor_point):
3041         (clutter_actor_move_anchor_pointu):
3042         (clutter_actor_move_anchor_point_from_gravity):
3043         Fixed incorrect sign of position adjustment.
3044         Fixed replace call to _move_by with move_byu in
3045         _move_anchor_pointu.
3046
3047         Stripped trailing whitespace.
3048
3049 2008-06-15  Emmanuele Bassi  <ebassi@openedhand.com>
3050
3051         Bug #967 - Mismatch of Timeline::marker-reached signal signature
3052
3053         * clutter/clutter-marshal.list:
3054         * clutter/clutter-timeline.c:
3055         (clutter_timeline_class_init): Fix the type of the frame_num
3056         argument in the ::marker-reached signal creation to match the
3057         signal class handler. (Armin Burgmeier)
3058
3059 2008-06-14  Emmanuele Bassi  <ebassi@openedhand.com>
3060
3061         * README: We depend on PangoCairo, now; also add all the missing
3062         release notes entries and the missing backends configuration notes.
3063
3064 2008-06-14  Matthew Allum  <mallum@openedhand.com>
3065
3066         * README:
3067         Make needed GL version 1.4, note GLES2 support, add some notes
3068         for COGL.
3069
3070 2008-06-13  Emmanuele Bassi  <ebassi@openedhand.com>
3071
3072         * configure.ac: Post release bump to 0.7.1.
3073
3074 ======== Release 0.7.0 ========================================================
3075
3076 2008-06-13  Emmanuele Bassi  <ebassi@openedhand.com>
3077
3078         * README:
3079         * NEWS:
3080         * configure.ac: Release 0.7.0, "Booska".
3081
3082 2008-06-13  Emmanuele Bassi  <ebassi@openedhand.com>
3083
3084         * tests/test-cogl-offscreen.c:
3085         * tests/test-cogl-primitives.c:
3086         * tests/test-cogl-tex-convert.c:
3087         * tests/test-cogl-tex-foreign.c:
3088         * tests/test-cogl-tex-getset.c:
3089         * tests/test-cogl-tex-tile.c:
3090         * tests/test-layout.c:
3091         * tests/test-pixmap.c:
3092         * tests/test-texture-quality.c: Miscellaneous fixes for distcheck
3093         to pass.
3094
3095 2008-06-13  Emmanuele Bassi  <ebassi@openedhand.com>
3096
3097         * clutter/clutter-actor.c:
3098         * clutter/clutter-actor.h:
3099         * tests/test-cogl-primitives.c:
3100         * tests/test-events.c:
3101         * tests/test-multistage.c:
3102         * tests/test-textures.c:
3103         * tests/test-timeline.c: Miscellaneous fixes for distcheck to
3104         pass.
3105
3106 2008-06-13  Emmanuele Bassi  <ebassi@openedhand.com>
3107
3108         * clutter/clutter-texture.c:
3109         (clutter_texture_unrealize), (clutter_texture_dispose): Add a
3110         guard against reading back memory during the unrealization on
3111         dispose.
3112
3113 2008-06-13  Emmanuele Bassi  <ebassi@openedhand.com>
3114
3115         Bug #953 - Actors are not hidden before unrealized or
3116                    disposed (Tommi Komulainen)
3117
3118         * clutter/clutter-actor.c:
3119         (clutter_actor_unrealize): Hide a visible actor when unrealizing
3120         it.
3121
3122         (clutter_actor_dispose): Make sure to unrealize an actor when
3123         disposing it.
3124
3125 2008-06-13  Emmanuele Bassi  <ebassi@openedhand.com>
3126
3127         * clutter/clutter-actor.c:
3128         (clutter_actor_dispose), (clutter_actor_destroy),
3129         (clutter_actor_unparent): Clean up the actor's destruction
3130         sequence, making sure that every operation is performed
3131         under the CLUTTER_ACTOR_IN_DESTRUCTION internal flag. (thanks
3132         to Tomas Frydrych, Neil Roberts and Matthew Allum)
3133
3134 2008-06-13  Emmanuele Bassi  <ebassi@openedhand.com>
3135
3136         Bug #960 - PangoContext creation code should not be duplicated
3137
3138         * clutter/clutter-private.h:
3139         * clutter/clutter-main.c:
3140         (_clutter_context_create_pango_context): Abstract the creation
3141         of the PangoContext inside its own function, to avoid code and
3142         bugs duplication. (Tommi Komulainen)
3143
3144         * clutter/clutter-entry.c (clutter_entry_init): Use the newly
3145         added PangoContext creation function.
3146
3147         * clutter/clutter-label.c (clutter_label_init): Ditto as above.
3148
3149 2008-06-12  Emmanuele Bassi  <ebassi@openedhand.com>
3150
3151         Bug #964 - "unrealized" signal of ClutterActor wrongly named
3152
3153         * clutter/clutter-actor.c (clutter_actor_class_init): Fix typo
3154         in the ::unrealize signal name. (Armin Burgmeier)
3155
3156 2008-06-12  Emmanuele Bassi  <ebassi@openedhand.com>
3157
3158         * doc/reference/cogl/Makefile.am: Ignore cogl/gl and cogl/gles
3159         when building the documentation.
3160
3161         * clutter/cogl/cogl.h.in: Add sections in the header file.
3162
3163 2008-06-12  Emmanuele Bassi  <ebassi@openedhand.com>
3164
3165         * clutter/clutter-actor.c: Add more clarifications on the
3166         size and position accessors and the distinction between
3167         transformed and untransformed actor box inside the actor's
3168         description.
3169
3170 2008-06-12  Emmanuele Bassi  <ebassi@openedhand.com>
3171
3172         * clutter/clutter-actor.c: Clarify the documentation of the
3173         accessors of the width and height.
3174
3175 2008-06-12  Neil Roberts  <neil@o-hand.com>
3176
3177         * clutter/win32/clutter-stage-win32.c: Updated to the new layout
3178         API. All code to do with positioning the stage has been removed so
3179         the window is left where Windows wants to put it and it can not be
3180         moved with clutter_actor_set_position.
3181
3182         * clutter/win32/clutter-stage-win32.h (ClutterStageWin32): Remove
3183         win_xpos and win_ypos.
3184
3185         * clutter/win32/clutter-event-win32.c (message_translate): Remove
3186         the handler for WM_MOVE because the stage no longer cares where it
3187         is positioned.
3188
3189 2008-06-12  Emmanuele Bassi  <ebassi@openedhand.com>
3190
3191         * clutter/clutter-actor.[ch]: Documentation fixes.
3192
3193         * clutter/clutter-backend.c: Documentation fixes.
3194
3195         * clutter/clutter-container.h: Documentation fixes.
3196
3197         * clutter/clutter-fixed.c (clutter_qdivx): Fix the return
3198         value to be after the description.
3199
3200         * clutter/clutter-texture.[ch]: Documentation fixes.
3201
3202         * clutter/clutter-timeline.c: Documentation fixes.
3203
3204 2008-06-11  Emmanuele Bassi  <ebassi@openedhand.com>
3205
3206         * tests/test-layout.c: Take into account the origin of the
3207         parent, if it has changed, and queue a relayout if we are
3208         using the transformed box when computing the layout.
3209
3210 2008-06-11  Emmanuele Bassi  <ebassi@openedhand.com>
3211
3212         * clutter/eglnative/clutter-stage-egl.c: Remove a duplicate
3213         get_preferred_width() implementation. (thanks to Iain Holmes)
3214
3215 2008-06-11  Neil Roberts  <neil@o-hand.com>
3216
3217         * clutter/clutter-actor.c (clutter_actor_allocate): Fixed the
3218         logic when detecting whether the actor has moved.
3219
3220 2008-06-11  Iain Holmes  <iain@openedhand.com>
3221
3222         * configure.ac: Detect the GL headers in flavour=fruity
3223
3224         * clutter/fruity/clutter-stage-fruity.c: Update the Fruity backend to
3225         use the new size negotiation API.
3226
3227 2008-06-11  Emmanuele Bassi  <ebassi@openedhand.com>
3228
3229         * clutter/clutter-label.c (clutter_label_allocate): Keep the
3230         layout if the size of the allocation is the same as the last
3231         allocation received by the label.
3232
3233 2008-06-11  Emmanuele Bassi  <ebassi@openedhand.com>
3234
3235         * clutter/clutter-actor.c: Notify :x, :y, :width and :height
3236         properties using ClutterUnits, not pixels.
3237
3238 2008-06-11  Emmanuele Bassi  <ebassi@openedhand.com>
3239
3240         * clutter/eglnative/clutter-stage-egl.c: Update the EGL native
3241         backend to use the new size negotiation API.
3242
3243 2008-06-11  Emmanuele Bassi  <ebassi@openedhand.com>
3244
3245         * clutter/sdl/clutter-stage-sdl.c: Update the SDL backend to
3246         use the new size negotiation API.
3247
3248 2008-06-11  Emmanuele Bassi  <ebassi@openedhand.com>
3249
3250         Bug #961 - Fails to build on OSX
3251
3252         * clutter/osx/clutter-stage-osx.c: Update the OSX backend to
3253         use the new size negotiation API.
3254
3255 2008-06-11  Emmanuele Bassi  <ebassi@openedhand.com>
3256
3257         * autogen.sh: Force overwriting when glib-gettextize is
3258         invoked by autogen.sh.
3259
3260 2008-06-10  Neil Roberts  <neil@o-hand.com>
3261
3262         * clutter/clutter-main.c: Include <locale.h> for setlocale()
3263
3264 2008-06-10  Emmanuele Bassi  <ebassi@openedhand.com>
3265
3266         * clutter/clutter-child-meta.c: Fix section name
3267
3268         * clutter/clutter-container.c:
3269         (clutter_container_child_set_property),
3270         (clutter_container_child_get_property): Fix gtk-doc parameter
3271         name.
3272
3273         * clutter/clutter-container.h: Fix documentation of the
3274         interface vfuncs.
3275
3276         * clutter/clutter-event.h: Fix documentation.
3277
3278         * clutter/clutter-feature.h: Fix documentation.
3279
3280         * clutter/clutter-types.h: Add ClutterRequestMode.
3281
3282         * clutter/x11/clutter-event-x11.c: Fix documentation.
3283
3284         * tests/test-fullscreen.c: Verify that the stage size has been
3285         changed by clutter_stage_fullscreen().
3286
3287 2008-06-10  Emmanuele Bassi  <ebassi@openedhand.com>
3288
3289         Bug #815 - Split up request, allocation, and paint box
3290
3291         * clutter/clutter-actor.[ch]: Rework the size allocation,
3292         request and paint area. Now ::request_coords() is called
3293         ::allocate(), and ::query_coords() has been split into
3294         ::get_preferred_width() and ::get_preferred_height(). See
3295         the documentation and the layout test on how to implement
3296         a container and layout manager with the new API. (#915,
3297         based on a patch by Havoc Pennington, Lucas Rocha and Johan
3298         Bilien)
3299
3300         * clutter/clutter-clone-texture.c: Port CloneTexture to
3301         the new size negotiation API; it just means forwarding
3302         the requests to the parent texture.
3303
3304         * clutter/clutter-deprecated.h: Add deprecated and replaced
3305         API.
3306
3307         * clutter/clutter-entry.c: Port Entry to the new size
3308         negotiation API.
3309
3310         * clutter/clutter-group.c: Port Group to the new size
3311         negotiation API; the semantics of the Group actor do not
3312         change.
3313
3314         * clutter/clutter-label.c: Port Label to the new size
3315         negotiation API, and vastly simplify the code.
3316
3317         * clutter/clutter-main.[ch]: Add API for executing a
3318         relayout when needed.
3319
3320         * clutter/clutter-private.h: Add new Stage private API.
3321
3322         * clutter/clutter-rectangle.c: Update the get_abs_opacity()
3323         call to get_paint_opacity().
3324
3325         * clutter/clutter-stage.c:
3326         (clutter_stage_get_preferred_width),
3327         (clutter_stage_get_preferred_height),
3328         (clutter_stage_allocate),
3329         (clutter_stage_class_init): Port Stage to the new size
3330         negotiation API.
3331
3332         * clutter/clutter-texture.c: Port Texture to the new size
3333         negotiation API.
3334
3335         * clutter/clutter-types.h: Add ClutterRequestMode enumeration.
3336
3337         * clutter/x11/clutter-stage-x11.c: Port the X11 stage
3338         implementation to the new size negotiation API.
3339
3340         * tests/Makefile.am: Add the layout manager test case.
3341
3342         * tests/test-opacity.c: Update.
3343
3344         * tests/test-project.c: Update.
3345
3346         * tests/test-layout.c: Test case for a layout manager implemented
3347         using the new size negotiation API; the layout manager handles
3348         both transformed and untransformed children.
3349
3350 2008-06-10  Emmanuele Bassi  <ebassi@openedhand.com>
3351
3352         * Makefile.am: Add the po/ directory to the build.
3353
3354 2008-06-10  Emmanuele Bassi  <ebassi@openedhand.com>
3355
3356         * autogen.sh: Check for, and run glib-gettextize.
3357
3358         * configure.ac: Set up the localization support.
3359
3360         * clutter/clutter-main.c: Do not define the GETTEXT_PACKAGE,
3361         but use the one from the configure script.
3362
3363         * po/POTFILES.in: Template for the translatable files.
3364
3365 2008-06-10  Chris Lord  <chris@openedhand.com>
3366
3367         * clutter/clutter-main.c: (pre_parse_hook):
3368         Call setlocale on init
3369
3370         * clutter/x11/clutter-event-x11.c: (translate_key_event):
3371         Fix typo and use the same buffer size as xev
3372
3373 2008-06-10  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
3374
3375         * clutter/clutter-texture.c: improved documentation for
3376         clutter_texture_set_filter_quality.
3377
3378 2008-06-10  Chris Lord  <chris@openedhand.com>
3379
3380         Bug #916 - ClutterKeyEvent:unicode_value is ignored
3381         Bug #950 - AltGr not handled
3382
3383         * clutter/osx/clutter-event-osx.c: (clutter_event_osx_translate):
3384         * clutter/x11/clutter-event-x11.c: (translate_key_event):
3385         * tests/test-events.c: (fill_keybuf), (input_cb):
3386         Apply patch from Tommi Komulainen, fill the unicode_value attribute of
3387         the ClutterKeyEvent struct. Also use XKeycodeToKeysym, as suggested in
3388         bug #950, comment #2
3389
3390 2008-06-10  Matthew Allum  <mallum@openedhand.com>
3391
3392         * clutter/clutter-texture.c:
3393         Minor reformatting cleanups. Emit filter-quality prop on change.
3394         * clutter/glx/clutter-glx-texture-pixmap.c:
3395         Support mipmaps via filter quality prop.
3396
3397 2008-06-10  Chris Lord  <chris@openedhand.com>
3398
3399         * tests/Makefile.am:
3400         * tests/test-entry-auto.c:
3401         Add automatic test for ClutterEntry, by Tommi Komulainen
3402
3403 2008-06-10  Chris Lord  <chris@openedhand.com>
3404
3405         * clutter/cogl/common/cogl-primitives.c: (_cogl_path_arc):
3406         Draw as expected when end angle is lower than start angle (i.e. do not
3407         swap the angles). This aligns with cairo behaviour.
3408
3409 2008-06-10  Tommi Komulainen  <tommi.komulainen@iki.fi>
3410
3411         Bug#959 - Multiple minor improvements
3412
3413         * configure.ac: pick up GDKPIXBUF_PREFIX from gdk-pixbuf-2.0
3414         module, not pango
3415
3416         * clutter/clutter-keysyms-table.h: cosmetic fix for ifdef guard
3417         name in the comment (leftover from earlier commit)
3418
3419         * tests/test-textures.c: don't depend on GdkPixbuf as we're not
3420         using any actual features from it, just plain pixel buffer
3421         manipulation
3422
3423         * clutter/clutter-timeline.c
3424         * clutter/clutter-timeline.h (clutter_timeline_list_markers): Use
3425         gsize* to return number of items, not guint*
3426         * tests/test-paint-wrapper.c: use correct type (guint*) in call
3427         to clutter_actor_get_size()
3428
3429         * tests/test-depth.c (janus_group): properly take height2 into
3430         account when calculating needed height for the rectangle
3431
3432         * tests/test-cogl-tex-getset.c: use rowstride, not width*4, when
3433         calculating pixel offsets
3434
3435         * tests/test-cogl-tex-getset.c: Don't assume/force RGBA format,
3436         also support ARGB format (needed with quartz imageloader.)
3437
3438 2008-06-09  Tommi Komulainen  <tommi.komulainen@iki.fi>
3439
3440         * clutter/osx/clutter-backend-osx.c (clutter_backend_osx_post_parse):
3441         Print GL_VENDOR, GL_RENDERER, GL_VERSION and GL_EXTENSIONS to aid
3442         debugging.
3443
3444 2008-06-09  Tommi Komulainen  <tommi.komulainen@iki.fi>
3445
3446         Bug #930 - add support for quartz imagebackend
3447
3448         * clutter/cogl/common/cogl-bitmap-pixbuf.c
3449         (_cogl_bitmap_from_file): When USE_QUARTZ is defined implement
3450         using Core Graphics.
3451         * configure.ac: support --with-imagebackend=quartz and print
3452         which imagebackend is selected. Make quartz default on OSX
3453
3454 2008-06-09  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
3455
3456         * clutter/cogl/common/cogl-primitives.c: (cogl_path_rel_curve_to):
3457         fixed naming of implementation of cogl_path_rel_curve_to (it was
3458         called just cogl_rel_curve_to).
3459
3460 2008-06-09  Emmanuele Bassi  <ebassi@openedhand.com>
3461
3462         * configure.ac: Clean up a bit the X11 and X extensions
3463         checks with PKG_CHECK_EXISTS(). Since we are filling up the
3464         X11_CFLAGS and X11_LIBS variables ourselves there is no
3465         point in polluting the Makefiles with unused variables.
3466
3467         * clutter/Makefile.am: Remove the pkg-config variable
3468         evaluation and use the values retrieved from the configure
3469         script.
3470
3471 2008-06-09  Chris Lord  <chris@openedhand.com>
3472
3473         Bug #914 - ClutterEntry is confused about characters vs. bytes
3474
3475         * clutter/clutter-entry.c: (clutter_entry_ensure_layout),
3476         (clutter_entry_handle_key_event_internal),
3477         (clutter_entry_set_text):
3478         Fix mix-up of character and byte counts, handle unicode correctly.
3479         Use clutter_key_event_unicode() instead of
3480         clutter_keysym_to_unicode().
3481
3482         * clutter/clutter-event.c: (clutter_key_event_unicode):
3483         Don't ignore ClutterKeyEvent.unicode_value
3484
3485         * clutter/clutter-keysyms-table.h:
3486         Rename header define so as not to conflict with clutter-keysyms.h
3487
3488         Patch originally by Emmanuele Bassi, with input from Tommi Komulainen.
3489
3490 2008-06-07  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
3491
3492         * clutter/clutter-texture.c: made the filter-quality proeprty also
3493         control the use of mipmapping.
3494         * clutter/clutter-texture.h: added ClutterTextureQuality enum.
3495         * tests/test-texture-quality.c: new test.
3496         * tests/Makefile.am: added test-texture-quality
3497
3498 2008-06-06  Emmanuele Bassi  <ebassi@openedhand.com>
3499
3500         * clutter/clutter-texture.c:
3501         (clutter_texture_class_init): Do not unrealize on hide(), and
3502         do not realize() on show. By default, clutter_actor_show() will
3503         realize ourselves, and we don't want to unrealize when hidden
3504         to avoid paying the penalty of reading back the texture data
3505         from the video memory.
3506
3507         * tests/test-actors.c: Show all textures again when pressing
3508         the 'r' key.
3509
3510 2008-06-06  Neil Roberts  <neil@o-hand.com>
3511
3512         * tests/test-shader.c: Use the special wrapper vars when building
3513         for GLES 2 and automatically cycle the shaders because it's
3514         difficult to right-click.
3515
3516 2008-06-06  Neil Roberts  <neil@o-hand.com>
3517
3518         * tests/test-shader.c: Fixed to use sampler2D instead of
3519         sampler2DRect now that GL_TEXTURE_RECTANGLE support is disabled in
3520         revision 2834. The ClutterTexture actor now has the
3521         'disable-slicing' property set. The distance in texture
3522         coordinates between pixels is passed in as a uniform so that the
3523         box-blur shader can still work.
3524
3525 2008-06-06  Emmanuele Bassi  <ebassi@openedhand.com>
3526
3527         Bug #952 - Fix test-textures in trunk
3528
3529         * tests/test-textures.c: Use USE_GDKPIXBUF instead of
3530         USE_PIXBUF. (#952, Gwenole Beauchesne)
3531
3532 2008-06-06  Emmanuele Bassi  <ebassi@openedhand.com>
3533
3534         Bug #951 - Fix clutter_entry_init() in trunk
3535
3536         * clutter/clutter-entry.c (clutter_entry_init): Remove a
3537         variable shadowing another one. (#951, Tommi Komulainen)
3538
3539 2008-06-06  Emmanuele Bassi  <ebassi@openedhand.com>
3540
3541         Bug #955 - ClutterLabel is missing fallback resolution handling
3542
3543         * clutter/clutter-label.c (clutter_label_init): Handle
3544         clutter_backend_get_resolution() return value -1 similar to
3545         ClutterEntry (falling back to 96.0). (#955, Tommi Komulainen)
3546
3547 2008-06-06  Neil Roberts  <neil@o-hand.com>
3548
3549         * clutter/eglnative/clutter-stage-egl.c
3550         (clutter_stage_egl_realize): Use ES 2 renderable type when
3551         building for GLES 2.
3552
3553         * clutter/eglnative/clutter-event-egl.c (get_backend_time): Added
3554         a NULL for the microseconds parameter of g_timer_elapsed.
3555
3556         * clutter/eglnative/clutter-stage-egl.h:
3557         * clutter/eglnative/clutter-egl.h:
3558         * clutter/eglnative/clutter-backend-egl.h: Include
3559         clutter-egl-headers.h instead of including the GL headers directly
3560         so it can include gl2.h when building for GLES 2.
3561
3562         * clutter/eglnative/clutter-egl-headers.h:
3563         * clutter/eglnative/Makefile.am (libclutter_eglnative_la_SOURCES):
3564         Added clutter-egl-headers.h
3565
3566         * clutter/cogl/gles/cogl-fixed-fragment-shader.glsl: GLES 2
3567         doesn't provide a default precision for floats in the fragment
3568         shader and it will reject the shader if there isn't one.
3569
3570 2008-06-06  Matthew Allum  <mallum@openedhand.com>
3571
3572         Bug #948 - Remove texture rectangle support
3573
3574         * clutter/clutter-feature.c:
3575         * clutter/clutter-feature.h:
3576         * clutter/clutter-texture.c:
3577         * clutter/cogl/gl/cogl.c:
3578         * clutter/glx/clutter-glx-texture-pixmap.c:
3579         Remove support for GL_TEXTURE_RECTANGLE_ARB (now using just regular
3580         2D textures, with optional npots extension). Simplifys code, + makes
3581         mipmap & shader support much more sane.
3582
3583 2008-06-06  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
3584
3585         Bug #931 - suspicious size allocation for pixel data.
3586
3587         * clutter/cogl/common/cogl-bitmap-pixbuf.c:
3588         (_cogl_bitmap_from_file): allocate height×rowstride and not duplicate
3589         gdkpixbuf's strange optimization saving some bytes at the end of the
3590         pixbuf.
3591
3592 2008-06-05  Tommi Komulainen  <tommi.komulainen@iki.fi>
3593
3594         Bug 913 - cogl fails to build on OSX
3595
3596         * clutter/cogl/gl/cogl-fbo.c: define GL_READ_FRAMEBUFFER_EXT and
3597         GL_DRAW_FRAMEBUFFER_EXT if not defined in the build system. The
3598         #ifdef can fail if they're not #defines but variables or enums.
3599         As the values are supposed to be industry standard even then
3600         it shouldn't have ill effects.
3601
3602 2008-06-05  Tommi Komulainen  <tommi.komulainen@iki.fi>
3603
3604         Bug #911 - OSX: add multistage support
3605
3606         * clutter/osx/clutter-backend-osx.{c,h}
3607         (clutter_backend_osx_init_stage, clutter_backend_osx_get_stage,
3608         clutter_backend_osx_redraw, clutter_backend_osx_create_stage,
3609         clutter_backend_osx_ensure_context, clutter_backend_osx_class_init,
3610         clutter_backend_osx_dispose, ClutterGLView:drawRect:):
3611         * clutter/osx/clutter-stage-osx.{c,h} (clutter_stage_osx_realize,
3612         ClutterGLWindow:setFrameSize:):
3613         Adapt to new multistage backend API. Don't keep a pointer to
3614         default stage. Derive from ClutterActor instead of ClutterStage.
3615         Implement ClutterStageWindow interface. Paint, resize and
3616         otherwise manipulate the wrapper rather than self when necessary.
3617
3618         (clutter_backend_post_parse): Create our singleton GL context
3619         here. We could probably create the context when the default
3620         stage is created, but I think this is more clean.
3621
3622         * clutter/osx/clutter-event-osx.c (clutter_event_osx_translate)
3623         * clutter/osx/clutter-stage-osx.c (clutter_stage_osx_state_update,
3624         ClutterGLWindow:windowShouldClose:):
3625         * clutter/osx/clutter-stage-osx.h: Export ClutterGLWindow interface
3626         for clutter-event-osx.c to easily get the stage for NSWindow.
3627         Fill in ClutterEventAny::stage on our events.
3628
3629 2008-06-05  Tommi Komulainen  <tommi.komulainen@iki.fi>
3630
3631         Bug #910 - OSX: missing memory pool
3632
3633         * clutter/osx/clutter-backend-osx.c (clutter_backend_osx_redraw):
3634         Add missing memory pool wrapup.
3635
3636 2008-06-05  Tommi Komulainen  <tommi.komulainen@iki.fi>
3637
3638         Bug #909 - OSX: missing NULL pointer handling
3639
3640         * clutter/osx/clutter-stage-osx.c (ClutterGLWindow,
3641         clutter_stage_osx_set_title): NSString:stringWithUTF8String:
3642         does not accept NULL values, use empty string ("") instead.
3643         Avoids potential crash.
3644
3645 2008-06-05  Emmanuele Bassi  <ebassi@openedhand.com>
3646
3647         * tests/Makefile.am:
3648         * tests/test-paint-wrapper.c: Add a test case (merely, a copy
3649         of test-actors.c) that verifies that handlers to the ::paint
3650         signal are called in the right order.
3651
3652 2008-06-05  Emmanuele Bassi  <ebassi@openedhand.com>
3653
3654         Bug #840 - Implement prepare-paint and finish-paint signals.
3655
3656         * clutter/clutter-actor.c:
3657         (clutter_actor_class_init): Add the ::paint, ::realize and
3658         ::unrealize signals to ClutterActor. It is possible to
3659         override the paint, realization and unrealization of an
3660         actor without subclassing it. The ::paint signal handlers
3661         have the same limitations of a ClutterActor::paint implementation
3662         inside a subclass.
3663
3664         (clutter_actor_realize),
3665         (clutter_actor_unrealize),
3666         (clutter_actor_paint): Emit the signals instead of calling
3667         the functions from the class vtable.
3668
3669 2008-06-05  Emmanuele Bassi  <ebassi@openedhand.com>
3670
3671         * ChangeLog-ivan: Remove the ChangeLog of the clutter-ivan
3672         branch; the branch already contains it.
3673
3674 2008-06-05  Matthew Allum  <mallum@openedhand.com>
3675
3676         * clutter/glx/clutter-glx-texture-pixmap.h:
3677         Actually export clutter_glx_texture_pixmap_using_extension ()
3678
3679 2008-06-05  Chris Lord  <chris@openedhand.com>
3680
3681         * clutter/clutter-entry.c:
3682         Correct the documentation for clutter_entry_set_max_length, fixes bug
3683         #915.
3684
3685 2008-06-04  Robert Bragg  <bob@o-hand.com>
3686
3687         * tests/test-clip.c:
3688         Removes a spurious #include <gdk-pixbuf/gdk-pixbuf.h> which may not
3689         be found if using --with-imagebackend=internal
3690
3691 2008-06-04  Robert Bragg  <bob@o-hand.com>
3692
3693         * configure.ac:
3694         Checks that for pangocairo >= 1.18, since
3695         pangocairo-font.c uses pango_cairo_font_get_scaled_font which isn't
3696         otherwise available.
3697
3698 2008-06-03  Neil Roberts  <neil@o-hand.com>
3699
3700         Applied patch from bug #947
3701
3702         * clutter/clutter-stage.c (clutter_stage_get_default): Don't grab
3703         the floating reference when creating the default stage. The stage
3704         manager will take a reference to it so it will behave as any other
3705         stage.
3706         (clutter_stage_new): Don't take the floating reference to the new
3707         stage but let the stage manager keep it instead.
3708
3709         * clutter/clutter-stage-manager.c
3710         (_clutter_stage_manager_add_stage): Take a reference to the stage
3711         when it is added to the list.
3712         (_clutter_stage_manager_remove_stage): Unref the stage when it is
3713         removed from the list.
3714         (clutter_stage_manager_dispose): Keep track of the 'next' pointer
3715         as a separate variable so we can cope when the stage being
3716         destroyed removes itself from the list as the list is being
3717         iterated.
3718
3719         * clutter/clutter-actor.c (clutter_actor_destroy): Take a
3720         reference at the beginning of the function even if there is no
3721         parent container so that overall the reference count is not
3722         changed when the actor is unref'd again at the bottom of the
3723         function. Previously it would have a net effect of leaving the
3724         reference count alone unless it is a top level actor in which case
3725         it would unref it.
3726
3727 2008-06-03  Matthew Allum  <mallum@openedhand.com>
3728
3729         * clutter/glx/clutter-glx-texture-pixmap.c:
3730         Dont always fallback to x11 (slow) updates for a single
3731         failed pixmap.
3732         Minor cleanups.
3733         * clutter/x11/clutter-x11-texture-pixmap.c:
3734         Move shm allocation to only area updates.
3735
3736 2008-06-03  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
3737
3738         * clutter/clutter-container.c: (container_get_child_property):
3739         s/g_object_set_property/g_object_get_property/
3740
3741 2008-06-02  Neil Roberts  <neil@o-hand.com>
3742
3743         * clutter/pango/pangoclutter-glyph-cache.c
3744         (pango_clutter_glyph_cache_set): When creating a new band, make
3745         sure the texture is wide enough for the glyph, not just tall
3746         enough.
3747
3748 2008-06-02  Neil Roberts  <neil@o-hand.com>
3749
3750         Applied 'final patch' from bug #874
3751
3752         * clutter/cogl/gles/cogl.c:
3753         * clutter/cogl/gl/cogl.c: The clip planes are now set using the
3754         inverse projection matrix as the modelview matrix so that they can
3755         be specified in screen coordinates.
3756
3757         * clutter/cogl/gles/cogl-context.h (CoglContext):
3758         * clutter/cogl/gl/cogl-context.h (CoglContext): Added a member to
3759         cache the inverse projection matrix
3760
3761         * clutter/clutter-fixed.h: Added a constant for converting from
3762         radians to degrees.
3763
3764         * clutter/clutter-fixed.c (clutter_atani, clutter_atan2i): Added
3765         fixed-point versions of atan and atan2.
3766
3767         * tests/test-clip.c: Added a test for clipping with various
3768         rotations and depths.
3769
3770         * tests/Makefile.am (noinst_PROGRAMS): Added test-clip
3771
3772 2008-06-02  Neil Roberts  <neil@o-hand.com>
3773
3774         * clutter/cogl/gles/cogl-gles2-wrapper.h: The uniform numbers are
3775         now stored in a separate struct so they can be stored for
3776         application program objects as well.
3777
3778         * clutter/cogl/gles/cogl.c: Moved stub shader functions into
3779         separate files.
3780         (_cogl_features_init): Report support for the shaders feature on
3781         GLES 2
3782
3783         * clutter/cogl/gles/cogl-shader.h:
3784         * clutter/cogl/gles/cogl-shader.c:
3785         * clutter/cogl/gles/cogl-program.h:
3786         * clutter/cogl/gles/cogl-program.c: Separate files to handle
3787         shaders on programs on GLES. If version 1.1 is being used then the
3788         stub functions which all fail are still used.
3789
3790         * clutter/cogl/gles/cogl-gles2-wrapper.c
3791         (cogl_gles2_wrapper_init, cogl_gles2_wrapper_bind_attributes),
3792         (cogl_gles2_wrapper_get_uniforms): Move the uniforms and attribute
3793         bindings into a separate function so they can be used to bind on
3794         application shaders as well.
3795         (cogl_gles2_wrapper_update_matrix): Now takes a parameter and is
3796         no longer static so that it can be used to update all of the
3797         matrices when a new shader is bound.
3798
3799         * clutter/cogl/gles/cogl-defines.h.in: Use GL_COMPILE_STATUS for
3800         CGL_OBJECT_COMPILE_STATUS if the latter isn't available (for
3801         example on GLES 2).
3802
3803         * clutter/cogl/gles/cogl-context.h (CoglContext): Added handle
3804         arrays for programs and shaders.
3805
3806         * clutter/cogl/gles/cogl-context.c (cogl_create_context)
3807         (cogl_destroy_context): Initialize and destroy program and shader
3808         handle array.
3809
3810         * clutter/cogl/gles/Makefile.am (libclutter_cogl_la_SOURCES): Add
3811         cogl-{shader,program}.{c,h}
3812
3813 2008-06-02  Neil Roberts  <neil@o-hand.com>
3814
3815         * clutter/cogl/gl/cogl-context.c (cogl_destroy_context): Fix
3816         cut-and-paste error where the wrong arrays were being freed.
3817
3818 2008-06-01  Emmanuele Bassi  <ebassi@openedhand.com>
3819
3820         Merge from clutter-0-6:
3821
3822         * clutter/clutter-model.c:
3823         (clutter_model_iter_set_internal_valist): Add an internal function
3824         wrapping ClutterModelIter::set_value that does not emit the
3825         ::row-changed signal. Emitting this signal before the ::row-added
3826         one is wrong: a row cannot change before being inserted.
3827
3828         (clutter_model_append), (clutter_model_prepend),
3829         (clutter_model_insert): Use the non-signal emitting variant of
3830         clutter_model_iter_set_valist().
3831
3832         (clutter_model_iter_set_valist): Use the internal version and emit
3833         the ::row-changed signal at the end.
3834
3835 2008-05-31  Emmanuele Bassi  <ebassi@openedhand.com>
3836
3837         Bug #943 - Signals are only emitted within a certain area of
3838                    the stage
3839
3840         * clutter/clutter-main.c (clutter_do_event): Use the proper
3841         API and not the macros for the default stage, in case we are
3842         using a backend supporting multiple stages. (Julian Aron Prenner)
3843
3844 2008-05-30  Emmanuele Bassi  <ebassi@openedhand.com>
3845
3846         * clutter/pango/pangoclutter-fontmap.c:
3847         * clutter/pango/pangoclutter-renderer.c:
3848         * clutter/pango/pangoclutter.h
3849         * clutter/pango/pangoclutter-private.h: Add a function retrieving
3850         the font mipmapping setting.
3851
3852 2008-05-29  Neil Roberts  <neil@o-hand.com>
3853
3854         * clutter/cogl/gles/cogl-gles2-wrapper.h (CoglGles2Wrapper): Added
3855         uniforms for alpha testing.
3856
3857         * clutter/cogl/gles/cogl-gles2-wrapper.c
3858         (cogl_gles2_wrapper_init): Get the uniforms for alpha testing
3859         settings.
3860         (cogl_wrap_glEnable, cogl_wrap_glDisable): Enable/disable alpha
3861         testing.
3862         (cogl_wrap_glAlphaFunc): Filled in the wrapper.
3863
3864         * clutter/cogl/gles/cogl-fixed-fragment-shader.glsl: Added alpha
3865         testing.
3866
3867         * clutter/cogl/gles/cogl-gles2-wrapper.h:
3868         * clutter/cogl/gles/cogl-gles2-wrapper.c
3869         (cogl_wrap_glGetIntegerv): Added a wrapper for glGetIntegerv so
3870         that it can report zero clip planes.
3871
3872         * clutter/cogl/gles/cogl.c:
3873         * clutter/cogl/gles/cogl-texture.c: Use the wrapped version of
3874         glGetIntegerv
3875
3876         * clutter/cogl/gles/cogl-primitives.c (_cogl_path_fill_nodes): Use
3877         _cogl_features_available to check for the stencil buffer instead
3878         of an #ifdef. The stencil buffer is available in the default
3879         profile for the GLES 2 simulator.
3880
3881 2008-05-29  Emmanuele Bassi  <ebassi@openedhand.com>
3882
3883         * configure.ac: Check the --with switches as soon as we have them,
3884         to avoid further checks that will fail anyway.
3885
3886 2008-05-29  Emmanuele Bassi  <ebassi@openedhand.com>
3887
3888         * README: Update the configure arguments list.
3889
3890 2008-05-28  Neil Roberts  <neil@o-hand.com>
3891
3892         * clutter/cogl/gles/cogl-gles2-wrapper.c
3893         (cogl_gles2_wrapper_init): Get uniforms for fog parameters and
3894         initialise them.
3895         (cogl_wrap_glDrawArrays): Store the modelview matrix in a uniform
3896         as well so that it can be used for fogging calculations.
3897         (cogl_wrap_glEnable, cogl_wrap_glDisable): Enable/disable fogging.
3898         (cogl_wrap_glFogx, cogl_wrap_glFogxv): Fill in wrapper to set
3899         fogging parameters.
3900
3901         * clutter/cogl/gles/cogl-fixed-vertex-shader.glsl: Calculate the
3902         fog amount if fogging is enabled.
3903
3904         * clutter/cogl/gles/cogl-fixed-fragment-shader.glsl: Mix with fog
3905         color.
3906
3907         * clutter/cogl/gles/cogl-gles2-wrapper.h (CoglGles2Wrapper): Add
3908         uniforms for fogging.
3909
3910 2008-05-28  Emmanuele Bassi  <ebassi@openedhand.com>
3911
3912         * clutter/pango/pangoclutter-font.c: Remove unneeded file.
3913
3914         * tests/Makefile.am:
3915         * tests/test-random-text.c: Add a test for checking the
3916         glyph cache.
3917
3918 2008-05-28  Emmanuele Bassi  <ebassi@openedhand.com>
3919
3920         Bug #919 - Replacement pango renderer (Neil Roberts)
3921
3922         * clutter/clutter-backend.h:
3923         * clutter/clutter-backend.c:
3924         (clutter_backend_set_font_options),
3925         (clutter_backend_get_font_options): Add the ability to set
3926         the cairo_font_options_t* for the backend at construction
3927         time, so that backend implementations can have their own
3928         options.
3929
3930         * clutter/clutter-color.c: Include pango/pango-attributes.h
3931         for the pango_color_parse() function.
3932
3933         * clutter/clutter-label.c:
3934         (clutter_label_ensure_layout),
3935         (clutter_label_init), (clutter_label_set_text),
3936         (clutter_label_set_font_name), (clutter_label_set_ellipsize),
3937         (clutter_label_set_use_markup): Ensure that the cache is
3938         always primed when the Label changes; this makes sure that
3939         the cache is rebuilt outside the paint run, which should
3940         make the painting perform better especially on embedded
3941         devices.
3942
3943         * clutter/clutter-entry.c:
3944         (clutter_entry_ensure_layout),
3945         (clutter_entry_init), (clutter_entry_set_text),
3946         (clutter_entry_set_font_name): Ditto as above.
3947
3948         * clutter/clutter-private.h:
3949         * clutter/clutter-main.[ch]: Create the font-map inside the
3950         main context; add two new functions:
3951
3952           clutter_clear_glyph_cache()
3953           clutter_set_use_mipmapped_text()
3954
3955         that control the glyphs cache.
3956
3957         * clutter/pango/Makefile.am:
3958         * clutter/pango/pangoclutter-fontmap.c:
3959         * clutter/pango/pangoclutter-private.h:
3960         * clutter/pango/pangoclutter-render.c:
3961         * clutter/pango/pangoclutter.h: Rewrite the Pango renderer
3962         using a PangoCairo context and saving the glyphs inside a
3963         more efficient cache.
3964
3965         * configure.ac: Depend on pangocairo instead of pangoft2.
3966
3967 2008-05-28  Emmanuele Bassi  <ebassi@openedhand.com>
3968
3969         Bug 882 - Allow child properties for containers implementing the
3970                   ClutterContainer interface (Øyvind KolÃ¥s)
3971
3972         * clutter/clutter-child-meta.[ch]: Base class for the metadata
3973         of a ClutterActor inside a ClutterContainer; the ChildMeta
3974         object implements a wrapper for storing data that is attached
3975         to a ClutterActor only when it's part of a ClutterContainer.
3976         The ChildMeta object is used to store the child properties
3977         accessible through the ClutterContainer API.
3978
3979         * clutter/clutter-container.[ch]: Creates the ChildMeta for
3980         each actor, in case the Container specifies the ChildMeta
3981         type to use.
3982
3983         * clutter/Makefile.am: Add clutter-child-meta.[ch] to the build.
3984
3985         * clutter/clutter-marshal.list: Add the marshaller for the
3986         ClutterContainer::child-notify signal.
3987
3988         * clutter/clutter-types.h: Declare ClutterContainer and
3989         ClutterChildMeta to avoid recursive inclusion.
3990
3991 2008-05-28  Neil Roberts  <neil@o-hand.com>
3992
3993         * clutter/cogl/gles/Makefile.am: Use old-style Makefile rules for
3994         the stringify script so that automake won't complain.
3995
3996 2008-05-28  Emmanuele Bassi  <ebassi@openedhand.com>
3997
3998         * tests/test-script.c:
3999         * tests/test-script.json: Test merging the same actor from two
4000         different sources.
4001
4002 2008-05-28  Emmanuele Bassi  <ebassi@openedhand.com>
4003
4004         Fix merging of objects with the same id.
4005
4006         * clutter/clutter-script.c:
4007         (json_object_end): If there already is an ObjectInfo under the
4008         parsed id, merge the construction with the currently stored
4009         state.
4010
4011         (parse_children), (parse_signals),
4012         (parse_behaviours): Append the newly parsed children, signals
4013         and behaviours, in case the ObjectInfo already has unresolved
4014         items.
4015
4016         (clutter_script_construct_object): Fix a typo in the type check.
4017
4018         (clutter_script_init): Do not copy the key inside the hash
4019         table holding the objects - we are already holding it inside
4020         the value.
4021
4022 2008-05-28  Neil Roberts  <neil@o-hand.com>
4023
4024         * clutter/cogl/gles/cogl-gles2-wrapper.c (cogl_wrap_glGetFixedv):
4025         Filled in the wrapper for glGetFixedv
4026
4027 2008-05-28  Neil Roberts  <neil@o-hand.com>
4028
4029         * clutter/cogl/gles/cogl-texture.c: Use the wrapper for
4030         glTexParameteri. Call glGenerateMipmap after every change to the
4031         texture image data.
4032
4033         * clutter/cogl/gles/cogl-gles2-wrapper.h:
4034         * clutter/cogl/gles/cogl-gles2-wrapper.c: Added a wrapper for
4035         glTexParameteri so that it can ignore requests to set
4036         GL_GENERATE_MIPMAP. Added a wrapper for glGenerateMipmap that does
4037         nothing on GLES 1
4038
4039 2008-05-28  Emmanuele Bassi  <ebassi@openedhand.com>
4040
4041         * clutter/clutter-script.c:
4042         (clutter_script_construct_object): Mark top-level objects,
4043         that is objects that don't have their ownership transferred
4044         when building up a ClutterScript.
4045
4046         (object_info_free): Merge a fix from the stable branch, but
4047         do not check the type - check whether the object is a top
4048         level (we still need the ClutterActor type check in order to
4049         call clutter_actor_destroy()).
4050
4051 2008-05-28  Emmanuele Bassi  <ebassi@openedhand.com>
4052
4053         * clutter/clutter-rectangle.c:
4054         (clutter_rectangle_paint): Remove commented out call to
4055         cogl_enable(); the call is not needed and the comment is
4056         in C99.
4057
4058 2008-05-27  Neil Roberts  <neil@o-hand.com>
4059
4060         * clutter/eglx/clutter-stage-egl.h:
4061         * clutter/eglx/clutter-egl-headers.h:
4062         * clutter/eglx/clutter-backend-egl.h:
4063         * clutter/eglx/Makefile.am: Include the GLES and EGL headers via
4064         clutter-egl-headers.h so that the right version can be used
4065         depending on whether the GLES 2 wrapper is being used.
4066
4067         * configure.ac: Added an automake conditional for whether the GLES
4068         2 wrapper should be used.
4069
4070         * clutter/eglx/clutter-stage-egl.c (clutter_stage_egl_realize):
4071         Remove the call to glGetIntegerv to get the max texture size. It
4072         was being called before the GL context was bound so it didn't work
4073         anyway and it was causing trouble for the GLES 2 simulator.
4074
4075         * clutter/cogl/gles/stringify.sh: Shell script to convert the
4076         shaders into a C string.
4077
4078         * clutter/cogl/gles/cogl-gles2-wrapper.h:
4079         * clutter/cogl/gles/cogl-gles2-wrapper.c: Wrappers for most of the
4080         missing GL functions in GLES 2.
4081
4082         * clutter/cogl/gles/cogl-fixed-fragment-shader.glsl:
4083         * clutter/cogl/gles/cogl-fixed-vertex-shader.glsl: New shaders for
4084         GLES 2
4085
4086         * clutter/cogl/gles/cogl-defines.h.in: Use the @CLUTTER_GL_HEADER@
4087         macro instead of always using the GLES 1 header.
4088
4089         * clutter/cogl/gles/cogl-context.h (CoglContext): Include a field
4090         for the state of the GLES 2 wrapper.
4091
4092         * clutter/cogl/gles/cogl-texture.c:
4093         * clutter/cogl/gles/cogl-primitives.c:
4094         * clutter/cogl/gles/cogl.c: Use wrapped versions of the GL
4095         functions where neccessary.
4096
4097         * clutter/cogl/gles/Makefile.am: Add sources for the GLES 2
4098         wrapper and an extra build step to put the GLSL files into a C
4099         string whenever the files change.
4100
4101 2008-05-26  Matthew Allum  <mallum@openedhand.com>
4102
4103         * clutter/x11/clutter-stage-x11.c: (clutter_stage_x11_request_coords):
4104         Dont allow the window to be resize to 0 dimentions. (fixes #933)
4105
4106 2008-05-23  Emmanuele Bassi  <ebassi@openedhand.com>
4107
4108         Bug #912 - Invalid use of int* as parameter for glGetIntegerv
4109
4110         * clutter/cogl/gl/cogl.c (_cogl_features_init): Use GLint
4111         instead of int. (#912, Tommi Komulainen)
4112
4113 2008-05-23  Emmanuele Bassi  <ebassi@openedhand.com>
4114
4115         Bug #928 - Reparenting a child that itself is a container
4116         doesn't work
4117
4118         * clutter/clutter-actor.c (clutter_actor_set_parent): Realize
4119         an actor when setting its parent, if the parent is realized.
4120
4121         * clutter/clutter-group.c:
4122         (clutter_group_realize), (clutter_group_class_init): Add the
4123         missing implementation of the ::realize() virtual function; this
4124         makes sure that the children of a Group are realized if the Group
4125         is realized. (#928)
4126
4127 2008-05-21  Neil Roberts  <neil@o-hand.com>
4128
4129         * clutter/cogl/gl/cogl.c (error_string):
4130         * clutter/cogl/gles/cogl.c (error_string): Rename to
4131         _cogl_error_string and remove the static scoping so that it can be
4132         called in cogl-texture etc.
4133
4134         * clutter/cogl/gl/cogl-texture.c (cogl_texture_new_from_foreign):
4135         * clutter/cogl/gles/cogl-texture.c (cogl_texture_new_from_foreign):
4136         GE(*) can't be used to wrap around calls that use the return
4137         value.
4138
4139         * clutter/cogl/gl/cogl-texture.c (_cogl_texture_quad_sw)
4140         (_cogl_texture_quad_hw, cogl_texture_polygon): Remove GE(*)
4141         wrapper around calls in the middle of a glBegin/glEnd pair which
4142         otherwise always generate an error because glGetError can only be
4143         called outside of the pair.
4144
4145         * clutter/cogl/gl/cogl-internal.h: Include stdio.h when definig
4146         COGL_DEBUG and declare a prototype for _cogl_error_string.
4147
4148         * clutter/cogl/gles/cogl-internal.h: Match GE(*) macro to GL
4149         version.
4150
4151 2008-05-21  Ivan Leben  <ivan@o-hand.com>
4152
4153         * clutter/cogl/gles/cogl-texture.c:
4154         (_cogl_texture_download_from_gl:) Only comment out the broken
4155         check for framebuffer alpha bits, not the check for alpha in
4156         texture format.
4157
4158 2008-05-20  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
4159
4160         Decouple actor opacity from fill opacity in ClutterRectangle (fixes
4161         race when both are set from clutter script also makes it more
4162         consistent with the behavior of other actors.)
4163
4164         * clutter/clutter-rectangle.c: (clutter_rectangle_set_color): stop
4165         setting the opacity of the actor from the specified color.
4166         (clutter_rectangle_paint): combine the absolute opacity of the actor
4167         with the alpha of the color when painting.
4168
4169 2008-05-20  Ivan Leben  <ivan@o-hand.com>
4170
4171         * clutter/cogl/gles/cogl-texture.c:
4172         (cogl_texture_download_from_gl:) Implemented a workaround
4173         for missing alpha framebuffer channel. There are still
4174         some issues with detecting whether alpha is present in the
4175         framebuffer. See comments in code. Test-cogl-tex-getset now
4176         successfully retrieves a RGBA texture image data.
4177
4178 2008-05-19  Ivan Leben  <ivan@o-hand.com>
4179
4180         * clutter/cogl/gles/cogl-texture.c:
4181         (cogl_texture_download_from_gl:) Store old blending factors
4182         and restore them when done. The lack of ability to retrieve
4183         the alpha channel now more noticable in test-cogl-tex-getset
4184         since the edges of the hand are not antialiased.
4185
4186         * clutter/cogl/gl(es)/cogl-internal.h: Declare
4187         cogl_blend_func to avoid "implicit implementation" compile
4188         warning.
4189
4190 2008-05-19  Ivan Leben  <ivan@o-hand.com>
4191
4192         * clutter/cogl/gl(es)/cogl.c: New internal function
4193         cogl_blend_func caches blending setup much like cogl_enable
4194         does with the enable flags. This separates blending factors
4195         setup from the enable/disable operation in preparation of
4196         the texture image retrieval fix for alpha channel on GLES.
4197         (cogl_enable:) Does not modify blending factors anymore.
4198
4199         * clutter/cogl/gl(es)/cogl-context.h: CoglContext holds two
4200         new variables to cache blending src and dst factors.
4201
4202         * clutter/cogl/gl(es)/cogl-context.c:
4203         (cogl_create_context:) Initialize blending factors.
4204
4205         * clutter/cogl/gles/cogl-texture.c:
4206         (cogl_texture_download_from_gl:) Set blending factors to
4207         CGL_ONE, CGL_ZERO which fixes the slighlty improper behavior
4208         where source colour was actually multiplied with its alpha
4209         value in the result (not noticable on current tests).
4210
4211 2008-05-19  Emmanuele Bassi  <ebassi@openedhand.com>
4212
4213         * clutter/eglx/Makefile.am: Fix the INCLUDE directives to
4214         properly include the X11 backend headers.
4215
4216         * clutter/glx/Makefile.am: Add the libclutter-x11.la static
4217         library to the LDADD directives.
4218
4219 2008-05-19  Tomas Frydrych  <tf@openedhand.com>
4220
4221         * clutter/x11/clutter-x11.h:
4222         * clutter/glx/clutter-glx.h:
4223         Include texture pixmap headers.
4224
4225 2008-05-16  Neil Roberts  <neil@o-hand.com>
4226
4227         * clutter/eglx/clutter-stage-egl.c (clutter_stage_egl_realize):
4228         Fix name of parent class variable which otherwise breaks the
4229         build.
4230
4231 2008-05-16  Neil Roberts  <neil@o-hand.com>
4232
4233         Use the Mesa headers instead of depending on GLee for Win32
4234         builds.
4235
4236         * configure.ac: No longer check for GLee
4237
4238         * clutter/cogl/gl/cogl-defines.h.in: Don't bother including GLee.h
4239
4240         * build/mingw/mingw-cross-compile.sh: No longer downloads libGLee
4241         but downloads the Mesa library instead and installs the headers
4242         from that. Fixed the libpng version.
4243
4244 2008-05-16  Tomas Frydrych  <tf@openedhand.com>
4245
4246         * clutter/glx/Makefile.am:
4247         * clutter/x11/Makefile.am:
4248         Install glx and x11 specific includes into clutter/glx and
4249         clutter/x11 so that header files that include glx/*.h or x11/*.h
4250         when installed.
4251
4252 2008-05-16  Neil Roberts  <neil@o-hand.com>
4253
4254         * clutter/win32/clutter-event-win32.c (message_translate): Fix
4255         signedness of old_xpos and old_ypos to get rid of compiler
4256         warnings.
4257
4258         * clutter/win32/clutter-backend-win32.c
4259         (clutter_backend_win32_get_features): Cast the result of
4260         glGetString to a signed char pointer to avoid compiler warnings.
4261
4262 2008-05-15  Neil Roberts  <neil@o-hand.com>
4263
4264         * clutter/win32/clutter-stage-win32.c:
4265         * clutter/win32/clutter-backend-win32.c: Reflect changes to the
4266         GLX/X11 backend in revisions 2708-2709 and 2713-2715 which
4267         simplify the backend a little.
4268
4269 2008-05-15  Emmanuele Bassi  <ebassi@openedhand.com>
4270
4271         * clutter/x11/clutter-backend-x11.c:
4272         * clutter/clutter-event.h:
4273         * clutter/clutter-feature.h:
4274         * clutter/clutter-fixed.c:
4275         * clutter/clutter-model.h: Fix documentation.
4276
4277         * clutter/eglnative/clutter-backend-egl.[ch]:
4278         * clutter/eglnative/clutter-event-egl.c: Add the same solution
4279         used for the SDL backend in order to get the time of an event.
4280         This should fix the motion event throttling and the click count
4281         on button press. (#906)
4282
4283         * tests/test-pixmap.c (create_pixmap), (main): Fix preprocessor
4284         directives.
4285
4286 2008-05-14  Emmanuele Bassi  <ebassi@openedhand.com>
4287
4288         * tests/test-threads.c: Add a "progress bar" actor and
4289         make the test take less amount of time to complete.
4290
4291 2008-05-14  Emmanuele Bassi  <ebassi@openedhand.com>
4292
4293         * tests/test-events.c: Clean up a bit, and print out more
4294         messages when pressing one of the rectangles.
4295
4296         * tests/test-threads.c: Be more verbose in the console, and
4297         apply another behaviour on the rectangle, to show that we
4298         are not blocking.
4299
4300 2008-05-14  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
4301
4302         * clutter/cogl/gles/cogl.c: (_cogl_features_init): do not set
4303         COGL_FEATURE_TEXTURE_READ_PIXELS, since it is not available.
4304
4305 2008-05-14  Matthew Allum  <mallum@openedhand.com>
4306
4307         * clutter/clutter-actor.c:
4308         * clutter/clutter-main.c:
4309         * clutter/clutter-private.h:
4310         Rejid Ã˜yvind's previous commit a little moving more into
4311         clutter-main.c and using ClutterContext.
4312         Also Refactor clutter_init & clutter_init_with_args to share
4313         same core init code.
4314
4315 2008-05-13  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
4316
4317         Made it possible to do picking when the colors stored in the
4318         framebuffer are only approximately the correct value.
4319
4320         * clutter/clutter-actor.c:
4321         (init_bits): initialize constants about how many bits are
4322         available/will be used for r,g,b components.
4323         (_clutter_pix_to_id): now own function, compute an id from a
4324         pixel into its own function (used from _clutter_do_pick).
4325         (_clutter_id_to_col): now own function, computes the color to use for
4326         a given id.
4327         (clutter_actor_paint): use clutter_id_to_col.
4328         * clutter/clutter-main.c:
4329         (_clutter_do_pick): use _clutter_pix_to_id
4330         (clutter_main): re-enable invocation of fruity app shell.
4331
4332 2008-05-13  Emmanuele Bassi  <ebassi@openedhand.com>
4333
4334         * clutter/fruity/clutter-stage-fruity.c:
4335         (clutter_stage_egl_show), (clutter_stage_egl_hide): Don't chain
4336         up and set flags, as it is not needed anymore.
4337
4338         (clutter_stage_egl_realize): Set the REALIZED flag.
4339
4340         * clutter/eglnative/clutter-stage-egl.c:
4341         (clutter_stage_egl_show), (clutter_stage_egl_hide): Don't chain
4342         up and set flags, as it is not needed anymore.
4343
4344 2008-05-13  Emmanuele Bassi  <ebassi@openedhand.com>
4345
4346         * clutter/glx/clutter-stage-glx.c:
4347         (clutter_stage_glx_unrealize): Move the shaders release from here...
4348
4349         * clutter/glx/clutter-backend-glx.c:
4350         (clutter_backend_glx_dispose): ... to here. Shaders should be
4351         released when the GL context is being destroyed, and that only
4352         happens when the backend is being disposed, now that we support
4353         multiple stages.
4354
4355 2008-05-13  Emmanuele Bassi  <ebassi@openedhand.com>
4356
4357         * clutter/clutter-backend.c:
4358         (_clutter_backend_create_stage): Call _clutter_stage_set_window()
4359         ourselves, thus removing yet another action that backends must
4360         implement and might get wrong; also cuts a backend-agnostic piece
4361         of code duplication.
4362
4363         * clutter/eglnative/clutter-backend-egl.c:
4364         (clutter_backend_egl_create_stage): Update the EGL native backend.
4365
4366         * clutter/eglx/clutter-backend-egl.c:
4367         (clutter_backend_egl_create_stage): Update the EGLX backend.
4368
4369         * clutter/fruity/clutter-backend-fruity.c:
4370         (clutter_backend_egl_create_stage): Update the fruity backend
4371
4372         * clutter/glx/clutter-backend-glx.c:
4373         (clutter_backend_glx_create_stage): Update the GLX backend.
4374
4375         * clutter/sdl/clutter-backend-sdl.c:
4376         (clutter_backend_sdl_create_stage): Update the SDL backend.
4377
4378         * HACKING.backends: Update the ::create_stage() description.
4379
4380 2008-05-13  Emmanuele Bassi  <ebassi@openedhand.com>
4381
4382         * clutter/x11/clutter-event-x11.c (event_translate): Remove the
4383         cheap Expose event compression, as it seems to play games when a
4384         composite manager is running. It's also not really needed, as
4385         the redraw queue will avoid redraws too close to each other
4386         anyway.
4387
4388         * clutter/x11/clutter-stage-x11.c:
4389         (clutter_stage_x11_show), (clutter_stage_x11_hide): Do not chain
4390         up just to set the flags. This fixes a critical warning coming
4391         from ClutterActor::hide() default implementation.
4392
4393 2008-05-13  Ivan Leben  <ivan.leben@o-hand.com>
4394
4395         * clutter/cogl/gl/cogl-defines.h.in:
4396         Fix GL function prototypes on OS X by #definining APIENTRY and
4397         APIENTRYP if missing.
4398
4399 2008-05-12  Ivan Leben  <ivan.leben@o-hand.com>
4400
4401         * clutter/cogl/gl/cogl-defines.h.in:
4402         Defined GL extension functions used by Cogl inside the COGL_
4403         namespace.
4404
4405         * clutter/cogl/gl/cogl-context.h:
4406         * clutter/cogl/gl/cogl.c:
4407         Use COGL_ extension function prototypes instead of relying
4408         on glext.h to define them. Should fix the mac compilability
4409         bug, but haven't tested it yet.
4410
4411 2008-05-12  Matthew Allum  <mallum@openedhand.com>
4412
4413         * clutter/x11/clutter-x11-texture-pixmap.c:
4414         * configure.ac:
4415         * tests/Makefile.am:
4416         Remove the XComposite dep from Clutter itself, just use
4417         in test-pixmap (if available)
4418
4419 2008-05-12  Emmanuele Bassi  <ebassi@openedhand.com>
4420
4421         Rework the stage wrapper/implementation relation: remove
4422         duplicated code and all the bookkeeping from the backends into
4423         ClutterStage whenever possible, to reduce the amount of work a
4424         backend must do (and possibly get wrong). Thanks to Tommi
4425         Komulainen.
4426
4427         * clutter/clutter-main.c:
4428         (clutter_init_with_args), (clutter_init): Realize the default
4429         stage after creation. The default stage is special, because we
4430         use it in the initialization sequence. This removes the burden
4431         from the backends and reduces the things a backend can get
4432         wrong.
4433
4434         * clutter/clutter-stage.c:
4435         (clutter_stage_show): Make sure to realize the implementation if
4436         it hasn't been realized yet.
4437
4438         (clutter_stage_realize): Set the REALIZED flag and call
4439         clutter_stage_ensure_current() if the implementation was
4440         successfully realized.
4441
4442         (clutter_stage_unrealized): Call clutter_stage_ensure_current()
4443         on unrealize.
4444
4445         * clutter/glx/clutter-backend-glx.c:
4446         (clutter_backend_glx_create_stage): Do not realize the stage anymore
4447         when creating it, and let the normal realization sequence take
4448         place.
4449
4450         (clutter_backend_glx_ensure_context): Trap for X11 errors.
4451
4452         * clutter/glx/clutter-stage-glx.c:
4453         (clutter_stage_glx_realize): Chain up to the X11 implementation
4454         so that we can set up the window state (title, cursor visibility)
4455         when we actually have a X window. Also, do not call
4456         clutter_stage_ensure_current(), and rely on the wrapper to do
4457         it for us. This means we can drop setting the REALIZED flag on
4458         the wrapper.
4459
4460         (clutter_stage_glx_unrealize): Do not call
4461         clutter_stage_ensure_current() ourselves, and rely on the wrapper
4462         to do it for us.
4463
4464         * clutter/x11/clutter-stage-x11.c:
4465         (set_wm_title), (set_cursor_visible): Move the WM title and
4466         cursor visibility code inside their own functions.
4467
4468         (clutter_stage_x11_realize): Set the window title and whether the
4469         cursor is visible or not after realizing the stage.
4470
4471         (clutter_stage_x11_set_cursor_visible),
4472         (clutter_stage_x11_set_title): Call set_wm_title() and
4473         set_cursor_visible().
4474
4475         (clutter_stage_x11_finalize): Free the title string.
4476
4477         * clutter/x11/clutter-stage-x11.h: Save more of the stage state,
4478         so that we can set it even when the stage hasn't been realized
4479         yet.
4480
4481         * clutter/eglnative/clutter-backend-egl.c:
4482         (clutter_backend_egl_create_stage):
4483         * clutter/eglnative/clutter-stage-egl.c:
4484         (clutter_stage_egl_unrealize),
4485         (clutter_stage_egl_realize): Update the eglnative backend.
4486
4487         * clutter/eglx/clutter-backend-egl.c:
4488         (clutter_backend_egl_ensure_context),
4489         (clutter_backend_egl_create_stage):
4490         * clutter/eglx/clutter-stage-egl.c:
4491         (clutter_stage_egl_unrealize),
4492         (clutter_stage_egl_realize): Update the eglx backend.
4493
4494         * clutter/sdl/clutter-backend-sdl.c:
4495         (clutter_backend_sdl_create_stage):
4496         * clutter/sdl/clutter-stage-sdl.c:
4497         (clutter_stage_sdl_realize): Update the sdl backend.
4498
4499         * clutter/fruity/clutter-backend-fruity.c:
4500         (clutter_backend_fruity_create_stage):
4501         * clutter/sdl/clutter-stage-fruity.c:
4502         (clutter_stage_fruity_realize): Update the fruity backend.
4503
4504         * tests/test-multistage.c (on_button_press): Bail out if
4505         clutter_stage_new() returns NULL.
4506
4507         * HACKING.backends: Update backend writing documentation.
4508
4509 2008-05-12  Robert Bragg  <bob@openedhand.com>
4510
4511         * clutter/clutter-timeline.c:
4512         Adds clutter-timeline documentation RE: r2337, explaining
4513         the current timeline semantics.
4514
4515 2008-05-12  Emmanuele Bassi  <ebassi@openedhand.com>
4516
4517         * HACKING.backends: Update documentation.
4518
4519         * clutter/glx/clutter-stage-glx.c:
4520         (clutter_stage_glx_realize): Avoid setting more flags than
4521         necessary.
4522
4523 2008-05-09  Neil Roberts  <neil@o-hand.com>
4524
4525         * clutter/clutter-frame-source.c (clutter_frame_source_add)
4526         (clutter_frame_source_add_full): Add gtk-doc and rename the
4527         'function' parameter to 'func'.
4528
4529         * clutter/clutter-frame-source.h: Rename the 'function' parameters
4530         to 'func'.
4531
4532         * clutter/Makefile.am (source_h): Make clutter-frame-source.h a
4533         public header.
4534
4535         * clutter/clutter-main.c (clutter_threads_add_frame_source_full):
4536         Improve gtk-doc
4537
4538 2008-05-09  Emmanuele Bassi  <ebassi@openedhand.com>
4539
4540         * clutter/clutter-script-private.h: Add a flag for the
4541         default stage.
4542
4543         * clutter/clutter-script.c:
4544         (json_object_end): If the "type" member is "ClutterStage"
4545         and we have a "is-default" member set to true then this
4546         is the default stage.
4547
4548         (clutter_script_construct_object): Special case the default
4549         stage instead of each ClutterStage.
4550
4551         (object_info_free): Ditto as above.
4552
4553         * tests/test-script.json: Test the creation of a non-default
4554         stage and the ::destroy handler to quit.
4555
4556 2008-05-09  Emmanuele Bassi  <ebassi@openedhand.com>
4557
4558         Bug #908 - Support transform from G_TYPE_INT to ClutterUnit
4559
4560         * clutter/clutter-units.c:
4561         (clutter_value_transform_int_unit),
4562         (clutter_unit_get_type): Add GValue transformation function from
4563         integer values to ClutterUnit. (#908)
4564
4565         (param_unit_validate): Fix validation for ClutterParamSpecUnit;
4566         this allows writable ClutterUnit properties.
4567
4568         * clutter/clutter-fixed.c:
4569         (clutter_value_transform_int_fixed),
4570         (clutter_value_transform_double_fixed),
4571         (clutter_value_transform_float_fixed): Add GValue transformation
4572         functions from native types (int, double, float) to ClutterFixed.
4573
4574         (clutter_fixed_get_type): Register the new transformation functions.
4575
4576         (param_fixed_validate): Fix validation for ClutterParamSpecUnit;
4577         this allows writable ClutterFixed properties.
4578
4579 2008-05-07  Ivan Leben  <ivan@o-hand.com>
4580
4581         * clutter/cogl/cogl.h.in:
4582         * clutter/cogl/gl(es)/cogl-texture.h:
4583         * clutter/cogl/gl(es)/cogl-texture.c:
4584         cogl_texture_new_* functions take a gboolean auto_mipmap argument.
4585         If TRUE automatic mipmap generation is enabled during the process
4586         of slice texture object creation.
4587         (cogl_texture_new_from_foreign:) now allows mipmap min filter
4588         flags.
4589
4590         * clutter/clutter-texture.c:
4591         * clutter/glx/clutter-glx-texture-pixmap.c:
4592         * tests/test-cogl-offscreen.c:
4593         * tests/test-cogl-tex-tile.c:
4594         * tests/test-cogl-tex-convert.c:
4595         * tests/test-cogl-tex-polygon.c:
4596         * tests/test-cogl-tex-getset.c:
4597         Pass FALSE for auto_mipmap to cogl_texture_new_*.
4598
4599         * clutter/pango/pangoclutter-render.c:
4600         (tc_get:) Pass TRUE to cogl_texture_new_with_size and use mipmap
4601         min filter for nicer glyphs at small scales. As a result test-text
4602         has gone all beautiful now.
4603
4604 2008-05-07  Neil Roberts  <neil@o-hand.com>
4605
4606         * clutter/clutter-frame-source.h: Added the missing G_BEGIN_DECLS
4607         and G_END_DECLS
4608
4609 2008-05-07  Emmanuele Bassi  <ebassi@openedhand.com>
4610
4611         * clutter/sdl/clutter-backend-sdl.c:
4612         (clutter_backend_sdl_dispose): Destroy the timer that we created...
4613         (clutter_backend_sdl_init): ... here.
4614
4615         * clutter/sdl/clutter-backend-sdl.h: Add a GTimer for time-based
4616         operations, like the event time.
4617
4618         * clutter/sdl/clutter-event-sdl.c:
4619         (get_backend_time): Get the elapsed milliseconds for the SDL
4620         backend.
4621
4622         (_clutter_events_init): Start the timer provided by the backend...
4623         (_clutter_events_uninit): ... and the stop it.
4624
4625         (key_event_translate), (event_translate): Use the backend time
4626         to fill out the time field of the event structures. This fixes
4627         the motion notification throttling on the SDL backend.
4628
4629 2008-05-06  Matthew Allum  <mallum@openedhand.com>
4630
4631         * clutter/glx/clutter-glx-texture-pixmap.c:
4632         * clutter/x11/clutter-x11-texture-pixmap.c:
4633         More cleanups, safety additions.
4634
4635 2008-05-05  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
4636
4637         * clutter/cogl/gl/cogl-primitives.c:
4638         * clutter/cogl/gles/cogl-primitives.c:
4639         * clutter/cogl/common/cogl-primitives.c: moved declaration of
4640         gegl_rectangle and gegl_rectanglex here to satisfy linking
4641         requirements when building the fruity backend.
4642
4643 2008-05-05  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
4644
4645         * clutter/cogl/cogl.h.in: api review touch ups.
4646         * clutter/cogl/common/cogl-primitives.c: api review touch ups.
4647         * clutter/cogl/gl/cogl-primitives.c: (cogl_path_fill),
4648         (cogl_path_stroke): indentation.
4649         * clutter/cogl/gles/cogl-primitives.c:
4650         (_cogl_path_fill_nodes): free allocated resources.
4651
4652         * tests/test-cogl-primitives.c: updated to new API, added rotation to
4653         test to show that cogl renders paths correct under perspective
4654         distortion.
4655
4656 2008-05-02  Emmanuele Bassi  <ebassi@openedhand.com>
4657
4658         Bug #900 - clutter_actor_lower() and friends do not queue redraw
4659
4660         * clutter/clutter-actor.c:
4661         (clutter_actor_raise),
4662         (clutter_actor_lower): Queue a redraw after raising and lowering
4663         and actor in the paint order stack. (#900)
4664
4665 2008-05-01  Richard Purdie  <rpurdie@openedhand.com>
4666
4667         * configure.ac:
4668         Set CLUTTER_COGL for fruity.
4669
4670 2008-05-01  Emmanuele Bassi  <ebassi@openedhand.com>
4671
4672         Build fixes for the SDL flavour.
4673
4674         * clutter/sdl/clutter-backend-sdl.c: Remove an unused function.
4675
4676         * clutter/sdl/clutter-event-sdl.c:
4677         (clutter_event_dispatch): Properly cast the stage pointer.
4678
4679         * clutter/sdl/clutter-stage-sdl.c:
4680         (clutter_stage_window_iface_init): Remove the draw_to_pixbuf()
4681         stub and assignment.
4682
4683 2008-05-01  Richard Purdie  <rpurdie@openedhand.com>
4684
4685         * configure.ac:
4686         Fix up fruity flavour configure option.
4687
4688 2008-05-01  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
4689
4690         * clutter/cogl/gles/cogl-primitives.c: (_cogl_path_fill_nodes): draw
4691         the rasterized scanlines as an array of triangles.
4692
4693 2008-05-01  Emmanuele Bassi  <ebassi@openedhand.com>
4694
4695         * clutter/clutter-behaviour.c:
4696         (clutter_behaviour_remove_all): Disconnect the ::destroy
4697         handler when removing all actors, to match the behaviour
4698         of clutter_behaviour_remove().
4699
4700 2008-05-01  Matthew Allum  <mallum@openedhand.com>
4701
4702         * clutter/glx/clutter-glx-texture-pixmap.c:
4703         * tests/test-pixmap.c:
4704         Fix up texture-pixmap, now works.
4705         Thanks to Neil for spotting we were actually using
4706         wrong texture type in fbconfig (COGL change).
4707
4708 2008-04-30  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
4709
4710         * clutter/cogl/gles/cogl-primitives.c: (_cogl_path_fill_nodes):
4711         keep track of direction we are drawing in and make sure we leave
4712         two intersection points when we have changed direction.
4713
4714 2008-04-30  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
4715
4716         * clutter/cogl/gles/cogl-primitives.c: (_cogl_path_fill_nodes):
4717         scanline rasterizer fallback for GLES without working stencil
4718         buffer (would benefit from optimization/smarter choice of
4719         datastructures).
4720
4721 2008-04-30  Emmanuele Bassi  <ebassi@openedhand.com>
4722
4723         * clutter/clutter-effect.c:
4724         (clutter_effect_closure_destroy): Do not remove the actor
4725         from the behaviour; the behaviour is an internal detail of the
4726         effect, and it will remove the actors anyway when finalized
4727         when g_object_unref() is called. This should guard against
4728         actors being destroyed while an effect is running.
4729
4730 2008-04-30  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
4731
4732         * clutter/cogl/common/Makefile.am:
4733         * clutter/cogl/common/cogl-primitives.c:
4734         * clutter/cogl/common/cogl-primitives.h:
4735         * clutter/cogl/gl/Makefile.am:
4736         * clutter/cogl/gl/cogl-primitives.c:
4737         * clutter/cogl/gl/cogl-primitives.h:
4738         * clutter/cogl/gles/Makefile.am:
4739         * clutter/cogl/gles/cogl-primitives.c:
4740         * clutter/cogl/gles/cogl-primitives.h: moved duplicated code to the
4741         common directory.
4742
4743 2008-04-30  Robert Bragg  <bob@openedhand.com>
4744
4745         * clutter/clutter/x11/clutter-x11-texture-pixmap.c:
4746         In _update_area_real with depth=16 we weren't setting up the alpha
4747         channel.
4748
4749 2008-04-29  Matthew Allum  <mallum@openedhand.com>
4750
4751         * clutter/glx/Makefile.am:
4752         * clutter/x11/Makefile.am:
4753         Revert header install locations (Mistake in previous commit,
4754         fixes #898)
4755
4756 2008-04-29  Neil Roberts  <neil@o-hand.com>
4757
4758         * clutter/clutter-actor.c (clutter_actor_move_anchor_point): The
4759         actor position was being moved in the wrong direction. Perhaps
4760         this was a cut-and-paste bug from move_anchor_point_from_gravity
4761         because in that function ax and ay represent the old anchor
4762         position, but in this function they represent the new.
4763
4764 2008-04-29  Matthew Allum  <mallum@openedhand.com>
4765
4766         * clutter/glx/Makefile.am:
4767         * clutter/glx/clutter-glx-texture-pixmap.c:
4768         * clutter/glx/clutter-glx-texture-pixmap.h:
4769         * clutter/x11/Makefile.am:
4770         * clutter/x11/clutter-x11-texture-pixmap.c:
4771         * tests/test-pixmap.c:
4772         Commit newer x11 texture pixmap stuff (optionally using SHM).
4773         Also seemingly still broken overhauled glx-texture-pixmap
4774         (code by Robert and myself)
4775
4776         * configure.ac:
4777         Minor formatting change.
4778
4779 2008-04-29  Neil Roberts  <neil@o-hand.com>
4780
4781         Removed COGLhandle and changed shader and program functions to be
4782         wrapped in reference-counted CoglHandles instead.
4783
4784         * clutter/cogl/gl/cogl-shader.c:
4785         * clutter/cogl/gl/cogl-shader.h:
4786         * clutter/cogl/gl/cogl-program.c:
4787         * clutter/cogl/gl/cogl-program.h:
4788         New files to hold the shader and program functions.
4789
4790         * clutter/cogl/gl/cogl.c: Removed shader and program functions.
4791
4792         * clutter/cogl/common/cogl-handle.h: New header to define
4793         COGL_HANDLE_DEFINE which helps build functions to create
4794         reference-counted handles. This reduces the amount of duplicated
4795         code.
4796
4797         * clutter/cogl/gl/cogl-texture.c:
4798         * clutter/cogl/gles/cogl-texture.c:
4799         * clutter/cogl/gl/cogl-fbo.c: Converted to use COGL_HANDLE_DEFINE
4800         from cogl-handle.h to avoid duplicating some of the common code.
4801
4802         * clutter/cogl/gles/cogl-defines.h.in:
4803         * clutter/cogl/gl/cogl-defines.h.in: Removed COGLhandle
4804
4805         * clutter/cogl/gl/cogl-context.h: Added handle arrays for programs
4806         and shaders.
4807
4808         * clutter/cogl/gl/cogl-context.c (cogl_create_context): Added
4809         initialisers for shader_handles and program_handles.
4810         (cogl_destroy_context): Added calls to g_array_free for all handle
4811         arrays.
4812
4813         * clutter/cogl/gl/Makefile.am (libclutter_cogl_la_SOURCES): Added
4814         cogl-{program,shader}.{c,h}
4815
4816         * clutter/cogl/common/Makefile.am
4817         (libclutter_cogl_common_la_SOURCES): Added cogl-handle.h
4818
4819         * clutter/cogl/gles/cogl.c:
4820         * clutter/cogl/cogl.h.in: Programs and shaders are now wrapped in
4821         CoglHandles instead of COGLhandles. cogl_program_destroy and
4822         cogl_shader_destroy is now replaced with cogl_program_unref and
4823         cogl_shader_unref. cogl_program_ref and cogl_shader_ref are also
4824         added.
4825
4826         * clutter/clutter-shader.c: Converted to use CoglHandles for the
4827         programs and shaders instead of COGLhandles.
4828
4829 2008-04-29  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
4830
4831         * clutter/cogl/cogl.h.in: renaming of API's in cogl to make the
4832         primitives and path API a bit smaller and more resembling cairo.
4833         * clutter/cogl/gl/cogl-primitives.c:
4834         * clutter/cogl/gles/cogl-primitives.c:
4835         * clutter/cogl/gles/cogl.c:
4836
4837         * clutter/clutter-actor.c:
4838         * clutter/clutter-rectangle.c:
4839         * tests/test-cogl-offscreen.c:
4840         * tests/test-cogl-primitives.c:
4841         * tests/test-cogl-tex-convert.c:
4842         * tests/test-cogl-tex-foreign.c:
4843         * tests/test-cogl-tex-getset.c:
4844         * tests/test-cogl-tex-tile.c: updated according to changes in cogl.
4845
4846 2008-04-29  Robert Bragg  <bob@o-hand.com>
4847
4848         * clutter/x11/clutter-x11-texture-pixmap.c:
4849         In clutter_x11_texture_pixmap_set_pixmap, dont assume that the actor
4850         size should be changed to match the size of the pixmap.
4851
4852 2008-04-29  Robert Bragg  <bob@o-hand.com>
4853
4854         * clutter/cogl/gles/cogl-texture.c:
4855         Replaces an malloc call with g_malloc.
4856
4857 2008-04-29  Robert Bragg  <bob@o-hand.com>
4858
4859         * clutter/configure.ac:
4860         When looking for a GLES 1 library, also try the name "GLESv1_CM".
4861
4862         This also reduces the xfixes version requirement to v3, since we dont
4863         need support for Show/HideCursor.
4864
4865 2008-04-28  Neil Roberts  <neil@o-hand.com>
4866
4867         Fixed 'make dist'
4868
4869         * clutter/cogl/Makefile.am (EXTRA_DIST): Distribute cogl.h.in
4870         instead of cogl.h
4871         (DIST_SUBDIRS): Added common folder
4872
4873         * clutter/cogl/gl/Makefile.am (libclutter_cogl_la_SOURCES): Remove
4874         cogl-defines.h and use the right location for cogl-defines.gl.h
4875         (EXTRA_DIST): Distribute cogl-defines.h.in
4876
4877         * clutter/cogl/gles/Makefile.am (libclutter_cogl_la_SOURCES):
4878         Remove cogl-defines.h and use the right location for
4879         cogl-defines.gles.h
4880         (EXTRA_DIST): Distribute cogl-defines.h.in
4881
4882         * clutter/Makefile.am (DIST_SUBDIRS): Add fruity
4883
4884 2008-04-28  Neil Roberts  <neil@o-hand.com>
4885
4886         * clutter/cogl/cogl.h.in (COGL_A_BIT): Added the missing comma
4887         after COGL_PIXEL_FORMAT_G_8
4888
4889 2008-04-28  Emmanuele Bassi  <ebassi@openedhand.com>
4890
4891         * autogen.sh: Do not just touch the gtk-doc.make file, if we
4892         could not find gtkdocize, but echo an empty EXTRA_DIST into it
4893         so that the automake won't complain later on.
4894
4895 2008-04-28  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
4896
4897         * clutter/cogl/cogl.h.in: reindented.
4898
4899 2008-04-28  Emmanuele Bassi  <ebassi@openedhand.com>
4900
4901         * clutter/clutter-actor.c:
4902         (parse_rotation_array),
4903         (clutter_actor_set_custom_property): Use the internal, unit based
4904         rotation setter when parsing the rotation from a ClutterScript
4905         file.
4906
4907         (clutter_geometry_copy),
4908         (clutter_vertex_copy),
4909         (clutter_actor_box_copy): Use the more efficient g_slice_dup().
4910
4911         (clutter_actor_get_stage): Add documentation.
4912
4913         * clutter/clutter-group.c: Documentation fix.
4914
4915 2008-04-28  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
4916
4917         * clutter/cogl/cogl.h.in: moved the documentation of the cogl
4918         primitives to the main public header.
4919         * clutter/cogl/gl/cogl-primitives.c: from here ..
4920         * clutter/cogl/gles/cogl-primitives.c: .. _and_ here.
4921
4922 2008-04-28  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
4923
4924         * clutter/cogl/cogl.h.in: added documentation.
4925
4926 2008-04-28  Emmanuele Bassi  <ebassi@openedhand.com>
4927
4928         * clutter/clutter-units.c (param_unit_init): Use the right
4929         macros to set the default minimum and maximum values.
4930
4931         * clutter/clutter-fixed.c (param_fixed_init): Ditto as above.
4932
4933 2008-04-28  Matthew Allum  <mallum@openedhand.com>
4934
4935         * autogen.sh:
4936         Dont display 'make' if configure fails.
4937         * configure.ac:
4938         Add new --with-gles version option for eventual GLES2 support
4939         Also minor tidyups.
4940
4941 2008-04-28  Neil Roberts  <neil@o-hand.com>
4942
4943         * tests/test-cogl-tex-polygon.c: Added buttons to toggle whether
4944         slicing and linear filtering is enabled. By default slicing is
4945         disabled to help test on GL ES.
4946
4947 2008-04-28  Neil Roberts  <neil@o-hand.com>
4948
4949         * tests/Makefile.am (INCLUDES): Added $(top_srcdir)/clutter to the
4950         include path. Otherwise the tests will fail to build trying to
4951         include "json/json-types.h" when building out-of-tree.
4952
4953 2008-04-28  Emmanuele Bassi  <ebassi@openedhand.com>
4954
4955         * clutter/eglnative/clutter-backend-egl.c:
4956         (clutter_backend_egl_redraw): Whitespace fixes.
4957
4958         * clutter/eglnative/clutter-stage-egl.c:
4959         (clutter_stage_egl_hide): Indentation fixes.
4960
4961         (clutter_stage_egl_realize): Use g_critical() to report failure,
4962         unset the flags and bail out instead of continuing the realization
4963         of the stage.
4964
4965 2008-04-25  Neil Roberts  <neil@o-hand.com>
4966
4967         Merged in the clutter-ivan branch which contained the new public
4968         COGL API.
4969
4970 2008-04-25  Emmanuele Bassi  <ebassi@openedhand.com>
4971
4972         * clutter/sdl/clutter-stage-sdl.[ch]: Port the SDL stage to
4973         the new stage implementation API.
4974
4975         * clutter/sdl/clutter-backend-sdl.[ch]: Port the SDL backend
4976         to the new backend API.
4977
4978         * clutter/sdl/clutter-event-sdl.c:
4979         (clutter_event_dispatch): Assign the default stage as the
4980         origin of the event.
4981
4982 2008-04-24  Emmanuele Bassi  <ebassi@openedhand.com>
4983
4984         * configure.ac: Add the --with-json configure switch to
4985         allow building Clutter with the external dependency on
4986         the system JSON-GLib; the default is to use the internal
4987         copy unless explicitly asked to check.
4988
4989 2008-04-24  Emmanuele Bassi  <ebassi@openedhand.com>
4990
4991         * Makefile.am: Add HACKING.backends to the EXTRA_DIST.
4992
4993 2008-04-24  Emmanuele Bassi  <ebassi@openedhand.com>
4994
4995         * HACKING.backends: Add documentation on how to write a
4996         backend for Clutter.
4997
4998 2008-04-24  Emmanuele Bassi  <ebassi@openedhand.com>
4999
5000         * clutter/eglnative/clutter-backend-egl.c:
5001         (clutter_backend_egl_create_stage): Fix checks using a
5002         non assigned member of the ClutterBackendEGL structure.
5003
5004 2008-04-23  Emmanuele Bassi  <ebassi@openedhand.com>
5005
5006         * clutter/eglnative/clutter-backend-egl.[ch]:
5007         * clutter/eglnative/clutter-stage-egl.[ch]:
5008         * clutter/eglnative/clutter-event-egl.c: Port to the new stage
5009         and backend APIs. *WARNING* untested and not compiled.
5010
5011         * clutter/eglx/clutter-backend-egl.c:
5012         (clutter_backend_egl_init): Set some defaults.
5013
5014 2008-04-23  Emmanuele Bassi  <ebassi@openedhand.com>
5015
5016         * tests/test-script.json: Remove the explicit "visible"
5017         member to test that the visibility of actors is TRUE
5018         by default.
5019
5020 2008-04-23  Emmanuele Bassi  <ebassi@openedhand.com>
5021
5022         * configure.ac:
5023         * clutter/Makefile.am: Do not build the internal JSON-GLib
5024         copy if there is a system installed one.
5025
5026         * clutter/clutter-json.h: Remove.
5027
5028         * clutter/clutter-json.h.in: Template for the clutter-json.h
5029         header file, used to opaquely include the JSON-GLib types.
5030
5031 2008-04-23  Emmanuele Bassi  <ebassi@openedhand.com>
5032
5033         * clutter/clutter-actor.c: Document :show-on-set-parent and
5034         the fact that calling clutter_actor_show() and hide() on an
5035         unparented actor will change that property as well as a side
5036         effect.
5037
5038 2008-04-23  Emmanuele Bassi  <ebassi@openedhand.com>
5039
5040         * clutter/clutter-actor.c (clutter_actor_set_property): Use the
5041         internal setter for the rotation center.
5042
5043 2008-04-23  Emmanuele Bassi  <ebassi@openedhand.com>
5044
5045         * clutter/clutter-actor.[ch]: Add units based variant of the
5046         rotation accessors.
5047
5048 2008-04-23  Emmanuele Bassi  <ebassi@openedhand.com>
5049
5050         Bug 892 - Incorrect results using rotation-[center|angle] properties
5051
5052         * clutter/clutter-actor.c:
5053         (clutter_actor_set_rotation_internal): Inline function for setting
5054         the rotation using fixed point for the angle and units for the
5055         center of rotation.
5056
5057         (clutter_actor_set_property),
5058         (clutter_actor_set_rotationx): Use the internal setter to avoid
5059         loss of precision and too many conversions to and from units.
5060
5061 2008-04-23  Emmanuele Bassi  <ebassi@openedhand.com>
5062
5063         Bug 891 - assertion failed when test-behave exits
5064
5065         * clutter/clutter-behaviour.c:
5066         (remove_actor_on_destroy),
5067         (clutter_behaviour_apply),
5068         (clutter_behaviour_remove): Remove the actor if it gets
5069         destroyed before the behaviour.
5070
5071 2008-04-18  Emmanuele Bassi  <ebassi@openedhand.com>
5072
5073         Bug #884 - Add clutter_alpha_set_closure
5074
5075         * clutter/clutter-alpha.[ch]: Add clutter_alpha_set_closure(),
5076         a GClosure variant of clutter_alpha_set_func(), and reimplement
5077         the latter as a special case of the former. (#884, Xan López)
5078
5079 2008-04-18  Neil Roberts  <neil@o-hand.com>
5080
5081         * clutter/clutter-timeline.c (clutter_timeline_get_progressx):
5082         Changed to use clutter_qdiv instead of CLUTTER_FIXED_DIV otherwise
5083         it can't cope with timelines with more than 255 frames.
5084
5085 2008-04-17  Emmanuele Bassi  <ebassi@openedhand.com>
5086
5087         * clutter/clutter-frame-source.c: Small coding style fixes.
5088
5089 2008-04-17  Neil Roberts  <neil@o-hand.com>
5090
5091         Applied patch from bug #881
5092
5093         * clutter/clutter-frame-source.h:
5094         * clutter/clutter-frame-source.c:
5095         New files that contain a replacement for g_timeout that try to
5096         cope with system delays.
5097
5098         * clutter/Makefile.am: Added clutter-frame-source.{c,h}
5099
5100         * clutter/clutter-timeline.c (timeout_add): Use a frame source
5101         instead of a g_timeout.
5102
5103         * clutter/clutter-main.c (clutter_threads_add_frame_source_full)
5104         (clutter_threads_add_frame_source): New public functions to wrap a
5105         frame source and grab the Clutter mutex.
5106
5107         * clutter/clutter-timeout-pool.c: Now calculates the timeout
5108         expiration times in the same way as a frame source does so that it
5109         counts time in frame intervals instead of setting the next
5110         expiration time as an offset from the current time.
5111
5112 2008-04-17  Emmanuele Bassi  <ebassi@openedhand.com>
5113
5114         * clutter/clutter-fixed.c:
5115         (clutter_value_transform_fixed_int),
5116         (clutter_value_transform_fixed_double),
5117         (clutter_value_transform_fixed_float),
5118         (clutter_fixed_get_type): Add GValue transformation functions
5119         for ClutterFixed; copying a CLUTTER_TYPE_FIXED GValue into
5120         a G_TYPE_FLOAT/G_TYPE_DOUBLE one will automatically transform
5121         the fixed point representation into a floating point one. Also
5122         add the G_TYPE_INT transformation function to do a plain
5123         fixed->int copy.
5124
5125         * clutter/clutter-units.c:
5126         (clutter_value_transform_unit_int),
5127         (clutter_unit_get_type): Add a unit->int transformation function.
5128
5129 2008-04-17  Emmanuele Bassi  <ebassi@openedhand.com>
5130
5131         * clutter/clutter-fixed.c (clutter_value_get_fixed): Fix typo
5132         in the function name.
5133
5134 2008-04-17  Emmanuele Bassi  <ebassi@openedhand.com>
5135
5136         * clutter/clutter-units.c (clutter_value_get_unit): Fix typo
5137         in the function name.
5138
5139 2008-04-17  Emmanuele Bassi  <ebassi@openedhand.com>
5140
5141         * HACKING: Amend coding style and tenets, as it is now possible
5142         to install and use unit based properties in a safe way.
5143
5144 2008-04-17  Emmanuele Bassi  <ebassi@openedhand.com>
5145
5146         * clutter/clutter-units.h:
5147         * clutter/clutter-fixed.h: Add boundaries for fixed point
5148         and units values.
5149
5150         * doc/reference/clutter-sections.txt: Update the documentation.
5151
5152 2008-04-17  Emmanuele Bassi  <ebassi@openedhand.com>
5153
5154         * autogen.sh: Try to continue even if we don't have gtk-doc
5155         installed; this will obviously won't work if you don't pass
5156         --disable-docs --disable-gtk-doc to autogen.sh as well.
5157
5158 2008-04-17  Emmanuele Bassi  <ebassi@openedhand.com>
5159
5160         * clutter/clutter-fixed.[ch]: Add a ClutterFixed fundamental
5161         type, and wrappers for storing it into GValues; also add a
5162         GParamSpec subclass for defining parameters holding
5163         ClutterFixed values. This allows creating GObject properties
5164         using fixed point values.
5165
5166         * doc/reference/clutter-sections.txt: Document the newly
5167         added API.
5168
5169 2008-04-17  Emmanuele Bassi  <ebassi@openedhand.com>
5170
5171         * clutter/Makefile.am: Add clutter-units.c
5172
5173         * clutter/clutter-units.[ch]: Add a ClutterUnit fundamental
5174         type, and wrappers for storing it into GValues; also add a
5175         GParamSpec subclass for defining parameters holding ClutterUnit
5176         values. This allows creating GObject properties using units.
5177
5178         * doc/reference/clutter-sections.txt: Document the newly
5179         added API.
5180
5181 2008-04-15  Matthew Allum  <mallum@openedhand.com>
5182
5183         Work related to #873;
5184
5185         * clutter/glx/clutter-backend-glx.c:
5186         * clutter/glx/clutter-backend-glx.h:
5187         * clutter/x11/clutter-x11-texture-pixmap.c:
5188         * clutter/x11/clutter-x11-texture-pixmap.h:
5189         General cleanup of texture pixmap code, adding;
5190           - Pixmap dimentions and depth now auto probed, read only props.
5191           - More X safety traps
5192           - Add support for optionally tracking damage and automatically
5193             updating texture.
5194
5195         * clutter/glx/clutter-glx-texture-pixmap.c:
5196         * clutter/glx/clutter-glx-texture-pixmap.h:
5197         General cleanup and some safety additions. Needs more work so
5198         'proper' subclass - dependent on new COGL.
5199
5200         * clutter/x11/clutter-backend-x11.c: (clutter_x11_remove_filter):
5201         Invert g_return_if check.
5202
5203         * configure.ac:
5204         Pull in XComposite and XDamage (at least for now)
5205
5206         * tests/Makefile.am:
5207         * tests/test-pixmap.c:
5208         Add a modified test from Johan for above.
5209
5210 2008-04-15  Neil Roberts  <neil@o-hand.com>
5211
5212         Added support for foreign windows to the Win32 backend.
5213
5214         * clutter/win32/clutter-stage-win32.c
5215         (clutter_stage_win32_request_coords): Don't resize foreign
5216         windows.
5217         (clutter_stage_win32_unrealize): Don't destroy foreign windows.
5218         (clutter_stage_win32_init): Added initialiser for is_foreign_win.
5219         (clutter_win32_get_stage_from_window): Resort to looking in the
5220         stage list if the window isn't the right window class so that it
5221         can still find stages with foreign windows.
5222         (clutter_win32_set_stage_foreign): New public function to set a
5223         foreign window for a stage.
5224
5225         * clutter/win32/clutter-event-win32.c
5226         (clutter_win32_disable_event_retrieval): New public function to
5227         disable event retrieval.
5228         (message_translate): Don't handle WM_SIZE or WM_MOVE for foreign
5229         windows.
5230
5231         * clutter/win32/clutter-backend-win32.h (struct
5232         _ClutterBackendWin32): Added a flag to disable event retrieval
5233
5234         * clutter/win32/clutter-backend-win32.c
5235         (clutter_backend_win32_ensure_context): Update debug note to
5236         include whether the stage is foreign or not.
5237
5238 2008-04-15  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
5239
5240         * clutter/clutter-actor.c: (clutter_actor_set_shader_param): queue a
5241         redraw when a shader_param is set. Normalized some gtk-doc syntax in
5242         some of the api documentation.
5243
5244 2008-04-15  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
5245
5246         * clutter/clutter-group.c: fixed typo in docs.
5247
5248 2008-04-14  Matthew Allum  <mallum@openedhand.com>
5249
5250         * clutter/eglx/clutter-stage-egl.c:
5251         Actually set wm protocols on eglx stage windows. Fixes issues with
5252         cloising stages and cleanup.
5253
5254 2008-04-14  Matthew Allum  <mallum@openedhand.com>
5255
5256         * clutter/cogl/gles/cogl.c: (cogl_color):
5257         Disable use of color4ub, issues with latest MBX SDL (#857)
5258
5259         * clutter/eglx/clutter-backend-egl.c:
5260         * clutter/eglx/clutter-stage-egl.c:
5261         * configure.ac:
5262         Fixup for the eglx backend to work with new backend/multistage code.
5263         Some issues remain in destroying stages.
5264
5265 2008-04-14  Neil Roberts  <neil@o-hand.com>
5266
5267         Bug #853
5268
5269         * clutter/clutter-timeline.c (clutter_timeline_get_progressx): Fix
5270         arithmetic for calculating the reverse progress when the timeline
5271         is backward. (Should subtract from one instead of taking the
5272         reciprocal).
5273
5274 2008-04-13  Neil Roberts  <neil@o-hand.com>
5275
5276         Upgraded the Win32 backend to work with the multi-stage
5277         subclassing code.
5278
5279         * clutter/win32/clutter-stage-win32.h:
5280         * clutter/win32/clutter-stage-win32.c: Now inherits from
5281         ClutterGroup and implements ClutterStageWindow instead of
5282         inheriting directly from ClutterStage.
5283
5284         * clutter/win32/clutter-event-win32.c (message_translate): Now
5285         takes an extra parameter to return whether DefWindowProc should be
5286         called. This is needed to prevent the default WM_CLOSE handler
5287         from destroying the window.
5288
5289         * clutter/win32/clutter-backend-win32.c
5290         (clutter_backend_win32_dispose): Destroy all of the stages using
5291         g_slist_foreach as per bug #871. Now also destroys the GL context.
5292         (clutter_backend_win32_get_features): Added assertions to ensure
5293         there is a valid GL context.
5294         (clutter_backend_win32_ensure_context): Accepts NULL stage. Gets
5295         implementation pointer from the stage.
5296
5297 2008-04-11  Emmanuele Bassi  <ebassi@openedhand.com>
5298
5299         * clutter/clutter-container.c:
5300         (clutter_container_get_type): Relax the precondition on the
5301         implementations of ClutterContainer from ClutterActor to
5302         GObject.
5303
5304 2008-04-11  Emmanuele Bassi  <ebassi@openedhand.com>
5305
5306         * README: Add a note about the Shader API changes.
5307
5308         * clutter/clutter-deprecated.h: Add deprecation symbols.
5309
5310         * clutter/clutter-shader.[ch]: Rename the :bound read-only
5311         property to :compiled. Also rename clutter_shader_bind()
5312         and clutter_shader_is_bound() to clutter_shader_compil() and
5313         clutter_shader_is_compiled(), respectively.
5314
5315         * clutter/glx/clutter-stage-glx.c:
5316         (clutter_stage_glx_unrealize): Update after
5317         clutter_shader_release_all() rename.
5318
5319         * tests/test-shader.c (button_release_cb), (main): Update.
5320
5321 2008-04-10  Emmanuele Bassi  <ebassi@openedhand.com>
5322
5323         * clutter/eglx/clutter-backend-egl.c:
5324         (clutter_backend_egl_ensure_context): Sync up with the GLX
5325         backend.
5326
5327         (clutter_backend_egl_create_stage): Dumb compilation fix.
5328
5329         * clutter/glx/clutter-backend-glx.c:
5330         (clutter_backend_glx_create_stage): Unref the stage if we are
5331         erroring out.
5332
5333 2008-04-10  Emmanuele Bassi  <ebassi@openedhand.com>
5334
5335         * clutter/eglx/clutter-stage-egl.c:
5336         (clutter_stage_egl_realize): Sync up with the GLX backend.
5337
5338 2008-04-09  Emmanuele Bassi  <ebassi@openedhand.com>
5339
5340         * clutter/Makefile.am: Update the regular expression to match
5341         all the namespaces we actually use. Thanks to Neil Roberts for
5342         spotting this. A make distclean is needed.
5343
5344         * clutter/cogl/gl/Makefile.am:
5345         * clutter/cogl/gles/Makefile.am:
5346         * clutter/json/Makefile.am:
5347         * clutter/pango/Makefile.am: Revert previous commit.
5348
5349 2008-04-09  Emmanuele Bassi  <ebassi@openedhand.com>
5350
5351         * clutter/cogl/Makefile.am:
5352         * clutter/cogl/gl/Makefile.am:
5353         * clutter/cogl/gles/Makefile.am:
5354         * clutter/json/Makefile.am:
5355         * clutter/pango/Makefile.am: Fix the visibility of all the
5356         symbols, for the main library and the statically linked ones.
5357
5358 2008-04-09  Emmanuele Bassi  <ebassi@openedhand.com>
5359
5360         * autogen.sh: Clean up a bit
5361
5362         * clutter/clutter-fixed.[ch]:
5363         (clutter_double_to_fixed),
5364         (clutter_double_to_int),
5365         (clutter_double_to_uint): Make these functions public, as they
5366         are expanded by their respective macros. This fixes the errors
5367         from the linker trying to resolve their name.
5368
5369 2008-04-09  Neil Roberts  <neil@o-hand.com>
5370
5371         Applied patch from bug #871
5372
5373         * clutter/x11/clutter-backend-x11.c (clutter_backend_x11_dispose):
5374         Call g_slist_foreach instead of iterating over the stage_manager
5375         list manually when deleting stages. Otherwise the 'next' pointer
5376         of the list node can get corrupted when the actor removes itself
5377         from the list.
5378
5379         * clutter/clutter-stage.c (clutter_stage_dispose): Call
5380         clutter_actor_unrealize in the dispose handler. This fixes
5381         problems where the dispose handler for the ClutterStageWrapper
5382         can't deselect the GL context until the stage is unrealized.
5383
5384 2008-04-04  Emmanuele Bassi  <ebassi@openedhand.com>
5385
5386         * clutter/clutter-backend.c: Add more debug messages
5387
5388         * clutter/clutter-stage.h:
5389         * clutter/clutter-stage.c:
5390         (clutter_stage_is_default): Add a function to check if the
5391         stage is the default one.
5392
5393         * clutter/glx/clutter-backend-glx.c:
5394         * clutter/glx/clutter-stage-glx.c:
5395         * clutter/x11/clutter-stage-x11.c: Keep the stage wrapper
5396         and implementation flags in sync, to ensure that the GL
5397         context is always set.
5398
5399 2008-04-04  Neil Roberts  <neil@o-hand.com>
5400
5401         * README: Fixed typo
5402
5403 2008-04-04  Matthew Allum  <mallum@openedhand.com>
5404
5405         * README:
5406         Add a note on new show-on-set-parent prop and stage subclassing.
5407
5408 2008-04-04  Emmanuele Bassi  <ebassi@openedhand.com>
5409
5410         Bug #864 - Allow instantiating and subclassing of ClutterStage
5411
5412         * clutter/Makefile.am: Add clutter-stage-window.[ch]
5413
5414         * clutter/clutter-stage-manager.c:
5415         (_clutter_stage_manager_remove_stage): Do not warn if removing
5416         a stage we don't manage, as we might be invoked multiple times
5417         during a ClutterState dispose sequence.
5418
5419         * clutter/clutter-actor.c:
5420         * clutter/clutter-backend.[ch]:
5421         * clutter/clutter-main.c:
5422         * clutter/clutter-private.h:
5423         * clutter/clutter-stage.[ch]: Make ClutterStage a proxy actor,
5424         with a private actor implementing the ClutterStageWindow
5425         interface for handling the per-backend realization, painting
5426         and unrealization, plus all the windowing system abstraction.
5427
5428         * clutter/x11/clutter-event-x11.c:
5429         * clutter/x11/clutter-stage-x11.[ch]: Port the X11 backend
5430         to the new backend and stage API and semantics.
5431
5432         * clutter/glx/clutter-backend-glx.c:
5433         * clutter/glx/clutter-stage-glx.c: Port the GLX backend to
5434         the new backend and stage API and semantics.
5435
5436         * clutter/eglx/clutter-backend-egl.[ch]:
5437         * clutter/eglx/clutter-stage-egl.[ch]: Port the EGLX backend
5438         to the new backend and stage API and semantics (untested).
5439
5440         * tests/test-multistage.c (on_button_press): Rename
5441         clutter_stage_create_new() to clutter_stage_new().
5442
5443 2008-04-04  Neil Roberts  <neil@o-hand.com>
5444
5445         Applied patch from bug #810.
5446
5447         * clutter/x11/clutter-event-x11.c (event_translate): Set a flag
5448         when resizing the stage from a ConfigureNotify event.
5449
5450         * clutter/x11/clutter-stage-x11.c
5451         (clutter_stage_x11_request_coords): Don't try to resize the window
5452         again if the flag is set.
5453         (clutter_stage_x11_init): Added initialiser for the flag.
5454
5455         * clutter/x11/clutter-stage-x11.h (struct _ClutterStageX11): Added
5456         the flag.
5457
5458 2008-04-04  Matthew Allum  <mallum@openedhand.com>
5459
5460         * clutter/clutter-actor.c:
5461         Remove uneeded stage private member.
5462         Add show-on-set-parent prop and make so by default Actors are
5463         now automatically shown when reparented (#791)
5464
5465         * clutter/eglx/clutter-backend-egl.c:
5466         * clutter/cogl/gles/cogl.c:
5467         A couple of minor comments.
5468
5469         * clutter/eglnative/Makefile.am:
5470         Add missing clutter-egl.h header (back port from trunk)
5471
5472         * tests/test-actors.c:
5473         Modify to take advantage of new show-on-set-parent functionality.
5474
5475 2008-04-03  Emmanuele Bassi  <ebassi@openedhand.com>
5476
5477         * clutter/Makefile.am: Only export symbols matching "^clutter.*",
5478         to avoid exposing the library-private symbols starting with
5479         an underscore.
5480
5481 2008-04-03  Emmanuele Bassi  <ebassi@openedhand.com>
5482
5483         * clutter/clutter-alpha.c: ClutterAlpha is an InitiallyUnowned
5484         subclass. This should fix a lot of leakage. (#860, Neil Roberts)
5485
5486 2008-04-03  Emmanuele Bassi  <ebassi@openedhand.com>
5487
5488         * clutter/glx/clutter-backend-glx.c:
5489         (clutter_backend_glx_get_features): Assert if we don't have a
5490         GL context here or if it's not matched to a drawable. Asserting
5491         might seem too drastic, but if we don't have a valid GL context
5492         here then Clutter will segfault anyway, and I'll take an assert()
5493         over a hard to read, deep in GLX guts backtrace any day (and
5494         twice on a monday).
5495
5496         * clutter/x11/clutter-backend-x11.c:
5497         (clutter_backend_x11_get_features): No need for a variable here.
5498
5499 2008-04-01  Matthew Allum  <mallum@openedhand.com>
5500
5501         * clutter/clutter-backend.c:
5502         * clutter/glx/clutter-backend-glx.c:
5503         * clutter/glx/clutter-stage-glx.c:
5504         Allow NULL to be passed to _clutter_backend_ensure_context
5505         which essentially clears GL context. This is hooked into stage
5506         unrealisation.  Isn't yet quite bulletproof.
5507         Fixes issues with gtk-embed crasher (thanks to Neil).
5508
5509 2008-04-1  Robert Bragg  <bob@o-hand.com>
5510
5511         * clutter/glx/clutter-glx-texture-pixmap.c:
5512         In clutter_glx_texture_pixmap_dispose; trap X errors around
5513         glXDestroyGLXPixmap so we can't die due to BadDrawable errors.
5514
5515 2008-03-31  Matthew Allum  <mallum@openedhand.com>
5516
5517         * README:
5518         Add notes on new multistage feature.
5519
5520         * clutter/clutter-stage-manager.c:
5521         Dont ref contained stages.
5522
5523         * clutter/clutter-stage.c:
5524         Automatically remove stage from stage manager on finalisation.
5525         Cleans up warnings when a stage is destroyed.
5526
5527         * clutter/clutter-backend.h:
5528         * clutter/glx/clutter-backend-glx.c:
5529         Minor formatting cleanups.
5530
5531         * clutter/glx/clutter-stage-glx.c:
5532         * configure.ac:
5533         * clutter/clutter-version.h.in:
5534         Add a general CLUTTER_STAGE_TYPE define, should be useful for
5535         evntual stage subclassing and creating with g_object_new()
5536
5537 2008-03-30  Neil Roberts  <neil@o-hand.com>
5538
5539         * clutter/win32/clutter-backend-win32.c
5540         (clutter_backend_win32_init): Added a call to
5541         timeBeginPeriod. Without this the frame rates are terrible because
5542         the glib timeouts are not accurate enough. However this requires
5543         Glib >= 2.16.0 to take any effect because of a change in the way
5544         g_poll is implemented. See revision 6597 of glib.
5545         (clutter_backend_win32_finalize): Added a call to timeEndPeriod.
5546
5547         * configure.ac: Added -lwinmm to the library dependencies for the
5548         Win32 backend.
5549
5550 2008-03-30  Neil Roberts  <neil@o-hand.com>
5551
5552         * clutter/win32/clutter-win32.h:
5553         * clutter/win32/clutter-stage-win32.h:
5554         * clutter/win32/clutter-stage-win32.c:
5555         * clutter/win32/clutter-event-win32.c:
5556         * clutter/win32/clutter-backend-win32.h:
5557         * clutter/win32/clutter-backend-win32.c:
5558         Upgraded for multi-stage support.
5559
5560         * clutter/win32/clutter-stage-win32.c
5561         (clutter_stage_win32_request_coords): Fixed so that it doesn't set
5562         the position or size if it hasn't changed. This was causing
5563         problems when the window was resized using the top left corner. In
5564         that case the window receives resize and move messages separately
5565         which caused the window to flash at a different size or position
5566         while one message was handled before the other.
5567         (clutter_stage_win32_realize): Added PFD_GENERIC_ACCELERATED to
5568         the list of pixel format flags to force it to use hardware
5569         acceleration.
5570
5571 2008-03-28  Matthew Allum  <mallum@openedhand.com>
5572
5573         * clutter/Makefile.am:
5574         * clutter/clutter-actor.c:
5575         * clutter/clutter-actor.h:
5576         * clutter/clutter-backend.c:
5577         * clutter/clutter-backend.h:
5578         * clutter/clutter-debug.h:
5579         * clutter/clutter-event.c:
5580         * clutter/clutter-event.h:
5581         * clutter/clutter-feature.h:
5582         * clutter/clutter-group.h:
5583         * clutter/clutter-main.c:
5584         * clutter/clutter-main.h:
5585         * clutter/clutter-private.h:
5586         * clutter/clutter-stage.c:
5587         * clutter/clutter-stage.h:
5588         * clutter/clutter-stage-manager.c
5589         * clutter/clutter-stage-manager.h
5590         * clutter/clutter-types.h:
5591         * clutter/glx/clutter-backend-glx.c:
5592         * clutter/glx/clutter-backend-glx.h:
5593         * clutter/glx/clutter-stage-glx.c:
5594         * clutter/glx/clutter-stage-glx.h:
5595         * clutter/x11/clutter-backend-x11.c:
5596         * clutter/x11/clutter-backend-x11.h:
5597         * clutter/x11/clutter-event-x11.c:
5598         * clutter/x11/clutter-stage-x11.c:
5599         * clutter/x11/clutter-x11.h:
5600         * tests/Makefile.am:
5601         * tests/test-multistage.c:
5602         Initial commit of multi stage support (mostly a merge from the
5603         clutter-multistage branch).
5604         Note, this commit will break all backends except glx.
5605
5606 2008-03-26  Neil Roberts  <neil@o-hand.com>
5607
5608         * clutter/win32/clutter-win32.h: Added gtk-doc documentation for
5609         the Win32 backend section.
5610
5611         * clutter/win32/clutter-stage-win32.c
5612         (clutter_win32_get_stage_window): Fixed punctuation in the
5613         documentation.
5614
5615         * README: Added notes about the Win32 backend.
5616
5617 2008-03-26  Neil Roberts  <neil@o-hand.com>
5618
5619         * clutter/win32/clutter-event-win32.c (clutter_event_check):
5620         Removed the pointless parameter in the call to check_msg_pending.
5621         (check_msg_pending): Fixed to use PeekMessageW instead of
5622         PeekMessage.
5623
5624 2008-03-25  Neil Roberts  <neil@o-hand.com>
5625
5626         Added a native Win32 WGL backend.
5627
5628         * configure.ac: Added the 'win32' flavour.
5629
5630         * clutter/cogl/gl/cogl.c (cogl_get_proc_address): Added an ifdef
5631         to use wglGetProcAddress with the Win32 backend.
5632
5633         * clutter/Makefile.am (DIST_SUBDIRS): Added the win32 directory.
5634
5635         * clutter/win32/clutter-win32.pc.in:
5636         * clutter/win32/clutter-win32.h:
5637         * clutter/win32/clutter-stage-win32.h:
5638         * clutter/win32/clutter-stage-win32.c:
5639         * clutter/win32/clutter-event-win32.c:
5640         * clutter/win32/clutter-backend-win32.h:
5641         * clutter/win32/Makefile.am:
5642         * clutter/win32/clutter-backend-win32.c: New files.
5643
5644 2008-03-19  Emmanuele Bassi  <ebassi@openedhand.com>
5645
5646         * clutter/clutter-model.[ch]: Add a ::copy() virtual function
5647         for copying iterators.
5648
5649         * clutter/clutter-list-model.c:
5650         (clutter_list_model_iter_copy),
5651         (clutter_list_model_iter_class_init): Implement the ::copy()
5652         function inside the ListModel iterator subclass.
5653
5654 2008-03-19  Emmanuele Bassi  <ebassi@openedhand.com>
5655
5656         * clutter/clutter-group.c:
5657         * clutter/clutter-texture.c: Use CLUTTER_ACTOR_IS_VISIBLE()
5658         and not CLUTTER_ACTOR_IS_MAPPED().
5659
5660 2008-03-19  Emmanuele Bassi  <ebassi@openedhand.com>
5661
5662         * clutter/clutter-score.[ch]: Small clean ups and refactoring.
5663         Use gulong instead of guint, so we have a bigger id space for
5664         the timelines inside a Score.
5665
5666 2008-03-19  Chris Lord  <chris@openedhand.com>
5667
5668         * clutter/clutter-actor.c:
5669         (_clutter_actor_apply_modelview_transform), (clutter_actor_paint):
5670         Apply clip inside paint function instead of transform function
5671
5672 2008-03-18  Emmanuele Bassi  <ebassi@openedhand.com>
5673
5674         * clutter/clutter-score.c: Update documentation.
5675
5676 2008-03-18  Emmanuele Bassi  <ebassi@openedhand.com>
5677
5678         * clutter/clutter-score.[ch]: Remove all the API changes, and
5679         just add a clutter_score_append_at_marker(); the implementation
5680         remains the same, but the marker must be explicitly created by
5681         the developer. The ids are no longer used to create implicit
5682         markers, so they can return to be unsigned integers. (#450)
5683
5684         * clutter/clutter-timeline.[ch]:
5685         (clutter_timeline_has_marker): Add a function to query a timeline
5686         for a marker being set.
5687
5688         * tests/test-score.c (main): Update with the API changes.
5689
5690         * clutter.symbols: Update exported symbols.
5691
5692 2008-03-18  Emmanuele Bassi  <ebassi@openedhand.com>
5693
5694         * clutter/clutter-texture.c: Small clean ups in the coding style.
5695
5696 2008-03-18  Emmanuele Bassi  <ebassi@openedhand.com>
5697
5698         * clutter.symbols: Add new symbols
5699
5700         * clutter/clutter-score.[ch]: Use the newly added marker API
5701         on the timelines to implement attaching timelines at specific
5702         points, using either milliseconds or frames.
5703
5704         * tests/test-score.c (main): Test the new API.
5705
5706 2008-03-18  Emmanuele Bassi  <ebassi@openedhand.com>
5707
5708         * clutter/clutter-marshal.list: Add signature for the
5709         ::marker-reached signal marshaller.
5710
5711         * clutter/clutter-timeline.[ch]: Add timeline marker API;
5712         using markers it is possible to add a unique identifier to
5713         a particular frame of the timeline, and receive a signal
5714         notification when reaching that particular marker while
5715         playing the timeline. (#641)
5716
5717         * tests/test-timeline.c: Update the test case to check for
5718         the marker-reached signal emission.
5719
5720         * clutter.symbols: Add new symbols.
5721
5722 2008-03-10  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
5723
5724         * tests/test-shader.c: improved readability of fragment shader
5725         examples by factoring out common bits into FRAGMENT_SHADER_BEGIN and
5726         FRAGMENT_SHADER_END macros.
5727
5728 2008-03-09  Matthew Allum  <mallum@openedhand.com>
5729
5730         * clutter/clutter-id-pool.c: (clutter_id_pool_free):
5731         Use g_slice_free not g_free.
5732         * clutter/clutter-main.c: (_clutter_do_pick):
5733         Dont 'over read' the framebuffer when picking (#839, Neil Roberts)
5734
5735 2008-03-07  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
5736
5737         Refactored the integer id->ClutterActor mapping code to be a self
5738         contained data structure.
5739
5740         * clutter/clutter-id-pool.[ch]: new files.
5741         * clutter/Makefile.am: added clutter-id-pool.[ch]
5742         * clutter/clutter-private.h: use a ClutterIDPool instead of GArray and
5743         GSList to keep track of the reusable ids.
5744         * clutter/clutter-actor.c: moved id pool logic away.
5745         * clutter/clutter-main.c: simplified id pool creation/finalization.
5746
5747 2008-03-07  Robert Bragg  <bob@o-hand.com>
5748
5749         * clutter/clutter-timeline.c:
5750         Timeline changes to fix the issues identified in bugzilla #439
5751
5752         Notably, this includes some tweaks to timeline semantics.
5753         So e.g. for a
5754
5755         10 frame timeline here are some points about the new timeline code:
5756
5757         - When you create a timeline it starts with current_frame_num == 0
5758
5759         - After starting a timeline, the first timeout is for
5760           current_frame_num == 1 (Notably it isn't 0 since there is a delay
5761           before the first timeout signals so re-asserting the starting point
5762           would give a longer than average first frame.)
5763
5764         - For a non looping timeline the last timeout would be for
5765           current_frame_num == 10
5766
5767         - For a looping timeline the timeout for current_frame_num ==
5768           10 would be followed by a timeout for current_frame_num == 1
5769           and frame 0 is considered == frame 10.
5770
5771         - Asking for a timeline of N frames might better be described
5772           as asking for a timeline of _length_ N.
5773
5774         Warning: Although I tried to test things, I guess it's quite
5775         likely that this breaks somthing depending on a specific quirk
5776         of the previous timeline code.
5777
5778 2008-03-06  Emmanuele Bassi  <ebassi@openedhand.com>
5779
5780         * clutter/clutter-actor.c:
5781         (clutter_actor_set_anchor_point_from_gravity): Fix a stupid
5782         conversion from pixels to units that should I not have made.
5783
5784 2008-03-06  Emmanuele Bassi  <ebassi@openedhand.com>
5785
5786         * README: Update the release notes.
5787
5788 2008-03-06  Gwenole Beauchesne  <gbeauchesne@splitted-desktop.org>
5789
5790         Signed off by: Emmanuele Bassi <ebassi@openedhand.com>
5791
5792         * clutter/clutter-group.c (clutter_group_real_lower): Fix to
5793         actually lower the actor under the 'above' actor. (#822)
5794
5795 2008-03-06  Emmanuele Bassi  <ebassi@openedhand.com>
5796
5797         * clutter/clutter-entry.h:
5798         * clutter/clutter-entry.c:
5799         (clutter_entry_handle_key_event_internal),
5800         (clutter_entry_key_press), (clutter_entry_class_init),
5801         (clutter_entry_handle_key_event): Provide a default class handler
5802         for the key-press-event, so that giving key focus to an entry will
5803         automatically make it work. This deprecates the
5804         clutter_entry_handle_key_event() function. (#824)
5805
5806         * tests/test-entry.c (main): Remove the handle_key_event()
5807         machinery, and just give focus to the entry.
5808
5809 2008-03-06  Chris Lord  <chris@openedhand.com>
5810
5811         * clutter/clutter-model.c: (clutter_model_set_sorting_column):
5812         Don't disable sorting on column 0
5813
5814 2008-03-06  Emmanuele Bassi  <ebassi@openedhand.com>
5815
5816         Add support for the anchor point inside ClutterScript (#834,
5817         David Stanczak)
5818
5819         * clutter/clutter-actor.c:
5820         (clutter_actor_set_property),
5821         (clutter_actor_get_property),
5822         (clutter_actor_class_init): Add the :anchor-x and :anchor-y
5823         properties to the ClutterActor class.
5824
5825         (clutter_actor_set_anchor_point),
5826         (clutter_actor_set_anchor_pointu),
5827         (clutter_actor_set_anchor_point_from_gravity): Reimplement
5828         the pixel based and gravity based API using the units based
5829         one. Emit the ::notify signal for the :anchor-x and :anchor-y
5830         properties.
5831
5832         (parse_units),
5833         (clutter_actor_parse_custom_node): Parse the :anchor-x and
5834         :anchor-y properties using the custom units format (mm, px,
5835         pt and %).
5836
5837         * tests/test-script.json: Test the newly added properties.
5838
5839 2008-03-05  Emmanuele Bassi  <ebassi@openedhand.com>
5840
5841         * configure.ac: Add "osx" the the AC_HELP_STRING of the flavour
5842         selection. (#831, Peter Enzerink)
5843
5844 2008-03-04  Emmanuele Bassi  <ebassi@openedhand.com>
5845
5846         * clutter/clutter-main.c (clutter_do_event): Do not throttle the
5847         motion events if the per-actor delivery has been disabled.
5848
5849 2008-03-04  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
5850
5851         * clutter/pango/pangoclutter-render.c: (draw_glyph): use g_slice_new0
5852         instead of g_slice_new when allocating the glyph_info, avoiding a
5853         branch based on uninitialized memory.
5854
5855 2008-03-03  Emmanuele Bassi  <ebassi@openedhand.com>
5856
5857         * Makefile.am: Do not recurse into doc if we did not explicitly
5858         enabled the documentation build; we just recurse into doc if we
5859         are doing a dist or a distcheck.
5860
5861 2008-02-29  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
5862
5863         Reuse the numeric id's used for picking actors to avoid the potential
5864         of overflowing the id numbers when continusly creating and destroying
5865         actors on long running applications for 16bpp.
5866
5867         * clutter/clutter-private.h: replaced hashtable with GArray and a
5868         GSList for available slots in the array.
5869         * clutter/clutter-actor.c: (create_actor_id): function to create an
5870         actor->id mapping, (release_actor_id): function to mark an existing id
5871         as available for reuse.
5872         * clutter/clutter-main.c: (clutter_context_free): added utility
5873         function for cleaning up the context,
5874         (clutter_get_actor_by_gid): use the GArray for looking up actors.
5875
5876 2008-02-26  Emmanuele Bassi  <ebassi@openedhand.com>
5877
5878         * clutter/clutter-alpha.c:
5879         (clutter_exp_inc_func), (clutter_exp_dec_func): Clamp the value
5880         of the alpha function between [0, MAX_ALPHA]. (#800)
5881
5882 2008-02-25  Emmanuele Bassi  <ebassi@openedhand.com>
5883
5884         * clutter/clutter-main.c (emit_event): Fix the last commit
5885         which inverted a condition.
5886
5887 2008-02-25  Emmanuele Bassi  <ebassi@openedhand.com>
5888
5889         * clutter/clutter-actor.c: Remove the usage of g_return_if_fail()
5890         from static functions: either assert or use g_warning() to check
5891         internal state, as g_return_if_fail() can be compiled out.
5892
5893         * clutter/clutter-main.c: Ditto as above.
5894
5895 2008-02-25  Tomas Frydrych  <tf@openedhand.com>
5896
5897         * clutter/clutter-texture.c:
5898         (texture_update_data):
5899         Set alignment based on actual data rowstride, not the texture
5900         width.
5901
5902 2008-02-21  Tomas Frydrych  <tf@openedhand.com>
5903
5904         * clutter/x11/clutter-backend-x11.h:
5905         * clutter/x11/clutter-event-x11.c:
5906         * clutter/x11/clutter-x11.h:
5907         (clutter_x11_handle_event):
5908         (clutter_x11_disable_event_retrieval):
5909         Functions to allow to hook into external XEvent retrieval (for
5910         example when using clutter with gtk); NB: this API is tentative.
5911
5912 2008-02-21  Emmanuele Bassi  <ebassi@openedhand.com>
5913
5914         * clutter/x11/clutter-event-x11.c (event_translate): Ignore
5915         PropertyNotify events if they don't match our window.
5916
5917         * clutter/x11/clutter-stage-x11.c:
5918         (clutter_stage_x11_request_coords): Chain up to the parent's
5919         request coords.
5920
5921 2008-02-21  Emmanuele Bassi  <ebassi@openedhand.com>
5922
5923         * clutter/x11/clutter-event-x11.c (event_translate): Ignore
5924         ConfigureNotify events if we are painting on a foreign window.
5925
5926         * clutter/x11/clutter-stage-x11.c:
5927         (clutter_stage_x11_request_coords): Reliquish control of the
5928         window size, if we are painting on a foreign window. This fixes
5929         the GtkClutterEmbed widget.
5930
5931 2008-02-20  Emmanuele Bassi  <ebassi@openedhand.com>
5932
5933         * clutter/clutter-timeline.c (clutter_timeline_set_delay): Relax
5934         the condition to allow 0 msecs of delay (meaning: no delay).
5935
5936 2008-02-20  Tomas Frydrych  <tf@openedhand.com>
5937
5938         * clutter/Makefile.am:
5939         Added libclutter_ ... _la_DEPENDENCIES to fix dependency tracking.
5940
5941 2008-02-20  Tomas Frydrych  <tf@openedhand.com>
5942
5943         * clutter/x11/clutter-x11.h:
5944         * clutter/x11/clutter-backend-x11.c:
5945         (clutter_x11_set_display):
5946         Function to set X display connection prior to calling
5947         clutter_init(); stripped loads of trailing space.
5948
5949 2008-02-20  Tomas Frydrych  <tf@openedhand.com>
5950
5951         * clutter/clutter-marshal.list:
5952         * clutter/glx/Makefile.am:
5953         * clutter/glx/clutter-backend-glx.c:
5954         * clutter/glx/clutter-backend-glx.h:
5955         * clutter/glx/clutter-glx.h:
5956         * clutter/x11/Makefile.am:
5957         ClutterX11TexturePixmap and ClutterGLXTexturePixmap actors (#713;
5958         patch by Johan Bilien).
5959
5960 2008-02-20  Emmanuele Bassi  <ebassi@openedhand.com>
5961
5962         * clutter/clutter-actor.h:
5963         * clutter/clutter-actor.c:
5964         (clutter_actor_get_abs_opacity): Add function that does what
5965         get_opacity() does now...
5966
5967         (clutter_actor_get_opacity): ... and make get_opacity() do what
5968         it's supposed to be doing. The original get_opacity() returned
5969         a composited value, and there's no way to actually extract the
5970         real opacity value set with set_opacity().
5971
5972         * clutter/clutter-clone-texture.c:
5973         * clutter/clutter-rectangle.c:
5974         * clutter/clutter-texture.c: Update to use get_abs_opacity().
5975
5976         * clutter/clutter-entry.c:
5977         * clutter/clutter-label.c: Ditto. Also, never change the stored
5978         alpha value. (#804)
5979
5980         * tests/Makefile.am:
5981         * tests/test-opacity.c: Test suite for the get_opacity() and
5982         get_abs_opacity() API, and correct opacity handling.
5983
5984         * README: Add note about the change in get_opacity().
5985
5986 2008-02-19  Chris Lord  <chris@openedhand.com>
5987
5988         * clutter/clutter-model.c: (clutter_model_resort):
5989         Don't return when there's no sort function set, leave that to the
5990         model sub-class
5991
5992 2008-02-18  Emmanuele Bassi  <ebassi@openedhand.com>
5993
5994         * configure.ac:
5995         * README: Post stable release bump to 0.7.1
5996
5997 2008-02-18  Emmanuele Bassi  <ebassi@openedhand.com>
5998
5999         * README:
6000         * NEWS: Release 0.6.0
6001
6002 2008-02-18  Emmanuele Bassi  <ebassi@openedhand.com>
6003
6004         * clutter/clutter-list-model.c:
6005         (clutter_list_model_iter_set_value): Fix a typo in the conversion
6006         code.
6007
6008 2008-02-18  Chris Lord  <chris@openedhand.com>
6009
6010         * README:
6011         Fix spelling mistake and a typo
6012
6013 2008-02-18  Emmanuele Bassi  <ebassi@openedhand.com>
6014
6015         * clutter/clutter-actor.c:
6016         (clutter_actor_get_box_from_vertices): Avoid a masking warning
6017         caused by math.h utter braindamage.
6018
6019 2008-02-18  Emmanuele Bassi  <ebassi@openedhand.com>
6020
6021         * clutter/clutter-actor.c: Document the fact that ancestor can
6022         be NULL in the relative transformation API, and what are the
6023         effects.
6024
6025 2008-02-15  Matthew Allum  <mallum@openedhand.com>
6026
6027         * clutter/pango/pangoclutter-render.c: (draw_glyph):
6028         More safety checks (#796, Tero Saarni)
6029
6030 2008-02-15  Chris Lord  <chris@openedhand.com>
6031
6032         * clutter/clutter-entry.c:
6033         * clutter/clutter-group.c:
6034         * clutter/clutter-label.c:
6035         * clutter/clutter-rectangle.c:
6036         * clutter/clutter-texture.c:
6037         More documentation fixes
6038
6039 2008-02-15  Chris Lord  <chris@openedhand.com>
6040
6041         * clutter/clutter-entry.c: (clutter_entry_class_init):
6042         More documentation fixes
6043
6044 2008-02-15  Chris Lord  <chris@openedhand.com>
6045
6046         * clutter/clutter-label.c: (clutter_label_class_init):
6047         More documentation fixes
6048
6049 2008-02-15  Chris Lord  <chris@openedhand.com>
6050
6051         * clutter/clutter-clone-texture.c:
6052         * clutter/clutter-texture.c: (clutter_texture_class_init):
6053         More documentation fixes
6054
6055 2008-02-15  Chris Lord  <chris@openedhand.com>
6056
6057         * clutter/clutter-actor.c:
6058         * clutter/clutter-container.c:
6059         * clutter/clutter-media.c:
6060         * clutter/clutter-rectangle.c:
6061         * clutter/clutter-stage.c: (clutter_stage_class_init):
6062         * clutter/clutter-stage.h:
6063         * clutter/clutter-texture.c:
6064         * doc/reference/clutter-docs.sgml:
6065         Fix more documentation
6066
6067 2008-02-15  Emmanuele Bassi  <ebassi@openedhand.com>
6068
6069         * clutter/clutter-actor.[ch]:
6070         * clutter/clutter-types.h:
6071         * doc/reference/clutter-docs.sgml: Fix a lot of documentation.
6072
6073 2008-02-15  Matthew Allum  <mallum@openedhand.com>
6074
6075         * clutter/cogl/gles/cogl.c: (cogl_paint_init):
6076         Remove depth test getting turned on by default (unlike GL backend)
6077
6078 2008-02-15  Tomas Frydrych  <tf@openedhand.com>
6079
6080         * configure.ac:
6081         * clutter/clutter-version.h.in:
6082         * build/msvc_2k5/clutter-version.h:
6083         Removed unused --without-fpu configure option and CLUTTER_NO_FPU
6084         macro
6085
6086 2008-02-15  Tomas Frydrych  <tf@openedhand.com>
6087
6088         * build/mingw/README:
6089         * build/mingw/mingw-cross-compile.sh:
6090         Script that automates cross compilation with mingw by Neil Roberts
6091         <bpeeluk@yahoo.co.uk>
6092
6093 2008-02-15  Emmanuele Bassi  <ebassi@openedhand.com>
6094
6095         * clutter/clutter-actor.[ch]: Rename
6096         clutter_actor_get_box_from_vertices() to
6097         clutter_actor_box_get_from_vertices().
6098
6099         * clutter/clutter-group.c (clutter_group_query_coords): Fix the
6100         query_coords() implementation.
6101
6102 2008-02-15  Tomas Frydrych  <tf@openedhand.com>
6103
6104         * clutter/clutter-actor.c:
6105         * clutter/clutter-actor.h:
6106         (clutter_group_query_coords):
6107         Added function to translate vertex array to a bounding box.
6108
6109         (clutter_actor_is_scaled):
6110         (clutter_actor_is_rotated):
6111         Fixed documentation.
6112
6113 2008-02-15  Tomas Frydrych  <tf@openedhand.com>
6114
6115         * clutter/clutter-group.c: (clutter_group_query_coords):
6116         Disabled new code taking into account actor scale and rotation.
6117
6118 2008-02-14  Tomas Frydrych  <tf@openedhand.com>
6119
6120         * clutter/clutter-actor.c:
6121         * clutter/clutter-actor.h:
6122         (clutter_actor_is_scaled):
6123         (clutter_actor_is_rotated):
6124         Convenience functions to test whether actor is scaled or rotated.
6125
6126         (clutter_actor_apply_relative_transform_to_point):
6127         Removed unused variable.
6128
6129         * clutter/clutter-group.c:
6130         (clutter_group_query_coords):
6131         Use clutter_actor_get_relative_vertices() to calculate bounding
6132         boxes of children that are scaled or rotated.
6133
6134 2008-02-14  Tomas Frydrych  <tf@openedhand.com>
6135
6136         * clutter/clutter-actor.c:
6137         * clutter/clutter-actor.h:
6138         (clutter_actor_get_relative_vertices):
6139         (clutter_actor_apply_relative_transform_to_point):
6140         Functions to calculate actor vertices in the plane of a given
6141         ancestor.
6142
6143 2008-02-12  Chris Lord  <chris@openedhand.com>
6144
6145         * clutter/clutter-texture.c: (texture_get_tile_pixbuf),
6146         (clutter_texture_get_pixbuf):
6147         Fix copying textures to pixbufs for tiled textures and correct #ifndef
6148         typo
6149
6150         * clutter/clutter-util.c:
6151         Amend documentation
6152
6153 2008-02-12  Matthew Allum  <mallum@openedhand.com>
6154
6155         * clutter/clutter-texture.c: (texture_get_tile_pixbuf):
6156         ifdef out 'leaked' GL only API call.
6157
6158 2008-02-12  Tomas Frydrych  <tf@openedhand.com>
6159
6160         * clutter/clutter-texture.c (texture_update_data):
6161         Fixed incorrect calculation of offset into texture data (needs to
6162         use width of the texture, not of the updated area).
6163
6164 2008-02-12  Tomas Frydrych  <tf@openedhand.com>
6165
6166         * clutter/clutter-texture.c (texture_update_data):
6167         Fixed incorrect aligment of texture data.
6168
6169 2008-02-12  Tomas Frydrych  <tf@openedhand.com>
6170
6171         * clutter/x11/clutter-event-x11.c (event_translate):
6172         Ignore events not directed at the stage window once they have been
6173         passed to the filter functions.
6174
6175 2008-02-11  Matthew Allum  <mallum@openedhand.com>
6176
6177         * clutter/clutter-actor.c:
6178         Minor documentation tweak to class description.
6179
6180         * clutter/clutter-behaviour-scale.c:
6181         'Force' start + end vals of scale behaviour
6182         (#779, Havoc Pennington)
6183
6184 2008-02-11  Emmanuele Bassi  <ebassi@openedhand.com>
6185
6186         * README:
6187         * NEWS: Release 0.5.6
6188
6189         * configure.ac: Post release bump to 0.5.7.
6190
6191         * clutter/clutter-behaviour-scale.c:
6192         * tests/test-fbo.c: Fix compilation warnings.
6193
6194 2008-02-11  Tomas Frydrych  <tf@openedhand.com>
6195
6196         * clutter/clutter-actor.c (clutter_actor_transform_stage_point):
6197         Moved part of the calculation to floating point to avoid overflow
6198         of ClutterFixed range for large actors (bug 613).
6199
6200 2008-02-10  Matthew Allum    <mallum@o-hand.com>
6201
6202         * clutter/osx/clutter-stage-osx.c
6203         Fix up a couple of typos breaking build.
6204
6205 2008-02-08  Emmanuele Bassi  <ebassi@openedhand.com>
6206
6207         * clutter/clutter-actor.c: Add actor box diagram and notes.
6208
6209 2008-02-08  Emmanuele Bassi  <ebassi@openedhand.com>
6210
6211         * clutter/clutter-behaviour-path.c: Move the nice graph and
6212         description from the Path behaviour...
6213
6214         * clutter/clutter-behaviour.c: ... to the main Behaviour class.
6215
6216 2008-02-08  Emmanuele Bassi  <ebassi@openedhand.com>
6217
6218         * clutter/clutter-behaviour-path.c: Add a paragraph describing
6219         the effects of different alpha functions on the path behaviour.
6220
6221 2008-02-08  Emmanuele Bassi  <ebassi@openedhand.com>
6222
6223         * clutter/clutter-actor.c: Reference the newly added event-flow.png
6224
6225         * clutter/clutter-alpha.c: Ditto, with alpha-func.png
6226
6227         * clutter/clutter-texture.c: Fix the XML.
6228
6229 2008-02-08  Emmanuele Bassi  <ebassi@openedhand.com>
6230
6231         * clutter/clutter-behaviour-path.c: Reference the newly
6232         added image showing the effects of different alpha functions
6233         on the same path behaviour.
6234
6235         * configure.ac: Find out the prefix of some of the libraries
6236         we depend upon, so that gtk-doc can fix the references for us.
6237
6238 2008-02-08  Matthew Allum  <mallum@openedhand.com>
6239
6240         * clutter/clutter-texture.c:
6241         Tidy up offscreen code, adding into realize/unrealize.
6242         Add more safety code.
6243         Improve documentation.
6244
6245 2008-02-08  Emmanuele Bassi  <ebassi@openedhand.com>
6246
6247         * clutter/clutter-script.c:
6248         (resolve_alpha_func): Use a whitelist containing the alpha function
6249         provided by Clutter, as a fallback in case g_module_open() does not
6250         work.
6251
6252         (clutter_script_parse_alpha): Add an explicit warning in case we
6253         cannot find the alpha function used inside a UI definition.
6254
6255 2008-02-07  Tomas Frydrych  <tf@openedhand.com>
6256
6257         * clutter/clutter-group.c (clutter_group_query_coords):
6258         Take into account the anchor point when calculating the box size.
6259
6260 2008-02-07  Emmanuele Bassi  <ebassi@openedhand.com>
6261
6262         * clutter/clutter-actor.c: Add a note on clutter_actor_set_size()
6263         reguarding groups.
6264
6265         * clutter/clutter-group.c: Clarify group sizing.
6266
6267 2008-02-07  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
6268
6269         * tests/test-shader.c: (button_release_cb): added simplified
6270         implementation of a box-blur shader from Gwenole Beauchesne that
6271         should work on GLSL implementing low-end IGPs not implementing
6272         dynamic branching. The original code used crashed some of these
6273         due to bugs in drivers or similar. Resolves bug #710.
6274
6275 2008-02-07  Tomas Frydrych  <tf@openedhand.com>
6276
6277         * tests/test-actors.c:
6278         Reverted previous change.
6279
6280 2008-02-07  Tomas Frydrych  <tf@openedhand.com>
6281
6282         * clutter/clutter-actor.c:
6283         (clutter_actor_set_property):
6284         Fixed handling of PROP_ROTATE_CENTER_Y, ROTATE_CENTER_Z
6285
6286         * tests/test-actors.c:
6287         Adjusted to use anchor point for both group and hands.
6288
6289 2008-02-07  Neil J. Patel  <njp@o-hand.com>
6290
6291         * tests/test-actors.c: (frame_cb), (main):
6292         Changed set_anchor to move_anchor.
6293         Changed clutter_actor_rotate x & y values to 0,0.
6294         Switched on scaling because it seems to work without drifting.
6295
6296 2008-02-07  Emmanuele Bassi  <ebassi@openedhand.com>
6297
6298         * clutter/clutter-script-parser.c:
6299         (clutter_script_get_type_from_symbol),
6300         (clutter_script_get_type_from_class): Use BIND_LAZY flag
6301         when looking at the symbols, so we don't load them all up.
6302
6303         * clutter/clutter-script.c (resolve_alpha_func): Ditto as above.
6304
6305 2008-02-07  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
6306
6307         * clutter/clutter-actor.c:
6308         (_clutter_actor_apply_modelview_transform): perform translation as
6309         well as anchor point adjustment based on self not being stage (and
6310         not by self not being an orphan).
6311
6312 2008-02-07  Matthew Allum  <mallum@openedhand.com>
6313
6314         * clutter/clutter-stage.c:
6315         * clutter/clutter-stage.h:
6316         * clutter/eglnative/clutter-stage-egl.c:
6317         * clutter/eglx/clutter-stage-egl.c:
6318         * clutter/osx/clutter-stage-osx.c:
6319         * clutter/sdl/clutter-stage-sdl.c:
6320         * clutter/x11/clutter-stage-x11.c:
6321         Add at least somne basic offscreen handling into all backends.
6322         Remove unused clutter_stage_set_offscreen vfunc. (#549)
6323
6324         * clutter/clutter-texture.c:
6325         Minor API doc tweak, noting rowstride source in set_area
6326
6327 2008-02-07  Emmanuele Bassi  <ebassi@openedhand.com>
6328
6329         * clutter/clutter-score.c (traverse_children): Actually implement
6330         clutter_score_list_timelines().
6331
6332         * tests/test-score.c (main): Test clutter_score_list_timelines().
6333
6334 2008-02-07  Matthew Allum  <mallum@openedhand.com>
6335
6336         * clutter/pango/pangoclutter-render.c:
6337         Warn if requested glyph is too big for underlying texture cache.
6338         (see #666)
6339
6340 2008-02-07  Matthew Allum  <mallum@openedhand.com>
6341
6342         * clutter/clutter-texture.c: (texture_upload_data):
6343         Remove random appearing 'priv->filter_quality =1' (#643)
6344
6345 2008-02-06  Matthew Allum  <mallum@openedhand.com>
6346
6347         * clutter/clutter-texture.c:
6348         Minor clean up from last commit.
6349
6350         * tests/test-fbo.c:
6351         Small tweak (rotate offscreen, rather than resize)
6352
6353 2008-02-06  Matthew Allum  <mallum@openedhand.com>
6354
6355         * clutter/clutter-texture.c:
6356         Initial attempt at handling resizing/tranformed source textures.
6357
6358         * clutter/pango/pangoclutter-render.c: (draw_glyph):
6359         Guards against freetype returning NULL bitmaps and
6360         thus causing device by zeros on NVIDIA drivers. (see ml)
6361
6362 2008-02-05  Matthew Allum  <mallum@openedhand.com>
6363
6364         * clutter/clutter-actor.c: (clutter_actor_get_vertices):
6365         Make sure GL related Matrices are initialised. Fixes #756
6366
6367         * clutter/clutter-texture.c:
6368         Fix up code from Norways answer to Jean-Michel Basquiat.
6369         (warning on tile_get_pixbuf)
6370
6371 2008-02-05  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
6372
6373         * clutter/clutter-texture.c: removed spurious left over debug printf.
6374
6375 2008-02-05  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
6376
6377         * clutter/clutter-texture.c: applied modified patch from Gwenole
6378         Beuchesne adressing bug #635. Adressing a buffer overflow in
6379         clutter_texture_get_pixbuf() when tiling is forced.
6380
6381 2008-02-04  Emmanuele Bassi  <ebassi@openedhand.com>
6382
6383         * clutter/clutter-shader.c (clutter_shader_constructor): Keep the
6384         constructor line under the 80 columns using a variable.
6385
6386 2008-02-04  Emmanuele Bassi  <ebassi@openedhand.com>
6387
6388         * clutter/clutter-actor.c:
6389         * clutter/clutter-shader.c: Small documentation and style fixes
6390
6391         * tests/test-scale.c: Constify the gravities array.
6392
6393 2008-02-04  Chris Lord  <chris@openedhand.com>
6394
6395         * clutter/clutter-actor.c: (clutter_actor_transform_stage_point):
6396         Check that x_out and y_out != NULL before setting their contents
6397
6398 2008-02-04  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
6399
6400         * clutter/clutter-timeline.c: (clutter_timeline_rewind): updated
6401         documentation to take direction into account.
6402
6403 2008-02-04  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
6404
6405         * tests/test-fbo.c: (make_shader):
6406         * tests/test-shader.c: (main): multiply the resulting gl_FragColor
6407         with gl_Color before being done to take opacity into account in the
6408         GLSL fragments.
6409
6410 2008-02-04  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
6411
6412         * clutter/clutter-actor.[ch]: added clutter_actor_get_shader and
6413         renamed clutter_actor_apply_shader to be clutter_actor_set_shader.
6414         Reindented/aligned header.
6415         * clutter/clutter-texture.c: (clutter_texture_paint): temporarily
6416         disable the shader on top of the clutter context's shader stack while
6417         rendering into the FBO.
6418         * tests/test-fbo.c: (main): s/apply_shader/set_shader/
6419         * tests/test-shader.c: (button_release_cb), (main):
6420         s/apply_shader/set_shader/
6421
6422 2008-02-03  Matthew Allum  <mallum@openedhand.com>
6423
6424         * clutter/clutter-actor.c: (clutter_actor_set_rotationx):
6425         Add notify signal for set_rotate
6426
6427         * clutter/clutter-texture.c:
6428         Add basic cleanup code for fbo's
6429
6430         * tests/test-fbo.c: (main):
6431         Minor notes.
6432
6433         * clutter/osx/clutter-stage-osx.c: (clutter_stage_osx_realize):
6434         Turn on vblanking.
6435
6436 2008-02-03  Matthew Allum  <mallum@openedhand.com>
6437
6438         * clutter/clutter-shader.c:
6439         Minor formatting cleanups to fit in 80 cols.
6440
6441         * clutter/clutter-texture.c:
6442         More safety checks, clean ups in clutter_texture_new_from_actor()
6443
6444         * clutter/cogl/gl/cogl.c:
6445         Always clear the FBO initially when rendering
6446
6447         * tests/test-fbo.c:
6448         Overhall the test as to be more useful (and show current issues)
6449
6450 2008-02-02  Matthew Allum  <mallum@openedhand.com>
6451
6452         * clutter/clutter-timeline.c:
6453         Document frame number limits in new-frame signal.
6454
6455         * clutter/x11/clutter-event-x11.c:
6456         Remove uneeded error trap (#751)
6457
6458 2008-02-01  Matthew Allum  <mallum@openedhand.com>
6459
6460         * clutter/cogl/cogl.h:
6461         * clutter/cogl/gl/cogl.c: (cogl_paint_init), (cogl_enable):
6462         * clutter/cogl/gles/cogl.c: (cogl_enable):
6463
6464        Disable the depth test and buffer as has some strange side
6465        effects, mainly on x/y axis rotation with multiple layers at
6466        same depth (eg rotating text on a bg has very strange
6467        effect). Seems no clean 100% effective way to fix without other
6468        odd issues.. So for now move to application to handle and add
6469        cogl_enable_depth_test() as for custom actors (i.e groups) to
6470        enable if need be.
6471
6472 2008-02-01  Matthew Allum  <mallum@openedhand.com>
6473
6474         * clutter/clutter-texture.c: (clutter_texture_new_from_actor):
6475         Fix typo breaking FBO rendering on anything other than a cloned
6476         texture.
6477
6478 2008-02-01  Matthew Allum  <mallum@openedhand.com>
6479
6480         * clutter/clutter-feature.h:
6481         * clutter/clutter-texture.c:
6482         * clutter/clutter-texture.h:
6483         * clutter/cogl/cogl.h:
6484         * clutter/cogl/gl/cogl.c:
6485         * clutter/cogl/gles/cogl.c:
6486         * tests/Makefile.am:
6487         * tests/test.fbo.c:
6488         Add initial support for FBO's in Clutter (OpenGL only so far).
6489         See new clutter_texture_new_from_actor()
6490         Initial implementation, needs work.
6491
6492         * clutter/x11/clutter-stage-x11.c:
6493         (clutter_stage_x11_set_cursor_visible):
6494         Fall back to again not relying on xfixes to hide cursor. *sigh*
6495
6496         * clutter/clutter-deprecated.h:
6497         Add clutter_group_find_child_by_id
6498
6499 2008-02-01  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
6500
6501         * clutter/cogl/gles/cogl.c: (cogl_rectangle_internal): increase size
6502         of GLfixed[] array to make contents fit.
6503
6504 2008-02-01  Emmanuele Bassi  <ebassi@openedhand.com>
6505
6506         * clutter/clutter-actor.h: Clean up a bit the flag-related macros.
6507
6508 2008-02-01  Emmanuele Bassi  <ebassi@openedhand.com>
6509
6510         * clutter/clutter-actor.c:
6511         (clutter_actor_get_property): Use clutter_actor_get_reactive()
6512         instead of the IS_REACTIVE() macro.
6513
6514         (clutter_actor_set_reactive): Emit the notify signal for the
6515         reactive property.
6516
6517         * clutter/clutter-timeline.c:
6518         (timeline_timeout_func),
6519         (clutter_timeline_get_delta): Coding style fixes.
6520
6521 2008-01-31  Rob Bradford  <rob@openedhand.com>
6522
6523         * clutter/glx/clutter-stage-glx.c:
6524         * clutter/glx/clutter-backend-glx.c:
6525         * clutter/glx/clutter-backend-glx.h:
6526         Fix formatting.
6527
6528 2008-01-31  Emmanuele Bassi  <ebassi@sprite>
6529
6530         * clutter/clutter-timeline.c (clutter_timeline_skip): Don't
6531         add the frames outside the direction check. (thanks to benoar
6532         on clutter-list for spotting it)
6533
6534 2007-01-31  Tomas Frydrych  <tf@openedhand.com>
6535
6536         * clutter/clutter-actor.c:
6537         (clutter_actor_transform_vertices):
6538         Call clutter_actor_query_coords() instead of accessing the actor
6539         box, so that actors that calculate their bounding box on the fly
6540         (like ClutterGroup) work.
6541
6542         * (_clutter_actor_apply_modelview_transform_recursive):
6543         Made to work for parentless actors.
6544
6545 2008-01-31  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
6546
6547         * tests/test-depth.c: added a box of cloned hands to further expand
6548         the scope of depth testing scenarios exercised by test-depth.
6549
6550 2008-01-31  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
6551
6552         * tests/test-depth.c: (timeline_completed): make use of
6553         clutter_timeline_set_direction instead of static state.
6554         (raise_top): made rectangle remain at fixed depth and raise
6555         above each other.
6556         (janus_group): added a rectangle with two faces, one red and
6557         one green, that spins around.
6558
6559 2008-01-31  Emmanuele Bassi  <ebassi@openedhand.com>
6560
6561         * clutter/clutter-entry.h:
6562         * clutter/clutter-entry.c:
6563         (clutter_entry_set_cursor_position),
6564         (clutter_entry_get_cursor_position): Rename [gs]et_position()
6565         to [gs]set_cursor_position(), and avoid method name collisions
6566         with bindings for high-level languages.
6567
6568         * clutter/clutter-deprecated.h: Add replacement warnings for the
6569         renamed methods.
6570
6571 2008-01-31  Emmanuele Bassi  <ebassi@openedhand.com>
6572
6573         * clutter/clutter-actor.c (clutter_actor_init): Explicitly
6574         memset() to 0 the clip container, so if you get the clip without
6575         having set it, you won't get garbage.
6576
6577 2008-01-31  Rob Bradford  <rob@openedhand.com>
6578
6579         * clutter/x11/clutter-backend-x11-private.h:
6580         Add missing start to comment
6581
6582         * clutter/x11/clutter-backend-x11.c:
6583         * clutter/x11/clutter-event-x11.c:
6584         * clutter/x11/clutter-stage-x11.c:
6585         * clutter/x11/clutter-x11.h:
6586         Remove tabs.
6587
6588 2008-01-30  Emmanuele Bassi  <ebassi@openedhand.com>
6589
6590         * README: Add the osx flavour, and mark it experimental,
6591         along with the sdl backend. EGL-based backends should not be
6592         considered experimental anymore, even though they might require
6593         tweaking.
6594
6595 2008-01-30  Emmanuele Bassi  <ebassi@openedhand.com>
6596
6597         * HACKING: Expand the "document API" point, and the release
6598         process.
6599
6600         * README: Update the release notes regarding the scale behaviour,
6601         now that the gravity has been removed.
6602
6603 2007-01-30  Tomas Frydrych  <tf@openedhand.com>
6604
6605         * clutter/clutter-actor.c:
6606         * clutter/clutter-actor.h:
6607         Added new clutter_actor_move_anchor_point_ API.
6608
6609         * clutter/clutter-behaviour-scale.c:
6610         * clutter/clutter-behaviour-scale.h:
6611         * clutter/clutter-effect.c:
6612         * clutter/clutter-effect.h:
6613         * tests/test-actors.c:
6614         * tests/test-effects.c:
6615         * tests/test-scale.c:
6616         Removed gravity from ClutterBehaviourScale.
6617
6618 2008-01-27  Emmanuele Bassi  <ebassi@openedhand.com>
6619
6620         * tests/test-depth.c (main): Use a group instead of pushing
6621         the actors on the stage.
6622
6623 2008-01-25  Emmanuele Bassi  <ebassi@openedhand.com>
6624
6625         * clutter/clutter-group.c (sort_z_order): Invert condition to
6626         return to the same as in revision 1976.
6627
6628 2008-01-25  Emmanuele Bassi  <ebassi@openedhand.com>
6629
6630         * clutter/clutter-label.c (clutter_label_query_coords): Check
6631         if the layout logical rectangle size is bigger than the bounding
6632         box; this usually means that the bounding box changed in one
6633         point and the label private allocation needs to be
6634         updated. (#724)
6635
6636 2008-01-25  Emmanuele Bassi  <ebassi@openedhand.com>
6637
6638         * clutter/x11/Makefile.am: Add the generated clutter-x11 pkg-config
6639         file to CLEANFILES, to pass distcheck.
6640
6641         * Makefile.am:
6642         * clutter/Makefile.am: Tweak up the Makefiles.
6643
6644         * README:
6645         * NEWS: Release 0.5.4
6646
6647         * configure.ac: Post-release bump to 0.5.5
6648
6649 2008-01-25  Emmanuele Bassi  <ebassi@openedhand.com>
6650
6651         * clutter/clutter-group.c: Use a shorter Z order sorting function,
6652         avoiding the checks.
6653
6654 2008-01-25  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
6655
6656         * clutter/clutter-shader.c: added documentation strings for
6657         ClutterShader.
6658
6659 2008-01-23  Emmanuele Bassi  <ebassi@openedhand.com>
6660
6661         * Makefile.am: Use variables, instead of substitutions.
6662
6663         * clutter/clutter-private.h:
6664         * clutter/clutter-main.h: Make clutter_do_event() public again,
6665         as we need it in clutter-gtk.
6666
6667         * configure.ac:
6668         * clutter/x11/Makefile.am:
6669         * clutter/x11/clutter-x11.pc.in: Add a clutter-x11 pkg-config
6670         file for clutter-gtk, as it depends on the X11 backend API, as
6671         implemented by the GLX and EGLX backends.
6672
6673         * clutter/x11/clutter-event-x11.c (event_translate): Do not
6674         propagate DestroyNotify events if the stage doesn't own the
6675         window.
6676
6677         * tests/test-scale.c (main): Set values different from the default.
6678
6679 2008-01-21  Emmanuele Bassi  <ebassi@openedhand.com>
6680
6681         * clutter/clutter-behaviour-scale.c:
6682         (clutter_behaviour_scale_set_property),
6683         (clutter_behaviour_scale_class_init): Fix stupid typo in the
6684         y-scale-end property declaration. (#720)
6685
6686 2008-01-21  Emmanuele Bassi  <ebassi@openedhand.com>
6687
6688         * clutter/clutter-behaviour-depth.h:
6689         * clutter/clutter-behaviour-depth.c:
6690         (clutter_behaviour_depth_set_bounds),
6691         (clutter_behaviour_depth_get_bounds): Add the depth-start and
6692         depth-end accessors.
6693
6694         * tests/test-depth.c (timeline_completed): Use set_bounds()
6695         instead of g_object_set().
6696
6697         * clutter.symbols: Add clutter_behaviour_depth_set_bounds()
6698         and clutter_behaviour_opacity_get_bounds() to the list of
6699         public symbols.
6700
6701 2008-01-21  Emmanuele Bassi  <ebassi@openedhand.com>
6702
6703         * clutter/clutter-behaviour-scale.c: Use separate variables for
6704         storing the scale boundaries; apparently, using arrays broke
6705         the python bindings. (#720)
6706
6707 2008-01-21  Matthew Allum  <mallum@openedhand.com>
6708
6709         * clutter/clutter-group.c:
6710         Make sure unrealizing a group also unrealizes children.
6711
6712         * clutter/glx/clutter-stage-glx.c:
6713         Chain up to group unrealize to make sure textures get unrealized
6714         when changing context (see #718)
6715
6716         * clutter/clutter-texture.c:
6717         Formatting cleanups
6718
6719 2008-01-21  Ã˜yvind KolÃ¥s  <pippin@gimp.org>
6720
6721         * tests/test-shader.c: fix incompatible types in shader programs
6722
6723         Apparently floats can't be multiplied or divided with ints without
6724         explicit type casts. Use 2.0 or float(var) where appropriate. Patch
6725         from Tommi Komulainen (#715).
6726
6727 2008-01-19  Emmanuele Bassi  <ebassi@openedhand.com>
6728
6729         * clutter/clutter-main.c (generate_enter_leave_events): Do not
6730         take the explicit reference, and let clutter_event_copy() do it
6731         for us. (#714, Neil Roberts)
6732
6733 2008-01-19  Emmanuele Bassi  <ebassi@openedhand.com>
6734
6735         * clutter/clutter-event.c (clutter_event_copy): Take an extra
6736         reference on the related actor in ClutterEventCrossing that we
6737         explicitly unref in clutter_event_free(). (#714, Neil Roberts)
6738
6739 2008-01-18  Emmanuele Bassi  <ebassi@openedhand.com>
6740
6741         * tests/test-actors.c (input_cb): Fix the callback signature;
6742         hide the clicked actor only if it's a hand.
6743
6744 2008-01-18  Emmanuele Bassi  <ebassi@openedhand.com>
6745
6746         * clutter/clutter-main.c (clutter_do_event): Check the
6747         return value of the ::event signal for the CLUTTER_DELETE
6748         event type.
6749
6750         * clutter/clutter-stage.c (clutter_stage_event): Emit the
6751         ::event signal when receiving the CLUTTER_DELETE event; this
6752         allows to intercept the user's closing of the stage window.
6753
6754 2007-01-18  Tomas Frydrych  <tf@openedhand.com>
6755
6756         * clutter/clutter-fixed.h:
6757         Added missing proto for clutter_fixed_qdivx().
6758
6759 2007-01-18  Tomas Frydrych  <tf@openedhand.com>
6760
6761         * clutter/clutter-fixed.h:
6762         * clutter/clutter-fixed.c:
6763         Added CLUTTER_QDIV() for 64-bit division (bug 564, patch by
6764         Gwenole Beauchesne).
6765
6766 2008-01-18  Emmanuele Bassi  <ebassi@openedhand.com>
6767
6768         * clutter/clutter-event.h: Add a gunichar field for the Unicode
6769         representation of the key. (#555)
6770
6771 2008-01-18  Emmanuele Bassi  <ebassi@openedhand.com>
6772
6773         * clutter/clutter-actor.h:
6774         * clutter/clutter-script.h:
6775         * clutter/clutter-stage.h:
6776         * clutter/clutter-units.h: Documentation fixes and additions.
6777
6778 2008-01-18  Emmanuele Bassi  <ebassi@openedhand.com>
6779
6780         * clutter.symbols: Add ClutterBehaviourOpacity accessors.
6781
6782         * clutter/clutter-behaviour-opacity.h:
6783         * clutter/clutter-behaviour-opacity.c:
6784         (clutter_behaviour_opacity_set_bounds),
6785         (clutter_behaviour_opacity_get_bounds): Add accessors for the
6786         opacity-start and opacity-end properties.
6787
6788         * clutter/clutter-behaviour-scale.h: Fix the argument name to
6789         avoid complaints by gtk-doc.
6790
6791 2008-01-17  Emmanuele Bassi  <ebassi@openedhand.com>
6792
6793         * clutter/clutter-behaviour-scale.c:
6794         (clutter_behaviour_scale_set_gravity): Notify on the right property
6795         name.
6796
6797 2008-01-17  Emmanuele Bassi  <ebassi@openedhand.com>
6798
6799         * clutter.symbols: Add new ClutterBehaviourScale setters.
6800
6801         * clutter/clutter-behaviour-scale.[ch]: Split the scaling factors
6802         on both axis. Add setters for all the behaviour properties.
6803
6804         * clutter/clutter-effect.h:
6805         * clutter/clutter-effect.c (clutter_effect_scale): Split the
6806         final scale factor to match the ClutterBehaviourScale changes. (#709)
6807
6808         * tests/test-actors.c:
6809         * tests/test-effects.c:
6810         * tests/test-rotate.c:
6811         * tests/test-scale.c: Update after API change.
6812
6813 2008-01-16  Emmanuele Bassi  <ebassi@openedhand.com>
6814
6815         * clutter/cogl/cogl.h: Rename COGLhandleARB to COGLhandle.
6816
6817         * clutter/cogl/gl/cogl-defines.h.in:
6818         * clutter/cogl/gl/cogl.c: Update GL implementation of COGL.
6819
6820         * clutter/cogl/gles/cogl-defines.h:
6821         * clutter/cogl/gles/cogl.c: Update GLES implementation of COGL.
6822
6823         * clutter/clutter-shader.c: Fix ClutterShader to use the new
6824         COGLhandle type instead of COGLhandlerARB.
6825
6826 2008-01-16  Emmanuele Bassi  <ebassi@openedhand.com>
6827
6828         Define COGLhandleARB. (patch by Johan Bilien)
6829
6830         * clutter/cogl/gles/cogl-defines.h: Define COGLhandleARB on
6831         GLES as well (using GLuint)
6832
6833         * clutter/cogl/gles/cogl.c: Use COGLhandleARB.
6834
6835 2008-01-14  Tommi Komulainen  <tommi.komulainen@iki.fi>
6836
6837         reviewed by: Emmanuele Bassi  <ebassi@openedhand.com>
6838
6839         * clutter/osx/clutter-event-osx.c (_clutter_event_osx_put):
6840         Initialize ClutterEvent structure with zeroes (#672)
6841
6842         The 'source' member was uninitialized and being referenced in
6843         clutter_do_event leading to crash.
6844
6845 2008-01-14  Emmanuele Bassi  <ebassi@openedhand.com>
6846
6847         * tests/test-scale.c: Improve test case for scaling (#684,
6848         Jaap A. Haitsma)
6849
6850 2008-01-14  Emmanuele Bassi  <ebassi@openedhand.com>
6851
6852         * clutter/clutter-timeline.c (timeline_timeout_func): Fix
6853         check if the last frame was reached by skipping a frame (#654,
6854         Johan Bilien)
6855
6856 2008-01-14  Emmanuele Bassi  <ebassi@openedhand.com>
6857
6858         * clutter/clutter-shader.c: Use correct format string for
6859         gssize. (#695, Tommi Komulainen)
6860
6861 2008-01-14  Emmanuele Bassi  <ebassi@openedhand.com>
6862
6863         * clutter/cogl/gl/cogl.c (cogl_get_proc_address): Implement non-GLX
6864         version using GModule and looking up the symbol from the running
6865         process. It should work when linked to library providing the
6866         requested function. (#696, Tommi Komulainen)
6867
6868 2008-01-14  Emmanuele Bassi  <ebassi@openedhand.com>
6869
6870         * configure.ac: Post-release bump to 0.5.3
6871
6872         * README:
6873         * NEWS: Release 0.5.2
6874
6875 2008-01-14  Emmanuele Bassi  <ebassi@openedhand.com>
6876
6877         * clutter.symbols: Add clutter_model_insertv()
6878
6879         * clutter/clutter-model.[ch] (clutter_model_insertv): Add a vector
6880         based insertion API, for language bindings
6881
6882 2008-01-12  Emmanuele Bassi  <ebassi@openedhand.com>
6883
6884         * clutter/clutter-effect.c (clutter_effect_rotate): Make the
6885         rotate effect work on the passed axis, instead of hardcoding
6886         the X axis. (#700, Neil Roberts)
6887
6888 2008-01-10  Ã˜yvind KolÃ¥s  <pippin@gimp.org>
6889
6890         Added COGLhandleARB since the underlying type on OSX is void*,
6891         patch from Tommi Komulainen <tommi.komulainen@iki.fi>, (#694)
6892
6893         * clutter/cogl/gl/cogl-defines.h.in: Added COGLhandleARB typedef.
6894         * clutter/cogl/cogl.h:
6895         * clutter/cogl/gl/cogl.c:
6896         * clutter/clutter-shader.c: Use COGLhandleARB instead of COGLint when
6897         referring to program or shader handles.
6898
6899 2008-01-09  Emmanuele Bassi  <ebassi@openedhand.com>
6900
6901         * clutter/Makefile.am:
6902         * clutter/clutter.h:
6903         * clutter/clutter-list-model.[ch]: Complete the ClutterModelDefault
6904         to ClutterListModel rename by renaming the source files
6905
6906 2008-01-09  Emmanuele Bassi  <ebassi@openedhand.com>
6907
6908         * clutter/clutter-model-default.[ch]: Rename ClutterModelDefault
6909         into ClutterListModel, to make it clear that the default
6910         ClutterModel implementation is list-based
6911
6912         * tests/test-model.c: Update call
6913
6914 2008-01-09  Emmanuele Bassi  <ebassi@openedhand.com>
6915
6916         * clutter/clutter-model-default.c:
6917         (clutter_model_default_new),
6918         (clutter_model_default_newv): Move the constructors in the
6919         right file
6920
6921         * clutter/clutter-model-private.h: Add a private header for
6922         the ClutterModel implementations
6923
6924         * clutter/clutter-model.c:
6925         (clutter_model_check_type),
6926         (clutter_model_set_n_columns),
6927         (clutter_model_set_column_type): Mark as private to Clutter,
6928         not static to ClutterModel
6929
6930         * clutter/Makefile.am: Add clutter-model-private.h
6931
6932 2008-01-09  Emmanuele Bassi  <ebassi@openedhand.com>
6933
6934         * clutter/clutter-label.c:
6935         (clutter_label_ensure_layout): Fix the ClutterUnits to Pango
6936         scale conversion.
6937
6938 2008-01-08  Emmanuele Bassi  <ebassi@openedhand.com>
6939
6940         * clutter/clutter-model.c:
6941         (clutter_model_appendv),
6942         (clutter_model_prependv): Fix the columns length pre-condition
6943
6944 2008-01-07  Emmanuele Bassi  <ebassi@openedhand.com>
6945
6946         * clutter/clutter-model-default.[ch]: Remove the ClutterModelDefault
6947         iterator symbols from the public API; the iterator implementation
6948         is a detail of the default ClutterModel class
6949
6950         * clutter.symbols: Update
6951
6952 2008-01-07  Emmanuele Bassi  <ebassi@openedhand.com>
6953
6954         * clutter/clutter-model.h:
6955         * clutter/clutter-model.c:
6956         (clutter_model_appendv),
6957         (clutter_model_prependv): Add vector based API for bindings.
6958
6959         (clutter_model_get_column_name),
6960         (clutter_model_get_column_type),
6961         (clutter_model_set_sorting_column): Fix the check in the condition
6962         on the column index.
6963
6964         * tests/test-scale.c (on_timeline_completed), (main): Fix spelling
6965
6966         * clutter.symbols: Update public symbols
6967
6968 2008-01-04  Emmanuele Bassi  <ebassi@openedhand.com>
6969
6970         * clutter.symbols: Add clutter_actor_move_byu()
6971
6972         * clutter/clutter-actor.h:
6973         * clutter/clutter-actor.c:
6974         (clutter_actor_move_by),
6975         (clutter_actor_move_byu): Add a units-based variant of the
6976         clutter_actor_move_by() function
6977
6978 2008-01-02  Johan Bilien  <jobi@via.ecp.fr>
6979
6980         reviewed by: Emmanuele Bassi  <ebassi@openedhand.com>
6981
6982         * configure.ac: Use AC_DEFINE_UNQUOTED to expand the
6983         variable. Fixes EGL backend build
6984
6985 2008-01-02  Emmanuele Bassi  <ebassi@openedhand.com>
6986
6987         * configure.ac: Post release bump to 0.5.1
6988
6989 2008-01-02  Emmanuele Bassi  <ebassi@openedhand.com>
6990
6991         * README:
6992         * NEWS: Release 0.5.0
6993
6994 2008-01-02  Emmanuele Bassi  <ebassi@openedhand.com>
6995
6996         * clutter/clutter-model-default.c:
6997         (clutter_model_default_get_iter_at_row),
6998         (clutter_model_default_insert_row): Fix off-by-one errors
6999
7000         (clutter_model_default_class_init):
7001         (clutter_model_default_remove_row): Move the actual removal of the
7002         row to...
7003
7004         (clutter_model_default_row_removed): ... the signal class handler
7005         of ::row-removed; this way, signal handlers connected to
7006         ::row-removed will get a valid iterator, while signal handlers
7007         connected to ::row-removed with the AFTER flag will get an updated
7008         model
7009
7010 2007-12-31  Tomas Frydrych  <tf@openedhand.com>
7011
7012         * configure.ac:
7013         * clutter/Makefile.am:
7014         Added -no-undefined to libtool LDFLAGS for mingw/SDL backend, to
7015         allow building of shared libraries for win32.
7016
7017 2007-12-31  Tomas Frydrych  <tf@openedhand.com>
7018
7019         * configure.ac:
7020         * clutter.pc.in:
7021         Added CLUTTER_REQUIRES automake var to allow deps in clutter.pc to
7022         be backend-specific.
7023
7024 2007-12-28  Emmanuele Bassi  <ebassi@openedhand.com>
7025
7026         * clutter/clutter-texture.c:
7027         (clutter_texture_unrealize): Do not read the pixels back if the
7028         texture is being destroyed
7029
7030 2007-12-28  Emmanuele Bassi  <ebassi@openedhand.com>
7031
7032         * clutter/clutter-model.c:
7033         (clutter_model_real_get_n_rows), (clutter_model_class_init),
7034         (clutter_model_get_n_rows): Provide a default implementation of
7035         the get_n_rows() method, so that subclasses do not strictly need
7036         to override it
7037
7038 2007-12-25  Emmanuele Bassi  <ebassi@openedhand.com>
7039
7040         * clutter/clutter-actor.c:
7041         (parse_rotation_array): Inline, and get the JsonArray as a parameter
7042
7043         (parse_rotation): Update
7044
7045         * clutter/clutter-script.c:
7046         (warn_missing_attribute): Fix for emacs-style warnings
7047
7048         (clutter_script_parse_node): Remove an ifdeffed out section
7049
7050         (clutter_script_construct_parameters),
7051         (clutter_script_construct_object): Rename get_parameters, so
7052         it's obvious what it does
7053
7054 2007-12-25  Emmanuele Bassi  <ebassi@openedhand.com>
7055
7056         * tests/test-script.json: Fix the JSON syntax
7057
7058 2007-12-25  Emmanuele Bassi  <ebassi@openedhand.com>
7059
7060         * clutter/clutter-enum-types.c.in: Fix the template
7061
7062 2007-12-24  Emmanuele Bassi  <ebassi@openedhand.com>
7063
7064         * clutter/clutter-stage.c:
7065         * clutter/clutter-stage.h:
7066         * clutter/clutter-texture.c: Remove some of the remaining FIXMEs
7067         in the API documentation
7068
7069 2007-12-24  Emmanuele Bassi  <ebassi@openedhand.com>
7070
7071         * clutter/clutter-color.c:
7072         * clutter/clutter-event.c:
7073         * clutter/clutter-stage.c: Intern more strings using the I_() macro
7074
7075         * clutter/clutter-enum-types.c.in: Call g_intern_static_string()
7076         in the enum types template
7077
7078 2007-12-24  Emmanuele Bassi  <ebassi@openedhand.com>
7079
7080         * clutter.symbols: Add clutter_actor_set_clipu() and
7081         clutter_actor_get_clipu()
7082
7083         * clutter/clutter-actor.h:
7084         * clutter/clutter-actor.c:
7085         (clutter_actor_set_clipu), (clutter_actor_get_clipu): Add the
7086         new units-based versions of the clip accessors
7087
7088         (clutter_actor_set_clip), (clutter_actor_get_clip): Reimplement
7089         the pixels-based clip accessors as proxies for the units-based
7090         ones
7091
7092 2007-12-24  Emmanuele Bassi  <ebassi@openedhand.com>
7093
7094         * clutter/cogl/cogl.h: Update cogl_clip_set() to accept the
7095         clip components as ClutterFixed values
7096
7097         * clutter/cogl/gl/cogl.c (cogl_clip_set): Update the GL implementation
7098         of cogl_clip_set()
7099
7100         * clutter/cogl/gles/cogl.c:
7101         (cogl_rectangle_internal): Provide an internal, inlined rectangle
7102         drawing function using fixed point values, to be shared by
7103         cogl_clip_set() and cogl_rectangle()
7104
7105         (cogl_clip_set), (cogl_rectangle): Update the GLES implementation
7106         of cogl_clip_set() and cogl_rectangle() to use the new internal
7107         rectangle drawing function
7108
7109         * clutter/clutter-actor.c: Make the clip an array of ClutterUnit
7110         values instead of pixel-based; this allows higher precision and
7111         device independence
7112
7113         (_clutter_actor_apply_modelview_transform): Pass the clip
7114         components converting from units to fixed point values, using
7115         the new cogl_clip_set() signature
7116
7117         (clutter_actor_get_property), (clutter_actor_set_clip),
7118         (clutter_actor_get_clip): Update the accessors of the clip
7119         property
7120
7121 2007-12-21  Emmanuele Bassi  <ebassi@openedhand.com>
7122
7123         * clutter/clutter-actor.h: Remove the unused ::set_depth() and
7124         ::get_depth() virtual functions. (#674, Murray Cumming)
7125
7126 2007-12-21  Emmanuele Bassi  <ebassi@openedhand.com>
7127
7128         * clutter/clutter-group.c:
7129         * clutter/clutter-group.h: Add the clutter_group_add() convenience
7130         function; it's now "undeprecated" and implemented as a macro
7131
7132         * clutter/clutter-stage.h: Add clutter_stage_add() as a convenience
7133         macro
7134
7135         * clutter/cogl/cogl.h: Include just the needed headers instead
7136         of the whole clutter.h; this avoids rebuild cogl when not needed
7137
7138 2007-12-21  Emmanuele Bassi  <ebassi@openedhand.com>
7139
7140         * Makefile.am: Move tests build before docs, to cut down the
7141         distcheck failure discovery
7142
7143         * clutter.symbols: Add clutter_texture_set_area_from_rgb_data()
7144
7145         * clutter/clutter-actor.c:
7146         * clutter/clutter-script.c:
7147         * clutter/clutter-texture.c:
7148         * clutter/json/json-generator.c:
7149         * clutter/json/json-parser.c: Compilation fixes for passing distcheck
7150
7151         * tests/test-grab.c:
7152         * tests/test-score.c:
7153         * tests/test-script.c:
7154         * tests/test-shader.c:
7155         * tests/test-unproject.c: Ditto as above
7156
7157 2007-12-21  Emmanuele Bassi  <ebassi@openedhand.com>
7158
7159         * clutter/clutter-label.c:
7160         (clutter_label_ensure_layout): Avoid rounding errors in the layout
7161         computing when switching between Clutter units and Pango units.
7162
7163 2007-12-19  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
7164
7165         * clutter/clutter-texture.[ch]: (bug #675) added
7166         clutter_texture_set_area_from_rgb_data, sharing some of the
7167         initialization infrastructure with clutter_texture_set_from_rgb_data.
7168
7169 2007-12-20  Emmanuele Bassi  <ebassi@openedhand.com>
7170
7171         * clutter/clutter-container.c:
7172         (clutter_container_lower_child): Fix interface method call
7173         to actually call ClutterContainer::lower. (#670, Gwenole
7174         Beauchesne)
7175
7176 2007-12-20  Emmanuele Bassi  <ebassi@openedhand.com>
7177
7178         * clutter/clutter-label.c:
7179         (clutter_label_query_coords): Return the bounding box set inside
7180         request_coords(), if any; otherwise, return the natural allocation
7181         of the label. (#678, reported by Gwenole Beauchesne)
7182
7183         * tests/test-rotate.c: Align the label
7184
7185 2007-12-19  Tomas Frydrych  <tf@openedhand.com>
7186
7187         * clutter/Makefile.am:
7188         * clutter/cogl/gl/cogl-defines.h.in:
7189         * clutter/pango/pangoclutter-render.c:
7190         * configure.ac:
7191         Fixes to allow cross-compilation with mingw (patch by Neil
7192         Roberts).
7193         Removed trailing whitespace.
7194
7195 2007-12-18  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
7196
7197         * clutter/clutter-main.c: (generate_enter_leave_events): synthesize
7198         enter event (without related) and corresponding leave event when the
7199         actor the cursor is over has been destroyed.
7200         * clutter/clutter-event.c: (clutter_event_free): only unref the
7201         related_actor when it actually is set.
7202
7203 2007-12-18  Emmanuele Bassi  <ebassi@openedhand.com>
7204
7205         * clutter/clutter-main.c:
7206         (unset_motion_last_actor),
7207         (generate_enter_leave_events): Attach a callback to the destroy
7208         signal on the last motion actor, so if it goes away while the
7209         pointer is in the middle of it we can unset the pointer.
7210
7211         * clutter/clutter-private.h: Store the last motion actor inside
7212         the global context.
7213
7214 2007-12-17  Emmanuele Bassi <ebassi@openedhand.com>
7215
7216         * clutter/clutter-actor.c:
7217         (clutter_actor_should_pick_paint),
7218         (clutter_actor_apply_transform_to_point): Fix the whitespace.
7219
7220         (clutter_actor_set_rotation): Clarify that the coordinates of
7221         the centre of rotation are relative to the anchor point or,
7222         if not set, to the upper left corner of the bounding box.
7223
7224 2007-12-17  Tomas Frydrych  <tf@openedhand.com>
7225
7226         * clutter/clutter-behaviour-ellipse.c:
7227         * clutter/clutter-behaviour-rotate.c:
7228         Clamping of start and end angles to <0, 360).
7229
7230 2007-12-17  Emmanuele Bassi  <ebassi@openedhand.com>
7231
7232         * clutter/clutter-behaviour-path.c: Clarify the equivalence
7233         between the upper and lower bounds of the ClutterAlpha and
7234         the position in the path. (#634)
7235
7236 2007-12-17  Emmanuele Bassi  <ebassi@openedhand.com>
7237
7238         * clutter/clutter-texture.c: Mention the fact that a ClutterTexture
7239         will scale its contents to fit inside the requested bounding
7240         box. (#661)
7241
7242 2007-12-17  Emmanuele Bassi  <ebassi@openedhand.com>
7243
7244         * clutter/clutter-actor.c: Fix documentation for
7245         the ::captured-event signal. (#673)
7246
7247 2007-12-17  Emmanuele Bassi  <ebassi@openedhand.com>
7248
7249         * clutter/clutter-actor.c: Clarify the set_clip() method
7250         documentation, pointing out that the clip area origin is
7251         always the top-left corner of an actor.
7252
7253 2007-12-15  Emmanuele Bassi  <ebassi@openedhand.com>
7254
7255         * clutter/clutter-actor.c:
7256         * clutter/clutter-alpha.h:
7257         * clutter/clutter-event.h:
7258         * clutter/clutter-fixed.[ch]:
7259         * clutter/clutter-model.h:
7260         * clutter/clutter-shader.[ch]:
7261         * clutter/clutter-stage.c: Documentation fixes.
7262
7263 2007-12-15  Emmanuele Bassi <ebassi@openedhand.com>
7264
7265         * clutter/clutter-model-default.c:
7266         (clutter_model_default_iter_next),
7267         (clutter_model_default_iter_prev): Do not instantiate a new
7268         iterator, and update the passed one instead, as we say we do
7269         in the documentation. This avoid leaking tons of iterators.
7270
7271         * clutter/clutter-model.[ch]: Update the documentation.
7272
7273         * tests/test-model.c: Prettify some output.
7274
7275 2007-12-14  Emmanuele Bassi  <ebassi@openedhand.com>
7276
7277         * clutter/clutter-behaviour.c:
7278         (clutter_knot_get_type): Use the I_() macro.
7279
7280         * clutter/clutter-model.[ch]: Make ClutterModel and ClutterModelIter
7281         abstract classes; also, provide more virtual functions inside the
7282         ClutterModel vtable, to allow subclasses and language bindings to
7283         override the entire ClutterModel using other/native data types
7284         to store the rows.
7285
7286         * clutter/clutter-model-default.[ch]: ClutterModelDefault is a
7287         default implementation of ClutterModel and ClutterModelIter using
7288         GSequence.
7289
7290         * clutter/Makefile.am:
7291         * clutter/clutter.h: Build glue for ClutterModelDefault.
7292
7293         * tests/test-model.c: Update for constructor changes.
7294
7295         * tests/test-shader.c: Fix a typo.
7296
7297 2007-12-14  Matthew Allum  <mallum@openedhand.com>
7298
7299         * clutter/cogl/gl/cogl-defines.h.in:
7300         * clutter/cogl/gles/cogl-defines.h:
7301         Add CLUTTER_COGL_HAS_GL/GLES defines
7302
7303 2007-12-11  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
7304
7305         Refined the ClutterShader API based on a patch from Emmanuele Bassi.
7306
7307         * clutter/clutter-actor.c: (clutter_actor_paint),
7308         (clutter_actor_apply_shader): queue a redraw of actor when shader is
7309         set.
7310         * clutter/clutter-actor.h: indentation.
7311         * clutter/clutter-shader.[ch]: made the fragment and vertex shader
7312         sources properties. Report error through GError when binding shaders.
7313         * tests/test-shader.c: modified to use newer API.
7314
7315 2007-12-10  Emmanuele Bassi  <ebassi@openedhand.com>
7316
7317         * clutter/clutter-model.c:
7318         (clutter_model_get_sorting_column): Fix wrong type check.
7319
7320 2007-12-10  Emmanuele Bassi  <ebassi@openedhand.com>
7321
7322         * clutter/clutter-model.[ch]: Allow unsorting the model (passing
7323         -1 as the sorting column)
7324
7325         (clutter_model_iter_get_valist): Do not initialise twice che
7326         return value.
7327
7328 2007-12-10  Emmanuele Bassi  <ebassi@openedhand.com>
7329
7330         * clutter/clutter-model.c (clutter_model_iter_get_value): Initialise
7331         the passed GValue like the other getters do.
7332
7333 2007-12-10  Emmanuele Bassi  <ebassi@openedhand.com>
7334
7335         * clutter/clutter-model.h:
7336         * clutter/clutter-model.c:
7337         (clutter_model_append_value),
7338         (clutter_model_prepend_value),
7339         (clutter_model_insert_value): Add a _value() variant for the
7340         insertion methods, for use of the language bindings.
7341
7342         (clutter_model_append),
7343         (clutter_model_prepend),
7344         (clutter_model_insert): Do not return a boolean: insertion should
7345         never fail unless for a programming error, in which case we have
7346         plenty of warnings.
7347
7348 2007-12-10  Emmanuele Bassi  <ebassi@openedhand.com>
7349
7350         * clutter/clutter-behaviour-ellipse.c:
7351         (clutter_behaviour_ellipse_get_angle_tilt),
7352         (clutter_behaviour_ellipse_get_angle_tiltx),
7353         (clutter_behaviour_ellipse_set_tilt): Fix a double conversion
7354         that was messing up the returned results. (#665)
7355
7356 2007-12-10  Emmanuele Bassi  <ebassi@openedhand.com>
7357
7358         * clutter/clutter-actor.c:
7359         (clutter_actor_set_property),
7360         (clutter_actor_get_property),
7361         (clutter_actor_class_init): Add the rotation-* properties,
7362         controlling the rotation angle and center on each axis. (#614)
7363
7364         (parse_rotation_array), (parse_rotation),
7365         (clutter_actor_parse_custom_node),
7366         (clutter_actor_set_custom_property),
7367         (clutter_scriptable_iface_init): Add a new "rotation" custom
7368         property for expressing the rotation along each axis in a
7369         compact way:
7370
7371           "rotation" : [
7372             { "x-axis" : [ <angle>, [ <y>, <z> ] ] },
7373             { "y-axis" : [ <angle>, [ <x>, <z> ] ] },
7374             { "z-axis" : [ <angle>, [ <x>, <y> ] ] }
7375           ]
7376
7377         (clutter_geometry_get_type),(clutter_vertex_get_type),
7378         (clutter_actor_box_get_type): Use the I_() macro instead of
7379         directly calling g_intern_static_string().
7380
7381         * clutter/clutter-entry.c (clutter_entry_request_coords):
7382         * clutter/clutter-label.c (clutter_label_ensure_layout),
7383         (clutter_label_request_coords): Use CLUTTER_UNITS_FROM_DEVICE()
7384         instead of CLUTTER_UNITS_FROM_INT(), as "device" means "pixels".
7385
7386         * clutter/clutter-private.h: Add the I_() macro for intern
7387         static strings.
7388
7389         * tests/test-script.json: Test the newly added "rotation"
7390         custom property.
7391
7392 2007-12-10  Tomas Frydrych  <tf@openedhand.com>
7393
7394         * tests/Makefile.am:
7395         Fixed a typo.
7396
7397 2007-12-10  Tomas Frydrych  <tf@openedhand.com>
7398
7399         * tests/test-viewport.c:
7400         * tests/Makefile.am:
7401         Added a simple viewport test.
7402
7403 2007-12-10  Tomas Frydrych  <tf@openedhand.com>
7404
7405         * clutter/clutter-actor.c:
7406         (_clutter_actor_apply_modelview_transform):
7407         Moved offset translation after rotation so that rotation coords
7408         are also relative to the offset point.
7409
7410 2007-12-09  Emmanuele Bassi  <ebassi@openedhand.com>
7411
7412         * tests/test-events.c (input_cb):
7413         * tests/test-text.c (main): Fix compiler errors. (#592,
7414         Gwenole Beauchesne)
7415
7416 2007-12-09  Emmanuele Bassi  <ebassi@openedhand.com>
7417
7418         * clutter/clutter-actor.c: Document the values for full
7419         transparency and full opacity in the set_opacity()
7420         method. (#662)
7421
7422         * clutter/clutter-behaviour-ellipse.c: Improve consistency
7423         in the apidoc.
7424
7425 2007-12-08  Emmanuele Bassi  <ebassi@openedhand.com>
7426
7427         * configure.ac: Make libtool respect the -s switch of make
7428         and be quiet.
7429
7430 2007-12-07  Emmanuele Bassi  <ebassi@openedhand.com>
7431
7432         * clutter/clutter-actor.h:
7433         * clutter/clutter-actor.c:
7434         (clutter_actor_get_sizeu),
7435         (clutter_actor_get_positionu): Add unit-based accessors to
7436         the size and position.
7437
7438 2007-12-07  Tomas Frydrych  <tf@openedhand.com>
7439
7440         * clutter/clutter-behaviour-ellipse.c:
7441         (clutter_behaviour_ellipse_set_angle_start):
7442         (clutter_behaviour_ellipse_set_angle_end):
7443         (clutter_behaviour_ellipse_set_angle_tilt):
7444         (clutter_behaviour_ellipse_set_tilt):
7445         Removed strayed degree -> ClutterAngle conversions left over from
7446         API changes.
7447
7448         (clutter_behaviour_ellipse_set_angle_tiltx):
7449         Removed stray printf.
7450
7451 2007-12-07  Tomas Frydrych  <tf@openedhand.com>
7452
7453         * clutter/clutter-behaviour-ellipse.c:
7454         Fixed tilt setters and getters.
7455
7456 2007-12-06  Tomas Frydrych  <tf@openedhand.com>
7457
7458         * clutter/clutter-fixed.c:
7459         * clutter/clutter-fixed.h:
7460         (clutter_sqrti):
7461         Added extra iteration to the Newton-Rapson algorithm for arguments
7462         lesser than 342 to improve precission.
7463
7464 2007-12-06  Emmanuele Bassi  <ebassi@openedhand.com>
7465
7466         * clutter/clutter-main.c:
7467         (clutter_set_motion_events_frequency): Never allow the motion
7468         events devlivery frequency to exceed the default frame rate.
7469
7470 2007-12-06  Emmanuele Bassi  <ebassi@openedhand.com>
7471
7472         * clutter/json/json-parser.[ch]: Use gssize, size we allow -1
7473         as a length (meaning "use the whole string").
7474
7475         (json_parser_load_from_data): Use the passed length instead of
7476         using strlen() all the time.
7477
7478         * clutter/clutter-script.[ch]: Ditto as above.
7479
7480 2007-12-06  Emmanuele Bassi  <ebassi@openedhand.com>
7481
7482         * clutter/pango/pangoclutter-render.c: Hush a compiler warning
7483         by removing a unused variable.
7484
7485 2007-12-06  Emmanuele Bassi  <ebassi@openedhand.com>
7486
7487         * clutter/clutter-label.c (clutter_label_ensure_layout): If the
7488         label has a requested size, force it when ensuring the layout.
7489
7490 2007-12-06  Emmanuele Bassi  <ebassi@openedhand.com>
7491
7492         * tests/test-unproject.c: Fix type comparison.
7493
7494         * tests/test-score.c: Save the returned ids.
7495
7496 2007-12-05  Matthew Allum  <mallum@openedhand.com>
7497
7498         reviewed by: <delete if not using a buddy>
7499
7500         * clutter/pango/pangoclutter-render.c: (tc_get), (free_glyph_info),
7501         (draw_glyph), (draw_trapezoid), (pango_clutter_render_layout),
7502         (pango_clutter_render_layout_line),
7503         (pango_clutter_render_clear_caches), (prepare_run), (draw_begin):
7504
7505 2007-12-05  Emmanuele Bassi  <ebassi@openedhand.com>
7506
7507         * clutter/clutter-score.h: Rearrange declarations.
7508
7509         * clutter/clutter-score.c: More documentation in the long
7510         description of the ClutterScore section.
7511
7512         * clutter/clutter-debug.h:
7513         * clutter/clutter-main.c: Add the CLUTTER_DEBUG_SHADER flag,
7514         for debugging the shader calls.
7515
7516         * clutter/clutter-feature.h: Fix the documentation of the
7517         feature flags.
7518
7519         * clutter/Makefile.am: Remove trailing whitespace.
7520
7521 2007-12-05  Tomas Frydrych  <tf@openedhand.com>
7522
7523         * clutter/clutter-actor.c:
7524         * clutter/clutter-actor.h:
7525         * tests/Makefile.am:
7526         * tests/test-unproject:
7527         (clutter_actor_transform_stage_point):
7528         Added new function for translating stage coordinates into local
7529         actor coordinates.
7530
7531 2007-12-04  Emmanuele Bassi  <ebassi@openedhand.com>
7532
7533         * clutter/clutter-score.c: Better document ClutterScore
7534         and its API.
7535
7536 2007-12-04  Emmanuele Bassi  <ebassi@openedhand.com>
7537
7538         * clutter/clutter-score.[ch]: Reimplement ClutterScore using
7539         a N-ary tree to store the timelines. Remove clutter_score_add():
7540         the same functionality can be achieved by passing a NULL
7541         parent to clutter_score_append().
7542
7543         * tests/test-score.c: Update ClutterScore test unit, and add
7544         debug printouts.
7545
7546 2007-12-04  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
7547
7548         * clutter/clutter-shader.c: (bind_glsl_shader): use gchar instead of
7549         GLcharARB.
7550
7551 2007-12-03  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
7552
7553         * clutter/clutter-shader.[ch]: do not include GL.h.
7554
7555 2007-12-03  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
7556
7557         Support for shaders in clutter. At the moment limited to drivers
7558         providing GLSL support.
7559
7560         * clutter/cogl/cogl.h: added rather direct binding of needed for glsl
7561         shaders.
7562         * clutter/cogl/gl/cogl-defines.h.in:
7563         * clutter/cogl/gl/cogl.c:
7564         * clutter/cogl/gles/cogl-defines.h: added stubs.
7565         * clutter/cogl/gles/cogl.c: added stubs.
7566
7567         * clutter/glx/clutter-stage-glx.c:
7568         (clutter_stage_glx_realize): unrelated memory management sanity fix.
7569         (clutter_stage_glx_unrealize): unbind all shaders on stage unrealize.
7570
7571         * clutter/Makefile.am: added clutter-shader.[ch]
7572         * clutter/clutter-actor.[ch]: adding shader capability to
7573         actors.
7574         * clutter/clutter-feature.h: added CLUTTER_FEATURE_SHADERS_GLSL
7575         * clutter/clutter-private.h: added stack of shaders to context.
7576         * clutter/clutter-shader.[ch]: new.
7577
7578         * tests/Makefile.am: added shader test.
7579         * tests/test-shader.c: (frame_cb), (main): simple shader test,
7580         cycle through the inline shader with right/left mouse buttons.
7581
7582 2007-12-03  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
7583
7584         * clutter/glx/clutter-stage-glx.c: for extra sanity, set
7585         stage_x11->xvisinfo = NULL after XFree. Makes using the root window
7586         as foreign window possible.
7587
7588 2007-11-30  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
7589
7590         * clutter/clutter-timeline.c: (clutter_timeline_get_delta): return the
7591         number of milliseconds passed between new-frame events instead of
7592         since new-frame events, thus making sure that the sum of _get_delta's
7593         returned for all new-frame events is equal to total time elapsed.
7594
7595 2007-11-30  Emmanuele Bassi  <ebassi@openedhand.com>
7596
7597         * clutter/clutter-actor.c (parse_units),
7598         (clutter_actor_parse_custom_node): Do not allow using percentages
7599         of the stage on the stage itself, as it makes little to no
7600         sense.
7601
7602         * clutter/clutter-script.c:
7603         (clutter_script_construct_object): Rearrange code.
7604
7605         * tests/test-script.json: Do not set the size of the stage, to
7606         test for the stage size percentage.
7607
7608 2007-11-30  Emmanuele Bassi  <ebassi@openedhand.com>
7609
7610         * clutter/clutter-model.h: Complete the documentation of
7611         the ClutterModelClass structure members.
7612
7613 2007-11-30  Emmanuele Bassi  <ebassi@openedhand.com>
7614
7615         * clutter/clutter-timeline.h:
7616         * clutter/clutter-timeline.c
7617         (timeline_timeout_func),
7618         (clutter_timeline_get_delta): Add a function for retrieving
7619         the number of frames and the time (in milliseconds) elapsed
7620         since the last timeline ::new-frame signal. This can be useful
7621         for implementing a physics engine or just for knowing how if
7622         and how many frames have been skipped.
7623
7624 2007-11-30  Emmanuele Bassi  <ebassi@openedhand.com>
7625
7626         * clutter/clutter-actor.c (parse_units),
7627         (clutter_actor_parse_custom_node),
7628         (clutter_scriptable_iface_init): Override the parsing code
7629         for the x, y, width and height properties of ClutterActor,
7630         to allow strings with modifiers when defining the position
7631         and/or the dimensions of an actor. Bare integers are assumed
7632         as pixels; floating point values in the [0, 1] interval are
7633         assumed as percentages; strings can have these modifiers:
7634
7635           - px - pixels
7636           - mm - millimeters
7637           - pt - points (at the current resolution)
7638           - %  - percentage of the stage
7639
7640         * clutter/clutter-units.h: Fix the conversion macros
7641
7642         * tests/test-script.json: Test the new values.
7643
7644 2007-11-29  Emmanuele Bassi  <ebassi@openedhand.com>
7645
7646         * clutter/clutter-model.[ch]: Slight API change in the constructor
7647         functions for ClutterModel: clutter_model_new() now takes a list
7648         of GType/string pairs for both the column type and the column name.
7649
7650         (clutter_model_set_n_columns),
7651         (clutter_model_set_names),
7652         (clutter_model_set_types): Subclasses of ClutterModel will be able
7653         to call clutter_model_set_types() and clutter_model_set_names() in
7654         any order, provided that they don't call each function more than
7655         once.
7656
7657         * tests/test-model.c: Update the test case.
7658
7659 2007-11-29  Tomas Frydrych  <tf@openedhand.com>
7660
7661         * clutter/clutter-actor.h:
7662         * clutter/clutter-actor.c:
7663         Converted depth and rotation offsets to ClutterUnit.
7664
7665         (clutter_actor_set_depthu):
7666         (clutter_actor_get_depthu):
7667         Additional ClutterUnit API.
7668
7669         (_clutter_actor_apply_modelview_transform):
7670         Use cogl_translatex() in place of cogl_translate().
7671
7672 2007-11-29  Emmanuele Bassi  <ebassi@openedhand.com>
7673
7674         * *: Add svn:ignore property to every directory, so that
7675         svn status starts being useful.
7676
7677 2007-11-29  Matthew Allum  <mallum@openedhand.com>
7678
7679         * clutter/clutter-main.c: (generate_enter_leave_events):
7680         Minor formatting tweak.
7681         * configure.ac:
7682         Typo fix from Damien Lespiau (via mailing list)
7683
7684 2007-11-28  Emmanuele Bassi  <ebassi@openedhand.com>
7685
7686         Add more introspection capabilities to the base model class
7687
7688         * clutter/clutter-model.h:
7689         * clutter/clutter-model.c:
7690         (clutter_model_finalize): Do no leak the column types array.
7691
7692         (clutter_model_get_n_columns): Function for getting the number
7693         of columns inside a model.
7694
7695         (clutter_model_set_names): Add API for setting the names of the
7696         columns.
7697
7698         (clutter_model_get_column_name),
7699         (_model_get_column_type): Add API for getting each column's name,
7700         and the default implementation for ClutterModel.
7701
7702         (clutter_model_get_column_type),
7703         (_model_get_iter_at_row): Add API for getting each column's type,
7704         and the default implementation for ClutterModel.
7705
7706         * clutter.symbols: Add ClutterModel and ClutterModelIter symbols,
7707         and keep the symbols file sorted.
7708
7709 2007-11-28  Tomas Frydrych  <tf@openedhand.com>
7710
7711         * clutter/clutter-actor.c:
7712         * clutter/clutter-actor.h:
7713         (clutter_actor_set_positionu):
7714         (clutter_actor_set_sizeu):
7715         (clutter_actor_get_widthu):
7716         (clutter_actor_get_heightu):
7717         (clutter_actor_set_widthu):
7718         (clutter_actor_set_heightu):
7719         (clutter_actor_get_xu):
7720         (clutter_actor_get_yu):
7721         (clutter_actor_set_xu):
7722         (clutter_actor_set_yu):
7723         Expanded ClutterActor API with new ClutterUnit-base functions.
7724
7725         * clutter/clutter-stage.c:
7726         * clutter/clutter-stage.h:
7727         (clutter_stage_get_resolution):
7728         (clutter_stage_get_resolutionx):
7729         New function to query stage resolution (floating and fixed point
7730         versions).
7731
7732         * clutter/clutter-units.h:
7733         (CLUTTER_UNITS_FROM_STAGE_WIDTH_PERCENTAGE):
7734         (CLUTTER_UNITS_FROM_STAGE_HEIGHT_PERCENTAGE):
7735         (CLUTTER_UNITS_FROM_PARENT_WIDTH_PERCENTAGE):
7736         (CLUTTER_UNITS_FROM_PARENT_HEIGHT_PERCENTAGE):
7737         (CLUTTER_UNITS_FROM_MM):
7738         (CLUTTER_UNITS_FROM_MMX):
7739         (CLUTTER_UNITS_FROM_POINTS):
7740         (CLUTTER_UNITS_FROM_POINTSX):
7741         New macros for conversions to ClutterUnits.
7742
7743         * clutter.symbols:
7744         Added:
7745                 ClutterActor anchor_point functions,
7746                 clutter_stage_get_resolution functions.
7747
7748         Removed:
7749                 clutter_actor_scale_with_gravity functions.
7750
7751 2007-11-28  Emmanuele Bassi  <ebassi@openedhand.com>
7752
7753         * clutter/clutter-actor.[ch]: Documentation fixes.
7754
7755 2007-11-28  Emmanuele Bassi  <ebassi@openedhand.com>
7756
7757         Remove the layout containers: they will be moved to a
7758         high-level library.
7759
7760         * clutter/clutter.h:
7761         * clutter/Makefile.am: Remove layout and boxes from the
7762         build.
7763
7764         * clutter/clutter-layout.[ch]: Remove the ClutterLayout
7765         interface.
7766
7767         * clutter/clutter-box.[ch]:
7768         * clutter/clutter-hbox.[ch]:
7769         * clutter/clutter-vbox.[ch]: Remove ClutterBox and its
7770         subclasses.
7771
7772         * clutter/clutter-label.c: Remove ClutterLayout implementation
7773
7774         * clutter/clutter-script-private.h:
7775         * clutter/clutter-script-parser.c:
7776         * clutter/clutter-script.c:
7777         (clutter_script_parse_node): Remove special parsing for
7778         ClutterMargin and ClutterPadding.
7779
7780         * clutter/clutter-types.h: Remove ClutterPadding and ClutterMargin.
7781
7782         * tests/Makefile.am:
7783         * tests/test-boxes.c: Remove the boxes test case.
7784
7785 2007-11-28  Tomas Frydrych  <tf@openedhand.com>
7786
7787         * clutter/NEWS:
7788         Started 0.6.0 section with comment on actor anchor point.
7789
7790         * clutter/clutter/clutter-actor.c:
7791         * clutter/clutter/clutter-actor.h:
7792         * clutter/clutter/clutter-behaviour-scale.c:
7793         * clutter/clutter/clutter-deprecated.h:
7794         (clutter_actor_set_anchor_point):
7795         (clutter_actor_set_anchor_pointu):
7796         (clutter_actor_get_anchor_point):
7797         (clutter_actor_get_anchor_pointu):
7798         (clutter_actor_set_anchor_point_from_gravity):
7799         New anchor point API deprecating old gravity scaling, added
7800         comments on modelview matrix construction to ClutterActor
7801         documentation.
7802
7803         (clutter_actor_set_scale_with_gravity):
7804         (clutter_actor_set_scale_with_gravityx):
7805         Deprecated; use clutter_actor_set_anchor_point_from_gravity() instead.
7806
7807 2007-11-28  Emmanuele Bassi  <ebassi@openedhand.com>
7808
7809         * clutter/clutter-effect.[ch]: Add clutter_effect_template_construct()
7810         function, for language bindings that need to set the alpha function
7811         but cannot call the clutter_effect_template_new() ctor themselves.
7812
7813 2007-11-27  Tomas Frydrych  <tf@openedhand.com>
7814
7815         * clutter/clutter-behaviour-ellipse.c:
7816         * clutter/clutter-behaviour-ellipse.h:
7817         (clutter_behaviour_ellipse_get_angle_startx):
7818         (clutter_behaviour_ellipse_set_angle_startx):
7819         (clutter_behaviour_ellipse_get_angle_endx):
7820         (clutter_behaviour_ellipse_set_angle_endx):
7821         (clutter_behaviour_ellipse_get_angle_tiltx):
7822         (clutter_behaviour_ellipse_set_angle_tiltx):
7823         Changed to take and return angles in degrees represented as
7824         ClutterFixed.
7825
7826 2007-11-27  Emmanuele Bassi  <ebassi@openedhand.com>
7827
7828         * clutter/clutter-actor.c (clutter_actor_destroy): Remove the
7829         reference we hold on the actor, as it was preventing the finalization
7830         of every child on the stage.
7831
7832 2007-11-26  Emmanuele Bassi  <ebassi@openedhand.com>
7833
7834         * clutter/x11/clutter-stage-x11.c:
7835         (clutter_stage_x11_set_cursor_visible): Restore the XFixes usage,
7836         as it now seems to be have been fixed.
7837
7838 2007-11-26  Emmanuele Bassi  <ebassi@openedhand.com>
7839
7840         * clutter/clutter-actor.c:
7841         (clutter_actor_real_show),
7842         (clutter_actor_real_hide): Do not set the MAPPED flag on the actor
7843         if it is a top-level one (like ClutterStage); the backends are
7844         responsible for setting that flag, as it might be the result of an
7845         asynchronous operation (e.g. on X11).
7846
7847         * clutter/eglnative/clutter-stage-egl.c:
7848         (clutter_stage_egl_show),
7849         (clutter_stage_egl_hide): Set/unset the CLUTTER_ACTOR_MAPPED flag
7850         on show and hide respectively.
7851
7852         * clutter/osx/clutter-stage-osx.c:
7853         (clutter_stage_osx_show),
7854         (clutter_stage_osx_hide): Ditto as above.
7855
7856         * clutter/sdl/clutter-stage-sdl.c:
7857         (clutter_stage_sdl_show),
7858         (clutter_stage_sdl_hide): Ditto as above, plus chain up to the
7859         parent class show/hide virtual functions.
7860
7861         * clutter/x11/clutter-event-x11.c (event_translate): Use the MapNotify
7862         and UnmapNotify events to call the X11 stage map/unmap functions.
7863
7864         * clutter/x11/clutter-stage-x11.[ch]:
7865         (clutter_stage_x11_set_fullscreen): Set the fullscreen_on_map flag
7866         with the fullscreen value.
7867
7868         (clutter_stage_x11_map), (clutter_stage_x11_unmap): Set the MAPPED
7869         flag on the stage actor and redraw; also, if the fullscreen_on_map
7870         flag was set, call clutter_stage_fullscreen() as well. (#648)
7871
7872         * tests/Makefile.am:
7873         * tests/test-fullscreen.c: Add a fullscreen test case for checking
7874         whether fullscreen works on every backend/platform.
7875
7876 2007-11-23  Emmanuele Bassi  <ebassi@openedhand.com>
7877
7878         * clutter/clutter-actor.c:
7879         (clutter_actor_real_request_coords),
7880         (clutter_actor_request_coords),
7881         (clutter_actor_class_init): Provide a default ::request_coords()
7882         implementation in ClutterActor and use it to store the bounding
7883         box passed to clutter_actor_request_coords(). This makes the code
7884         more reliable and clean, and avoids a call to the subclass
7885         request_coords() method if the bounding box did not change. Now,
7886         every class overriding ClutterActor::request_coords() *must* chain
7887         up to the parent class method or the bounding box will not be
7888         saved inside the ClutterActor structure.
7889
7890         * clutter/clutter-entry.c:
7891         * clutter/clutter-group.c:
7892         * clutter/clutter-hbox.c:
7893         * clutter/clutter-label.c:
7894         * clutter/clutter-texture.c:
7895         * clutter/clutter-vbox.c: Chain up to the parent class
7896         request_coords() method.
7897
7898 2007-11-23  Emmanuele Bassi  <ebassi@openedhand.com>
7899
7900         * clutter/clutter-event.h: Add more documentation.
7901
7902 2007-11-23  Emmanuele Bassi  <ebassi@openedhand.com>
7903
7904         * tests/test-event.c: Back out an accidental commit.
7905
7906 2007-11-23  Emmanuele Bassi  <ebassi@openedhand.com>
7907
7908         * clutter/clutter-actor.c:
7909         * clutter/clutter-alpha.c:
7910         * clutter/clutter-effect.c:
7911         * clutter/clutter-event.c:
7912         * clutter/clutter-event.h:
7913         * clutter/clutter-group.h:
7914         * clutter/clutter-model.c:,
7915         * clutter/clutter-script.c:
7916         * clutter/clutter-scriptable.h:
7917         * clutter/clutter-stage.c: Documentation fixes.
7918
7919         * clutter/clutter-score.c: Fix implementation.
7920
7921 2007-11-23  Emmanuele Bassi  <ebassi@openedhand.com>
7922
7923         * clutter/x11/clutter-stage-x11.c: Chain up the hide and show
7924         to the parent's implementation.
7925
7926 2007-11-23  Emmanuele Bassi  <ebassi@openedhand.com>
7927
7928         * clutter/clutter-effect.[ch]: Update the effects API to remove
7929         the start value for most of them.
7930
7931         (clutter_effect_move): Make it a simple "move from current
7932         position to new coordinates" effect.
7933
7934         (clutter_effect_path): Rename from clutter_effect_move().
7935
7936         (clutter_effect_rotate): Sync up with the new actor rotation API.
7937
7938         * tests/test-effects.c: Regression test for the effects.
7939
7940         * tests/Makefile.am: Build glue for test-effects
7941
7942         * tests/test-behave.c: Emulate a full ramp by using a looping
7943         timeline changing its direction when reaching the last frame.
7944
7945 2007-11-23  Emmanuele Bassi  <ebassi@openedhand.com>
7946
7947         * clutter/clutter-actor.c (clutter_actor_destroy): Bail out
7948         if clutter_actor_destroy() was called on the stage: the stage
7949         is not for the user to destroy.
7950
7951         * clutter/x11/clutter-backend-x11.c:
7952         * clutter/eglnative/clutter-backend-egl.c:
7953         * clutter/sdl/clutter-backend-sdl.c:
7954         * clutter/osx/clutter-backend-osx.c: Unset the top-level private
7955         flag on the stage when disposing it, so the backends can safely
7956         call clutter_actor_destroy().
7957
7958         * clutter/clutter-private.h: Tweak the private flags accessors,
7959         to avoid the typecheck.
7960
7961 2007-11-22  Emmanuele Bassi  <ebassi@openedhand.com>
7962
7963         * clutter/clutter-label.c (clutter_label_new_full): Set the
7964         terminating NULL which was removed when applying patch for
7965         fixing #606. (#645, Gwenole Beauchesne)
7966
7967 2007-11-22  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
7968
7969         * clutter/clutter-actor.c: mended a couple of typos in documentation.
7970
7971 2007-11-21  Matthew Allum  <mallum@openedhand.com>
7972
7973         * clutter/cogl/gles/cogl.c: (cogl_fog_set):
7974         Minor fixes for fog on GLES.
7975
7976 2007-11-21  Emmanuele Bassi  <ebassi@openedhand.com>
7977
7978         * clutter/cogl/cogl.h: Add cogl_fog_set() abstracting the
7979         glFog() functions and enabling the GL_FOG flag.
7980
7981         * clutter/cogl/gl/cogl.c: Add GL implementation of cogl_fog_set().
7982
7983         * clutter/cogl/gles/cogl.c: Add GL/ES implementation of
7984         cogl_fog_set().
7985
7986         * clutter.symbols: Add new symbols.
7987
7988         * clutter/clutter-stage.h: Add API to enable depth cueing on
7989         the stage using a linear GL fog, and to set the parameters
7990         for it (#637).
7991
7992         * clutter/clutter-stage.c (clutter_stage_paint): Enable the
7993         GL fog if the ClutterStage:use-fog property is true.
7994
7995         * tests/test-depth.c: Test the new stage API.
7996
7997 2007-11-20  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
7998
7999         * clutter/clutter-main.c: (event_click_count_generate): generalized
8000         click_count generation code.
8001         * tests/test-events.c: (input_cb): extended test to report click_count
8002         for release and scroll events as well as press events.
8003
8004 2007-11-20  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
8005
8006         * clutter/clutter-main.c: (clutter_do_event): avoid computing source
8007         of events if it is already set (for synthetic events.)
8008         * clutter/clutter-event.c: Add more information to the documentation
8009         of clutter_event_put.
8010
8011 2007-11-20  Emmanuele Bassi  <ebassi@openedhand.com>
8012
8013         * README: Add diff example command lines for submitting patches.
8014
8015 2007-11-20  Emmanuele Bassi  <ebassi@openedhand.com>
8016
8017         * clutter/clutter-actor.c::
8018         * clutter/clutter-behaviour-opacity.c:
8019         * clutter/clutter-clone-texture.c:
8020         * clutter/clutter-effect.c:
8021         * clutter/clutter-label.c: Remove the usage of G_PARAM_CONSTRUCT
8022         without an override for the ::construct virtual function; using
8023         G_PARAM_CONSTRUCT to set the default value of a property is not
8024         the recommended approach; default values are set inside the
8025         instance init function.
8026
8027 2007-11-20  Emmanuele Bassi  <ebassi@openedhand.com>
8028
8029         * clutter/clutter-texture.c (clutter_texture_init): Set filter-quality
8030         value to 1, to fix the regression caused when applying the patch for
8031         buf #616.
8032
8033 2007-11-19  Emmanuele Bassi  <ebassi@openedhand.com>
8034
8035         * clutter/clutter-label.[ch]: Fix ClutterLabel size allocation when
8036         no bounding box has been provided, and store the box set by the
8037         user so that it can be reused when recomputing the layout. (#600)
8038
8039         (clutter_label_class_init),
8040         (clutter_label_init): Set the :wrap property default to FALSE.
8041
8042         * clutter/clutter-units.h: Add ClutterUnit-to-PangoUnit conversion
8043         macro.
8044
8045         * tests/test-rotate.c: Fix string.
8046
8047 2007-11-19  Emmanuele Bassi  <ebassi@openedhand.com>
8048
8049         * clutter/clutter-behaviour-bspline.c:
8050         * clutter/clutter-behaviour-depth.c:
8051         * clutter/clutter-behaviour-ellipse.c:
8052         * clutter/clutter-behaviour-opacity.c:
8053         * clutter/clutter-behaviour-path.c:
8054         * clutter/clutter-behaviour-rotate.c:
8055         * clutter/clutter-behaviour-scale.c: Fix gtk-doc short description.
8056
8057 2007-11-19  Emmanuele Bassi  <ebassi@openedhand.com>
8058
8059         * clutter.symbols: Update
8060
8061         * clutter/clutter-actor.h: Rename the angle argument for
8062         set_rotationx() to avoid gtk-doc complaining
8063
8064         * clutter/clutter-main.h:
8065         * clutter/clutter-main.c:
8066         (clutter_set_motion_events_enabled): Rename for consistency
8067
8068         (clutter_get_motion_events_frequency),
8069         (clutter_set_motion_events_frequency): Add accessors for the default
8070         motion events deliver frequency.
8071
8072         (clutter_do_event): Throttle down motion events delivery using the
8073         motion events frequency setting, to avoid excessive redraws. (#608)
8074
8075         (clutter_context_get_default): Enable per-actor motion events, at
8076         least for now.
8077
8078         * tests/test-events.c (red_button_cb):
8079         * tests/test-grab.c (green_press_cb): Update.
8080
8081 2007-11-19  Emmanuele Bassi  <ebassi@openedhand.com>
8082
8083         * clutter/clutter-timeline.c (timeline_timeout_func): Do not emit the
8084         ::new-frame signal twice for the last frame. (#531)
8085
8086 2007-11-19  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
8087
8088         * clutter/clutter-actor.[ch]: (clutter_actor_set_rotationx),
8089         (clutter_actor_set_rotation): swapped axis and angle around,
8090         the new argument order is: (axis, angle, x, y, z). Also removed
8091         deprecated rotation functions from header.
8092
8093         Updated use of clutter_actor_set_rotation? in the following files:
8094
8095         * clutter/clutter-behaviour-rotate.c:
8096         * clutter/clutter-effect.c:
8097         * tests/test-actors.c:
8098         * tests/test-project.c:
8099
8100 2007-11-19  Emmanuele Bassi  <ebassi@openedhand.com>
8101
8102         * clutter/clutter-label.[ch]: Constify the color argument
8103         for the ClutterLabel ctor. (#604)
8104
8105 2007-11-18  Matthew Allum  <mallum@openedhand.com>
8106
8107         * clutter/clutter-actor.c:
8108         * clutter/clutter-actor.h:
8109         * clutter/clutter-group.c:
8110         * clutter/clutter-main.c:
8111         * clutter/clutter-stage.c:
8112         * tests/test-events.c:
8113         Parent Actors no longer need to be set reactive for reactive
8114         children to get events. Also makes groups now pickable.
8115         (#597, #423)
8116
8117         * clutter/clutter-texture.c:
8118         Handle case when 1x1 tiled texture is created,
8119         falling 'back' to being non tiled. (#596)
8120
8121         * clutter/eglx/clutter-backend-egl.c:
8122         Call EglTerminate on backend shutdown.
8123
8124 2007-11-18  Emmanuele Bassi  <ebassi@openedhand.com>
8125
8126         * clutter.pc.in: Bump up glib-2.0 dependency.
8127
8128 2007-11-18  Emmanuele Bassi  <ebassi@openedhand.com>
8129
8130         * clutter/clutter-model.c: Add gtk-doc section for
8131         ClutterModelIter
8132
8133         * clutter/clutter-script.h: Fix argument name.
8134
8135         * clutter/x11/clutter-x11.h:
8136         * clutter/x11/clutter-event-x11.c:
8137         * clutter/x11/clutter-backend-x11.c: Document functions and
8138         types.
8139
8140 2007-11-18  Emmanuele Bassi  <ebassi@openedhand.com>
8141
8142         * clutter.symbols: Update exported symbols.
8143
8144         * clutter/clutter-actor.[ch]: Remove clutter_actor_rotate_*
8145         and clutter_actor_get_rx* and provide a simpler rotation API:
8146         clutter_actor_set_rotation() and clutter_actor_get_rotation().
8147
8148         * clutter/clutter-deprecated.h: Deprecate the old rotation API.
8149
8150         * clutter/clutter-behaviour-bspline.c:
8151         * clutter/clutter-behaviour-rotate.c:
8152         * clutter/clutter-effect.c: Update internal usage of the
8153         rotation API.
8154
8155         * tests/test-project.c: Ditto as above.
8156
8157 2007-11-17  Emmanuele Bassi  <ebassi@openedhand.com>
8158
8159         Optimise Atoms usage in the X11 and X11-based backends.
8160
8161         * clutter/x11/clutter-backend-x11.c:
8162         (clutter_backend_x11_post_parse): Call XInternAtoms() here and
8163         get all the atoms from X in one call.
8164
8165         * clutter/x11/clutter-backend-x11.h: Store all the atoms inside
8166         the ClutterBackendX11 structure.
8167
8168         * clutter/x11/clutter-event-x11.c:
8169         (xembed_send_message), (xembed_set_info),
8170         (_clutter_backend_x11_events_init),
8171         (set_user_time), (handle_wm_protocols_event),
8172         (handle_xembed_event), (event_translate): Do not cache atoms
8173         or call XInternAtom() directly, and use the atoms off the X11
8174         backend structure instead.
8175
8176         * clutter/x11/clutter-stage-x11.c:
8177         (send_wmspec_change_state), (clutter_stage_x11_set_wm_protocols),
8178         (clutter_stage_x11_set_fullscreen),
8179         (clutter_stage_x11_set_title): Ditto as above.
8180
8181         * clutter/x11/clutter-stage-x11.h: Update the set_wm_protocols()
8182         method to take the X11 stage implementation.
8183
8184         * clutter/glx/clutter-stage-glx.c:
8185         (clutter_stage_glx_realize): Update for the set_wm_protocols()
8186         change.
8187
8188         * tests/test-project.c: (main): Test clutter_stage_set_title().
8189
8190 2007-11-17  Emmanuele Bassi  <ebassi@openedhand.com>
8191
8192         * configure.ac: Depend on GLib >= 2.14 because of ClutterModel
8193         usage of GSequence.
8194
8195 2007-11-16  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
8196
8197         * clutter/clutter-main.c: (emit_event): renamed from deliver_event,
8198         (emit_pointer_event): utility function to emit pointer event signals
8199         (which takes pointer grab into account).
8200         (emit_keyboard_event): utility function to emit keyboard event signals
8201         (which takes keyboard grab into account).
8202         (clutter_do_event): use the above utility functions, also reindented
8203         the source.
8204
8205 2007-11-16  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
8206
8207         * tests/test-grab.c: (main): fix use of clutter_actor_set_reactive
8208
8209 2007-11-15  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
8210
8211         * clutter/clutter-main.[ch]: added clutter_grab_keyboard,
8212         clutter_ungrab_keyboard and clutter_get_keyboard_grab, in
8213         clutter_do_event deliver keyboard related events only to the
8214         actor with the keyboard grab if a grab exists.
8215         * clutter/clutter-private.h: added keyboard_grab_actor to context.
8216         * tests/test-grab.c: added testing for testing the keyboard grab.
8217
8218 2007-11-15  Emmanuele Bassi  <ebassi@openedhand.com>
8219
8220         * clutter/clutter-texture.c:
8221         (clutter_texture_request_coords), (clutter_texture_class_init),
8222         (clutter_texture_init): Unset :sync-size if explicitly setting
8223         the texture size. (#616)
8224
8225 2007-11-15  Emmanuele Bassi  <ebassi@openedhand.com>
8226
8227         * clutter/clutter-actor.[ch]: Massive API clean-ups. Initial
8228         fixes for bugs #614 and #628.
8229
8230         * clutter/clutter-main.c:
8231         * clutter/clutter-stage.c: Update internal usage of the actor
8232         API.
8233
8234         * tests/test-events.c: Update test suite.
8235
8236 2007-11-15  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
8237
8238         * clutter/clutter-main.c: (generate_enter_leave_events),
8239         (clutter_do_event): moved the generation of enter/leave events
8240         to a utility function.
8241
8242 2007-11-15  Neil J. Patel  <njp@o-hand.com>
8243
8244         * clutter/clutter-model.c:
8245         Added some more examples to the documentation, plus explained how the
8246         iters work internally.
8247
8248 2007-11-15  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
8249
8250         * clutter/clutter-main.[ch]: added clutter_grab_pointer,
8251         clutter_ungrab_pointer and clutter_get_pointer_grab, in
8252         clutter_do_event deliver pointer related events only to the
8253         actor with the pointer grab if a grab exists.
8254         * clutter/clutter-private.h: added pointer_grab_actor to context.
8255         * tests/Makefile.am:
8256         * tests/test-grab.c: added test for testing the pointer grab.
8257
8258 2007-11-15  Emmanuele Bassi  <ebassi@openedhand.com>
8259
8260         * clutter/clutter-timeline.[ch]: Add ClutterTimeline:direction
8261         property, defining the direction (forward or backward) of the
8262         timeline.
8263
8264         * tests/test-timeline.c: Test the direction property.
8265
8266         * clutter.symbols: Update exported symbols
8267
8268 2007-11-15  Emmanuele Bassi  <ebassi@openedhand.com>
8269
8270         * clutter/clutter-effect.h:
8271         * clutter/clutter-effect.c:
8272         (clutter_effect_template_new_for_duration): Add a simple constructor
8273         for implicitly creating a ClutterTimeline with a given duration.
8274
8275 2007-11-15  Emmanuele Bassi  <ebassi@openedhand.com>
8276
8277         * clutter.symbols: Update with the new public symbols
8278
8279         * clutter/clutter-script.h:
8280         * clutter/clutter-script-private.h:
8281         * clutter/clutter-script.c:
8282         (parse_signals), (json_object_end),
8283         (signal_info_free), (object_info_free): Parse the "signals"
8284         member for GObjects.
8285
8286         (clutter_script_connect_signals),
8287         (clutter_script_connect_signals_full): Add new API for autoconnecting
8288         signal handlers using the UI definition files.
8289
8290         * tests/test-script.c:
8291         * tests/test-script.json: Test signal autoconnection.
8292
8293 2007-11-15  Matthew Allum  <mallum@openedhand.com>
8294
8295         * clutter/Makefile.am:
8296         * clutter/eglx/Makefile.am:
8297         * clutter/eglx/clutter-backend-egl.c:
8298         * clutter/eglx/clutter-backend-egl.h:
8299         * clutter/eglx/clutter-eglx.h:
8300         * clutter/eglx/clutter-event-egl.c:
8301         * clutter/eglx/clutter-stage-egl.c:
8302         * clutter/eglx/clutter-stage-egl.h:
8303         * clutter/glx/Makefile.am:
8304         * clutter/glx/clutter-backend-glx.c:
8305         * clutter/glx/clutter-backend-glx.h:
8306         * clutter/glx/clutter-event-glx.c:
8307         * clutter/glx/clutter-glx.h:
8308         * clutter/glx/clutter-stage-glx.c:
8309         * clutter/glx/clutter-stage-glx.h:
8310         * clutter/x11/Makefile.am:
8311         * clutter/x11/clutter-backend-x11-private.h:
8312         * clutter/x11/clutter-backend-x11.c:
8313         * clutter/x11/clutter-backend-x11.h:
8314         * clutter/x11/clutter-event-x11.c:
8315         * clutter/x11/clutter-stage-x11.c:
8316         * clutter/x11/clutter-stage-x11.h:
8317         * clutter/x11/clutter-x11.h:
8318         Create a new X11 backend class of which EGL and GLX 'real' backends
8319         then subclass. Effectively shares all X11 code between both backends
8320         avoids code duplication and brings many missing features to EGL X
8321         backend. Requires some cleanup and testing. (#518)
8322
8323         * clutter/cogl/gles/cogl.c: (cogl_color):
8324         Add define to use color4ub only if configure finds it.
8325         If not fall back to old code.
8326
8327         * configure.ac:
8328         Drop support for vincent checks.
8329         Drop sdles backend.
8330         Specifically check for color4ub call.
8331
8332 2007-11-15  Neil J. Patel  <njp@o-hand.com>
8333
8334         * clutter/Makefile.am:
8335         * clutter/clutter-model.c:
8336         * clutter/clutter-model.h:
8337         * clutter/clutter.h:
8338         * tests/Makefile.am:
8339         * tests/test-model.c:
8340         Merged ClutterModel, which closes #443.
8341
8342 2007-11-14  Emmanuele Bassi  <ebassi@openedhand.com>
8343
8344         * clutter/clutter-clone-texture.c (set_parent_texture): Hide the
8345         clone texture only if it was visible, and show it again if we
8346         are adding a visible texture.
8347
8348         * tests/test-script.json: Test the CloneTexture actor.
8349
8350 2007-11-14  Emmanuele Bassi  <ebassi@openedhand.com>
8351
8352         * clutter/clutter-actor.[ch]: Rename clutter_actor_get_id() to
8353         clutter_actor_get_gid().
8354
8355         (clutter_actor_set_parent): Use GUINT_TO_POINTER().
8356
8357         * clutter/clutter-deprecated.h: Add a replacement warning for
8358         clutter_actor_get_id().
8359
8360         * clutter/clutter-texture.c (texture_upload_data): Use
8361         clutter_actor_get_gid(), and don't leak the filename string.
8362
8363 2007-11-14  Emmanuele Bassi  <ebassi@openedhand.com>
8364
8365         * clutter/clutter-scriptable.[ch]: Rename ::set_name and ::get_name
8366         to ::set_id and ::get_id, to avoid potential confusion with the
8367         ClutterActor:name property.
8368
8369         * clutter/clutter-script.h:
8370         * clutter/clutter-script.c (clutter_script_construct_object): Use
8371         clutter_scriptable_set_id().
8372
8373         (clutter_get_script_id): Add a public function to retrieve the ID
8374         used in the UI definition files from an object.
8375
8376         * clutter/clutter-actor.c: Do not set the name of the actor with
8377         the ID set in the UI definition files.
8378
8379         * tests/test-script.c: Test clutter_get_script_id().
8380
8381         * clutter.symbols: Update with the new symbols.
8382
8383 2007-11-14  Emmanuele Bassi  <ebassi@openedhand.com>
8384
8385         * clutter/cutter-deprecated.h: Don't let everyone know from where
8386         we have stolen^Wtaken inspiration for the deprecation warnings.
8387
8388 2007-11-13  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
8389
8390         * clutter/clutter-behaviour-bspline.[ch]:
8391         Replaced clutter_behaviour_bspline_append with
8392         clutter_behaviour_bspline_append_knots. Fixes bug #582.
8393         * clutter/clutter-deprecated.h: added deprecation macro reflecting the
8394         API change.
8395
8396 2007-11-13  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
8397
8398         * clutter/Makefile.am:
8399         * clutter/clutter.h: include clutter-deprecated.h
8400         * clutter/clutter-deprecated.h: added file containing macros that
8401         provides more meaningful errors when compiling clutter using code that
8402         uses deprecated functions.
8403
8404 2007-11-13  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
8405
8406         Renamed all properties of behaviours (and related
8407         functions/variables/parameters)
8408         to match the pattern something-start, something-end. Fixes bug #577.
8409
8410         * clutter/clutter-behaviour-depth.c:
8411         * clutter/clutter-behaviour-depth.h:
8412         * clutter/clutter-behaviour-ellipse.c:
8413         * clutter/clutter-behaviour-ellipse.h:
8414         * clutter/clutter-behaviour-path.c:
8415         * clutter/clutter-behaviour-rotate.c:
8416         * clutter/clutter-behaviour-rotate.h:
8417         * clutter/clutter-behaviour-scale.c:
8418         * clutter/clutter-behaviour-scale.h:
8419         * clutter/clutter-effect.c:
8420         * clutter/clutter-effect.h:
8421         * clutter/clutter-script.c:
8422         * tests/test-depth.c:
8423         * tests/test-script.c:
8424
8425 2007-11-06  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
8426
8427         * clutter/clutter-event.h: made ClutterEventAny have a source field,
8428         rearanged other structs to have source in the same position.
8429         * clutter/clutter-event.c: (clutter_event_get_source): modified to use
8430         the any event.
8431         (clutter_event_free): removed unused variable.
8432         * clutter/clutter-main.c: (deliver_event), (clutter_do_event): reduced
8433         amount of code. As well as deliver button-release events to the stage.
8434
8435 2007-11-08  Rob Bradford  <rob@openedhand.com>
8436
8437         * clutter/glx/clutter-glx.h:
8438         Include <X11/Xutil.h> needed for the definition of XVisualInfo.
8439
8440 2007-11-08  Rob Bradford  <rob@openedhand.com>
8441
8442         * clutter/cogl/gles/cogl.c: (cogl_color):
8443         Switch over to using glColor4ub in the GLES backend. It's available in
8444         the header file but missing in the reference manual.
8445
8446 2007-11-07  Emmanuele Bassi  <ebassi@openedhand.com>
8447
8448         * clutter/clutter-actor.[ch]: Fix the declaration of the
8449         class handlers for the ::captured-event, ::enter-event and
8450         ::leave-event signals; the function signatures were missing
8451         the return value the signals marshallers were expecting, and
8452         their names weren't respecting the convention for event-related
8453         signals.
8454
8455 2007-11-06  Tomas Frydrych  <tf@o-hand.com>
8456
8457         * clutter/clutter-fixed.h:
8458         Added CLUTTER_SQRTI_ARG_MAX, CLUTTER_SQRTI_5_PERCENT,
8459         CLUTTER_SQRTI_10_PERCENT expressing clutter_sqrti limits.
8460         Stripped trailing whitespace.
8461
8462         * clutter/clutter-fixed.c:
8463         (clutter_sqrti):
8464         Updated documentation, stripped trailing whitespace.
8465
8466         * clutter/clutter-behaviour-path.c:
8467         (node_distance):
8468         Use clib sqrt if clutter_sqrti() precission would be worse than
8469         10%.
8470         Stripped trailing whitespace.
8471
8472 2007-11-06  Emmanuele Bassi  <ebassi@openedhand.com>
8473
8474         * clutter/clutter-layout.h: Add commodity macros to test for
8475         a specific layout flag in one line.
8476
8477 2007-11-06  Emmanuele Bassi  <ebassi@openedhand.com>
8478
8479         * clutter/clutter-box.c (clutter_box_dispose): Call unparent()
8480         on the children, instead of destroy(), to avoid a double free
8481         and a crash when destroying a ClutterBox.
8482
8483 2007-11-06  Emmanuele Bassi  <ebassi@openedhand.com>
8484
8485         * clutter/clutter-label.c: Break the references in ::dispose,
8486         and free the resources in ::finalize.
8487
8488 2007-11-05  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
8489
8490         * clutter/clutter-container.[ch]: removed find_child_by_id method
8491         from interface (and all implementations of it) since this
8492         functionality is now implemented using a global hash.
8493         * clutter/clutter-box.c:
8494         * clutter/clutter-group.c:
8495
8496 2007-11-01  Emmanuele Bassi  <ebassi@openedhand.com>
8497
8498         * clutter/clutter-script.c: Do not keep ownership of the
8499         pixbufs we load.
8500
8501 2007-10-31  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
8502
8503         * clutter/clutter-main.c: (_clutter_do_pick): disable dithering
8504         when painting in pick mode.
8505
8506 2007-10-31  Matthew Allum  <mallum@openedhand.com>
8507
8508         * clutter/clutter-score.c:
8509         Various minor improvements to ClutterScore.
8510
8511 2007-10-30  Emmanuele Bassi  <ebassi@openedhand.com>
8512
8513         * clutter/clutter-layout.c: Fix documentation, with regards to
8514         the containers handling of the children implementing the
8515         ClutterLayout interface.
8516
8517 2007-10-29  Emmanuele Bassi  <ebassi@openedhand.com>
8518
8519         * configure.ac:
8520         * clutter/cogl/gl/cogl-defines.h.in: The OS X backend has a funny
8521         OpenGL header location, so it basically did break every application
8522         including clutter/cogl.h because the GL header inclusion depended
8523         on symbols defined into Clutter's config.h. Now, we define the
8524         GL header into the configure template and use it to create the
8525         cogl-defines.h file cogl.h includes.
8526
8527 2007-10-29  Emmanuele Bassi  <ebassi@openedhand.com>
8528
8529         * clutter/json/json-parser.c: Enable parsing of negative numbers;
8530         GScanner splits negative numbers into two tokens, so we need to
8531         special case them.
8532
8533 2007-10-29  Emmanuele Bassi  <ebassi@openedhand.com>
8534
8535         * clutter/clutter-script.c: Add the :filename and :filename-set
8536         properties, to retrieve the path of the currently parsed file (if
8537         :filename-set is TRUE) from the ClutterScriptable implementations.
8538
8539 2007-10-28  Matthew Allum  <mallum@openedhand.com>
8540
8541         * clutter/clutter-effect.c:
8542         Small doc fix (#584)
8543
8544 2007-10-27  Emmanuele Bassi  <ebassi@openedhand.com>
8545
8546         * clutter/json/json-parser.c:
8547         (json_scanner_msg_handler): Set the GError to be returned by
8548         the parsing functions into the GScanner error message handler.
8549
8550         (json_parser_object): Return the symbol token in case we have
8551         a parse error after the member name.
8552
8553         (json_parser_load_from_data): Propagate the error set in the
8554         message handler, if any.
8555
8556         * clutter/json/json-node.c (json_node_free): Unref the objects
8557         only if are set, to avoid a couple of needless criticals we
8558         get on error.
8559
8560         * tests/test-script.json: More properties.
8561
8562 2007-10-27  Emmanuele Bassi  <ebassi@openedhand.com>
8563
8564         * clutter/clutter-script.[ch]: Slight API change in the
8565         clutter_script_get_objects() function: now it takes
8566         object name/object return location pairs and returns the
8567         number of objects found and returned.
8568
8569         * tests/test-script.c: Exercise the clutter_script_get_objects()
8570         function.
8571
8572 2007-10-27  Emmanuele Bassi  <ebassi@openedhand.com>
8573
8574         * clutter/clutter-rectangle.c (clutter_rectangle_paint): Use
8575         CGL_ENABLE_BLEND flag instead of CGL_BLEND value. (#580,
8576         Gwenole Beauchesne)
8577
8578 2007-10-27  Emmanuele Bassi  <ebassi@openedhand.com>
8579
8580         * clutter/clutter-color.c (clutter_color_to_string): Update the
8581         documentation for the format of the returned string, and remove
8582         the note: now clutter_color_parse() can parse the string this
8583         function returns.
8584
8585 2007-10-27  Emmanuele Bassi  <ebassi@openedhand.com>
8586
8587         * clutter/pango/pangoclutter-render.c: Last usage of guint
8588         replaced with COGLuint. (Tommi Komulainen)
8589
8590 2007-10-26  Matthew Allum  <mallum@openedhand.com>
8591
8592         * clutter/clutter-texture.c:
8593         * clutter/cogl/cogl.h:
8594         * clutter/cogl/gl/cogl-defines.h:
8595         * clutter/cogl/gles/cogl-defines.h:
8596         * clutter/cogl/gl/cogl.c:
8597         * clutter/cogl/gles/cogl.c:
8598         Switch from use of guint to COGLuint. Avoids problems when
8599         guint != GLuint on some platforms, i.e OSX.
8600         (Tommi Komulainen, #525, #523)
8601
8602         * clutter/Makefile.am:
8603         * clutter/osx/Makefile.am:
8604         * clutter/osx/clutter-backend-osx.c:
8605         * clutter/osx/clutter-backend-osx.h:
8606         * clutter/osx/clutter-event-osx.c:
8607         * clutter/osx/clutter-osx.h:
8608         * clutter/osx/clutter-stage-osx.c:
8609         * clutter/osx/clutter-stage-osx.h:
8610         * configure.ac:
8611         Add initial Cocoa/OSX Backend (by Tommi Komulainen, see #526)
8612
8613 2007-10-26  Emmanuele Bassi  <ebassi@openedhand.com>
8614
8615         * clutter/clutter-entry.c: Add a :x-align property for aligning
8616         the text in the entry, in case the actor is wider than the
8617         text it shows.
8618
8619 2007-10-26  Emmanuele Bassi  <ebassi@openedhand.com>
8620
8621         * clutter/clutter-main.c: Add a --clutter-default-fps run-time
8622         switch and CLUTTER_DEFAULT_FPS environment variable support for
8623         setting the default frame-rate at run-time.
8624
8625 2007-10-26  Emmanuele Bassi  <ebassi@openedhand.com>
8626
8627         * clutter/clutter-script.h:
8628         * clutter/clutter-script.c: Add a ::get_type_from_name() virtual
8629         function for bindings to override. The current implementation
8630         calls g_type_from_name() and our lazy class resolver.
8631
8632         * clutter.symbols: Update.
8633
8634         * doc/reference/clutter-sections.txt: Update.
8635
8636 2007-10-25  Emmanuele Bassi  <ebassi@openedhand.com>
8637
8638         * clutter/clutter-behaviour-path.c: Reverse the list of
8639         parsed knots, to preserve the real ordering after prepending
8640         them (thanks to Ã˜yvind for spotting this).
8641
8642         * clutter/clutter-behaviour-bspline.c: Ditto as above.
8643
8644 2007-10-25  Emmanuele Bassi  <ebassi@openedhand.com>
8645
8646         * clutter/clutter-script-parser.c: Unset the GValue when
8647         getting a ClutterUnit from a JSON node.
8648
8649 2007-10-25  Emmanuele Bassi  <ebassi@openedhand.com>
8650
8651         * clutter/clutter-behaviour-bspline.c: Implement the
8652         ClutterScriptableIface to parse the custom "knots" property.
8653
8654 2007-10-25  Emmanuele Bassi  <ebassi@openedhand.com>
8655
8656         * tests/test-script.c:
8657         * tests/test-script.json: Rejig the test case and add a
8658         path behaviour to test the knot parsing code.
8659
8660 2007-10-25  Emmanuele Bassi  <ebassi@openedhand.com>
8661
8662         * clutter/cogl/cogl.h: Do not include <clutter/clutter.h>.
8663
8664 2007-10-25  Emmanuele Bassi  <ebassi@openedhand.com>
8665
8666         * clutter/clutter-behaviour-path.c: Implement the
8667         ClutterScriptableIface to parse the custom "knots" property.
8668
8669 2007-10-25  Emmanuele Bassi  <ebassi@openedhand.com>
8670
8671         * clutter/clutter-texture.c (clutter_texture_set_property): Do
8672         not try to set NULL pixbufs.
8673
8674 2007-10-25  Emmanuele Bassi  <ebassi@openedhand.com>
8675
8676         * clutter/clutter-actor.c: Implement part of the ClutterScriptable
8677         interface, using the ClutterActor API to set and get the name
8678         of an actor.
8679
8680         (clutter_geometry_copy), (clutter_geometry_free): Use
8681         the slice allocator to avoid fragmentation when setting
8682         properties and emitting signals (that is: when packing
8683         boxed types into GValues).
8684
8685         (clutter_actor_box_copy), (clutter_actor_box_free),
8686         (clutter_vertex_copy), (clutter_vertex_free): Ditto.
8687
8688         * clutter/clutter-actor.h:
8689         * clutter/clutter-actor.c:
8690         (clutter_actor_push_transform_child),
8691         (clutter_actor_pop_transfomr_child): Simple wrappers around
8692         COGL API, which avoid including clutter/cogl.h when writing
8693         container actors outside Clutter.
8694
8695 2007-10-25  Emmanuele Bassi  <ebassi@openedhand.com>
8696
8697         * clutter/Makefile.am:
8698         * clutter/clutter.h:
8699         * clutter/clutter-scriptable.[ch]: Add the ClutterScriptable
8700         interface; by implementing this interface, a class can
8701         override the UI definition parsing and transform complex data
8702         types into GObject properties, or allow custom properties.
8703
8704         * clutter/clutter-script.c:
8705         * clutter/clutter-script-parser.c:
8706         * clutter/clutter-script-private.h: Rearrange the code and
8707         use the ClutterScriptable interface to parse and build the
8708         custom properties. This cleans up the code and also it makes
8709         it more reliable (the complex type parsing is now done using
8710         the target type and not just the name of the property).
8711
8712 2007-10-25  Emmanuele Bassi  <ebassi@openedhand.com>
8713
8714         * clutter/clutter-json.h: Header for including the JSON
8715         parsing and data types.
8716
8717         * clutter/json/json-types.h: Add JSON_NODE_VALUE_TYPE() macro.
8718
8719         * clutter/json/Makefile.am: Install the JSON headers into a
8720         private location. This might change in the future, and might
8721         also cause collisions if you're using JSON-GLib and Clutter
8722         at the same time, so be warned.
8723
8724 2007-10-22  Emmanuele Bassi  <ebassi@openedhand.com>
8725
8726         * clutter/clutter-label.c (clutter_label_request_coords): If
8727         we get a size requisition, and we have ellipsization active,
8728         check if we are getting less space than what the layout needs
8729         and recompute the width.
8730
8731 2007-10-22  Emmanuele Bassi  <ebassi@openedhand.com>
8732
8733         * clutter/clutter-color.c (clutter_color_to_string): Change
8734         the print format to "%02x%02x%02x%02x" because we use guint8
8735         for each component, not guint16.
8736
8737 2007-10-19  Emmanuele Bassi  <ebassi@openedhand.com>
8738
8739         * clutter/clutter-entry.c (clutter_entry_paint): Fixed off by
8740         one error. (#566, Gwenole Beauchesne)
8741
8742 2007-10-18  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
8743
8744         * clutter/clutter-timeline.c: (clutter_timeline_set_duration):
8745         rearranged arithemetic to allow specifying duration with sub second
8746         precision (also enables durations smaller than one second).
8747
8748 2007-10-18  Emmanuele Bassi  <ebassi@openedhand.com>
8749
8750         * clutter/clutter-script-private.h:
8751         * clutter/clutter-script.h:
8752         * clutter/clutter-script.c: Allow id-less objects: as long
8753         as they have a "type" member, a unique id will be provided.
8754
8755         (json_object_end): Add merge id to the object information
8756         structure.
8757
8758         (apply_behaviours), (add_children): Keep the unresolved
8759         objects around.
8760
8761         (construct_stage), (clutter_script_construct_object): If an
8762         object has unresolved children or behaviours try resolving
8763         them when we ask for it.
8764
8765         (json_parse_end), (clutter_script_ensure_objects): Ensure
8766         that the objects are fully constructed as best as we can when
8767         finished parsing.
8768
8769         (object_info_free), (remove_by_merge_id):
8770         (clutter_script_unmerge_objects): Remove objects under the
8771         same merge id returned by the loading functions. (Fixes
8772         bug #558)
8773
8774         * test/test-script.c:
8775         * test/test-script.json: Test unresolved merging and unmerging
8776         in ClutterScript.
8777
8778 2007-10-18  Matthew Allum  <mallum@openedhand.com>
8779
8780         * clutter/clutter-score.c:
8781         * clutter/clutter-score.h:
8782         * tests/test-score.c:
8783         Implement more ClutterScore functionality.
8784
8785 2007-10-17  Emmanuele Bassi  <ebassi@openedhand.com>
8786
8787         * clutter/clutter-actor.c:
8788         (clutter_actor_set_property), (clutter_actor_get_property),
8789         (clutter_actor_class_init): Add the :reactive property, to
8790         control reactiveness using the UI definition files.
8791
8792         (clutter_actor_reparent): Do not assume the parent is a
8793         ClutterContainer, and call the container API only if needed.
8794
8795         (clutter_actor_destroy): Remove from the parent if needed,
8796         just like the documentation says.
8797
8798 2007-10-16  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
8799
8800         * clutter/pango/pangoclutter-render.c: (tc_get): Provide for blank
8801         rows/columns of pixels between adjecant glyphs in the texture cache to
8802         avoid bilinear interpolation spillage at edges of glyphs.
8803
8804 2007-10-16  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
8805
8806         * clutter/clutter-main.c: (clutter_do_event): allow motion events
8807         only delivered to stage to be caught in the capture phase as well
8808         as the bubbling phase.
8809
8810 2007-10-16  Emmanuele Bassi  <ebassi@openedhand.com>
8811
8812         * clutter/json/json-object.c: Automatically transform every
8813         delimiter into an underscore.
8814
8815         * clutter/clutter-script.c: Implement the "parent_texture"
8816         property translation for ClutterCloneTextures, using the
8817         passed id of the parent texture.
8818
8819 2007-10-16  Emmanuele Bassi  <ebassi@openedhand.com>
8820
8821         * clutter/clutter-timeline.[ch]: Added ClutterTimeline:duration,
8822         a property for setting the duration of a timeline in milliseconds.
8823         The property comes with accessors and a new constructor. The
8824         frame rate used is the default value.
8825
8826         * clutter/clutter-private.h:
8827         * clutter/clutter-main.[ch]: Add clutter_get_default_frame_rate()
8828         and clutter_set_default_frame_rate(); these two functions control
8829         the default frame rate to be used when creating timelines. Currently
8830         is set to 60 frames-per-second.
8831
8832 2007-10-16  Tomas Frydrych  <tf@o-hand.com>
8833
8834         * build/msvc_2k5:
8835         Added MSVC project files.
8836
8837 2007-10-16  Emmanuele bassi  <ebassi@openedhand.com>
8838
8839         * clutter/clutter-color.c: Copy the alpha when shading.
8840
8841 2007-10-16  Tomas Frydrych  <tf@o-hand.com>
8842
8843         * clutter.symbols:
8844         Added a bunch of missing symbols.
8845
8846         * clutter/clutter-script.c:
8847         * json/json-node.c:
8848         Use g_slice_new0 instead of g_slice_new to avoid passing
8849         garbage to functions.
8850
8851         * tests/test-threads.c:
8852         Replaced non-portable sleep() with g_usleep().
8853
8854 2007-10-15  Tomas Frydrych  <tf@o-hand.com>
8855
8856         * clutter/cogl/gl/cogl-defines.h:
8857         * clutter/cogl/gl/cogl.c:
8858         Fixup GL include for windows.
8859
8860 2007-10-15  Matthew Allum  <mallum@openedhand.com>
8861
8862         * clutter/clutter-actor.c:
8863         More events documentation.
8864
8865         * clutter/clutter-event.c:
8866         * clutter/clutter-event.h:
8867         Add synthetic flag and make put_event use it
8868         (via modded patch from pippin)
8869
8870         * clutter/clutter-main.c: (clutter_do_event):
8871         dont use put event anymore when pushing enter/leave events.
8872
8873 2007-10-15  Emmanuele Bassi  <ebassi@openedhand.com>
8874
8875         * clutter/pango/Makefile.am: Compile with the debug flags, if
8876         set.
8877
8878 2007-10-12  Emmanuele Bassi  <ebassi@openedhand.com>
8879
8880         * clutter.symbols: Remove non-public symbols.
8881
8882 2007-10-12  Tomas Frydrych  <tf@o-hand.com>
8883
8884         * clutter.symbols:
8885         A list of public symbols, one per line; semi-autogenerated, so
8886         might not be complete -- PLEASE when adding new public APIs, add
8887         the function name to this file.
8888
8889 2007-10-12  Emmanuele Bassi  <ebassi@openedhand.com>
8890
8891         * clutter/clutter-actor.c: Add a :depth property, so we can
8892         set the initial depth of an actor inside the UI definition
8893         files.
8894
8895 2007-10-12  Tomas Frydrych  <tf@o-hand.com>
8896
8897         * tests/test-actors.c:
8898         When using MSVC, define _USE_MATH_DEFINES before including
8899         math.h, otherwise constants like M_PI will not be defined.
8900
8901 2007-10-12  Emmanuele Bassi  <ebassi@openedhand.com>
8902
8903         * clutter/clutter-script.c (construct_timline),
8904         (parse_member_to_property): Transfer ownership of the
8905         implicit timelines to the behaviour, so that they get
8906         unreferenced when the behaviour is destroyed.
8907
8908         (parse_member_to_property): Reverse the list of children
8909         and behaviours.
8910
8911 2007-10-12  Tomas Frydrych  <tf@o-hand.com>
8912
8913         Portability fixes:
8914
8915         * clutter/clutter-private.h:
8916         Bracket #include "unistd.h" with #ifdef HAVE_UNISTD_H
8917
8918         * clutter/clutter-fixed.c:
8919         Use "", not <> for inclusion of local files.
8920
8921         (clutter_sqrtx): forward declare local variables.
8922
8923         * clutter/clutter-debug.h:
8924         Added non-gcc (c99) implementation of variadic debug macros for
8925         when not compiling with gcc.
8926
8927         * clutter/pango/pangoclutter-render.c:
8928         Fixed some strange uses of CLUTTER_NOTE() + stripped trailing
8929         whitespace.
8930
8931 2007-10-12  Tomas Frydrych  <tf@o-hand.com>
8932
8933         * clutter/clutter-actor.c:
8934         * clutter/clutter-backend.c:
8935         * clutter/clutter-behaviour-depth.c:
8936         * clutter/clutter-box.c:
8937         * clutter/clutter-clone-texture.c:
8938         * clutter/clutter-container.c:
8939         * clutter/clutter-entry.c:
8940         * clutter/clutter-feature.c:
8941         * clutter/clutter-fixed.c:
8942         * clutter/clutter-group.c:
8943         * clutter/clutter-hbox.c:
8944         * clutter/clutter-label.c:
8945         * clutter/clutter-layout.c:
8946         * clutter/clutter-media.c:
8947         * clutter/clutter-rectangle.c:
8948         * clutter/clutter-score.c:
8949         * clutter/clutter-script.c:
8950         * clutter/clutter-stage.c:
8951         * clutter/clutter-texture.c:
8952         * clutter/clutter-timeline.c:
8953         * clutter/clutter-timeout-pool.c:
8954         * clutter/clutter-vbox.c:
8955         * clutter/cogl/gl/cogl.c:
8956         * clutter/cogl/gles/cogl.c:
8957         * clutter/eglnative/clutter-backend-egl.c:
8958         * clutter/eglnative/clutter-event-egl.c:
8959         * clutter/eglnative/clutter-stage-egl.c:
8960         * clutter/eglx/clutter-backend-egl.c:
8961         * clutter/eglx/clutter-event-egl.c:
8962         * clutter/eglx/clutter-stage-egl.c:
8963         * clutter/glx/clutter-event-glx.c:
8964         * clutter/json/json-array.c:
8965         * clutter/json/json-generator.c:
8966         * clutter/json/json-node.c:
8967         * clutter/json/json-object.c:
8968         * clutter/json/json-parser.c:
8969         * clutter/sdl/clutter-backend-sdl.c:
8970         * clutter/sdl/clutter-event-sdl.c:
8971         * clutter/sdl/clutter-stage-sdl.c:
8972
8973         Fixedup config.h inclusion (must always be bracketed with #ifdef
8974         HAVE_CONFIG_H).
8975
8976 2007-10-11  Tomas Frydrych  <tf@o-hand.com>
8977
8978         * clutter/clutter-entry.c:
8979         Avoid using C++ reserverd words to name variables.
8980
8981 2007-10-11  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
8982
8983         Improve the quality of text when the scale it is shown at screen is
8984         smaller than the original, seems to work well down to about a scale
8985         of 50%.
8986
8987         * clutter/pango/pangoclutter-fontmap.c:
8988         (pango_clutter_font_map_default_substitute): turn off hinting.
8989         * clutter/pango/pangoclutter-render.c: request linear filtering
8990         instead of nearest neighbour when scaling down.
8991         * tests/test-text.c: replaced test with a a test that renders a sample
8992         grid with various pixel sizes and scales for visual inspection of
8993         text rendering quality.
8994
8995 2007-10-10  Emmanuele Bassi  <ebassi@openedhand.com>
8996
8997         * clutter/glx/clutter-backend-glx.c: Fix documentation of the
8998         filter function API.
8999
9000         * clutter/clutter-score.c:
9001         * clutter/clutter-effect.c:
9002         * clutter/clutter-actor.c: Documentation fixes.
9003
9004         * clutter/clutter-actor.h: Automatically typecast to ClutterActor
9005         when setting/checking flags.
9006
9007 2007-10-10  Emmanuele Bassi  <ebassi@openedhand.com>
9008
9009         * clutter/clutter-actor.c: Beautify the ClutterActor documentation.
9010
9011 2007-10-10  Emmanuele Bassi  <ebassi@openedhand.com>
9012
9013         * clutter/clutter-actor.c: Remove the ::event-after signal:
9014         three event layers to connect to seems a bit overkill.
9015
9016         (clutter_actor_event): Return FALSE, not TRUE by default,
9017         as g_signal_emit() will change the return value if no
9018         handlers are connected
9019
9020         * clutter/clutter-stage.c: Emit ::notify when we change
9021         the fullscreen property.
9022
9023         * clutter/clutter-script.c: Add more documentation for the
9024         definition format and keywords.
9025
9026         (translate_property): Collapse the G_TYPE_ENUM and G_TYPE_FLAGS
9027         cases into one, to simplify the code.
9028
9029         * tests/test-script.c: Test enumeration conversion by using
9030         a value different from the default.
9031
9032 2007-10-10  Matthew Allum  <mallum@openedhand.com>
9033
9034         * clutter/clutter-actor.c:
9035         * clutter/clutter-actor.h:
9036         * clutter/clutter-event.c:
9037         * clutter/clutter-main.c:
9038         * tests/test-events.c:
9039         Add basic W3 DOM  event 'capture' like functionality.
9040
9041 2007-10-10  Emmanuele Bassi  <ebassi@openedhand.com>
9042
9043         * clutter/clutter-script-private.h:
9044         * clutter/clutter-script.c: Parse flags like we parse enums.
9045
9046 2007-10-10  Emmanuele Bassi  <ebassi@openedhand.com>
9047
9048         * clutter/json/json-types.h:
9049         * clutter/json/json-array.c:
9050         * clutter/json/json-object.c: Resync with the upstream copy
9051         of JSON-GLib; add json_object_remove_member() and
9052         json_array_remove_element() and fix the g_hash_table_get_keys()
9053         replacement for GLib 2.12.
9054
9055         * clutter/clutter-script.c: Clean up the complex properties
9056         parsing code.
9057
9058 2007-10-10  Emmanuele Bassi  <ebassi@openedhand.com>
9059
9060         * clutter/clutter-script.c (json_object_end): Add "type_func"
9061         to the list of attributes we skip.
9062
9063 2007-10-10  Emmanuele Bassi  <ebassi@openedhand.com>
9064
9065         * clutter/json/json-parser.c: Use the commodity JsonNode API
9066         and accept bare values as root nodes.
9067
9068         * clutter/clutter-script-private.h:
9069         * clutter/clutter-script.c: Unreference the created objects
9070         only if they are top-levels, like ClutterBehaviour and
9071         ClutterTimelines. Actors have floating references, so we
9072         just transfer ownership to their containers, and the stage
9073         is owned by the backend. Add the "type_func" key to the
9074         object definition, so the user can supply its own GType
9075         function if the class name doesn't follow the GObject rules.
9076         Document the ClutterScript public API.
9077
9078 2007-10-10  Matthew Allum  <mallum@openedhand.com>
9079
9080         * clutter/clutter-actor.c:
9081         * clutter/clutter-actor.h:
9082         Add missing enter/leave event signals
9083
9084         * clutter/clutter-main.c: (clutter_do_event):
9085         Set time in crossing events.
9086         Protect against do_pick() failing.
9087
9088 2007-10-09  Emmanuele Bassi  <ebassi@openedhand.com>
9089
9090         * clutter/clutter-script.c (resolve_alpha_func): Fix the
9091         ClutterAlphaFunc resolution function.
9092
9093 2007-10-09  Emmanuele Bassi  <ebassi@openedhand.com>
9094
9095         * tests/Makefile.am:
9096         * tests/test-script.c:
9097         * tests/test-script.json: Move part of the UI definition into
9098         its own file and exercise clutter_script_load_from_file().
9099
9100 2007-10-09  Emmanuele Bassi  <ebassi@openedhand.com>
9101
9102         * clutter/clutter-script.c (clutter_script_get_object): Construct
9103         the requested object if it hasn't been already. This allows
9104         referencing objects within the same snippet.
9105
9106         * tests/test-script.c: Declare a timeline and use it inside
9107         multiple behaviours; apply multiple behaviours to various
9108         actors, then retrieve the timeline to start it when the test
9109         runs.
9110
9111 2007-10-09  Emmanuele Bassi  <ebassi@openedhand.com>
9112
9113         * clutter/clutter-script-private.h:
9114         * clutter/clutter-script.c: Allow applying behaviours directly
9115         inside the UI definition data.
9116
9117         * tests/test-script.c: Test the "behaviours" member.
9118
9119 2007-10-09  Rob Bradford  <rob@openedhand.com>
9120
9121         * clutter/eglnative/clutter-backend-egl.c:
9122         (clutter_backend_egl_dispose):
9123         Call eglTerminate() on the display when the backend is disposed of.
9124
9125         * clutter/eglnative/clutter-stage-egl.c:
9126         (clutter_stage_egl_realize):
9127         Don't use the createNativeWindow() call, it's not generic EGL.
9128
9129 2007-10-09  Emmanuele Bassi  <ebassi@openedhand.com>
9130
9131         * clutter/clutter-script-private.h:
9132         * clutter/clutter-script.h:
9133         * clutter/clutter-script.c: Add licensing information to
9134         the newly added files.
9135
9136         * clutter/clutter-script.c: Support creating behaviours with
9137         ClutterScript. ClutterAlpha objects are implicit, but
9138         timelines can be both explicit objects using their id or
9139         implicit objects. Make the property resolution and translation
9140         more robust. Support the pixbuf property.
9141
9142         * tests/test-script.c: Test the newly added features.
9143
9144         * docs/reference/clutter-docs.sgml:
9145         * docs/reference/clutter-sections.txt: Add ClutterScript.
9146
9147 2007-10-09  Emmanuele Bassi  <ebassi@openedhand.com>
9148
9149         * clutter/clutter-fixed.h: Add deprecation guards around
9150         CLUTTER_FIXED_INT().
9151
9152 2007-10-08  Emmanuele Bassi  <ebassi@openedhand.com>
9153
9154         * clutter/clutter-script.c: Parse ClutterMargin and ClutterPadding
9155         properties from arrays or integers (assume pixels).
9156
9157 2007-10-08  Emmanuele Bassi  <ebassi@openedhand.com>
9158
9159         * clutter/clutter-script-private.h:
9160         * clutter/clutter-script.c: Allow defining childrens for every
9161         container actor inside the UI definition files.
9162
9163 2007-10-08  Matthew Allum  <mallum@openedhand.com>
9164
9165         * clutter/clutter-actor.c:
9166         * clutter/clutter-actor.h:
9167         * clutter/clutter-private.h:
9168         * clutter/clutter-main.c:
9169         Add a hash to global clutter context mapping all parented actor
9170         id's to actors.
9171         Add clutter_get_actor_by_id() call.
9172         Convert picking machinery to use above.
9173         (performance/simpler composite actor creation)
9174
9175         * clutter/clutter-stage.c: (clutter_stage_fullscreen),
9176         (clutter_stage_unfullscreen), (clutter_stage_event):
9177         Only set the fullscreen property on stage state fullscreen event(#545)
9178         Experimental as could be painful to implement on non X backends.
9179
9180 2007-10-08  Emmanuele Bassi  <ebassi@openedhand.com>
9181
9182         * clutter/clutter-script.c (json_parse_end):
9183         * clutter/json/json-object.c (json_object_get_members): Replace
9184         the GLib 2.14 API with the equivalent code for GLib < 2.14.
9185
9186         * configure.ac: Revert the dependency bump.
9187
9188 2007-10-08  Emmanuele Bassi  <ebassi@openedhand.com>
9189
9190         Initial implementation of the UI definition files. (#424)
9191
9192         * clutter/json/Makefile.am:
9193         * clutter/json/*.[ch]: In-tree copy of JSON-GLib, a GLib-based
9194         JSON parser/generator library. We use it in-tree because we might
9195         need to change the API. Ideally, we'd depend on it.
9196
9197         * clutter/clutter.h:
9198         * clutter/clutter-script-private.h:
9199         * clutter/clutter-script.[ch]: ClutterScript, the scenegraph
9200         generator class. It parses JSON streams in form of buffers and
9201         files and builds the scene.
9202
9203         * clutter/clutter-debug.h:
9204         * clutter/clutter-main.c: Add a "script" debug flag
9205
9206         * clutter/Makefile.am: Build glue.
9207
9208         * tests/Makefile.am:
9209         * tests/test-script.c: Add a test case for the ClutterScript.
9210
9211         * configure.ac: Depend on GLib 2.14, so we can use the
9212         g_hash_table_get_key() and g_hash_table_get_values() functions
9213         for the time being; we can probably reimplement those, but we
9214         are going to need 2.14 anyway if we are going to implement a
9215         list model using GSequence.
9216
9217 2007-10-08  Emmanuele Bassi  <ebassi@openedhand.com>
9218
9219         * tests/test-behave.c: Use the right return type for the
9220         event callbacks.
9221
9222 2007-10-03  Matthew Allum  <mallum@openedhand.com>
9223
9224         * clutter/clutter-actor.c:
9225         * clutter/clutter-event.c:
9226         * clutter/clutter-event.h:
9227         * clutter/clutter-main.c:
9228         * clutter/clutter-private.h:
9229         * clutter/eglnative/clutter-event-egl.c:
9230         * clutter/eglx/clutter-event-egl.c:
9231         * clutter/glx/clutter-event-glx.c:
9232         * clutter/sdl/clutter-event-sdl.c:
9233         Remove seperate double/triple click events and replace with
9234         a click_count member.
9235         Move calculating click counts from backend to do_event()
9236         Initial implementation of ENTER/LEAVE events.
9237
9238         * tests/test-events.c:
9239         Add code to test above.
9240
9241         * tests/test-behave.c:
9242         Sync with newer API.
9243
9244         * clutter/clutter-score.c:
9245         Silence a warning.
9246
9247 2007-10-01  Emmanuele Bassi  <ebassi@openedhand.com>
9248
9249         * clutter/clutter-fixed.h: Add CLUTTER_FIXED_TO_INT() and
9250         deprecate CLUTTER_FIXED_INT(), for symmetry with
9251         CLUTTER_FIXED_FROM_INT().
9252
9253         * clutter/clutter-alpha.c:
9254         * clutter/clutter-behaviour-depth.c:
9255         * clutter/clutter-behaviour-ellipse.c:
9256         * clutter/clutter-behaviour-path.c:
9257         * clutter/clutter-fixed.h: Use CLUTTER_FIXED_TO_INT().
9258
9259 2007-10-01  Emmanuele Bassi  <ebassi@openedhand.com>
9260
9261         * clutter/clutter-actor.c (clutter_actor_get_size): Implement
9262         get_size() as a wrapper around clutter_actor_query_coords()
9263         instead of calling g_object_get() twice.
9264
9265         (clutter_actor_init): Initialise the box in one call.
9266
9267 2007-10-01  Emmanuele Bassi  <ebassi@openedhand.com>
9268
9269         * clutter/clutter-actor.[ch]: Remove the ::event-after signal
9270         class handler, as it's not meant to be overridden by sub-classes.
9271
9272         (clutter_actor_class_init):
9273         Make every event-related signal return a boolean: return TRUE
9274         in a signal handler to block the emission. The value is accumulated
9275         automatically by the signal API.
9276
9277         (clutter_actor_event): If ::event returns TRUE, skip to emitting
9278         ::event-after. Return the value accumulated by the signal emission
9279         chain.
9280
9281         * clutter/clutter-private.h: Rename _clutter_boolean_accumlator().
9282
9283         * clutter/clutter-main.c (clutter_do_event): If clutter_actor_event()
9284         returns TRUE then stop the event emission chain from child to parent.
9285
9286         * clutter/clutter-stage.c (clutter_stage_event): Behave like
9287         clutter_actor_event().
9288
9289         (clutter_stage_get_key_focus),
9290         (clutter_stage_set_key_focus): Avoid a nasty circular reference
9291         issue: if the actor passed to set_key_focus is NULL then the stage
9292         has the key focus.
9293
9294         * tests/test-events.c: Update the events test with the API
9295         changes.
9296
9297 2007-10-01  Tomas Frydrych  <tf@openedhand.com>
9298
9299         * clutter/clutter-actor.c:
9300         (clutter_actor_set_scale_with_gravityx):
9301         Use CLUTTER_QMUL for better precission (#532, patch by Gwenole
9302         Beauchesne).
9303
9304         * clutter/clutter-color.c:
9305         (clutter_color_to_hlsx):
9306         Added missing CLUTTER_INT_TO_FIXED conversion (#544, patch by Neil
9307         Roberts).
9308
9309 2007-10-01  Neil J. Patel  <njp@o-hand.com>
9310
9311         Patch by: Tommi Komulainen <tommi.komulainen@iki.fi>
9312
9313         * clutter/clutter-entry.c: (clutter_entry_delete_text):
9314         Fix characters vs. bytes inconsistency (#520).
9315
9316 2007-09-30  Matthew Allum  <mallum@openedhand.com>
9317
9318         * clutter/clutter-event.h:
9319         Removed unused POINTER_ENTER and POINTER_LEAVE states. (#546)
9320         * clutter/clutter-stage.c: (clutter_stage_fullscreen),
9321         (clutter_stage_unfullscreen):
9322         Only Change fullscreen prop if the backend implements fullscreen
9323         methods. (#545)
9324
9325 2007-09-28  Ã˜yvind KolÃ¥s  <pippin@openedhand.com>
9326
9327         * clutter/clutter-container.[ch]: added
9328         clutter_container_find_child_by_name.
9329
9330 2007-09-28  Ã˜yvind KolÃ¥s  <pippin@openedhand.com>
9331
9332         * clutter/glx/clutter-stage-glx.c: (clutter_stage_glx_realize):
9333         removed unused variable perspective.
9334         * tests/test-events.c: (main): added CLUTTER_STAGE() cast.
9335         * tests/test-threads.c: include unistd.h for sleep().
9336
9337 2007-09-28  Ã˜yvind KolÃ¥s  <pippin@openedhand.com>
9338
9339         * clutter/clutter-label.c: (clutter_label_ensure_layout): avoid
9340         calling pango_layout_set_text|markup before we've got any text.
9341
9342 2007-09-27  Matthew Allum  <mallum@openedhand.com>
9343
9344         * tests/test-scale.c:
9345         Fix out of about array addressing (#522, Tommi Komulainen)
9346
9347 2007-09-27  Matthew Allum  <mallum@openedhand.com>
9348
9349         * clutter/clutter-clone-texture.c:
9350         * clutter/clutter-rectangle.c:
9351         Include "config.h" in all c files (#524, Tommi Komulainen)
9352
9353 2007-09-27  Matthew Allum  <mallum@openedhand.com>
9354
9355         Merge from stable.
9356
9357         * clutter/clutter-behaviour-path.c: (path_alpha_to_position)
9358         Fix uninitialized variable (#480, Gwenole Beauchesne)
9359
9360 2007-09-27  Matthew Allum  <mallum@openedhand.com>
9361
9362         * clutter/clutter-event.c:
9363         * clutter/clutter-event.h:
9364         * clutter/clutter-main.c:
9365         Further event tweaks;
9366         - Ref the event actor source
9367         - Protect against off stage events (button releases) (#511)
9368         - Move more into ClutterEventAny
9369         - Add a click count to button event (as yet unused)
9370         - Minor cleanups
9371
9372         * clutter/clutter-actor.c:
9373         Make scale x/y a property.
9374
9375         * clutter/clutter-private.h:
9376         Remove _clutter_actor_apply_modelview*
9377
9378         * clutter/eglx/clutter-backend-egl.c:
9379         Warning cleanup
9380
9381         * clutter/eglx/clutter-stage-egl.c:
9382         * clutter/glx/clutter-stage-glx.c:
9383         * clutter/sdl/clutter-stage-sdl.c:
9384         Avoid setting viewport directly, but set sync flag.
9385
9386         * clutter/pango/pangoclutter-render.c: (draw_glyph):
9387         Minor cleanups.
9388
9389         * clutter/Makefile.am:
9390         * tests/Makefile.am:
9391         * tests/test-score.c
9392         * clutter/clutter.h:
9393         * clutter/clutter-score.h:
9394         * clutter/clutter-score.c:
9395         Add very initial (broken) ClutterScore implementation.
9396
9397 2007-09-25  Ross Burton  <ross@openedhand.com>
9398
9399         Merge from stable.
9400
9401         * clutter/clutter-group.c:
9402         Optimise sort_z_order.
9403
9404 2007-09-17  Emmanuele Bassi  <ebassi@openedhand.com>
9405
9406         Merge from stable
9407
9408         * clutter/eglnative/clutter-event-egl.c:
9409         Flag every device click after the first as motion events
9410         instead of button presses. (#505, Shreyas Srinivasan)
9411
9412 2007-09-10  Matthew Allum  <mallum@openedhand.com>
9413
9414         Port from stable branch.
9415
9416         * clutter/eglnative/clutter-event-egl.c: (clutter_event_dispatch):
9417         Only declare tsevent if we have tslib (#498, Robert Bragg)
9418
9419 2007-09-06  Emmanuele Bassi  <ebassi@openedhand.com>
9420
9421         * clutter/clutter-stage.c: Remove stray include <gdk-pixbuf-xlib.h>
9422         in ClutterStage: the code requesting it was moved in the backends.
9423
9424 2007-08-31  Emmanuele Bassi  <ebassi@openedhand.com>
9425
9426         * clutter/clutter-rectangle.c: Fix the border drawing: do not
9427         overdraw the rectangle on the border and fix the check for
9428         different border colour. (#488, Neil Roberts)
9429
9430 2007-08-29  Matthew Allum  <mallum@openedhand.com>
9431
9432         * clutter/clutter-effect.c: (clutter_effect_template_set_property):
9433         Add missing break statement. Whoops.
9434
9435 2007-08-29  Matthew Allum  <mallum@openedhand.com>
9436
9437         * clutter/clutter-main.c: (_clutter_do_pick):
9438         Call glFinish before reading pixels
9439         * clutter/eglx/clutter-stage-egl.c: (clutter_stage_egl_realize):
9440         Add missing read surface in making context current.
9441         Above fixes via Kate Alhola.
9442
9443         * clutter/glx/clutter-glx.h:
9444         Add missing filter funcs so there actually exported
9445
9446 2007-08-24  Matthew Allum  <mallum@openedhand.com>
9447
9448         * clutter/clutter-actor.c:
9449         * clutter/clutter-event.h:
9450         * clutter/clutter-main.c:
9451         * clutter/clutter-stage.c:
9452         * clutter/clutter-stage.h:
9453         * clutter/glx/clutter-backend-glx.c:
9454         * clutter/glx/clutter-backend-glx.h:
9455         * clutter/glx/clutter-event-glx.c:
9456         * clutter/glx/clutter-stage-glx.c:
9457         * clutter/glx/clutter-stage-glx.h:
9458         Add initial support for stage state events.
9459         Fix fullscreening for an already mapped stage.
9460
9461         * tests/test-events.c:
9462         Print out info from the above. Blue button now toggles
9463         fullscreen.
9464
9465         * clutter/clutter-effect.c:
9466         * clutter/clutter-effect.h:
9467         Add a setting for templates to ref or clone underlying
9468         timelines. (As to improve sync issues like those in foofone)
9469
9470         * tests/test-timeline.c:
9471         Also add completed signals.
9472
9473         * clutter/cogl/gles/cogl.c: (cogl_texture_image_2d):
9474         * configure.ac:
9475         Forward port from stable branch. RGB Image fixes gles
9476         and check for lower case libgles_cm.
9477
9478 2007-08-24  Tomas Frydrych  <tf@openedhand.com>
9479
9480         * clutter/clutter-actor.c:
9481         (_clutter_actor_apply_modelview_transform):
9482
9483         Fixed rotation around x axis (bug 486).
9484
9485 2007-08-23  Emmanuele Bassi  <ebassi@openedhand.com>
9486
9487         * clutter/clutter-private.h:
9488         * clutter/clutter-event.c: Revert the event queue ordering
9489         commit.
9490
9491         * clutter/eglx/clutter-event-egl.c:
9492         * clutter/glx/clutter-event-glx.c:
9493         * clutter/sdl/clutter-event-sdl.c: Update backends.
9494
9495 2007-08-22  Tomas Frydrych  <tf@openedhand.com>
9496
9497         * clutter/clutter-behaviour-rotate.c:
9498         * clutter/clutter-behaviour-ellipse.c:
9499
9500         Fixed CCW rotation in rotate behaviour (bug 483); fixed overall
9501         path length calculation for angles > 360 in rotate and ellipse.
9502
9503 2007-08-22  Emmanuele Bassi  <ebassi@openedhand.com>
9504
9505         * clutter/clutter-main.c (clutter_threads_dispatch_free): Remove
9506         the main threads locking calls: the main loop might remove the
9507         source while dispatching it, so whether or not we are already
9508         holding the lock is unpredictable for the library. Leave a comment
9509         with the relevant bug number in GNOME's Bugzilla and wait for a
9510         fix in GLib.
9511
9512 2007-08-21  Emmanuele Bassi  <ebassi@openedhand.com>
9513
9514         * clutter/clutter-event.c: Correctly initialise the state
9515         variables used to detect multiple clicks.
9516
9517         (clutter_event_get_coords): Return the coordinates for
9518         CLUTTER_3BUTTON_PRESS events.
9519
9520         (clutter_events_pending): Check from the tail of the queue backward,
9521         like we do in clutter_event_get() and clutter_event_peek().
9522
9523 2007-08-21  Emmanuele Bassi  <ebassi@openedhand.com>
9524
9525         Preserve the ordering of the events in the queue when sythesising
9526         new events in the event translation sequence. (#481)
9527
9528         * clutter/clutter-event.c:
9529         * clutter/clutter-private.h: Allow flagging new events on the
9530         events queue without breaking ClutterEvent using a masked type.
9531
9532         (clutter_event_get), (clutter_event_put),
9533         (clutter_event_pending): Ignore events with the CLUTTER_EVENT_PENDING
9534         flag set when walking the events queue.
9535
9536         * clutter/eglx/clutter-event-egl.c:
9537         * clutter/glx/clutter-event-glx.c:
9538         * clutter/sdl/clutter-event-sdl.c: Push the new events straight
9539         on the queue, with the CLUTTER_EVENT_PENDING flag set; remove the
9540         flag if the event translation was succesful, or remove the event
9541         altogether.
9542
9543 2007-08-21  Emmanuele Bassi  <ebassi@openedhand.com>
9544
9545         * clutter/clutter-stage.c: Add missing documentation for the
9546         ClutterStage properties.
9547
9548 2007-08-21  Tomas Frydrych  <tf@openedhand.com>
9549
9550         * clutter/clutter-fixed.c:
9551         (clutter_sqrti):
9552
9553         Fixes for 64-bit platforms; use of SSE builtin when available
9554         (bugs 478, 479, patches by Gwenole Beauchesne).
9555
9556 2007-08-20  Emmanuele Bassi  <ebassi@openedhand.com>
9557
9558         * clutter/Makefile.am:
9559         * clutter/clutter-enum-types.h.in:
9560         * clutter/clutter-enum-types.c.in: Use template files for
9561         glib-mkenums; this makes the Makefile template a bit more
9562         clean and the enum types generation more customisable (e.g.
9563         when GLib 2.14 has been released, we can use g_once_init_enter()
9564         and g_once_init_leave() to have thread-safe GType functions
9565         for the enum types as well).
9566
9567 2007-08-20  Emmanuele Bassi  <ebassi@openedhand.com>
9568
9569         * clutter/clutter-version.h.in: Fix CLUTTER_CHECK_VERSION()
9570         macro to accept micro versions. (#477, Neil Roberts)
9571
9572 2007-08-19  Emmanuele Bassi  <ebassi@openedhand.com>
9573
9574         Various timeline related changes.
9575
9576         * clutter/clutter-timeout-pool.c: Use g_list_insert_sorted() to
9577         fix a timeout pool reversal happening with our homegrown
9578         sorted insertion function. (see #470)
9579
9580         * tests/Makefile.am:
9581         * tests/test-timeline.c: Add a ClutterTimeline test suite, for
9582         finding regressions in the behaviour of the timelines. (#470,
9583         Rob Bradford)
9584
9585         * clutter/clutter-main.c (clutter_do_event): Use an EVENT note,
9586         not a SCHEDULER one; SCHEDULER is for timelines and idle sources
9587         only.
9588
9589         * clutter/clutter-version.h.in: Protect the bare numbers of
9590         the version components.
9591
9592         * clutter/clutter-effect.c: Do not unref the ClutterAlpha, as
9593         the ownership is already of the behaviour used by the effect
9594         closure.
9595
9596         * clutter/clutter-timeline.c: Emit the ::new-frame signal only
9597         if the timeline is still active
9598
9599         Always advance at least of one frame. (#471, Rob Bradford)
9600
9601         Do not rewind the timeline if the user paused it in the ::new-frame
9602         signal handler: either the user has already done it with
9603         clutter_timeline_stop() or it's not what he's expecting if he
9604         called clutter_timeline_pause(). (#372, Johan Bilien)
9605
9606         If we skipped the last frame before emitting the ::complete
9607         signal, emit ::new-frame with the last frame.
9608
9609         Do not call clutter_timeline_stop() at the end of a non-looping
9610         timeline, as it emits the ::pause signal as well. Also, rewind the
9611         timeline *after* emitting ::complete, so that calling
9612         clutter_timeline_get_current_frame() in a signal handler still
9613         works.
9614
9615 2007-08-19  Matthew Allum  <mallum@openedhand.com>
9616
9617         * clutter/eglx/clutter-event-egl.c: (clutter_event_dispatch):
9618         Fix clutter_thread typo (Kate Alhola)
9619
9620 2007-08-18  Emmanuele Bassi  <ebassi@openedhand.com>
9621
9622         * clutter/clutter-effect.c:
9623         * clutter/clutter-main.c: Update the Since: tag for the
9624         backported API.
9625
9626         * clutter/clutter-behaviour-rotate.c: Fix a typo in the get_center()
9627         method. (#468, Neil Roberts)
9628
9629         Freeze and thaw the notification queue when changing multiple
9630         properties in the same method. Fix some coding style issues.
9631
9632 2007-08-15  Emmanuele Bassi  <ebassi@openedhand.com>
9633
9634         * clutter/clutter-actor.c: Add checks for the "reactive" flag
9635         accessors.
9636
9637 2007-08-15  Emmanuele Bassi  <ebassi@openedhand.com>
9638
9639         * clutter/clutter-effect.[ch]: Add clutter_effect_depth(), a
9640         simple wrapper around ClutterBehaviourDepth. (#464, Ali Sabil)
9641
9642 2007-08-15  Emmanuele Bassi  <ebassi@openedhand.com>
9643
9644         * clutter/clutter-alpha.c (clutter_smoothstep_inc): Use the
9645         correct type for parameters, to avoid overflow  (Ali Sabil).
9646
9647         * clutter/clutter-behaviour-opacity.c: Use the right format
9648         when printing the unsigned alpha value and opacity to the
9649         debug output.
9650
9651 2007-08-14  Emmanuele Bassi  <ebassi@openedhand.com>
9652
9653         * clutter/clutter-container.[ch]:
9654         * clutter/clutter-actor.c:
9655         * clutter/clutter-group.c: Rename clutter_container_raise() to
9656         clutter_container_raise_child(), and clutter_container_lower()
9657         to clutter_container_lower_child() to avoid clashing with
9658         ClutterActor raise() and lower() respectively.
9659
9660 2007-08-13  Matthew Allum  <mallum@openedhand.com>
9661
9662         * clutter/clutter-actor.c:
9663         * clutter/clutter-actor.h:
9664         * clutter/clutter-event.c:
9665         * clutter/clutter-event.h:
9666         * clutter/clutter-main.c:
9667         * clutter/clutter-main.h:
9668         * clutter/clutter-private.h:
9669         * clutter/clutter-stage.c:
9670         * clutter/clutter-stage.h:
9671         * clutter/clutter-types.h:
9672         Initial implementation of actors emmitting event signals (423);
9673         - Actors set_reactive() to receive mouse events.
9674           (call clutter_enable_motion_events() for per action motion events)
9675         - clutter_stage_set_key_focus () to direct key events.
9676         - Events bubble up to parents (ending at stage)
9677           (original source identified by clutter_event_get_source())
9678         TODO:
9679         - enter/leave notifys for actors.
9680         - stage specific events - fullscreen
9681         - grabs
9682
9683         * tests/test-events.c:
9684         Extend a little to use new API
9685
9686         * clutter/cogl/gl/cogl.c:
9687         * clutter/glx/clutter-backend-glx.c:
9688         Move get_proc_address into cogl and out of backend.
9689         (shaders will need it)
9690
9691         * clutter/clutter-group.c: (clutter_group_real_lower):
9692         Fix a minor compile warning.
9693
9694         * TODO:
9695         Sync up.
9696
9697 2007-08-13  Emmanuele Bassi  <ebassi@openedhand.com>
9698
9699         * clutter/clutter-container.[ch]: Add find_child_by_id(),
9700         raise(), lower() and sort_depth_order() virtual functions to
9701         ClutterContainer.
9702
9703         * clutter/clutter-group.[ch]: Deprecate the redundant calls
9704         from ClutterGroup, and make ClutterGroup implement them as part
9705         of the ClutterContainer interface implementation.
9706
9707         * clutter/clutter-box.c: Implement the newly added ClutterContainer
9708         methods; now clutter_stage_get_actor_at_pos() works with boxes
9709         as well as groups.
9710
9711         * clutter/clutter-stage.c:
9712         * clutter/clutter-actor.c: Replace calls to ClutterGroup functions
9713         with ClutterContainer ones.
9714
9715 2007-08-12  Emmanuele Bassi  <ebassi@openedhand.com>
9716
9717         * clutter/clutter-timeout-pool.c: Fix removing and adding timeouts
9718         to the timeout pool during a dispatch of a timeout source already
9719         inside the pool. (#456, based on a patch by Neil Roberts)
9720
9721         (clutter_timeout_dispatch), (clutter_timeout_pool_dispatch): Hold
9722         the main Clutter lock in the pool dispatch function, instead of
9723         the per-timeout dispatch; this guarantees that the ref+unref of
9724         the single timeouts are done under the main lock.
9725
9726 2007-08-12  Matthew Allum  <mallum@openedhand.com>
9727
9728         * clutter/clutter-texture.c: (texture_upload_data):
9729         Align texture data correctly for edge tiles.
9730         (#422 - Neil Roberts)
9731
9732 2007-08-11  Matthew Allum  <mallum@openedhand.com>
9733
9734         * clutter/clutter-texture.c:
9735          Fix typo in clutter_texture_get_pixbuf (#458, Neil Roberts).
9736          Use take_object when getting pixbuf prop to avoid ref leak. (Neil
9737          Roberts)
9738
9739 2007-08-09  Emmanuele Bassi  <ebassi@openedhand.com>
9740
9741         * clutter/clutter-box.c: Rename a variable to fix a compiler
9742         warning.
9743
9744 2007-08-08  Emmanuele Bassi  <ebassi@openedhand.com>
9745
9746         * clutter/clutter-behaviour-ellipse:
9747         (clutter_behaviour_ellipse_get_tiltx): Remove useless
9748         "Return" in the API documentation.
9749
9750 2007-08-08  Emmanuele Bassi  <ebassi@openedhand.com>
9751
9752         * clutter/clutter-timeout-pool.c: Fix sorting of the pool
9753         when inserting and removing timeout sources. (#449, Neil
9754         Roberts)
9755
9756 2007-08-08  Emmanuele Bassi  <ebassi@openedhand.com>
9757
9758         * clutter/clutter-main.c (clutter_get_timestamp): Remove
9759         the microseconds remainder, which is mostly useless. (#447)
9760
9761 2007-08-08  Emmanuele Bassi  <ebassi@openedhand.com>
9762
9763         * clutter/clutter-main.c (clutter_get_timestamp): Return the
9764         correct number of microseconds (#447, Neil Roberts)
9765
9766 2007-08-08  Emmanuele Bassi  <ebassi@openedhand.com>
9767
9768         Merge the clutter.git/threading branch.
9769
9770         * clutter/clutter-main.c:
9771         * clutter/clutter-main.h:
9772         * clutter/clutter-private.h: Add threading locking and unlocking
9773         functions, to mark a critical section and access the Clutter API
9774         from differen threads. Add an initialisation function and a function
9775         to override the default lock aquisition and release functions, for
9776         bindings and application-specific locking handling. Add MT-safe
9777         versions of g_idle_add() and g_timeout_add() which will call the
9778         functions under the main Clutter lock and without races. The
9779         Clutter thread-safe implementation is basically the same used by
9780         GDK, so the same caveats apply.
9781
9782         * clutter/clutter-actor.c:
9783         * clutter/clutter-timeline.c:
9784         * clutter/clutter-timeout-pool.c: Use the new threading API when
9785         invoking idle and timeouts.
9786
9787         * clutter/eglnative/clutter-event-egl.c:
9788         * clutter/eglx/clutter-event-egl.c:
9789         * clutter/glx/clutter-event-glx.c:
9790         * clutter/sdl/clutter-event-sdl.c: Acquire and release the main
9791         Clutter lock when preparing, checking and dispatching the events
9792         on the queue in every backend.
9793
9794         * tests/Makefile.am:
9795         * tests/test-threads.c: Add a test case, showing how to use the
9796         threading API and write thread-safe Clutter applications.
9797
9798 2007-08-08  Emmanuele Bassi  <ebassi@openedhand.com>
9799
9800         * configure.ac: Bump up to 0.5.0 and start the new development
9801         branch.
9802
9803 2007-08-07  Emmanuele Bassi  <ebassi@openedhand.com>
9804
9805         * configure.ac: Bump up to 0.4.0.
9806
9807 2007-08-07  Emmanuele Bassi  <ebassi@openedhand.com>
9808
9809         * clutter/clutter-entry.c:
9810         * clutter/clutter-fixed.c:
9811         * clutter/pango/pangoclutter.h: Small fixes for passing the
9812         distcheck phase with extra-strict compiler flags.
9813
9814 2007-08-07  Emmanuele Bassi  <ebassi@openedhand.com>
9815
9816         * clutter/clutter-actor.h:
9817         * clutter/clutter-alpha.h:
9818         * clutter/clutter-behaviour-ellipse.[ch]:
9819         * clutter/clutter-behaviour-path.h:
9820         * clutter/clutter-behaviour-rotate.c:
9821         * clutter/clutter-behaviour.h:
9822         * clutter/clutter-box.h:
9823         * clutter/clutter-color.h:
9824         * clutter/clutter-container.h:
9825         * clutter/clutter-effect.h:
9826         * clutter/clutter-entry.h:
9827         * clutter/clutter-fixed.h:
9828         * clutter/clutter-layout.h:
9829         * clutter/clutter-main.h:
9830         * clutter/clutter-stage.h:
9831         * clutter/clutter-texture.h:
9832         * clutter/clutter-units.h:
9833         * clutter/clutter-version.h.in:
9834         * clutter/glx/clutter-glx.h: Documentation additions and
9835         various fixes.
9836
9837 2007-08-07  Matthew Allum  <mallum@openedhand.com>
9838
9839         * clutter/clutter-behaviour-ellipse.c:
9840         Add a documentation note regarding ellipse setting
9841         the applied actors position.
9842
9843 2007-08-07  Matthew Allum  <mallum@openedhand.com>
9844
9845         * NEWS:
9846         * README:
9847         More updates ready for 0.4.0
9848
9849 2007-08-07  Matthew Allum  <mallum@openedhand.com>
9850
9851         * clutter/clutter-fixed.c:
9852         * clutter/clutter-fixed.h:
9853         Add documentation.
9854
9855         * clutter/cogl/gl/cogl.c: (cogl_perspective):
9856         Remove CFX_* shortened macros
9857
9858 2007-08-06  Emmanuele Bassi  <ebassi@openedhand.com>
9859
9860         * clutter/clutter-main.[ch]: Remove clutter_threads_enter()
9861         and clutter_threads_leave(); both are no-ops and they just
9862         confuse things. The thread-awareness in Clutter is planned
9863         for 0.4.1/0.5.0.
9864
9865         * README:
9866         * NEWS: Update.
9867
9868 2007-08-06  Emmanuele Bassi  <ebassi@openedhand.com>
9869
9870         * clutter/clutter-box.[ch]: Implement margin, color and default
9871         padding for ClutterBox. Provide API to pack a child by specifying
9872         every packing detail or just pack with the defaults. ClutterBox
9873         works like the HTML boxing model, API-wise: a box with margins
9874         and padding around each child. Needs work, still.
9875
9876         * clutter/clutter-hbox.c:
9877         * clutter/clutter-vbox.c: Update with the new API and new attributes.
9878
9879         * clutter/clutter-types.h: Add ClutterMargin and ClutterPadding.
9880
9881         * test/test-boxes.c: Exercise the new API.
9882
9883 2007-08-06  Matthew Allum  <mallum@openedhand.com>
9884
9885         * clutter/clutter-texture.c:
9886         Correct set pixbuf property as GDK_TYPE_PIXBUF
9887         (fix via Neil Roberts)
9888
9889 2007-08-06  Matthew Allum  <mallum@openedhand.com>
9890
9891         * clutter/clutter-behaviour-depth.c:
9892         Modify to work like all other behvaiours in not forcing
9893         increasing order in behaviour 'limits'. (#436)
9894         Rename limit min/max props to start/end.
9895
9896         * tests/test-depth.c:
9897         Simplify test-case to work with above change and
9898         without multiple ramps
9899
9900         * clutter/clutter-behaviour-rotate.c:
9901         Handle CW rotation when end > start and similar for CCW just
9902         like ellipse behaviour.
9903
9904 2007-08-05  Matthew Allum  <mallum@openedhand.com>
9905
9906         * README:
9907         * clutter/clutter-actor.c:
9908         Document show/hide_all behaviour correctly.
9909
9910 2007-08-05  Emmanuele Bassi  <ebassi@openedhand.com>
9911
9912         * clutter/clutter-behaviour-depth.c: Fix typo in the description.
9913
9914 2007-08-04  Emmanuele Bassi  <ebassi@openedhand.com>
9915
9916         * clutter/clutter-behaviour-depth.c: Clarify the depth behaviour
9917         even more in the description used by the API reference.
9918
9919 2007-08-04  Emmanuele Bassi  <ebassi@openedhand.com>
9920
9921         * clutter/clutter-behaviour-depth.[ch]: Clarify that what drives
9922         the movement along the Z axis is the ClutterAlpha object (we
9923         don't have the luxury of a rollover like the opacity does);
9924         so, if you want to go from 0 to -100 you have to use a
9925         decreasing function, just as well if you want to go from 100
9926         to 0. Using a min-depth of 100 and a max-depth of 0 and an
9927         increasing function is undefined behaviour.
9928
9929         * tests/Makefile.am:
9930         * tests/test-depth.c: Add a test case for the depth behaviour.
9931
9932 2007-08-04  Emmanuele Bassi  <ebassi@openedhand.com>
9933
9934         * clutter/clutter-actor.c (clutter_actor_set_opacity): Queue
9935         a redraw when setting the opacity of an actor.
9936
9937 2007-08-03  Emmanuele Bassi  <ebassi@openedhand.com>
9938
9939         * clutter/clutter-behaviour-ellipse.c:
9940         (clutter_behaviour_ellipse_get_angle_tilt): Avoid recursion
9941         by fixing a typo.
9942
9943         (clutter_behaviour_ellipse_get_angle_begin),
9944         (clutter_behaviour_ellipse_get_angle_end): Correct the angles
9945         here too.
9946
9947 2007-08-03  Emmanuele Bassi  <ebassi@openedhand.com>
9948
9949         * clutter/clutter-behaviour-ellipse.c:
9950         (clutter_behaviour_ellipse_get_property): Do not forget to
9951         correct the angles when returning them.
9952
9953 2007-08-03  Tomas Frydrych  <tf@openedhand.com>
9954
9955         * clutter/clutter-behaviour-ellipse.c:
9956         * clutter/clutter-behaviour-ellipse.h:
9957         (clutter_behaviour_ellipse_new):
9958         (clutter_behaviour_ellipse_newx):
9959
9960         Added direction parameter; made behaviour to respect direction
9961         parameter; unclumped angle_begin and angle_end values.
9962
9963 2007-08-02  Matthew Allum  <mallum@openedhand.com>
9964
9965         * NEWS:
9966         * README:
9967         Initial updating ready for release.
9968
9969 2007-08-02  Emmanuele Bassi  <ebassi@openedhand.com>
9970
9971         * clutter/eglnative/clutter-backend-egl.c:
9972         * clutter/eglx/clutter-backend-egl.c:
9973         * clutter/sdl/clutter-backend-sdl.c: Set the default resolution
9974         as 96.0 dpi for every backend (we already were under this
9975         assumption anyway, and this makes it easier to change this
9976         setting per-backend).
9977
9978         * clutter/pango/pangoclutter-fontmap.c:
9979         * clutter/pango/pangoclutter.h: Allow setting the resolution
9980         for the PangoClutterFontMap object and provide the implementation
9981         for the PangoFcFontMap::get_resolution() virtual function. This
9982         allows to set the resolution of the PangoContext when retrieving
9983         it.
9984
9985         * clutter/clutter-label.c (clutter_label_init): Set the
9986         resolution of the font map with the one the backend gives us.
9987
9988         * clutter/clutter-entry.c (clutter_entry_init): Ditto.
9989
9990 2007-08-02  Emmanuele Bassi  <ebassi@openedhand.com>
9991
9992         * clutter/clutter-color.c (clutter_color_subtract): Invert the
9993         operands and match what the function says it does. (#435)
9994
9995 2007-08-01  Matthew Allum  <mallum@openedhand.com>
9996
9997         * clutter/clutter-color.c: (clutter_color_from_pixel):
9998         Fix typo in alpha channel extraction (#434)
9999
10000 2007-08-01  Emmanuele Bassi  <ebassi@openedhand.com>
10001
10002         * clutter/clutter-actor.[ch]: Add floating-point variant of the
10003         clutter_actor_get_r[xyz]angx() functions.
10004
10005 2007-07-31  Emmanuele Bassi  <ebassi@openedhand.com>
10006
10007         * clutter/clutter-stage.[ch]: Fix clutter_stage_set_user_resizable()
10008         name, and add a getter for the property.
10009
10010         * clutter/glx/clutter-stage-glx.c: Use the accessor, not
10011         g_object_get() to retrieve the value of the resizable property.
10012
10013 2007-07-31  Emmanuele Bassi  <ebassi@openedhand.com>
10014
10015         * clutter/clutter-backend.[ch]: Add clutter_backend_set_resolution()
10016         and clutter_backend_get_resolution(); backends should use the former
10017         to set the resolution of the display when initialising, while actors
10018         should use the latter when sizing themselves depending on the
10019         resolution or the font size.
10020
10021         * clutter/glx/clutter-backend-glx.c: Set the resolution as 96 dpi
10022         as a default and query the X server when opening the display.
10023
10024         * clutter/clutter-entry.c: Drop the hardcoded dpi value and use
10025         clutter_backend_get_resolution() to compute the default size.
10026
10027 2007-07-31  Emmanuele Bassi  <ebassi@openedhand.com>
10028
10029         * clutter/clutter-entry.c (clutter_entry_init): Set the default
10030         size of the entry based on the size of the default font. (#414).
10031
10032 2007-07-31  Emmanuele Bassi  <ebassi@openedhand.com>
10033
10034         * clutter/sdl/clutter-backend-sdl.c: Fix a typo in
10035         clutter_backend_sdl_get_features() (#426, Pan Bohui)
10036
10037 2007-07-30  Matthew Allum  <mallum@openedhand.com>
10038
10039         * AUTHORS:
10040         * HACKING:
10041         * README:
10042         Various updates and improvements.
10043
10044         * configure.ac:
10045         Remove --disable-fast-fp-conversions
10046
10047 2007-07-30  Tomas Frydrych  <tf@openedhand.com>
10048
10049         * clutter/clutter-behaviour-ellipse:
10050         (clutter_behaviour_ellipse_advance):
10051
10052         Fixed invalid assumption about z cooordiance in calculation of
10053         tilt in y axis.
10054
10055 2007-07-30  Tomas Frydrych  <tf@openedhand.com>
10056
10057         * clutter/clutter-actor.c:
10058
10059         Fixed incorrect order of modelview matrix stack in calculating
10060         actor vertices.
10061
10062 2007-07-30  Matthew Allum  <mallum@openedhand.com>
10063
10064         * clutter/clutter-backend.h:
10065         Remove #if 0's old backend_api
10066         (generating uneeded documentation)
10067
10068 2007-07-30  Matthew Allum  <mallum@openedhand.com>
10069
10070         * clutter/clutter-texture.c:
10071         Fix re-relisation for large tiled textures.
10072         * tests/test-textures.c: (main):
10073         Add a show/hide to trigger above (see #442)
10074
10075 2007-07-29  Emmanuele Bassi  <ebassi@openedhand.com>
10076
10077         * clutter/clutter-types.h: Document ClutterGravity enumeration
10078         and remove the only incomplete symbol of the api reference. Now
10079         we are up to 79% documented symbols.
10080
10081 2007-07-29  Emmanuele Bassi  <ebassi@openedhand.com>
10082
10083         * clutter/clutter-media.c: Document ClutterMedia signals;
10084         replace the implementation of clutter_media_set_filename() with
10085         something a wee bit more robust (and portable) than a sprintf().
10086
10087 2007-07-29  Emmanuele Bassi  <ebassi@openedhand.com>
10088
10089         * clutter/clutter-behaviour-ellipse.c: Documentation
10090         fixes; kill some indirections; freeze the notification
10091         queue when (potentially) emitting multiple notify
10092         signals.
10093
10094         * clutter/clutter-alpha.h: Remove the unused macro
10095         CLUTTER_TYPE_SMOOTHSTEP.
10096
10097 2007-07-28  Emmanuele Bassi  <ebassi@openedhand.com>
10098
10099         * clutter/clutter-actor.[ch]: Use GInitiallyUnowned
10100         as the parent structure in the ClutterActor structure
10101         definition; somehow, this has escaped everyone attention
10102         in one year and a half. Luckily, GInitiallyUnowned is
10103         as big as GObject.
10104
10105          (clutter_actor_get_abs_position_units),
10106          (clutter_actor_get_abs_position): Check parameters.
10107
10108          * clutter/clutter-texture.h: Unmangle the flags enum
10109          type declaration, so that dumb parsers like h2defs.py
10110          are not fooled.
10111
10112          * clutter/clutter-behaviour-ellipse.[ch]:
10113          * clutter/clutter-effect.c: Fix some documentation
10114          issues and make gtk-doc happy.
10115
10116 2007-07-27  Tomas Frydrych  <tf@openedhand.com>
10117
10118         * clutter/clutter-behaviour-ellipse.h:
10119         * clutter/clutter-behaviour-ellipse.c:
10120         * tests/test-behave.c:
10121         (clutter_behaviour_ellipse_get_angle_tilt):
10122         (clutter_behaviour_ellipse_set_angle_tilt):
10123
10124         Pruned ClutterBehaviourEllipse api.
10125
10126 2007-07-27  Tomas Frydrych  <tf@openedhand.com>
10127
10128         * clutter/clutter-behaviour-ellipse.h:
10129         * clutter/clutter-behaviour-ellipse.c:
10130         (clutter_behaviour_ellipse_set_angle_tilt_x):
10131         (clutter_behaviour_ellipse_set_angle_tilt_xx):
10132         (clutter_behaviour_ellipse_get_angle_tilt_x):
10133         (clutter_behaviour_ellipse_get_angle_tilt_xx):
10134         (clutter_behaviour_ellipse_set_angle_tilt_y):
10135         (clutter_behaviour_ellipse_set_angle_tilt_yx):
10136         (clutter_behaviour_ellipse_get_angle_tilt_y):
10137         (clutter_behaviour_ellipse_get_angle_tilt_yx):
10138         (clutter_behaviour_ellipse_set_angle_tilt_z):
10139         (clutter_behaviour_ellipse_set_angle_tilt_zx):
10140         (clutter_behaviour_ellipse_get_angle_tilt_z):
10141         (clutter_behaviour_ellipse_get_angle_tilt_zx):
10142         (clutter_behaviour_ellipse_set_tilt):
10143         (clutter_behaviour_ellipse_set_tiltx):
10144         (clutter_behaviour_ellipse_get_tilt):
10145         (clutter_behaviour_ellipse_get_tiltx):
10146
10147         * tests/test-behave.c:
10148
10149         Allow tilting ClutterBehaviourEllipse in all three axis; affects
10150         any code using the previous tilt api.
10151
10152 2007-07-26  Matthew Allum  <mallum@openedhand.com>
10153
10154         * clutter/clutter-feature.h:
10155         Add new stage feature flags and document.
10156
10157         * clutter/eglnative/clutter-backend-egl.c:
10158         * clutter/eglx/clutter-backend-egl.c:
10159         * clutter/sdl/clutter-backend-sdl.c:
10160         Set new feature flags.
10161
10162         * clutter/glx/clutter-backend-glx.c:
10163         * clutter/glx/clutter-stage-glx.c:
10164         * clutter/clutter-stage.c:
10165         * clutter/clutter-stage.h:
10166         Add a 'user_resizeable' setting to the backend and implement
10167         for glx backend.
10168
10169 2007-07-26  Emmanuele Bassi  <ebassi@openedhand.com>
10170
10171         * clutter/clutter-behaviour-ellipse.c:
10172         * clutter/clutter-behaviour.h:
10173         * clutter/clutter-event.c:
10174         * clutter/clutter-texture.h:
10175         * clutter/clutter-types.h: Add missing documentation and fix
10176         parameters names to make gtk-doc happy.
10177
10178 2007-07-26  Tomas Frydrych  <tf@openedhand.com>
10179
10180         * clutter/clutter-behaviour-ellipse.h:
10181         * clutter/clutter-behaviour-ellipse.c:
10182         * tests/test-behave.c:
10183
10184         Removed tilt paramter from ClutterBehaviourEllipse constructors;
10185         Made angles to be relative to 12 o'clock;
10186         Added direction property;
10187
10188 2007-07-26  Emmanuele Bassi  <ebassi@openedhand.com>
10189
10190         * clutter/clutter-types.h:
10191         * clutter/Makefile.am: Add a header for common types, to avoid
10192         inclusion hell.
10193
10194         * clutter/clutter-actor.h:
10195         * clutter/clutter-behaviour.h:
10196         * clutter/clutter-behaviour-rotate.h:
10197         * clutter/clutter-behaviour-scale.h: Move some boxed types and som
10198         enums to clutter-types.h.
10199
10200 2007-07-26  Neil J. Patel  <njp@o-hand.com>
10201
10202         * clutter/clutter-entry.c: (offset_to_bytes),
10203         (clutter_entry_ensure_cursor_position),
10204         (clutter_entry_new_with_text), (clutter_entry_new),
10205         (clutter_entry_insert_unichar), (clutter_entry_delete_chars):
10206
10207         Fixed utf8 support so it actually works now, for both
10208         inserting and deleting chars.  Fixed positioning of cursor for
10209         utf8 chars. Both GString and Pnago need bytes (not
10210         documented!) for string manipulation, so making sure all
10211         values were bytes and not char positions fixed the issue.  Set
10212         a default size of 50x50 for the entry, otherwise no chars can
10213         be seen if the size is not set after creation (which confuses
10214         the developer).
10215
10216 2007-07-26  Emmanuele Bassi  <ebassi@openedhand.com>
10217
10218         * clutter/clutter-timeline.c:
10219         Do not accept zero as a value for the num-frames and fps properties
10220         in both the constructor and the setter functions.
10221
10222 2007-07-26  Emmanuele Bassi  <ebassi@openedhand.com>
10223
10224         * clutter/clutter-actor.[ch]:
10225         * clutter/clutter-behaviour-bspline.c:
10226         * clutter/clutter-behaviour.c:
10227         * clutter/clutter-box.[ch]:
10228         * clutter/clutter-clone-texture.c:
10229         * clutter/clutter-entry.c:
10230         * clutter/clutter-group.[ch]:
10231         * clutter/clutter-texture.c:
10232         * clutter/pango/pangoclutter-render.c:
10233         * tests/test-actors.c:
10234         * tests/test-behave.c:
10235         * tests/test-entry.c:
10236         * tests/test-events.c:
10237         * tests/test-project.c:
10238         * tests/test-rotate.c:
10239         * tests/test-scale.c:
10240         * tests/test-text.c:
10241         * tests/test-textures.c: Miscellaneous compiler warning fixes.
10242
10243 2007-07-26  Emmanuele Bassi  <ebassi@openedhand.com>
10244
10245         * configure.ac:
10246         * Makefile.am: Add a configure switch to enable strict
10247         compiler flags, and turn it on when we are doing a distcheck.
10248
10249 2007-07-25  Matthew Allum  <mallum@openedhand.com>
10250
10251         * Makefile.am:
10252         * HACKING:
10253         Add with initial notes on coding bits and bobs.
10254
10255         * clutter/clutter-behaviour-scale.c:
10256         Doc fixes.
10257
10258         * clutter/clutter-event.c: (clutter_event_put):
10259         Doc fixes.
10260
10261         * clutter/glx/clutter-stage-glx.c:
10262         Disable wm user resizing of stage (At least for now)
10263         Doc fixes.
10264
10265 2007-07-25  Tomas Frydrych  <tf@openedhand.com>
10266
10267         * clutter/clutter-fixed.c:
10268
10269         Fixed endianness issue in fast fp conversions.
10270
10271 2007-07-25  Tomas Frydrych  <tf@openedhand.com>
10272
10273         * configure.ac:
10274         * clutter/clutter-fixed.c:
10275
10276         Added --disable-fast-fp-conversion option.
10277
10278 2007-07-25  Emmanuele Bassi  <ebassi@openedhand.com>
10279
10280         * clutter/clutter-label.[ch]: Ouch, clutter_label_get_alignment()
10281         returns a PangoAlignment, not a boolean.
10282
10283 2007-07-25  Emmanuele Bassi  <ebassi@openedhand.com>
10284
10285         * clutter/clutter-behaviour.h:
10286         * clutter/clutter-behaviour.c: Rename clutter_behaviour_clear()
10287         to clutter_behaviour_remove_all() to avoid method clashes in
10288         bindings.
10289
10290 2007-07-25  Tomas Frydrych  <tf@openedhand.com>
10291
10292         * tests/test-rotate.c:
10293         * tests/Makefile.am:
10294
10295         Added test-rotate.
10296
10297 2007-07-25  Emmanuele Bassi  <ebassi@openedhand.com>
10298
10299         * clutter/clutter-behaviour-bspline.c: Kill off some deep pointer
10300         indirections; use CLUTTER_NOTE() instead of ifdeffed out g_debug();
10301         add checks in every public entry point; move some initialisations
10302         of private data structures out of the constructor and into the
10303         init function, where they belong.
10304
10305 2007-07-25  Matthew Allum  <mallum@openedhand.com>
10306
10307         * clutter/clutter-behaviour-rotate.c:
10308         * clutter/clutter-behaviour-rotate.h:
10309         Split 'center' prop into 3 seperate props for each axis.
10310         Use clutter_behaviour_actors_foreach() rather than
10311         clutter_behaviour_get_actors() to avoid copying list.
10312         Call fixed point rotation funcs internally.
10313
10314         * clutter/clutter-effect.c:
10315         * clutter/clutter-effect.h:
10316         Add new simple rotation based effect funcs.
10317
10318 2007-07-25  Emmanuele Bassi  <ebassi@openedhand.com>
10319
10320         * clutter/clutter.h: Include clutter-behaviour-depth.h
10321
10322 2007-07-24  Emmanuele Bassi  <ebassi@openedhand.com>
10323
10324         * clutter/clutter-behaviour-rotate.[ch]: Add a center property
10325         for the center or rotation; implement the set_bounds() methods.
10326
10327 2007-07-24  Emmanuele Bassi  <ebassi@openedhand.com>
10328
10329         * clutter/eglx/clutter-backend-egl.c:
10330         * clutter/eglnative/clutter-backend-egl.c:
10331         * clutter/sdl/clutter-backend-sdl.c: Destroy the stage in every
10332         backend.
10333
10334 2007-07-24  Emmanuele Bassi  <ebassi@openedhand.com>
10335
10336         * clutter/glx/clutter-backend-glx.c: Destroy the stage, don't
10337         just unref it.
10338
10339 2007-07-24  Emmanuele Bassi  <ebassi@openedhand.com>
10340
10341         * clutter/clutter-main.c: Add debug markers.
10342
10343 2007-07-24  Emmanuele Bassi  <ebassi@openedhand.com>
10344
10345         * clutter/clutter-texture.[ch]: Add a ClutterTextureError
10346         to be returned by the loader functions; use the GObject API
10347         to allocate the private data structure instead of managing it
10348         ourselves; add documentation.
10349
10350 2007-07-24  Emmanuele Bassi  <ebassi@openedhand.com>
10351
10352         * clutter/clutter-actor.c:
10353         * clutter/clutter-box.h:
10354         * clutter/clutter-stage.c: Documentation fixes.
10355
10356 2007-07-24  Matthew Allum  <mallum@openedhand.com>
10357
10358         * clutter/cogl/gl/cogl-defines.h:
10359         Add  CGL_UNSIGNED_INT_8_8_8_8_REV (for big endian machines)
10360
10361 2007-07-24  Matthew Allum  <mallum@openedhand.com>
10362
10363         * clutter/cogl/gl/cogl-defines.h:
10364         Another GL_TEXTURE_RECTANGLE_ARB related fix (#404)
10365
10366 2007-07-24  Matthew Allum  <mallum@openedhand.com>
10367
10368         * clutter/clutter-backend.c:
10369         Minor build fixes (#413)
10370
10371 2007-07-24  Emmanuele Bassi  <ebassi@openedhand.com>
10372
10373         * clutter/clutter-effect.h:
10374         * clutter/clutter-effect.c: Add a secondary constructor for
10375         ClutterEffectTemplate, for use of the bindings.
10376
10377 2007-07-24  Matthew Allum  <mallum@openedhand.com>
10378
10379         * clutter/cogl/gles/cogl.c: (cogl_get_bitmasks):
10380         Fix typo calling glGetIntegerv rather than glGetInteger
10381
10382 2007-07-24  Matthew Allum  <mallum@openedhand.com>
10383
10384         * clutter/cogl/gl/cogl.c: (cogl_get_features):
10385         learn to use cpp properly.
10386
10387 2007-07-24  Matthew Allum  <mallum@openedhand.com>
10388
10389         * clutter/clutter-media.c: (clutter_media_base_init):
10390         Remove #if 0! signal - assume causing issues with binding generation.
10391         (#407)
10392
10393         * clutter/cogl/gl/cogl.c:
10394         Check GL_TEXTURE_RECTANGLE_ARB and GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB
10395         are defined in gl.h (#404)
10396
10397 2007-07-24  Matthew Allum  <mallum@openedhand.com>
10398
10399         * clutter/glx/clutter-stage-glx.c: (clutter_stage_glx_realize):
10400         Create stage window with correct depth/visual. Via patch from
10401         Robert Bragg (#409).
10402
10403 2007-07-23  Matthew Allum  <mallum@openedhand.com>
10404
10405         * clutter/clutter-texture.c: (texture_render_to_gl_quad),
10406         (clutter_texture_paint):
10407         Dont be over aggressive in throwing criticals for unrealized
10408         textures. Doesn't make sense for sub classes. (#403)
10409
10410 2007-07-22  Emmanuele Bassi  <ebassi@openedhand.com>
10411
10412         Two small fixes for correctly debugging the deinitialisation
10413         phase of the backend:
10414
10415         * clutter/glx/clutter-backend-glx.c: Remove the event source
10416         after we unref the main stage.
10417
10418         * clutter/glx/clutter-stage-glx.c: Add a mark at the end of the
10419         unrealize call (the perl bindings seem to crash before we reach
10420         this point).
10421
10422 2007-07-22  Emmanuele Bassi  <ebassi@openedhand.com>
10423
10424         * clutter/clutter-behaviour-ellipse.c: Remove pointer indirections;
10425         add sanity checks on the public entry points; make all the public
10426         properties floating point (where needed) andconvert them to fixed
10427         point internally. (Partial fix for #389)
10428
10429 2007-07-22  Emmanuele Bassi  <ebassi@openedhand.com>
10430
10431         * clutter/clutter-behaviour.[ch]: Rename ClutterBehaviour::apply
10432         and ClutterBehaviour::remove to ClutterBehaviour::applied and
10433         ClutterBehaviour::removed respectively, and emit them when the
10434         behaviour has been applied (or does no longer apply) to an actor.
10435
10436         (clutter_behaviour_dispose), (clutter_behaviour_finalize),
10437         (clutter_behaviour_class_init): Move the actor removal to the
10438         ::dispose virtual function, and remove the ::finalize one;
10439         document the missing properties and signals.
10440
10441         (clutter_behaviour_clear): Add function to clear a behaviour:
10442         every actor will be unreffed and the ClutterBehaviour::removed
10443         signal will be emitted.
10444
10445 2007-07-21  Matthew Allum  <mallum@openedhand.com>
10446
10447         * clutter/clutter-event.c:
10448         Correct  clutter_event_get_state () return type. Fixes #398
10449
10450         * clutter/glx/clutter-stage-glx.c:
10451         Disable use XFixes cursor visibility funcs. Appears to have issues
10452         on feisty X Server at least. Fallback should work generally better.
10453
10454         Fix non offscreen clutter_stage_snapshot to also rotate read pixel
10455         data to correct orientation.
10456
10457 2007-07-12  Matthew Allum  <mallum@openedhand.com>
10458
10459         * clutter/eglnative/clutter-event-egl.c: (clutter_event_dispatch):
10460         Avoid sending too many events which are just pressure changes.
10461
10462 2007-07-12  Matthew Allum  <mallum@openedhand.com>
10463
10464         * clutter/clutter-actor.c: (clutter_actor_paint):
10465         * clutter/clutter-stage.c: (clutter_stage_get_actor_at_pos):
10466         * clutter/cogl/cogl.h:
10467         * clutter/cogl/gl/cogl.c: (cogl_get_viewport):
10468         * clutter/cogl/gles/cogl.c: (cogl_get_viewport):
10469         Hopefully fix clutter_actor_at_pos on !32bpp displays.
10470         Based on patch from Pan Bohui, See;
10471         http://bugzilla.openedhand.com/show_bug.cgi?id=390
10472
10473         * TODO:
10474         More misc updates.
10475
10476 2007-07-11  Emmanuele Bassi  <ebassi@openedhand.com>
10477
10478         * clutter/clutter-behaviour-opacity.c:
10479         Don't check direction in opacity.
10480
10481 2007-07-11  Tomas Frydrych  <tf@openedhand.com>
10482
10483         * clutter/clutter-fixed.h:
10484         Fixed CLUTTER_ANGLE_ macros.
10485
10486         * clutter/clutter-behaviour-ellipse.h:
10487         * clutter/clutter-behaviour-ellipse.c:
10488         Implemented "apply" signal closer to position actor on the start
10489         of the elliptic path.
10490
10491         (clutter_behaviour_ellipse_get_angle_begin):
10492         (clutter_behaviour_ellipse_set_angle_begin):
10493         (clutter_behaviour_ellipse_get_angle_end):
10494         (clutter_behaviour_ellipse_set_angle_end):
10495         (clutter_behaviour_ellipse_get_angle_tilt):
10496         (clutter_behaviour_ellipse_set_angle_tilt):
10497         Renamed with an x suffix; added versions for angles in degrees.
10498
10499 2007-07-09  Matthew Allum  <mallum@openedhand.com>
10500
10501         * TODO:
10502         Updates.
10503         * clutter/clutter-stage.c:
10504         * clutter/glx/clutter-stage-glx.c:
10505         Fix cursor visibility property.
10506         Force a repaint before mapping to attempt to avoid flicker.
10507
10508 2007-07-09  Richard Purdie  <rpurdie@openedhand.com>
10509
10510         * clutter/eglnative/clutter-event-egl.c:
10511         * configure.ac:
10512         Add tslib support to eglnative backend.
10513
10514 2007-07-09  Richard Purdie  <rpurdie@openedhand.com>
10515
10516         * clutter/eglnative/clutter-backend-egl.c:
10517         Tweaks to the eglnative backend.
10518
10519 2007-07-09  Richard Purdie  <rpurdie@openedhand.com>
10520
10521         * clutter/clutter-backend.c:
10522         Make the backend add_option function optional.
10523
10524 2007-07-09  Emmanuele Bassi  <ebassi@openedhand.com>
10525
10526         * clutter/clutter-behaviour-depth.h:
10527         * clutter/clutter-behaviour-depth.c:
10528         * clutter/Makefile.am: Add ClutterBehaviourDepth, a simple
10529         behaviour controlling the depth of a set of actors.
10530
10531         * clutter/clutter-behaviour-opacity.c: Always make sure that
10532         the opacity applied to the actors is a positive integer, even
10533         in case where the start and end opacity are reversed; use the
10534         correct cast macros for passing the opacity as a pointer.
10535
10536 2007-07-06  ====================== 0.3.1 Release ========================
10537
10538 2007-07-06  Matthew Allum  <mallum@openedhand.com>
10539
10540         * NEWS:
10541         * configure.ac:
10542         Update for 0.3.1
10543
10544 2007-07-06  Matthew Allum  <mallum@openedhand.com>
10545
10546         * clutter/eglx/Makefile.am:
10547         * clutter/eglx/clutter-egl.h:
10548         * clutter/eglx/clutter-event-egl.c:
10549         * clutter/eglx/clutter-stage-egl.c:
10550         Rename clutter-egl.h -> clutter-eglx.h
10551
10552         * NEWS:
10553         * README:
10554         Add info re EGL split.
10555
10556 2007-07-06  Matthew Allum  <mallum@openedhand.com>
10557
10558         * clutter/Makefile.am:
10559         * clutter/eglnative/Makefile.am:
10560         * clutter/eglnative/clutter-backend-egl.c:
10561         * clutter/eglnative/clutter-backend-egl.h:
10562         * clutter/eglnative/clutter-egl.h:
10563         * clutter/eglnative/clutter-event-egl.c:
10564         * clutter/eglnative/clutter-stage-egl.c:
10565         * clutter/eglnative/clutter-stage-egl.h:
10566         * clutter/eglx/Makefile.am:
10567         * clutter/eglx/clutter-backend-egl.c:
10568         * clutter/eglx/clutter-egl.h:
10569         * clutter/eglx/clutter-event-egl.c:
10570         * clutter/eglx/clutter-stage-egl.c:
10571         * configure.ac:
10572         Add a new 'native' EGL backend for non X based EGL's
10573         (i.e on framebuffer).
10574         Rename old backend to 'eglx' and namespace public funcs with this.
10575
10576         * clutter/pango/pangoclutter-private.h:
10577         Add extra checks for expected defines.
10578
10579 2007-07-06  Matthew Allum  <mallum@openedhand.com>
10580
10581         * NEWS:
10582         * README:
10583         Updates for upcoming 0.3.1 release.
10584         * clutter/egl/Makefile.am:
10585         * clutter/egl/clutter-backend-egl.c:
10586         * clutter/egl/clutter-backend-egl.h:
10587         * clutter/egl/clutter-egl.h:
10588         * clutter/egl/clutter-event-egl.c:
10589         * clutter/egl/clutter-stage-egl.c:
10590         * clutter/egl/clutter-stage-egl.h:
10591         * configure.ac:
10592         Move egl -> eglx
10593
10594 2007-07-06  Matthew Allum  <mallum@openedhand.com>
10595
10596         * clutter/clutter-box.c: (clutter_box_pick):
10597         Call clutter_box_paint rather than actor paint method avoiding
10598         infinte loop (Fixes test-boxes crasher).
10599
10600         * clutter/glx/clutter-stage-glx.c: (clutter_stage_glx_unrealize):
10601         Trap the X calls to avoid potential X errors.
10602
10603 2007-07-06  Ross Burton  <ross@openedhand.com>
10604
10605         * tests/Makefile.am:
10606         Dist redhand.png.
10607
10608 2007-07-05  Tomas Frydrych  <tf@openedhand.com>
10609
10610         * cluter/clutter-group.c:
10611         (clutter_group_query_coords:)
10612         Reset box size to zero width and height to report correct size if
10613         the contents of the group shrink.
10614
10615 2007-07-05  Emmanuele Bassi  <ebassi@openedhand.com>
10616
10617         * clutter/clutter-rectangle.c: Fix off-by-border-width bug
10618         in the border creation of a ClutterRectangle.
10619
10620 2007-07-05  Tomas Frydrych  <tf@openedhand.com>
10621
10622         * clutter/clutter-fixed.h:
10623         * clutter/clutter-fixed.c:
10624         Added CLUTTER_FLOAT_TO_UINT macro;
10625         (clutter_pow2x):
10626         Fixed sign issue.
10627
10628 2007-07-04  Emmanuele Bassi  <ebassi@openedhand.com>
10629
10630         * clutter/*: Loads of fixes for the API reference.
10631
10632 2007-07-04  Emmanuele Bassi  <ebassi@openedhand.com>
10633
10634         Merge from clutter/work
10635
10636         * clutter/clutter-alpha.[ch]: Fix the argument names for
10637         the smoothstep alpha functions, for gtk-doc.
10638
10639         * clutter/clutter-group.c (clutter_group_remove_all): Fix
10640         the iteration on the children list.
10641
10642 2007-07-04  Emmanuele Bassi  <ebassi@openedhand.com>
10643
10644         * clutter/clutter-main.c (clutter_redraw): Move the stage
10645         paint init call from the main redraw function...
10646
10647         * clutter/clutter-stage.c (clutter_stage_paint): ... to the
10648         ClutterActor::paint() overridden method in ClutterStage.
10649
10650 2007-07-04  Emmanuele Bassi  <ebassi@openedhand.com>
10651
10652         * clutter/clutter.h:
10653         * clutter/Makefile.am: ClutterBackend is marked as public API,
10654         so install the clutter-backend.h header and include it when
10655         including clutter.h.
10656
10657 2007-07-04  Emmanuele Bassi  <ebassi@openedhand.com>
10658
10659         * clutter/clutter-entry.[ch]: Various fixes to ClutterEntry:
10660         fix code style issues; add documentation for the various
10661         properties; add ClutterEntry:entry-padding property, for controlling
10662         the text padding (until we have style properties separated from
10663         the object properties); notify property changes; free resources
10664         in the ::finalize method; rename clutter_entry_add() to
10665         clutter_entry_insert_unichar(), and clutter_entry_remove() to
10666         clutter_entry_delete_chars() - for bindings and for matching the
10667         insert_text() and delete_text() existing methods; add a getter
10668         method for the max-length property.
10669
10670 2007-07-04  Emmanuele Bassi  <ebassi@openedhand.com>
10671
10672         * clutter/clutter-actor.[ch]: Use the right get_type() function
10673         name for ClutterVertex, and add the CLUTTER_TYPE_VERTEX macro.
10674
10675 2007-07-03  Ross Burton  <ross@openedhand.com>
10676
10677         * configure.ac:
10678         Check for XFixes 4 and above.
10679
10680 2007-07-02  Tomas Frydrych  <tf@openedhand.com>
10681
10682         * clutter/clutter-actor.h:
10683         * clutter/clutter-actor.c:
10684         * tests/test-project.c:
10685         (clutter_actor_apply_transform_to_point):
10686         Use ClutterVertex for input and output parameters.
10687
10688 2007-07-01  Emmanuele Bassi  <ebassi@openedhand.com>
10689
10690         Merge from clutter.git/work branch
10691
10692         * clutter/clutter-effect.[ch]: Clean up ClutterEffect; use a
10693         pointer to access the private data structure, instead of doing
10694         a type check every time. Add description for the API reference.
10695
10696         * docs/reference/clutter-sections.txt:
10697         * clutter/*.[ch]: Add various documentation fixes.
10698
10699         * clutter/clutter-entry.c: Remove a stray g_print() call.
10700
10701 2007-06-29  Neil J. Patel  <njp@o-hand.com>
10702
10703         * clutter/clutter-entry.c: (clutter_entry_handle_key_event),
10704         (clutter_entry_add), (clutter_entry_remove):
10705         Check if unichar == 0, and if so, return, as it will cause a delete in
10706         the GString.
10707
10708 2007-06-20  ============== 0.3 Release ====================================
10709
10710 2007-06-29  Matthew Allum  <mallum@openedhand.com>
10711
10712         * clutter/clutter-texture.c: (texture_upload_data):
10713         Fix a SEGV for GL ES textures.
10714
10715         * clutter/cogl/gles/cogl.c: (cogl_setup_viewport):
10716         Tweak default z_camera for 60 degrees like GL.
10717
10718         * clutter/egl/clutter-backend-egl.c::
10719         * clutter/egl/clutter-stage-egl.c:
10720         Fix edpy usage (thanks to Kaj Gronholm).
10721
10722 2007-06-29  Tomas Frydrych  <tf@openedhand.com>
10723
10724         * clutter/clutter-group.c:
10725         (clutter_group_query_coords):
10726         Fixed box calculation.
10727
10728 2007-06-28  Tomas Frydrych  <tf@openedhand.com>
10729
10730         * clutter/clutter-group.c:
10731         (clutter_group_raise):
10732         (clutter_group_lower):
10733         Fixed SIGSEGV when attempting to raise / lower an only child.
10734
10735 2007-06-28  Matthew Allum  <mallum@openedhand.com>
10736
10737         * clutter/cogl/gl/cogl.c: (cogl_setup_viewport):
10738         Improve fixed z_camera value for defualt perspective.
10739         Appears pixel perfect on ATI and Intel at least
10740
10741 2007-06-28  Tomas Frydrych  <tf@openedhand.com>
10742
10743         * tests/test-perspective.c:
10744         Moved red dots to be positioned 1px off each corner.
10745
10746 2007-06-28  Matthew Allum  <mallum@openedhand.com>
10747
10748         * tests/Makefile.am:
10749         * tests/test-perspective.c:
10750         Add simple perspective test
10751
10752 2007-06-27  Tomas Frydrych  <tf@openedhand.com>
10753
10754         * clutter/clutter-actor.h:
10755         * clutter/clutter-actor.c:
10756         * tests/test-project.c:
10757         Renamed clutter_actor_project_point() to
10758         clutter_actor_apply_trasform_to_point() and
10759         clutter_actor_project_vertices() to clutter_actor_get_vertices().
10760
10761 2007-06-27  Tomas Frydrych  <tf@openedhand.com>
10762
10763         * clutter/clutter-actor.h:
10764         * clutter/clutter-actor.c:
10765         * tests/test-project.c:
10766         (clutter_actor_project_point):
10767         Separated input from output parameters.
10768
10769 2007-06-27  Matthew Allum  <mallum@openedhand.com>
10770
10771         * Makefile.am:
10772         Dont remove README on make clean
10773
10774 2007-06-27  Tomas Frydrych  <tf@openedhand.com>
10775
10776         * clutter/clutter-actor.c:
10777         (_clutter_actor_apply_modelview_transform):
10778         Fixed incorrect order of scaling an rotation that was causing
10779         objects that were both rotated and scaled to change position.
10780
10781 2007-06-27  Tomas Frydrych  <tf@openedhand.com>
10782
10783         * clutter/clutter-actor.c:
10784         (clutter_actor_scale_with_gravityx):
10785         Made to work after changes to the behavivour of
10786         clutter_actor_get_absolute_size() for rotated actors.
10787
10788 2007-06-26  Tomas Frydrych  <tf@openedhand.com>
10789
10790         * clutter/cogl/gl/cogl.c:
10791         * clutter/cogl/gles/cogl.c:
10792         (cogl_setup_viewport):
10793         For default perspective angle of 60 degrees, use a hardcoded
10794         z_camera constant that provides minimal artefacts when rendering
10795         text; for other angles we calculate.
10796
10797 2007-06-26  Tomas Frydrych  <tf@openedhand.com>
10798
10799         * clutter/clutter-actor.h:
10800         * clutter/clutter-actor.c:
10801         Added fixed point version of clutter_actor_rotate_*() functions
10802         and accessors for rotation angles.
10803
10804 2007-06-25  Matthew Allum  <mallum@openedhand.com>
10805
10806         * README:
10807         Update a little more.
10808         * clutter/clutter-effect.c:
10809         Add missing func documentation
10810         * clutter/clutter-rectangle.c:
10811         Fix border drawing.
10812
10813 2007-06-25  Tomas Frydrych  <tf@openedhand.com>
10814
10815         * clutter/clutter-fixed.h:
10816         Fixed definition of clutter_cosx() macro.
10817
10818         * clutter/clutter-stage.c:
10819         * clutter/cogl/cogl.h:
10820         * clutter/cogl/gl/cogl.c:
10821         * clutter/cogl/gles/cogl.c:
10822         Changed ClutterPerspective.fovy from ClutterAngle to degrees to
10823         improve precission in Z-camera calculations.
10824
10825 2007-06-22  Matthew Allum  <mallum@openedhand.com>
10826
10827         * README:
10828         * README.in:
10829         * autogen.sh:
10830         * configure.ac:
10831         Move back to regular README naming at least for now.
10832
10833 2007-06-22  Matthew Allum  <mallum@openedhand.com>
10834
10835         * NEWS:
10836         * README.in:
10837         * TODO:
10838         Update for 0.3 release.
10839
10840         * clutter/clutter-actor.c:
10841         Minor doc fixups
10842
10843         * clutter/clutter-texture.c:
10844         Various minor additions for handling non RGBA data.
10845         Fix a typo breaking clutter_texture_get_pixbuf() on tiled textures.
10846
10847         * tests/test-actors.c:
10848         Disable scaling to avoid drifting (temporary till API is fixed)
10849
10850 2007-06-21  Emmanuele Bassi  <ebassi@openedhand.com>
10851
10852         * clutter/clutter-timeline.c: Allow disabling the timeline pool
10853         by using the CLUTTER_TIMELINE environment variable set to
10854         "no-pool".
10855
10856 2007-06-19  Emmanuele Bassi  <ebassi@openedhand.com>
10857
10858         * README.in: Update release notes.
10859
10860 2007-06-19  Matthew Allum  <mallum@openedhand.com>
10861
10862         * clutter/clutter-main.c: (clutter_init_with_args), (clutter_init):
10863         Safer checks for setting progname if NULL is passed in init.
10864
10865 2007-06-19  Emmanuele Bassi  <ebassi@openedhand.com>
10866
10867         * autogen.sh: autoreconf needs a README.
10868
10869 2007-06-19  Matthew Allum  <mallum@openedhand.com>
10870
10871         * TODO:
10872         Sync up a little.
10873         * clutter/clutter-main.c:
10874         Set a default window title based on g_prgname().
10875
10876         * clutter/clutter-stage.c:
10877         * clutter/clutter-stage.h:
10878         * clutter/egl/clutter-stage-egl.c:
10879         * clutter/glx/clutter-stage-glx.c:
10880         * clutter/sdl/clutter-stage-sdl.c:
10881         Alter draw_to_pixbuf to return a pixbuf
10882
10883         * configure.ac:
10884         Only full in gdk-pixbuf-xlib as a GLX backend dep.
10885
10886         * tests/test-entry.c:
10887         Fix a couple of warnings.
10888
10889 2007-06-19  Emmanuele Bassi  <ebassi@openedhand.com>
10890
10891         * Makefile.am: Add README.in to the EXTRA_DIST.
10892
10893 2007-06-19  Emmanuele Bassi  <ebassi@openedhand.com>
10894
10895         * configure.ac:
10896         * README.in: Use a template for the README file, so that
10897         it gets the right version number.
10898
10899 2007-06-19  Matthew Allum  <mallum@openedhand.com>
10900
10901         * clutter/clutter-stage.c:
10902         * clutter/clutter-stage.h:
10903         * clutter/glx/clutter-stage-glx.c:
10904         * clutter/sdl/clutter-stage-sdl.c:
10905         Add window title setting/getting functionality.
10906
10907         * clutter/clutter-event.c: (clutter_key_event_unicode):
10908         Remove uneeded convert case call.
10909
10910         * clutter/cogl/gl/cogl.c: (cogl_rectangle)
10911         Use parameters correctly for underlying GL rect call.
10912
10913         * tests/test-entry.c:
10914         Add a window title.
10915
10916 2007-06-18  Matthew Allum  <mallum@openedhand.com>
10917
10918         * clutter/sdl/clutter-event-sdl.c:
10919         Seemingly fix SDL Event source.
10920         Add some very basic SDL keysym translation.
10921         (Thanks to Thomas Van Machelen for initial translation code)
10922
10923         * tests/test-events.c:
10924         Dump some info on keysyms pressed.
10925
10926 2007-06-16  Emmanuele Bassi  <ebassi@openedhand.com>
10927
10928         * clutter/clutter-actor.h:
10929         * clutter/clutter-stage.h: Add 32 padding slots; when we
10930         reach 1.0 it'll be a long road until the following ABI
10931         break.
10932
10933         * tests/test-behave.c: Don't forget to include headers.
10934
10935 2007-06-16  Emmanuele Bassi  <ebassi@openedhand.com>
10936
10937         * clutter/clutter-container.h:
10938         * clutter/clutter-layout.h: Interfaces are not checked
10939         at compile-time, so there's not need to add padding to
10940         avoid ABI breaks.
10941
10942 2007-06-16  Emmanuele Bassi  <ebassi@openedhand.com>
10943
10944         * configure.ac: Partially revert last commit, and fail
10945         with AC_MSG_ERROR() instead of disabling the manual build
10946         if no jw and xmlto were found.
10947
10948 2007-06-16  Emmanuele Bassi  <ebassi@openedhand.com>
10949
10950         * configure.ac: If the programs required to build the manual
10951         are not found and --enable-manual was passed, then just print
10952         a warning and disable the manual build instead of aborting the
10953         configure.
10954
10955         * doc/manual/Makefile.am: Use the full path gathered by the
10956         configure script when invoking jw and xmlto.
10957
10958 2007-06-16  Matthew Allum  <mallum@openedhand.com>
10959
10960         * clutter/clutter-actor.c:
10961         Fix typo in x rotation transform (Thanks to Johan Billen #138)
10962
10963         * configure.ac:
10964         * doc/manual/Makefile.am:
10965         Fix manual build and required program check.
10966
10967         * tests/Makefile.am:
10968         Another typo fix.
10969
10970 2007-06-15  Tomas Frydrych  <tf@openedhand.com>
10971
10972         * clutter/clutter-actor.c:
10973         Added some comments; renamed MTX_GL_SCALE to MTX_GL_SCALE_X for
10974         consistency; removed some debug output.
10975
10976 2007-06-14  Tomas Frydrych  <tf@openedhand.com>
10977
10978         * clutter/clutter-vbox.c:
10979         * clutter/clutter-hbox.c:
10980         (clutter_vbox_pack_child):
10981         (clutter_hbox_pack_child):
10982         Fixed child coords.
10983
10984 2007-06-14  Emmanuele Bassi  <ebassi@openedhand.com>
10985
10986         * clutter/clutter-box.[ch]: Base class for layout containers.
10987
10988         * clutter/clutter-hbox.[ch]: Horizontal box actor.
10989
10990         * clutter/clutter-vbox.[ch]: Vertical box actor.
10991
10992         * clutter/clutter.h:
10993         * clutter/Makefile.am: Build glue
10994
10995         * tests/Makefile.am:
10996         * tests/test-boxes.c: Test suite for ClutterBox API and
10997         implementations.
10998
10999 2007-06-14  Matthew Allum  <mallum@openedhand.com>
11000
11001         * clutter/cogl/gl/cogl.c: (cogl_check_extension):
11002         Actually populate this func and remove the static alternate
11003         named one. Means GLX actually checks for available extensions.
11004         Other minor tidy ups.
11005
11006         * clutter/glx/clutter-backend-glx.c:
11007         * clutter/glx/clutter-backend-glx.h:
11008         Add support for GLX_SGI_swap_control to do vblanking prefering
11009         over glXGetVideoSyncSGI. Should fix issues on Intel chips with
11010         very slow frame rates due to vblank problems.
11011         Thanks to  Michel Danzer for tips, see;
11012         http://bugs.freedesktop.org/show_bug.cgi?id=10542
11013
11014         * test/test-actors.c:
11015         Change FPS to 60.
11016
11017 2007-06-14  Emmanuele Bassi  <ebassi@openedhand.com>
11018
11019         * clutter/clutter-timeout-pool.c: Make ClutterTimeoutPool
11020         more thread-safe, using a static lock.
11021
11022         (clutter_timeout_pool_dispatch), (clutter_timeout_pool_remove): Fix
11023         a race condition-turned-in-memory corruption bug, triggered by
11024         removing a timeout from the pool while still spinning the pool
11025         source.
11026
11027 2007-06-14  Emmanuele Bassi  <ebassi@openedhand.com>
11028
11029         * configure.ac:
11030         * doc/manual/Makefile.am: Find xmlto and jw in the path and
11031         use the symbolic names when building the manual.
11032
11033 2007-06-14  Tomas Frydrych  <tf@openedhand.com>
11034
11035         * clutter/clutter-actor.c:
11036         (clutter_actor_get_abs_position):
11037         (clutter_actor_get_abs_size):
11038         Reimplement using clutter_actor_project_point() and
11039         clutter_actor_project_vertices().
11040
11041         * tests/test-project.c:
11042         Rename clutter_actor_allocate_coords -> clutter_actor_query_coords
11043
11044 2007-06-14  Matthew Allum  <mallum@openedhand.com>
11045
11046         * clutter/clutter-actor.c:
11047         * clutter/clutter-actor.h:
11048         * clutter/clutter-group.c:
11049         * clutter/clutter-label.c:
11050         * clutter/egl/clutter-stage-egl.c:
11051         * clutter/glx/clutter-stage-glx.c:
11052         * clutter/sdl/clutter-stage-sdl.c:
11053         Rename clutter_actor_allocate_coords -> clutter_actor_query_coords
11054
11055         Change repaints to G_PRIORITY_DEFAULT + 10.
11056         (timelines are G_PRIORITY_DEFAULT + 30, events G_PRIORITY_DEFAULT)
11057
11058         * clutter/glx/clutter-event-glx.c:
11059         Handle shift modifier in keycode -> keysym translation.
11060
11061         * tests/test-actors.c:
11062         Remove (broken) screen saver code.
11063         Add scaling behaviour, clean code a little.
11064
11065 2007-06-13  Tomas Frydrych  <tf@openedhand.com>
11066
11067         * clutter/clutter-actor.c:
11068         (clutter_actor_project_vertices):
11069         (clutter_actor_project_proint):
11070         Fixed translation of Y coords to match the windowing system.
11071
11072         * clutter/egl/clutter-stage-egl.c:
11073         * clutter/glx/clutter-stage-glx.c:
11074         * clutter/sdl/clutter-stage-sdl.c:
11075         (clutter_stage_*_request_size):
11076         Initialize viewport when setting/resetting stage side.
11077
11078         * tests/Makefile.am
11079         * tests/test-project.c:
11080         An interactive test of the projection stuff.
11081
11082 2007-06-12  Tomas Frydrych  <tf@openedhand.com>
11083
11084         * clutter/clutter-main.c:
11085         (clutter_redraw):
11086         Clear CLUTTER_ACTOR_SYNC_MATRICES flag after setting up viewport.
11087
11088 2007-06-12  Matthew Allum  <mallum@openedhand.com>
11089
11090         * doc/manual/Makefile.am:
11091         Fix typo in Makefile so PDF's actually get built.
11092
11093         * doc/manual/clutter-manual.xml.in:
11094         Add an FAQ section with initial entry.
11095
11096 2007-06-12  Tomas Frydrych  <tf@openedhand.com>
11097
11098         * clutter/clutter-fixed.h:
11099         Added shorthand CFX_QMUL macro.
11100
11101         * clutter/clutter-private.h:
11102         * clutter/clutter-actor.h:
11103         * clutter/clutter-actor.c:
11104         Replaced ClutterVertices with ClutterVertex;
11105
11106         (clutter_actor_get_transformed_vertices):
11107         (clutter_actor_get_transformed_point):
11108         Replaced with clutter_actor_projected_vertices and
11109         clutter_actor_projected_point.
11110
11111         (_clutter_actor_apply_modelview_transform):
11112         (_clutter_actor_apply_modelview_transform_recursive):
11113         Private functions to push actor modelview transforms on OpenGL
11114         stack.
11115
11116         * clutter/cogl/cogl.h:
11117         * clutter/cogl/gl/cogl.c:
11118         * clutter/cogl/gles/cogl.c:
11119         (cogl_get_viewport):
11120         (cogl_get_modelview_matrix):
11121         (cogl_get_projection_matrix):
11122         Functions to access OpenGL transforms.
11123
11124 2007-06-12  Matthew Allum  <mallum@openedhand.com>
11125
11126         * clutter/clutter-alpha.c:
11127         Remove stray g_debug.
11128
11129         * clutter/clutter-behaviour-rotate.c:
11130         Register private class member.
11131
11132         * clutter/clutter-behaviour.c:
11133         * clutter/clutter-behaviour.h:
11134         Add applied and removed signals.
11135
11136         * Makefile.am:
11137         * configure.ac:
11138         * examples/Makefile.am:
11139         * examples/README:
11140         * examples/behave.c:
11141         * examples/slider.c:
11142         * examples/super-oh.c:
11143         * examples/test-entry.c:
11144         * examples/test-text.c:
11145         * examples/test.c:
11146         * tests/Makefile.am:
11147         Remove examples, moving applicable code into tests.
11148
11149 2007-06-11  Tomas Frydrych  <tf@openedhand.com>
11150
11151         * clutter/clutter-alpha.c:
11152         (clutter_alpha_sine_inc):
11153         (clutter_alpha_sine_dec):
11154         (clutter_alpha_sine_half):
11155         Fixed unsigned overflow.
11156
11157 2007-06-11  Emmanuele Bassi  <ebassi@openedhand.com>
11158
11159         * clutter/clutter-event.h: Add full modifier masks enums.
11160
11161         * clutter/glx/clutter-event-glx.c: Copy the modifier masks from
11162         the native X event structure.
11163
11164         * clutter/clutter-event.c: Convert to upper case if the
11165         shift or the lock masks are applied.
11166
11167 2007-06-09  Emmanuele Bassi  <ebassi@openedhand.com>
11168
11169         * clutter/clutter.h:
11170         * clutter/clutter-timeout-pool.[ch]: Add a timeout pool source;
11171         every timeout added to this pool will use a single slice of the
11172         main loop.
11173
11174         * clutter/clutter-timelince.c: Use a per-class timeout pool for
11175         every timeline.
11176
11177 2007-06-08  Matthew Allum  <mallum@openedhand.com>
11178
11179         * clutter/clutter-texture.c: (clutter_texture_get_pixbuf):
11180         Remove stray printf.
11181
11182 2007-06-08  Matthew Allum  <mallum@openedhand.com>
11183
11184         * clutter/clutter-actor.c:
11185         * clutter/clutter-debug.h:
11186         * clutter/clutter-main.c:
11187         * clutter/clutter-main.h:
11188         * clutter/clutter-private.h:
11189         * clutter/clutter-timeline.c:
11190         Add 'schedule' debug flag and new CLUTTER_TIMESTAMP macro.
11191
11192         * clutter/clutter-texture.c:
11193         * clutter/clutter-texture.h:
11194         * clutter/cogl/cogl.h:
11195         * clutter/cogl/gl/cogl-defines.h:
11196         * clutter/cogl/gles/cogl-defines.h:
11197         * clutter/cogl/gl/cogl.c:
11198         * clutter/cogl/gles/cogl.c:
11199         Add initial experiemental YUV texture support.
11200         Move texture rect size checks into cogl.
11201         Better handle moving texture data from video -> system memory
11202         (if support available).
11203
11204 2007-06-07  Neil J. Patel  <njp@o-hand.com>
11205
11206         * clutter/clutter-entry.c: (clutter_entry_class_init),
11207         (clutter_entry_handle_key_event):
11208         * clutter/clutter-entry.h:
11209         Added an 'activated' signal, which is emitted when the 'Enter' key is
11210         pressed.
11211
11212         * examples/test-entry.c: (on_entry_activated), (main):
11213         Added a test handler for the activated signal.
11214
11215 2007-06-07  Emmanuele Bassi  <ebassi@openedhand.com>
11216
11217         * clutter/*: Move documentation from the templates into the
11218         source code.
11219
11220 2007-06-07  Emmanuele Bassi  <ebassi@openedhand.com>
11221
11222         * clutter/clutter-container.[ch]: Add a generic actor container
11223         interface, for actors to implement without subclassing ClutterGroup.
11224
11225         * clutter/clutter-group.[ch]: Make ClutterGroup implement the
11226         ClutterContainer interface, and deprecate the colliding methods.
11227
11228         * clutter/clutter-layout.[ch]: Add extended layout interface.
11229         Actors and containers requiring or honouring complex layout
11230         management should implement this interface and provide at least
11231         one of the available layout types: width for height, height for
11232         width, natural size, iterative size request.
11233
11234         * clutter/clutter-label.c: A ClutterLabel requires height for
11235         width layout management, so it implements the ClutterLayout
11236         interface.
11237
11238         * clutter/Makefile.am: Add new files to the build.
11239
11240         * tests/*.c:
11241         * examples/*.c: Update tests and examples code to use the
11242         new ClutterContainer API instead of ClutterGroup.
11243
11244 2007-06-07  Emmanuele Bassi  <ebassi@o-hand.com>
11245
11246         * clutter/clutter-timeline.[ch]: Add a "delay" property, which
11247         delays the real start of the timeline by a number of milliseconds.
11248
11249         (clutter_timeline_clone): Rename clutter_timeline_copy() to
11250         clutter_timeline_clone(), for consistency.
11251
11252 2007-06-01  Neil J. Patel  <njp@o-hand.com>
11253
11254         * clutter/clutter-entry.c: (clutter_entry_set_property),
11255         (clutter_entry_get_property), (clutter_entry_class_init),
11256         (clutter_entry_init), (clutter_entry_set_text),
11257         (clutter_entry_set_max_length):
11258         * clutter/clutter-entry.h:
11259         * examples/test-entry.c: (main):
11260         Added a max-length property whihc limits the length of the text in the
11261         entry.
11262
11263 2007-06-01  Neil J. Patel  <njp@o-hand.com>
11264
11265         * clutter/clutter-entry.c: (clutter_entry_ensure_cursor_position),
11266         (clutter_entry_paint), (clutter_entry_init),
11267         (clutter_entry_handle_key_event):
11268         Clipping within the entry class to stop it over-slipping its
11269         boundries.
11270         Text will move within the clip region to keep the cursor always
11271         visible.
11272         Added some padding to the left and right to make sure cursor is
11273         always show.
11274
11275 2007-06-01  Tomas Frydrych  <tf@openedhand.com>
11276
11277         * clutter/clutter-actor.c:
11278         * clutter/clutter-stage.c:
11279         * clutter/clutter-private.h:
11280         Removed perspective matrix caching from ClutterStage.
11281
11282 2007-06-01  Neil J. Patel  <njp@o-hand.com>
11283
11284         * clutter/clutter-entry.c: (clutter_entry_set_property),
11285         (clutter_entry_get_property), (clutter_entry_ensure_layout),
11286         (clutter_entry_class_init), (clutter_entry_init),
11287         (clutter_entry_set_visibility), (clutter_entry_get_visibility),
11288         (clutter_entry_set_invisible_char),
11289         (clutter_entry_get_invisible_char):
11290         * clutter/clutter-entry.h:
11291         Added text-visibility, which will allow you to show all entered text
11292         as a nominated charaecter ('*' is default).
11293
11294         * examples/test-entry.c: (main):
11295
11296 2007-06-01  Neil J. Patel  <njp@o-hand.com>
11297
11298         * clutter/clutter-entry.c: (clutter_entry_ensure_cursor_position),
11299         (clutter_entry_clear_cursor_position),
11300         (clutter_entry_paint_cursor), (clutter_entry_paint),
11301         (clutter_entry_class_init), (clutter_entry_set_text),
11302         (clutter_entry_set_position):
11303         * clutter/clutter-entry.h:
11304         Added a signla to track cursor movements.
11305         Moved the sursor painting function so it can be subclassed.
11306
11307 2007-06-01  Tomas Frydrych  <tf@openedhand.com>
11308
11309         * clutter/clutter-actor.c:
11310         (clutter_actor_get_transformed_point):
11311         Make input again relative to the actor; feed depth into transform.
11312
11313 2007-06-01  Neil J. Patel  <njp@o-hand.com>
11314
11315         * clutter/clutter-entry.c: (clutter_entry_class_init),
11316         (clutter_entry_set_text):
11317         * clutter/clutter-entry.h:
11318         * examples/test-entry.c: (on_entry_text_changed), (main):
11319         Added a text-changed signal to the entry.
11320
11321 2007-06-01  Neil J. Patel  <njp@o-hand.com>
11322
11323         * clutter/clutter-effect.h:
11324         Removed extra G_END_DECLS outside the #endif
11325
11326         * clutter/clutter-entry.c: (clutter_entry_handle_key_event),
11327         (clutter_entry_add):
11328         * clutter/clutter-entry.h:
11329         * examples/test-entry.c: (on_key_release_cb):
11330         Added a function to deal with ClutterKeyEvents. Handles the majority
11331         of entry-related keyboard keys. However modifiers still need to be
11332         implemented.
11333
11334 2007-06-01  Tomas Frydrych  <tf@openedhand.com>
11335
11336         * clutter/clutter-actor.c:
11337         (mtx_create):
11338         Apply perspective transform before all other transforms.
11339
11340 2007-06-01  Tomas Frydrych  <tf@openedhand.com>
11341
11342         * clutter/clutter-stage.c:
11343         (clutter_stage_init):
11344         Call _clutter_stage_refresh_perspective_matrix to initialize the
11345         matrix for default values.
11346
11347 2007-06-01  Tomas Frydrych  <tf@openedhand.com>
11348
11349         * clutter/clutter-fixed.h:
11350         * clutter/clutter-behaviour-ellipse.h:
11351         * clutter/clutter-behaviour-ellipse.c:
11352         * clutter/clutter-behaviour-bspline.h:
11353         * clutter/clutter-behaviour-bspline.c:
11354         Documentation fixes.
11355
11356 2007-05-31  Tomas Frydrych  <tf@openedhand.com>
11357
11358         * clutter/clutter-stage.c:
11359         * clutter/clutter-private.h:
11360         (_clutter_stage_get_perspective_matrix):
11361         New function.
11362
11363         * clutter/clutter-actor.c:
11364         (clutter_actor_get_tranformed_vertices):
11365         (clutter_actor_get_tranformed_point):
11366         Apply perspective matrix on the top of actor transform matrix.
11367
11368 2007-05-31  Neil J Patel  <njp@o-hand.com>
11369
11370         * clutter/Makefile.am:
11371         * clutter/clutter-entry.c: (clutter_entry_set_property),
11372         (clutter_entry_get_property), (clutter_entry_ensure_layout),
11373         (clutter_entry_clear_layout),
11374         (clutter_entry_ensure_cursor_position), (clutter_entry_paint),
11375         (clutter_entry_request_coords), (clutter_entry_dispose),
11376         (clutter_entry_finalize), (clutter_entry_class_init),
11377         (clutter_entry_init), (clutter_entry_new_with_text),
11378         (clutter_entry_new_full), (clutter_entry_new),
11379         (clutter_entry_get_text), (clutter_entry_set_text),
11380         (clutter_entry_get_font_name), (clutter_entry_set_font_name),
11381         (clutter_entry_set_color), (clutter_entry_get_color),
11382         (clutter_entry_get_layout), (clutter_entry_set_alignment),
11383         (clutter_entry_get_alignment), (clutter_entry_set_position),
11384         (clutter_entry_get_position), (clutter_entry_add),
11385         (clutter_entry_remove), (clutter_entry_insert_text),
11386         (clutter_entry_delete_text), (clutter_entry_set_visible_cursor),
11387         (clutter_entry_get_visible_cursor):
11388         * clutter/clutter-entry.h:
11389         * clutter/clutter.h:
11390         * examples/Makefile.am:
11391         Initial import of ClutterEntry actor.
11392
11393         * examples/test-entry.c: (on_key_release_cb), (main):
11394         A basic test for ClutterEntry
11395
11396 2007-05-31  Tomas Frydrych  <tf@openedhand.com>
11397
11398         * clutter/clutter-actor.c:
11399         (clutter_actor_get_transformed_point):
11400         Fixed coordinance translation.
11401
11402 2007-05-31  Matthew Allum  <mallum@openedhand.com>
11403
11404         * clutter/clutter-actor.c:
11405         * clutter/clutter-actor.h:
11406         Add clutter_actor_get_transformed_point()
11407
11408         * clutter/clutter-main.c:
11409         Plug in perspective setup to redraw
11410
11411         * clutter/clutter-stage.c:
11412         * clutter/clutter-stage.h:
11413         Remove audience code for now.
11414
11415 2007-05-31  Matthew Allum  <mallum@openedhand.com>
11416
11417         * clutter/egl/clutter-backend-egl.c:
11418         * clutter/egl/clutter-backend-egl.h:
11419         * clutter/egl/clutter-event-egl.c:
11420         * clutter/egl/clutter-stage-egl.c:
11421         * clutter/egl/clutter-stage-egl.h:
11422         Rename Egl -> EGL
11423
11424 2007-05-31  Matthew Allum  <mallum@openedhand.com>
11425
11426         * clutter/glx/clutter-backend-glx.c:
11427         * clutter/glx/clutter-backend-glx.h:
11428         * clutter/glx/clutter-event-glx.c:
11429         * clutter/glx/clutter-glx.h:
11430         * clutter/glx/clutter-stage-glx.c:
11431         * clutter/glx/clutter-stage-glx.h:
11432         Change type nameing from Glx -> GLX.
11433         Add basic event filtering functionality
11434
11435 2007-05-31  Tomas Frydrych  <tf@openedhand.com>
11436
11437         * clutter/clutter-behaviour-ellipse.c:
11438         Changed behaviour so that a beginning angle of 0 would correspond
11439         to 12 o'clock.
11440
11441 2007-05-31  Tomas Frydrych  <tf@openedhand.com>
11442
11443         * clutter/clutter-fixed.h:
11444         * clutter/clutter-fixed.c:
11445         (_clutter_double_to_int):
11446         Fixed return value to gint; added missing cast that broke negative
11447         number conversions.
11448
11449         (CLUTTER_ANGLE_FROM_DEGX):
11450         Swapped division and multiplication around to avoid overflows.
11451
11452         * clutter/clutter-behaviour-ellipse.c:
11453         Fixed incorrectly set lower bounds for angle properties.
11454
11455         * clutter/clutter-actor.h:
11456         * clutter/clutter-actor.c:
11457         Added ClutterVertices type.
11458         (clutter_actor_get_transformed_vertices):
11459         New function.
11460
11461 2007-05-31  Matthew Allum  <mallum@openedhand.com>
11462         * TODO:
11463         Sync up for whats left for 0.4 release (and 0.6 ideas)
11464
11465 2007-05-31  Matthew Allum  <mallum@openedhand.com>
11466
11467         * clutter/clutter-behaviour-ellipse.c:
11468         Remove uneeded knot signal
11469
11470         * clutter/clutter-behaviour-path.c:
11471         Fix so knot signal is emitted only when a knot is reached.
11472
11473         * clutter/clutter-effect.c:
11474         * clutter/clutter-effect.h:
11475         Add a scale effect.
11476
11477         * configure.ac:
11478         * doc/manual/Makefile.am:
11479         * doc/manual/clutter-manual.xml.in:
11480         * doc/manual/manual.xsl:
11481         * doc/manual/style.css:
11482         Add various bits for application developers manual.
11483
11484 2007-05-30  Tomas Frydrych  <tf@openedhand.com>
11485
11486         * clutter/clutter-alpha.h:
11487         * clutter/clutter-alpha.c:
11488         Removed ClutterSmoothstep struct
11489         (clutter_smoothstep_inc_func):
11490         Renamed to clutter_smoothstep_func.
11491         (clutter_smoothstep_added_func):
11492         Added.
11493
11494 2007-05-29  Tomas Frydrych  <tf@openedhand.com>
11495
11496         * clutter/clutter-fixed.h:
11497         (clutter_cosx):
11498         (clutter_cosi):
11499         Fixed wrong sign in cos -> sin tranformation.
11500
11501         * clutter/clutter-behaviour-ellipse.c:
11502         (clutter_behaviour_ellipse_advance):
11503         Replaced coordinace calculation for tilted ellipse with a sane
11504         algorithm.
11505
11506         * examples/behave.c:
11507         Added tilt parameter to the example ellptic path.
11508
11509 2007-05-29  Tomas Frydrych  <tf@openedhand.com>
11510
11511         * clutter/cogl/gles/cogl.c:
11512         (cogl_setup_viewport):
11513         Fixed z_camera calculation.
11514
11515 2007-05-28  Matthew Allum  <mallum@openedhand.com>
11516
11517         * clutter/clutter-texture.c: (clutter_texture_unrealize):
11518         Dont even try to move texture pixels from video -> system
11519         ram on unrealisation for GL/ES
11520
11521 2007-05-28  Matthew Allum  <mallum@openedhand.com>
11522
11523         * clutter/clutter-stage.c: (clutter_stage_get_actor_at_pos):
11524         Fix for GL/ES. Barring texture reads this means all clutter
11525         functionality now works on GL/ES! (no doubt with a few yet to
11526         be discovered bugs)
11527
11528 2007-05-28  Matthew Allum  <mallum@openedhand.com>
11529
11530         * clutter/clutter-backend.c:
11531         * clutter/clutter-backend.h:
11532         * clutter/glx/clutter-stage-glx.c:
11533         * clutter/glx/clutter-backend-glx.c:
11534         Fix up rendering pipeline removing clutter_backend_XXX_stage_paint
11535         and adding clutter_backend_XXX_redraw instead. Duplicates less
11536         code in backends, avoids clutter_actor_paint() getting called
11537         before stage is set up (viewport wise) and unbreaks things like
11538         picking.
11539
11540         * clutter/clutter-actor.c:
11541         * clutter/clutter-actor.h:
11542         * clutter/clutter-main.c:
11543         * clutter/clutter-private.h:
11544         * clutter/clutter-stage.c: (clutter_stage_get_actor_at_pos):
11545         Redo picking functionality a different way (via color indexing)
11546         as to provide more flexibility, possibly speed and more likely
11547         work with GL/ES (doesn't currently however - not sure why).
11548
11549         * clutter/clutter-group.c:
11550         Add groups own 'pick' method.
11551
11552         * clutter/cogl/cogl.h:
11553         * clutter/cogl/gl/cogl.c:
11554         * clutter/cogl/gles/cogl.c:
11555         Move clipping funtionality into cogl.
11556
11557         * clutter/cogl/gles/cogl-defines.h:
11558         Hack around missing BGR format in GL/ES.
11559
11560         * clutter/egl/clutter-backend-egl.c:
11561         * clutter/egl/clutter-backend-egl.h:
11562         * clutter/egl/clutter-stage-egl.c:
11563         * clutter/sdl/clutter-backend-sdl.c:
11564         * clutter/sdl/clutter-backend-sdl.h:
11565         * clutter/sdl/clutter-event-sdl.c:
11566         * clutter/sdl/clutter-stage-sdl.c:
11567         Update backends to newer API.
11568         Add basic mouse event translation to SDL.
11569
11570 2007-05-25  Matthew Allum  <mallum@openedhand.com>
11571
11572         * clutter/clutter-color.c: (clutter_color_parse):
11573         Handle #rrggbbaa color setting strings (i.e with alpha).
11574         Set alpha to 0xff if it is not specified.
11575
11576         * clutter/clutter-stage.c: (clutter_stage_get_actor_at_pos)
11577         Increase select buffer.
11578
11579         * examples/super-oh.c:
11580         Fix up use of clutter_group_show_all()
11581
11582 2007-05-25  Tomas Frydrych  <tf@openedhand.com>
11583
11584         * clutter/clutter-actor.c:
11585         * clutter/clutter-actor.h:
11586         Renamed clutter_actor_scalex() to clutter_actor_set_scale_with_gravityx
11587         Added floating point version clutter_actor_set_scale_with_gravity.
11588
11589         * clutter/clutter-units.h:
11590         * clutter/clutter-actor.h:
11591         typedef ClutterUnit
11592
11593         * clutter/clutter-fixed.h:
11594         * clutter/clutter-stage.c:
11595         CLUTTER_ANGLE_FROM_DEG(), CLUTTER_ANGLE_FROM_DEGX()
11596         renamed CLUTTER_DEGF_TO_CLUTTER_ANGLE to CLUTTER_ANGLE_FROM_DEGF
11597
11598         * clutter/clutter-behaviour-ellipse.h:
11599         * clutter/clutter-behaviour-ellipse.c:
11600         * examples/behave.c:
11601         (clutter_behaviour_ellipse_new):
11602         Changed signature to take angles in degrees, and x,y offsets.
11603         (clutter_behaviour_ellipse_newx):
11604         Fixed version clutter_behaviour_ellipse_new.
11605         (clutter_behaviour_ellipse_set_center):
11606         (clutter_behaviour_ellipse_get_center):
11607         Changed signature to take x,y coords instead of ClutterKnot.
11608
11609         clutter/cogl/gl/cogl.c:
11610         clutter/cogl/gles/cogl.c:
11611         (cogl_setup_viewport):
11612         Added z_camera calculation.
11613
11614 2007-05-25  Matthew Allum  <mallum@openedhand.com>
11615
11616         * Makefile.am:
11617         Install a default flavour .pc file.
11618
11619         * clutter/clutter-actor.c:
11620         Translate units correctly for translate()
11621
11622         * clutter/clutter-feature.h:
11623         Add new texture features.
11624
11625         * clutter/clutter-fixed.h:
11626         Add clutter angle conversion defines.
11627
11628         * clutter/clutter-group.c:
11629         Use cogl not GL. Dont recurse on show all.
11630
11631         * clutter/clutter-private.h:
11632         Remove sync_viewport.
11633
11634         * clutter/clutter-rectangle.c:
11635         Fix cogl typo.
11636
11637         * clutter/clutter-stage.c:
11638         * clutter/clutter-stage.h:
11639         Add perspective settings. Remove viewport_sync.
11640         Add audience stubs. Fix up actor_at_pos a little (still broken)
11641
11642         * clutter/clutter-texture.h:
11643         * clutter/clutter-texture.c:
11644         Redo pixel uploading. Add initial (disabled) YUV support.
11645
11646         * clutter/clutter-timeline.c:
11647         Fire 'completed' signal when looping.
11648
11649         * clutter/cogl/gl/cogl.c:
11650         Move some backend checks here.
11651
11652         * clutter/glx/clutter-backend-glx.c:
11653         Actually check target display has GLX ext.
11654
11655         * clutter/glx/clutter-stage-glx.c:
11656         Handle offscreen failing more gracefully.
11657
11658         * examples/Makefile.am:
11659         Use AM_LDFLAGS.
11660
11661         * clutter/clutter-main.c:
11662         * clutter/clutter-feature.c:
11663         * clutter/clutter-backend.c:
11664         * clutter/clutter-alpha.c:
11665         Fix a compile warnings.
11666
11667         * tests/Makefile.am:
11668         * tests/test-offscreen.c:
11669         * tests/test-scale.c:
11670         More tests.
11671
11672 2007-05-23  Tomas Frydrych  <tf@openedhand.com>
11673
11674         * clutter/clutter-actor.c:
11675         * clutter/clutter-actor.h:
11676         (clutter_actor_get_abs_size_units):
11677         (clutter_actor_get_abs_position_units):
11678         removed from public api
11679
11680 2007-05-22  Tomas Frydrych  <tf@openedhand.com>
11681
11682         * configure.ac:
11683         * Makefile.am:
11684         * clutter.pc.in:
11685         * clutter/Makefile.am:
11686         * clutter/clutter-actor.c:
11687         * clutter/clutter-actor.h:
11688         * clutter/clutter-group.c:
11689         * clutter/clutter-label.c:
11690         * clutter/clutter-real.h:
11691         * clutter/clutter-units.h:
11692         * clutter/clutter.h:
11693         * clutter/egl/clutter-stage-egl.c:
11694         * clutter/glx/clutter-stage-glx.c:
11695         * clutter/sdl/clutter-stage-sdl.c:
11696         * examples/Makefile.am:
11697         * tests/Makefile.am:
11698         Removed ClutterReal; added clutter-units.
11699
11700 2007-05-18  Tomas Frydrych  <tf@openedhand.com>
11701
11702         * configure.ac:
11703         * Makefile.am:
11704         * clutter.pc.in:
11705         * clutter/Makefile.am:
11706         * clutter/clutter-actor.c:
11707         * clutter/clutter-actor.h:
11708         * clutter/clutter-behaviour-scale.c:
11709         * clutter/clutter-behaviour-scale.h:
11710         * clutter/clutter-group.c:
11711         * clutter/clutter-label.c:
11712         * clutter/clutter-real.h:
11713         * clutter/egl/clutter-stage-egl.c:
11714         * clutter/glx/clutter-stage-glx.c:
11715         * examples/Makefile.am:
11716         * tests/Makefile.am:
11717         ClutterReal type.
11718
11719 2007-05-17  Emmanuele Bassi  <ebassi@openedhand.com>
11720
11721         * clutter/clutter-main.c: Use clutter_base_init() inside the
11722         initialisation process, instead of calling g_type_init() directly.
11723
11724         * clutter/clutter-alpha.c:
11725         * clutter/clutter-behaviour-bspline.c:
11726         * clutter/clutter-behaviour-ellipse.c: Fix API documentation.
11727
11728 2007-05-17  Matthew Allum  <mallum@openedhand.com>
11729
11730         * configure.ac:
11731         Fix CLUTTER_NO_FPU typo.
11732
11733 2007-05-17  Tomas Frydrych  <tf@openedhand.com>
11734
11735         * clutter/clutter-alpha.h:
11736         * clutter/clutter-alpha.c:
11737         * doc/reference/clutter-sections.txt:
11738         Added clutter_exp_inc_func() and clutter_exp_dec_func().
11739
11740 2007-05-16  Emmanuele Bassi  <ebassi@openedhand.com>
11741
11742         * clutter/clutter-main.[ch]: Add clutter_base_init(), semi-private
11743         function to initialise just the base Clutter functionalities; it's
11744         only used by gtk-doc to introspect the classes.
11745
11746         * clutter/clutter-feature.c: Do not access the private features
11747         data structure unless it has been initialised.
11748
11749 2007-05-16  Tomas Frydrych  <tf@openedhand.com>
11750
11751         * clutter/clutter-alpha.h:
11752         * clutter/clutter-alpha.c:
11753         * doc/reference/clutter-sections.txt:
11754         Added clutter_sine_half().
11755
11756 2007-05-16  Tomas Frydrych  <tf@openedhand.com>
11757
11758         * clutter/clutter-alpha.h:
11759         * clutter/clutter-alpha.c:
11760         * doc/reference/clutter-sections.txt:
11761         Fixed clutter_sine_inc(), added clutter_sine_dec().
11762
11763 2007-05-16  Tomas Frydrych  <tf@openedhand.com>
11764
11765         * clutter/clutter-alpha.h:
11766         * clutter/clutter-alpha.c:
11767         * doc/reference/clutter-sections.txt:
11768         * doc/rererence/clutter.types:
11769         * doc/reference/tmpl/clutter-alpha.sgml:
11770         clutter_smoothstep_func alpha function,
11771         ClutterSmoothstep struct for smoothstep function data.
11772
11773 2007-05-16  Matthew Allum  <mallum@openedhand.com>
11774
11775         * clutter/clutter-backend.c:
11776         * clutter/clutter-backend.h:
11777         * clutter/clutter-feature.c:
11778         * clutter/clutter-feature.h:
11779         * clutter/clutter-main.c:
11780         * clutter/clutter-main.h:
11781         * clutter/clutter-private.h:
11782         * clutter/clutter-stage.c:
11783         * clutter/cogl/cogl.h:
11784         * clutter/cogl/gl/cogl.c:
11785         * clutter/cogl/gles/cogl.c:
11786         * clutter/glx/clutter-backend-glx.c:
11787         * clutter/glx/clutter-backend-glx.h:
11788         * clutter/glx/clutter-glx.h:
11789         * clutter/glx/clutter-stage-glx.c:
11790         * clutter/glx/clutter-stage-glx.h:
11791         Rejig the features() foo, moving mostly into backends/cogl.
11792
11793 2007-05-15  Tomas Frydrych  <tf@openedhand.com>
11794
11795         * clutter/clutter-actor.c:
11796         (clutter_actor_get_abs_position):
11797         Removed unnecessary CFX_MUL().
11798
11799 2007-05-15  Tomas Frydrych  <tf@openedhand.com>
11800
11801         * clutter/clutter-behaviour-ellipse.h:
11802         * clutter/clutter-behaviour-ellipse.c:
11803         (clutter_behaviour_ellipse_new):
11804         Added a tilt parameter.
11805
11806 2007-05-14  Matthew Allum  <mallum@openedhand.com>
11807
11808         * clutter/clutter-behaviour-path.c:
11809         Fix bug where last knot position wouldn't get reached.
11810
11811         * clutter/clutter-group.c:
11812         Add some docs
11813
11814         * clutter/clutter-timeline.h:
11815         * clutter/clutter-timeline.c:
11816         Add clutter_timeline_copy (needed for ClutterEffect)
11817
11818         * clutter/clutter-version.h.in:
11819         Export windowing system / GL backend etc defines.
11820
11821         * clutter/Makefile.am:
11822         * clutter/clutter-effect.c:
11823         * clutter/clutter-effect.h:
11824         * clutter/clutter.h:
11825
11826         * clutter/glx/clutter-backend-glx.c:
11827         Minor clean ups.
11828
11829         * clutter/clutter-alpha.h:
11830         Add a fixme.
11831
11832         * configure.ac:
11833         Add FPU define.
11834
11835         * examples/Makefile.am:
11836         * examples/slider.c:
11837         Add Robs slider game.
11838
11839 2007-05-10  Matthew Allum  <mallum@openedhand.com>
11840
11841         * clutter/egl/clutter-backend-egl.c:
11842         * clutter/egl/clutter-event-egl.c:
11843         * clutter/sdl/clutter-backend-sdl.c:
11844         * clutter/sdl/clutter-event-sdl.c:
11845         Fix SDL & EGL backends to work with newer backend code.
11846
11847 2007-05-10  Tomas Frydrych  <tf@openedhand.com>
11848
11849         * clutter/clutter-color.h:
11850         * clutter/clutter-color.c:
11851         Added clutter_color_to/from_hlsx()
11852         (clutter_color_to/from_hls):
11853         Clobber hue to 0 .. 250
11854
11855 2007-05-10  Matthew Allum  <mallum@openedhand.com>
11856
11857         * clutter/clutter-backend.c:
11858         * clutter/clutter-backend.h:
11859         * clutter/clutter-event.c:
11860         * clutter/clutter-main.c:
11861         * clutter/clutter-private.h:
11862         * clutter/glx/clutter-backend-glx.c:
11863         * clutter/glx/clutter-backend-glx.h:
11864         * clutter/glx/clutter-event-glx.c:
11865         Rejig backend event code as to simplify a little.
11866         NOTE: This breaks non glx backends.
11867
11868         * tests/Makefile.am:
11869         * tests/test-events.c:
11870         Add a very simple event test.
11871
11872         * tests/test-textures.c: (main):
11873         Add some more sizes to the test.
11874
11875 2007-05-05  Matthew Allum  <mallum@openedhand.com>
11876
11877         * clutter/clutter-texture.c:
11878         Fix typos with new cogl using texture code. Fixes tiled textures.
11879         Add a check for max npots size.
11880
11881         * configure.ac:
11882         * Makefile.am:
11883         * tests/Makefile.am:
11884         * tests/test-textures.c:
11885         Add a simple texture test.
11886
11887 2007-05-02  Matthew Allum  <mallum@openedhand.com>
11888
11889         * clutter/Makefile.am:
11890         * clutter/clutter-stage.c:
11891         * clutter/sdl/Makefile.am:
11892         * clutter/sdl/clutter-backend-sdl.c:
11893         * clutter/sdl/clutter-backend-sdl.h:
11894         * clutter/sdl/clutter-event-sdl.c:
11895         * clutter/sdl/clutter-sdl.h:
11896         * clutter/sdl/clutter-stage-sdl.c:
11897         * clutter/sdl/clutter-stage-sdl.h:
11898         * configure.ac:
11899         Add a basic SDL based backend. Lacks real input event handling
11900         (translation) as yet.
11901         Also allows for clutter to be built against dgles.
11902
11903 2007-05-02  Matthew Allum  <mallum@openedhand.com>
11904
11905         * clutter/clutter-actor.c:
11906         * clutter/cogl/gles/cogl.c:
11907         Fix rotation + other fixed point cleanups.
11908
11909         * clutter/clutter-texture.h:
11910         Sketch out an updated API.
11911
11912 2007-05-01  Matthew Allum  <mallum@openedhand.com>
11913
11914         * clutter/clutter-rectangle.c:
11915         Comment out color match check for now as appears to be causing
11916         borders to always get pained.
11917
11918         * clutter/clutter-texture.h:
11919         Add some format defines (unused as yet)
11920
11921         * clutter/cogl/gles/cogl.c:
11922         * clutter/egl/clutter-stage-egl.c:
11923         * configure.ac:
11924         Various OpenGL ES backend related fixes and tweaks.
11925
11926 2007-04-30  Tomas Frydrych  <tf@openedhand.com>
11927
11928         * clutter/clutter-fixed.c (clutter_sini):
11929         Fixed bug in reducing angle to 0-2pi.
11930
11931         * clutter/clutter-behaviour-ellipse.h:
11932         * clutter/clutter-behaviour-ellipse.c:
11933         * clutter/clutter.h:
11934         * clutter/Makefile.am:
11935         * doc/clutter.types:
11936         * doc/clutter-docs.sgml:
11937         Added ClutterBehaviourEllipse for movement along
11938         elliptic paths.
11939
11940         * examples/bspline.c:
11941         * examples/behave.c:
11942         * examples/Makefile.am:
11943         Added --path commandline option to behave to choose different
11944         path types (poly, ellipse, bspline) and dropped bspline example.
11945
11946 2007-04-28  Matthew Allum  <mallum@openedhand.com>
11947
11948         * clutter/Makefile.am:
11949         * clutter/clutter-debug.h:
11950         * clutter/clutter-fixed.h:
11951         * clutter/clutter-main.c:
11952         * clutter/cogl/gles/Makefile.am:
11953         * clutter/cogl/gles/cogl-defines.h:
11954         * clutter/cogl/gles/cogl.c:
11955         * clutter/egl/clutter-backend-egl.c:
11956         * clutter/egl/clutter-backend-egl.h:
11957         * clutter/egl/clutter-stage-egl.c:
11958         * configure.ac:
11959         Populate most stubs for cogl GL/ES implementation.
11960         (against vincent - see http://svn.o-hand.com/repos/misc/ogles)
11961         Add various fixups to EGL backend.
11962         Code builds and runs (on 16bpp) but yet displays much (is close!)
11963
11964         * clutter/pango/pangoclutter-render.c:
11965         comment out some rouge glBegin/end calls.
11966
11967 2007-04-27  Matthew Allum  <mallum@openedhand.com>
11968
11969         * clutter/Makefile.am:
11970         * clutter/clutter-actor.c:
11971         * clutter/clutter-clone-texture.c:
11972         * clutter/clutter-rectangle.c:
11973         * clutter/clutter-stage.c:
11974         * clutter/clutter-texture.c:
11975         * clutter/cogl/cogl.h:
11976         * clutter/cogl/gl/Makefile.am:
11977         * clutter/cogl/gl/cogl-defines.h:
11978         * clutter/cogl/gl/cogl.c:
11979         * clutter/cogl/gles/Makefile.am:
11980         * clutter/cogl/gles/cogl-defines.h:
11981         * clutter/cogl/gles/cogl.c:
11982         * clutter/glx/Makefile.am:
11983         * clutter/glx/clutter-stage-glx.c:
11984         * clutter/pango/Makefile.am:
11985         * clutter/pango/pangoclutter-render.c:
11986         * configure.ac:
11987         Add initial 'cogl' implementation. 'cogl' is a simple abstration
11988         layer over GL and GL/ES used by clutter internally. It should
11989         eventually allow clutter applications to be run on both GL and GL/ES
11990         with just a recompile as well as provide more debugging and potentially
11991         profiling information for GL and GL/ES usage.
11992
11993         This commit contains the initial GL implementation.
11994
11995 2007-04-26  Emmanuele Bassi  <ebassi@openedhand.com>
11996
11997         Merge from clutter-0-2
11998
11999         * clutter/clutter-label.c: Unbreak the "use-markup" property
12000         by actually passing the markup to pango_layout_set_markup().
12001
12002 2007-04-25  Emmanuele Bassi  <ebassi@openedhand.com>
12003
12004         Merge from clutter.git/master
12005
12006         * clutter/glx/clutter-event-glx.c:
12007         * clutter/glx/clutter-stage-glx.c: Implement the _NET_WM_PING
12008         protocol handling on the main stage window.
12009
12010         * clutter/clutter-stage.h:
12011         * clutter/clutter-stage.c:
12012         * clutter/clutter-main.c: Handle CLUTTER_DELETE events internally,
12013         by calling clutter_main_quit(), and remove the ::delete-event
12014         signal from ClutterStage; clean up the signal emission sequence
12015         for the events: emit the ::event signal before emitting any signal
12016         and the ::event-after signal after the signal has been emitted; move
12017         the signal emission calls inside ClutterStage so we can call
12018         g_signal_emit() instead of g_signal_emit_by_name(), thus sparing us
12019         a lookup for each event.
12020
12021         * examples/test.c: Remove ::delete-event signal handling.
12022
12023 2007-04-19  Emmanuele Bassi  <ebassi@openedhand.com>
12024
12025         Merge from clutter.git/master
12026
12027         * clutter/clutter-backend.h:
12028         * clutter/clutter-backend.c: Add API for getting screen/display
12029         properties from the backend.
12030
12031         * clutter/glx/clutter-backend-glx.c:
12032         * clutter/glx/clutter-backend-egl.c: Retrieve screen/display
12033         properties inside the backends init function.
12034
12035         * clutter/glx/clutter-event-glx.c: Handle the WM_PROTOCOLS
12036         ClientMessage events.
12037
12038         * clutter/glx/clutter-stage-glx.c: Use XSetWMProtocols to enable
12039         the WM_PROTOCOLS ClientMessage events on the stage window.
12040
12041         * clutter/glx/clutter-glx.h: Return the Screen pointer and not
12042         the screen number in clutter_glx_get_default_screen(). The screen
12043         number is returned by clutter_backend_get_screen_number(), or
12044         by calling XScreenNumberOfScreen on the returned pointer.
12045
12046         * clutter/clutter-event.h: Add CLUTTER_DELETE to the event types.
12047
12048         * clutter/clutter-main.c: Emit the ClutterStage::delete-event
12049         when receiving a CLUTTER_DELETE event; if the signal handlers
12050         return FALSE, call clutter_main_quit().
12051
12052         * clutter/clutter-marshal.list:
12053         * clutter/clutter-stage.c: Use the right marshaller function
12054         for the delete-event closure.
12055
12056         * examples/test.c: Test the "delete-event" signal handler.
12057
12058 2007-04-16  Emmanuele Bassi  <ebassi@openedhand.com>
12059
12060         Merge from clutter.git/merge-from-stable
12061
12062         * clutter/clutter-event.h:
12063         * clutter/glx/clutter-event-glx.c: Add the XEMBED protocol support
12064         in the GLX backend, for embedding the stage window into another
12065         X window. This allows cross-toolkit inclusion and makes clutter-gtk
12066         possible.
12067
12068         * clutter/clutter-behaviour-scale.c: Implement every ClutterGravity
12069         value inside the scale behaviour and make the actors anchor to a
12070         gravity when scaling up and down.
12071
12072         * clutter/clutter-texture.c: Revert to copying GdkPixbuf areas to
12073         correctly implement the texture tiling. This fixes segmentation
12074         faults occurring with cards with a small texture memory area.
12075
12076         * clutter/clutter-actor.c: Call g_object_freeze_notify() (and take
12077         a reference on the actor) inside clutter_actor_request_size() so
12078         that the notifications get unqueued at the end of the size request.
12079
12080 2007-04-16  Emmanuele Bassi  <ebassi@openedhand.com>
12081
12082         Merge from clutter.git/work
12083
12084         * clutter/clutter-behaviour-bspline.[ch]: Return a ClutterBehaviour
12085         when splicing the b-spline; fix the header and the API documentation;
12086         hush the compiler warnings; kill of some pointer indirections.
12087
12088         * clutter/clutter-behaviour-rotate.[ch]: Add a rotate behaviour,
12089         with user defined axis, direction and sweep angle.
12090
12091         * clutter/clutter-behaviour.c (clutter_behaviour_is_applied): Add
12092         a parameter ISA check and return FALSE if it fails.
12093
12094 2007-04-12  Tomas Frydrych  <tf@openedhand.com>
12095
12096         * clutter/clutter-behaviour.h:
12097         * clutter/clutter-behaviour.c:
12098         * clutter/clutter-behaviour-path.h:
12099         * clutter/clutter-behaviour-path.c:
12100         Moved declaration of ClutterKnot from clutter-behaviour path
12101         into clutter-behaviour.
12102
12103         * clutter/clutter-fixed.h
12104         * clutter/clutter-fixed.c
12105         Added myself as an author.
12106
12107         * clutter/Makefile.am:
12108         * clutter/clutter.h:
12109         * clutter/clutter-behaviour-bspline.h:
12110         * clutter/clutter-behaviour-bspline.c:
12111         Added new bezier spline behaviour.
12112
12113         * examples/bspline.c:
12114         * examples/Makefile.am:
12115         An example of using bspline path.
12116
12117 2007-04-07  Matthew Allum  <mallum@openedhand.com>
12118
12119         * clutter/glx/clutter-backend-glx.c:
12120         Fix version check.
12121
12122 2007-03-29  Tomas Frydrych  <tf@openedhand.com>
12123
12124         * clutter/clutter-stage.c:
12125         (perspective): fixed degree -> rad conversion for fovy angle
12126         (perspectivex): fixed degree -> rad conversion for fovy angle,
12127         added code for gle glMultMatrixx().
12128
12129 2007-03-29  Tomas Frydrych  <tf@openedhand.com>
12130
12131         * configure.ac: fixed typo
12132
12133         * clutter/clutter-fixed.c:
12134         * clutter/clutter-fixed.h:
12135         (clutter_tani): fast implementation of tan()
12136         (clutter_qmulx): improved-precission fixed point multiply
12137
12138         * clutter/clutter-stage.c:
12139         (perspectivex): fixed point implementaiton of perspective()
12140         (_clutter_stage_sync_viewport):
12141         (clutter_stage_get_actor_at_pos):
12142         use perspectivex() instead of perspective()
12143
12144 2007-03-27  Matthew Allum  <mallum@openedhand.com>
12145
12146         * clutter/cogl/Makefile.am:
12147         * clutter/cogl/cogl.h:
12148         * clutter/cogl/gles/Makefile.am:
12149         * clutter/cogl/gles/cogl.c:
12150         Begin poplulating cogl GLES code.
12151
12152         * configure.ac:
12153         * clutter/egl/clutter-event-egl.c:
12154         * clutter/egl/clutter-stage-egl.c:
12155         * clutter/egl/clutter-stage-egl.h:
12156         * clutter/egl/clutter-backend-egl.c:
12157         * clutter/egl/clutter-backend-egl.h:
12158         * clutter/egl/clutter-egl.h:
12159         Add initial EGL/X backend work mostly ported from backend branch.
12160         Builds but untested as yet.
12161
12162         * clutter/glx/clutter-stage-glx.c:
12163         Only include XFixes Header if we have have it.
12164
12165         * clutter/clutter-behaviour.c: (clutter_behaviour_apply):
12166         * clutter/clutter-behaviour.h:
12167         Add clutter_behaviour_is_applied()
12168
12169 2007-03-27  Emmanuele Bassi  <ebassi@openedhand.com>
12170
12171         * clutter/clutter-stage.h: Remove unused clutter_stage_flush()
12172         declaration.
12173
12174 2007-03-27  Emmanuele Bassi  <ebassi@openedhand.com>
12175
12176         * clutter/glx/clutter-glx.h:
12177         * clutter/glx/clutter-stage-glx.c: (Re-)Implement the foreign
12178         window setting function for the stage in the GLX backend.
12179
12180 2007-03-27  Emmanuele Bassi  <ebassi@openedhand.com>
12181
12182         * clutter/clutter-stage.h: Declare the clutter_perspective_get_type()
12183         function in the header.
12184
12185 2007-03-27  Emmanuele Bassi  <ebassi@openedhand.com>
12186
12187         * clutter/cogl/cogl.h: Add header and compiler guards.
12188
12189 2007-03-27  Emmanuele Bassi  <ebassi@openedhand.com>
12190
12191         * clutter/glx/clutter-stage-glx.c: Remove the check in the
12192         paint chain up: we know for sure that the parent's paint
12193         vfunc is present.
12194
12195 2007-03-27  Matthew Allum  <mallum@openedhand.com>
12196
12197         * clutter/clutter-feature.c:
12198         Rejig ifdef's a little. Make drm vblanking Linux only.
12199
12200         * clutter/clutter-stage.c:
12201         * clutter/clutter-stage.h:
12202         Add a perspective boxed type.
12203
12204         * clutter/glx/clutter-stage-glx.c:
12205         Add some FIXMEs
12206
12207         * clutter/Makefile.am:
12208         * clutter/cogl/Makefile.am:
12209         * clutter/cogl/cogl.h:
12210         * clutter/cogl/gl/Makefile.am:
12211         * clutter/cogl/gl/cogl.c:
12212         * configure.ac:
12213         Very initial work on 'cogl' GL/GLES abstraction/utility code.
12214
12215 2007-03-26  Emmanuele Bassi  <ebassi@openedhand.com>
12216
12217         * clutter/clutter-behaviour-scale.[ch]: Add API for getting
12218         the scale bounds and the gravity from a scale behaviour instance.
12219
12220 2007-03-26  Emmanuele Bassi  <ebassi@openedhand.com>
12221
12222         * clutter/clutter-timeline.c: Fix last commit.
12223
12224 2007-03-25  Emmanuele Bassi  <ebassi@openedhand.com>
12225
12226         * clutter/clutter-timeline.c: Slightly lower the proiority
12227         of the ClutterTimeline tick, so that events get a higher
12228         priority in the main loop.
12229
12230 2007-03-25  Emmanuele Bassi  <ebassi@openedhand.com>
12231
12232         * clutter/clutter-event.[ch]: Remove the flags member from
12233         the ClutterEvent structure; remove the ClutterEventFlags
12234         enum.
12235
12236 2007-03-25  Emmanuele Bassi  <ebassi@openedhand.com>
12237
12238         * clutter/clutter-stage.h: Remove the ::get_actor_at_pos()
12239         and ::flush() vfuncs.
12240
12241         * clutter/glx/clutter-stage-glx.c: Remove the implementations
12242         of those vfuncs from the backend specific code, as they are
12243         pure GL calls.
12244
12245         * clutter/clutter-stage.c: Add back the actor hit detection
12246         code in the base stage class, along with the viewport
12247         synchronisation function.
12248
12249         * clutter/clutter-private.h: Declare the private function
12250         _clutter_stage_sync_viewport().
12251
12252 2007-03-23  Emmanuele Bassi  <ebassi@openedhand.com>
12253
12254         * clutter/clutter-backend.c: Clear the event queue when
12255         disposing the backend object; remove the initialisation
12256         of the backend structure members...
12257
12258         * clutter/glx/clutter-backend-glx.c: ... and keep it here
12259         in the backends where it belongs.
12260
12261 2007-03-23  Emmanuele Bassi  <ebassi@openedhand.com>
12262
12263         * clutter/clutter-private.h:
12264         * clutter/clutter-backend.h: Move the backend functions
12265         into the private header.
12266
12267         * clutter/glx/clutter-stage-glx.c:
12268         * clutter/glx/clutter-event-glx.c:
12269         * clutter/clutter-main.c:
12270         * clutter/clutter-stage.c: Update the calls to the private
12271         backend functions.
12272
12273         * clutter/clutter-backend.[ch]: Add an ::init_features
12274         vfunc to ClutterBackend.
12275
12276 2007-03-23  Emmanuele Bassi  <ebassi@openedhand.com>
12277
12278         * clutter/glx/clutter-stage-glx.c:
12279         Make sure the top-left corner of the box is our origin,
12280         when returning the allocation.
12281
12282         * clutter/clutter-stage.c:
12283         * clutter/clutter-group.c: Add tracing for the paint
12284         method.
12285
12286 2007-03-23  Matthew Allum  <mallum@openedhand.com>
12287
12288         * clutter/glx/clutter-stage-glx.c:
12289         (clutter_stage_glx_allocate_coords):
12290         Make new stage return correct width & height.
12291
12292 2007-03-23  Emmanuele Bassi  <ebassi@openedhand.com>
12293
12294         Assorted build fixes to pass distcheck.
12295
12296         * clutter/glx/Makefile.am: Install the clutter-glx.h header.
12297
12298         * clutter/Makefile.am: Actually apply linker flags.
12299
12300         * configure.ac: Use a more readable CLUTTER_API_VERSION instead
12301         of CLUTTER_MAJORMINOR; require gobject-2.0 with glib-2.0 >= 2.10,
12302         as we are using GObject and the slice allocator from glib 2.10.
12303
12304         * clutter.pc.in: Add the apiversion variable.
12305
12306 2007-03-23  Emmanuele Bassi  <ebassi@openedhand.com>
12307
12308         * clutter/clutter-event.c: Pop and peek the event queue
12309         from the tail - it's a queue, not a stack.
12310
12311         * clutter/clutter-private.h:
12312         * clutter/clutter-main.c: Add a boolean signal accumulator.
12313
12314         * clutter/clutter-stage.[ch]: Add an event argument to
12315         the 'delete-event' signal; rename the 'input-event' signal
12316         to 'event'; add the static scope flag to all the stage
12317         events.
12318
12319         * examples/*.c: Update.
12320
12321 2007-03-22  Emmanuele Bassi  <ebassi@openedhand.com>
12322
12323         * clutter.pc.in: Require gobject-2.0 too.
12324
12325         * ChangeLog: Fix the previous commit log.
12326
12327 2007-03-22  Emmanuele Bassi  <ebassi@openedhand.com>
12328
12329         * clutter/clutter-private.h: Remove inclusion of backend-specific
12330         headers; update the main context object; add the declarations for
12331         the event queue functions.
12332
12333         * clutter/clutter-backend.[ch]: Add the abstract ClutterBackend
12334         object, which holds backend-specific settings, the main stage,
12335         and the event queue. Every backend must implement a subclass of
12336         ClutterBackend and ClutterStage.
12337
12338         * clutter/clutter-feature.c: Protect the GLX specific calls
12339         behing #ifdef HAVE_CLUTTER_GLX.
12340
12341         * clutter/clutter-actor.c:
12342         * clutter/clutter-group.c:
12343         * clutter/clutter-clone-texture.c: Include GL/gl.h
12344
12345         * clutter/clutter-event.[ch]: Update public API and implement the
12346         event queue private API; hold a reference on the event objects;
12347         move out the keysym-to-unicode table; add the new event types.
12348
12349         * clutter/clutter-color.h: Include clutter-fixed.h
12350
12351         * clutter/clutter-main.c: Update API; get the main stage
12352         from the backend object; process the event received from the
12353         queue; lock/unlock the main mutex if we have one; move the
12354         initialisation process sooner in the init sequence, in order to
12355         have the backend object when we check for options; call the
12356         backed vfuncs in the pre/post parse hooks.
12357
12358         * clutter/clutter-stage.c: Make ClutterStage and abstract class,
12359         implemented by the backends.
12360
12361         * clutter/clutter/glx/clutter-glx.h:
12362         * clutter/clutter/glx/clutter-backend-glx.[ch]:
12363         * clutter/clutter/glx/clutter-event-glx.c:
12364         * clutter/clutter/glx/clutter-stage-glx.[ch]:
12365         * clutter/clutter/glx/Makefile.am: Add the GLX backend.
12366
12367         * clutter/clutter/egl/clutter-backend-egl.[ch]:
12368         * clutter/clutter/egl/clutter-event-egl.c:
12369         * clutter/clutter/egl/clutter-stage-egl.[ch]:
12370         * clutter/clutter/egl/Makefile.am: Add the stub for a EGL backend.
12371
12372         * examples/*.c: Update for the new API.
12373
12374         * configure.ac: Check for the XFixes X extension; add a configure
12375         switch for choosing the backend; show the backend we are building
12376         in the summary.
12377
12378         * clutter.pc.in: Add the backend to the exported variables.
12379
12380         * clutter/Makefile.am: Install the headers in the
12381         clutter-$api_version/clutter directory, as usual; call the shared
12382         object libclutter-$backend-$api_version; build glue for the
12383         backend static library.
12384
12385 2007-03-19  Matthew Allum  <mallum@openedhand.com>
12386
12387         * clutter/clutter-label.c:
12388         Simple doc fix.
12389         * clutter/clutter-texture.c: (clutter_texture_get_pixbuf):
12390         Backport of fix to get_pixbuf on non alpha textures from 0_2 branch.
12391
12392 2007-03-19  Emmanuele Bassi  <ebassi@openedhand.com>
12393
12394         * clutter/clutter-texture.c: Clean up code; add checks
12395         in public API.
12396
12397 2007-02-18  Matthew Allum  <mallum@openedhand.com>
12398
12399         * clutter/clutter-actor.c: (clutter_actor_reparent):
12400         Add a FIXME re calling clutter_group here.
12401         * clutter/clutter-group.c:
12402         Fix clutter_group_remove_all
12403
12404 2007-02-15  Matthew Allum  <mallum@openedhand.com>
12405
12406         * clutter/clutter-group.h:
12407         Add missing clutter_group_remove_all declaration.
12408
12409 2007-02-14  Matthew Allum  <mallum@openedhand.com>
12410
12411         * clutter/Makefile.am:
12412         * clutter/clutter-main.c:
12413         * clutter/clutter-stage.c:
12414         * clutter/clutter-version.h.in:
12415         * configure.ac:
12416         * examples/super-oh.c:
12417         Add CLUTTER_FLAVOUR define.
12418
12419 2007-02-13  Matthew Allum  <mallum@openedhand.com>
12420
12421         * examples/super-oh.c: (screensaver_setup):
12422         Fix example to build with new glx api
12423
12424 2007-02-07  Emmanuele Bassi  <ebassi@openedhand.com>
12425
12426         * clutter/clutter-debug.h: Define the CLUTTER_MARK()
12427         macro even when CLUTTER_ENABLE_DEBUG is not
12428         defined. (#215)
12429
12430 2007-01-30  Tomas Frydrych  <tf@openedhand.com>
12431
12432         * clutter/clutter-alpha.c:
12433         (sincx1024_func):
12434         (clutter_sine_func):
12435         (clutter_sine_inc_func):
12436         fixed the fixed point math.
12437
12438 2007-01-30  Emmanuele Bassi  <ebassi@openedhand.com>
12439
12440         * clutter/clutter-alpha.h:
12441         * clutter/clutter-alpha.c: Add the square waveform
12442         function clutter_square_func() to the precooked
12443         alpha functions.
12444
12445 2007-01-23  Matthew Allum  <mallum@openedhand.com>
12446
12447         * Makefile.am:
12448         * clutter.pc.in:
12449         * clutter/Makefile.am:
12450         * clutter/clutter-backend-glx.c:
12451         * clutter/clutter-backend-glx.h:
12452         * clutter/clutter-event.c:
12453         * clutter/clutter-feature.c:
12454         * clutter/clutter-group.c:
12455         * clutter/clutter-main.c:
12456         * clutter/clutter-main.h:
12457         * clutter/clutter-private.h:
12458         * clutter/clutter-stage-glx.c:
12459         * clutter/clutter-stage-glx.h:
12460         * clutter/clutter-stage.c:
12461         * clutter/clutter-stage.h:
12462         * clutter/clutter-util.c:
12463         * clutter/clutter-util.h:
12464         * clutter/pango/pangoclutter-render.c:
12465         * configure.ac:
12466         * examples/Makefile.am:
12467         Initial work in supporting different GL backends (ie. GLX/EGL/DirectFB etc).
12468         Currently just GLX supported and now mostly self contained.
12469
12470         * TODO:
12471         Add a note about caching glenables
12472
12473 2007-01-23  Tomas Frydrych  <tf@openedhand.com>
12474
12475         * clutter/clutter-fixed.c:
12476         (_clutter_double_to_fixed):
12477         (_clutter_double_to_int):
12478         Fixed to avoid problems with punned pointers and gcc
12479         optimatisation.
12480
12481         * clutter/pango/pangoclutter-private.h:
12482         Simplified PANGO_PIXELS_26_6 macro.
12483
12484         * clutter/pango/pangoclutter-font.c:
12485         (_pango_clutter_font_new):
12486         Replace floating with fixed point math.
12487
12488 2007-01-19  Tomas Frydrych  <tf@openedhand.com>
12489
12490         * clutter/clutter-fixed.c: (clutter_sqrti):
12491         Use union instead of casting int <-> float to get rid of
12492         punned-pointer warning and avoid gcc optimatisation breaking
12493         the function on arm.
12494
12495 2007-01-19  Emmanuele Bassi  <ebassi@openedhand.com>
12496
12497         Allow the ClutterGroup subclasses to override the add and
12498         remove operations.
12499
12500         * clutter/clutter-group.c: Move the add and remove code from
12501         clutter_group_add() and clutter_group_remove() to the signal
12502         class closures; make the "add" and "remove" signals as
12503         RUN_FIRST.
12504
12505 2007-01-19  Tomas Frydrych  <tf@openedhand.com>
12506
12507         * clutter/clutter-fixed.h.:
12508         * clutter/clutter-fixed.c:
12509         Added fast double to int and double to fixed point conversion
12510         routines; changed CLUTTER_FLOAT_TO_FIXED to use it.
12511         Replaced clutter_sqrti with fixed point implementation of the QIII
12512         algorithm.
12513
12514         * clutter/clutter-behavior-path.c: use clutter_sqrti always
12515
12516         * clutter/clutter-alpha.c:
12517         (sinc_func): replaced double -> int cast with CLUTTER_FLOAT_TO_INT
12518
12519 2007-01-18  Emmanuele Bassi  <ebassi@openedhand.com>
12520
12521         * configure.ac: Post release bump to 0.3.0.
12522
12523 2007-01-18 =============== 0.2 Release ================================
12524
12525 2007-01-18  Matthew Allum  <mallum@openedhand.com>
12526
12527         * clutter.doap:
12528         Update for 0.2 release
12529
12530 2007-01-18  Emmanuele Bassi  <ebassi@openedhand.com>
12531
12532         * clutter/clutter-group.h: Add public functions
12533         clutter_group_get_n_children() and clutter_group_get_nth_child().
12534
12535         * clutter/clutter-behaviour.h:
12536         * clutter/clutter-behaviour.c: Fix header alignment; fix argument
12537         name for apidoc.
12538
12539 2007-01-18  Emmanuele Bassi  <ebassi@openedhand.com>
12540
12541         * clutter/Makefile.am: Use the build dir when linking to the
12542         internal pango clutter renderer.
12543
12544 2007-01-18  Tomas Frydrych  <tf@openedhand.com>
12545
12546         * clutter/clutter-fixed.h: fixed a typo in comment
12547
12548 2007-01-18  Emmanuele Bassi  <ebassi@openedhand.com>
12549
12550         * clutter/clutter-fixed.h: Remove some inline documentation to
12551         make the header more readable.
12552
12553         * clutter/clutter-behaviour.c: The actors are store inside a
12554         GSList and not in a GList, so change the list operations to
12555         use the right API.
12556
12557 2007-01-18  Tomas Frydrych  <tf@openedhand.com>
12558
12559         * clutter/clutter-color.c:
12560         (clutter_color_darken):
12561         (clutter_color_lighten):
12562         Changed calls to clutter_color_shade calls to clutter_color_shadex
12563
12564 2007-01-17  Matthew Allum  <mallum@openedhand.com>
12565
12566         * configure.ac:
12567         Bump up version to 0.2.0
12568
12569 2007-01-17  Tomas Frydrych  <tf@openedhand.com>
12570         * configure.ac:
12571         * clutter/clutter-behavior-path.c:
12572         Added --without-fpu option.
12573
12574         * doc/refrence/tmpl/clutter-fixed.sgml:
12575         * clutter/clutter-fixed.c:
12576         * clutter/clutter-fixed.h:
12577         Documentation for fixed point API.
12578
12579         * AUTHORS: added self.
12580
12581 2007-01-17  Emmanuele Bassi  <ebassi@openedhand.com>
12582
12583         * clutter/clutter-feature.h:
12584         * clutter/clutter-feature.c: Move the GL headers from the
12585         header file to the body.
12586
12587         * clutter/clutter-fixed.h:
12588         * clutter/clutter-fixed.c: Fix apidoc.
12589
12590         * clutter/clutter-color.h:
12591         * clutter/clutter-color.c: Ditto.
12592
12593 2007-01-17  Tomas Frydrych  <tf@openedhand.com>
12594
12595         * clutter/clutter-fixed.h:
12596         * clutter/clutter-fixed.c:
12597         * clutter/clutter-alpha.c:
12598         Renamed clutter_fixed_sin() to clutter_sinx() and
12599         clutter_angle_sin() to clutter_sini(); added clutter_sqrtx()
12600         and clutter_sqrti(); added missing copyright.
12601
12602         * clutter/clutter-behavior.c:
12603         replaced call to sqrt() with clutter_sqrti()
12604
12605         * clutter/clutter-behavior-scale.c:
12606         (clutter_behaviour_scale_alpha_notify):
12607         Replaced floating point math with fixed point.
12608
12609 2007-01-16  Emmanuele Bassi  <ebassi@openedhand.com>
12610
12611         * clutter/clutter-feature.c: Use clutter_vblank_method() to
12612         get the VBlank method name from the environment variable OR
12613         the command line switch.
12614
12615         (clutter_feature_do_init): Move the check on the features
12616         state here, to avoid an expensive function call, and inline
12617         the function.
12618
12619         * clutter/clutter-fixed.c: Fix gtk-doc.
12620
12621         * clutter/clutter-main.c: Add a --clutter-vblank command line
12622         switch controlling the VBlank method to be used: it overrides
12623         the CLUTTER_VBLANK environment variable.
12624
12625         (pre_parse_hook), (clutter_init),
12626         (clutter_init_with_args): Move thread initialisation before
12627         type init, to avoid the warning that comes with newer GLib
12628         versions.
12629
12630         * clutter/clutter-group.h:
12631         * clutter/clutter-group.c: Mark clutter_group_show_all() and
12632         clutter_group_hide_all() as deprecated.
12633
12634 2007-01-16  Matthew Allum  <mallum@openedhand.com>
12635
12636         * NEWS:
12637         Minor tweaks
12638
12639         * TODO:
12640         Sync up, mainly with 0.3 todo items
12641
12642         * clutter/clutter-behaviour.c:
12643         * clutter/clutter-behaviour.h:
12644         clutter_behaviour_get_n_actors() / clutter_behaviour_get_nth_actor()
12645         Additions.
12646
12647         * clutter/clutter-stage.c: (clutter_stage_realize):
12648         Experimental (disabled) visual setting code.
12649
12650         * clutter/clutter-feature.c:
12651         Check for GL_EXT_texture_rectangle (#198  - Frederick Riss)
12652
12653         * clutter/clutter-group.c: (clutter_group_allocate_coords):
12654         Fix for group size allocation (#199 -  Frederick Riss)
12655
12656         * clutter/clutter-texture.c: (texture_upload_data):
12657         Fix texture unpacking row length (#197 Frederick Riss)
12658
12659         * examples/Makefile.am:
12660         Fix LDADD in build (#196 - Frederick Riss)
12661
12662 2007-01-16  Tomas Frydrych  <tf@openedhand.com>
12663
12664         * clutter/clutter-fixed.h:
12665         Added integer ClutterAngle type, protype of clutter_angle_sin,
12666         convenience macros clutter_fixed_cos and clutter_angle_cos, plus
12667         other convenience macros for commonly used constants and ops.
12668         * clutter/clutter-fixed.c:
12669         (clutter_fixed_sin):
12670         Fixed to work for negative angles.
12671         (clutter_angle_sin):
12672         Fast fixed point sin function for ClutterAngle angles.
12673         * clutter/clutter-alpha.c:
12674         (clutter_sin_func, clutter_sin_inc_func):
12675         Changed to use clutter_angle_sin function.
12676         * clutter-behavior-path.c:
12677         replaced floating point with fixed point operations
12678         * clutter/clutter-color.c:
12679         * clutter/clutter-color.h:
12680         Added (clutter_color_shadex), replaced floating point operations
12681         with fixed point
12682
12683 2007-01-15  Tomas Frydrych  <tf@openedhand.com>
12684
12685         * clutter/clutter-fixed.h: (CLUTTER_FIXED_TO_DOUBLE/FLOAT):
12686         Fixed macro so it works for negative values.
12687         * clutter/clutter-fixed.c: (clutter_fixed_sin):
12688         Implemented fixed point sin function.
12689         * clutter/clutter-alpha.c: (clutter_sin_func, clutter_sin_inc_func):
12690         Pluged in fixed point sin function.
12691
12692 2007-01-07  Matthew Allum  <mallum@openedhand.com>
12693
12694         * clutter/clutter-actor.c: (clutter_actor_allocate_coords):
12695         Fix an amazingly not noticed until now typo.
12696         Minor doc tweaks.
12697
12698         * clutter/clutter-behaviour-opacity.c:
12699         (clutter_behaviour_alpha_notify):
12700         Take into account initial opacity value when calculating from alpha.
12701
12702         * clutter/clutter-group.c:
12703         Add new get_nth_child() and get_n_children() api calls.
12704
12705 2007-01-04  Matthew Allum  <mallum@openedhand.com>
12706
12707         * clutter/clutter-actor.c:
12708         * clutter/clutter-actor.h:
12709         Add new set_width/height API calls.
12710         Tweak scaling by reseting matrix.
12711         Make set_opactiy() take parent opacity into account.
12712         Fix clipping.
12713
12714         * clutter/clutter-alpha.c:
12715         Add more sine functionality.
12716
12717         * clutter/clutter-behaviour-opacity.c:
12718         Dont make a copy of all applied actors but use a foreach()
12719
12720         * clutter/clutter-behaviour-scale.c:
12721         Give correct limits to propertys.
12722         Tweak gravity a little more.
12723         Update docs.
12724 :
12725         * clutter/clutter-behaviour.c: (clutter_behaviour_remove):
12726         Minor warning text change.
12727
12728         * clutter/clutter-feature.c: (clutter_feature_wait_for_vblank):
12729         Minor dri ioctl tweak.
12730
12731         * clutter/clutter-label.c:
12732         * clutter/clutter-label.h:
12733         Add new label_full api call.
12734
12735 2006-12-27  Emmanuele Bassi  <ebassi@openedhand.com>
12736
12737         * clutter/clutter-stage.[ch]:
12738         * clutter/clutter-event.[ch]: Revert changes; this is what
12739         happens when you keep old tree around.
12740
12741 2006-12-27  Emmanuele Bassi  <ebassi@openedhand.com>
12742
12743         * clutter/clutter-color.h:
12744         * clutter/clutter-color.c: Add clutter_color_to_string(),
12745         which creates a hex-encoded color string from a ClutterColor.
12746
12747 2006-12-20  Matthew Allum  <mallum@openedhand.com>
12748
12749         * NEWS:
12750         Add some missing improvements.
12751
12752 2006-12-17  Emmanuele Bassi  <ebassi@openedhand.com>
12753
12754         * clutter/clutter-label.c: Remove some gtk-isms; always take
12755         a reference before calling g_object_notify(), as the object
12756         might get disposed while calling the closures inside the
12757         notify queue; notify the changes of the ellipsize property.
12758
12759 2006-12-14  Emmanuele Bassi  <ebassi@openedhand.com>
12760
12761         * clutter/clutter-color.h:
12762         * clutter/clutter-color.c: Expose clutter_color_copy()
12763         and clutter_color_free() for the python bindings, so that
12764         they can manager the conversion automatically; use the
12765         slice allocator when copying/freeing a ClutterColor.
12766
12767 2006-12-13  Emmanuele Bassi  <ebassi@openedhand.com>
12768
12769         * clutter/clutter-color.h:
12770         * clutter/clutter-color.c: Add clutter_color_equal(),
12771         a function for comparing two colors.
12772
12773         * clutter/clutter-rectangle.c:
12774         (clutter_rectangle_set_color),
12775         (clutter_rectangle_set_border_color): Unset the border if
12776         the color of the rectangle and the color of the border are
12777         the same.
12778
12779 2006-12-13  Emmanuele Bassi  <ebassi@openedhand.com>
12780
12781         * clutter/clutter-actor.c:
12782         * clutter/clutter-clone-texture.c:
12783         * clutter/clutter-event.h:
12784         * clutter/clutter-stage.c:
12785         * clutter/clutter-texture.c:
12786         * clutter/clutter-timeline.c: Update the inline apidoc.
12787
12788 2006-12-13  Matthew Allum  <mallum@openedhand.com>
12789
12790         * clutter/clutter-actor.c: (clutter_actor_class_init):
12791         Allow actor x,y props to be negative.
12792
12793 2006-12-12  Emmanuele Bassi  <ebassi@openedhand.com>
12794
12795         Rework part of the show/hide machinery.  Allow groups sub-classes
12796         and composite actors to override show_all/hide_all in order to
12797         decide which children they wish to show/hide.  This means that
12798         if an actor overrides the default show/hide virtual methods, it'll
12799         have to chain up to the parent class show/hide.  While we're at it,
12800         provide the fully recursive clutter_actor_show_all() and
12801         clutter_actor_hide_all() methods.
12802
12803         * clutter/clutter-behaviour-path.c: Add apidoc for the ClutterKnot
12804         functions; add pathological equality case for clutter_knot_equal().
12805
12806         * clutter/clutter-event.h:
12807         * clutter/clutter-feature.h:
12808         * clutter/clutter-behaviour.c:
12809         * clutter/clutter-behaviour-scale.c:Fix parameters name so that
12810         gtk-doc doesn't complain.
12811
12812         * clutter/clutter-actor.c:
12813         * clutter/clutter-event.c: Add apidoc
12814
12815         * clutter/clutter-actor.h:
12816         * clutter/clutter-actor.c: Add a clutter_actor_show_all() and a
12817         clutter_actor_hide_all() functions; provide a mechanism for
12818         groups and composited actors to programmatically select what to
12819         show/hide when clutter_actor_show_all() and clutter_actor_hide_all()
12820         are called.  If you are overriding the ClutterActor::show or
12821         the ClutterActor::hide virtual methods you should chain up with
12822         the parent class.
12823
12824         * clutter/clutter-group.c: Override show_all and hide_all and
12825         recursively show/hide every child inside the group;
12826         clutter_group_show_all() and clutter_group_hide_all() remain as non
12827         recursive versions of clutter_actor_show_all() and
12828         clutter_actor_hide_all() (maybe we should rename them in order
12829         to avoid name clashes with the bindings).
12830
12831         * clutter/clutter-stage.c:
12832         * clutter/clutter-texture.c: Chain up with parent class show
12833         and hide vfuncs.
12834
12835         * clutter/clutter-clone-texture.h:
12836         * clutter/clutter-clone-texture.c: Provide API for changing the
12837         parent texture of a clone texture actor.
12838
12839         * examples/behave.c:
12840         * examples/super-oh.c:
12841         * examples/test.c: Use clutter_actor_show_all() instead of
12842         clutter_group_show_all().
12843
12844 2006-12-08  Matthew Allum  <mallum@openedhand.com>
12845
12846         * clutter.doap:
12847         Put release date in correct format.
12848
12849 2006-12-08  Emmanuele Bassi  <ebassi@openedhand.com>
12850
12851         * clutter/clutter-behaviour.h: Add a function prototype
12852         for the foreach function: we need something more specific
12853         than GFunc; add clutter_behaviour_get_actors(), used to
12854         get a list of the actors.
12855
12856         * clutter/clutter-behaviour.c: Add debugging notes; add
12857         a warning for behaviour implementations missing the
12858         alpha_notify vfunc; add api documentation
12859
12860         * clutter/clutter-behaviour-opacity.c:
12861         * clutter/clutter-behaviour-path.c:
12862         * clutter/clutter-behaviour-scale.c: Reimplement the
12863         alpha_notify functions using the new foreach function
12864         and, where possible, by directly iterating on the
12865         actors: this shaves off the number of recalculations
12866         of the property/alpha values, and the number of
12867         functions.
12868
12869 2006-12-05  Emmanuele Bassi  <ebassi@openedhand.com>
12870
12871         * clutter/clutter-rectangle.c: Forgot to set the
12872         pencil color.
12873
12874 2006-12-05  Emmanuele Bassi  <ebassi@openedhand.com>
12875
12876         * behave.c: Add test for clutter_color_parse().
12877
12878 2006-12-05  Emmanuele Bassi  <ebassi@openedhand.com>
12879
12880         * clutter/clutter-event.c: Move the apidoc out.
12881
12882 2006-12-05  Emmanuele Bassi  <ebassi@openedhand.com>
12883
12884         * clutter/clutter-color.h:
12885         * clutter/clutter-color.c: Add clutter_color_parse(),
12886         which parses a string containing a color definition as
12887         understood by XParseColor() (or pango_color_parse()).
12888
12889 2006-12-04  Emmanuele Bassi  <ebassi@openedhand.com>
12890
12891         Avoid clutter segfaulting when used without invoking
12892         clutter_init().  This is needed when using api documentation
12893         tools and every other tool relying on the GObject
12894         introspection API (esp. on a headless box).  see the
12895         note in clutter/clutter-feature.c:clutter_feature_init
12896         for a full explanation.
12897
12898         * clutter/clutter-feature.c: Call clutter_feature_init()
12899         when needed by one of the accessors of the features
12900         structure.
12901
12902         * clutter/clutter-main.c:
12903         * clutter/clutter-private.h: Remove clutter_feature_init()
12904         public declaration: the features support check is done the
12905         first time a feature is needed.
12906
12907         * clutter/clutter-main.c: Do not ever access the clutter
12908         main context pointer directly; instead, obtain a pointer
12909         to it via clutter_context_get_default(), which will always
12910         return something valid.
12911
12912 2006-12-04  Emmanuele Bassi  <ebassi@openedhand.com>
12913
12914         * clutter/clutter-private.h: Add our own READABLE,
12915         WRITABLE and READWRITE paramspec flags, declaring the
12916         string components of the properties GParamSpec as static;
12917         this should shave off some bytes in the memory footprint
12918         and avoid relocations.
12919
12920         * clutter/clutter-actor.c:
12921         * clutter/clutter-behaviour.c:
12922         * clutter/clutter-behaviour-opacity.c:
12923         * clutter/clutter-behaviour-path.c:
12924         * clutter/clutter-behavuour-scale.c:
12925         * clutter/clutter-clone-texture.c:
12926         * clutter/clutter-label.c:
12927         * clutter/clutter-rectangle.c:
12928         * clutter/clutter-stage.c:
12929         * clutter/clutter-texture.c:
12930         * clutter/clutter-timeline.c: Use the CLUTTER_PARAM_*
12931         macros we just added.
12932
12933         * clutter/clutter-behaviour-scale.c: Add properties for
12934         the scale begin, scale end and gravity parameters.
12935
12936         * clutter/clutter-behaviour-path.h: Mark the ClutterKnot
12937         memory management functions as public (for the bindings),
12938         since we use the slice allocator for copying knots around;
12939         add a clutter_knot_equal() function.
12940
12941         * clutter/clutter-behaviour-path.c:
12942         (node_distance): Use clutter_knot_equal() as a fast path
12943         to avoid the sqrt() in case the nodes we are using are
12944         at the same position.
12945         (path_total_length): Additional check on the existence
12946         of the next node.
12947
12948         * examples/behave.c: Do not leak the ClutterBehaviour
12949         objects around.
12950
12951 2006-12-03  Emmanuele Bassi  <ebassi@openedhand.com>
12952
12953         * clutter/clutter-texture.h: Clean up.
12954
12955         * clutter/clutter-texture.c: Typo fix in the name
12956         of ClutterTextureTileDimension.
12957
12958         * clutter/clutter-behaviour.c: Allow passing NULL
12959         to clutter_behaviour_set_alpha() (as we pass NULL
12960         in the finalize process).
12961
12962 2006-12-02  Emmanuele Bassi  <ebassi@openedhand.com>
12963
12964         * clutter/clutter-version.h.in: Fix a stupid logic
12965         error in the CHECK_VERSION macro.
12966
12967 2006-11-30  Matthew Allum  <mallum@openedhand.com>
12968
12969         * clutter.doap:
12970         Updates
12971
12972 2006-11-30  Emmanuele Bassi  <ebassi@openedhand.com>
12973
12974         * clutter/clutter-stage.h:
12975         * clutter/clutter-stage.c:
12976         (clutter_stage_swap_buffers): Remove, as the same is done
12977         via clutter_redraw() and clutter_actor_queue_redraw().
12978
12979         (clutter_stage_unrealize), (clutter_stage_init),
12980         (clutter_stage_set_xwindow_foreign): Do not call
12981         XDestroyWindow() on the stage Window if we are using a
12982         foreign Window, as we don't control its lifetime.
12983
12984 2006-11-30  Emmanuele Bassi  <ebassi@openedhand.com>
12985
12986         * Makefile.am: Remove the gtk directory from the SUBDIRS.
12987
12988         * clutter/clutter-stage.h:
12989         * clutter/clutter-stage.c: Add clutter_stage_swap_buffers(),
12990         which swaps the GL buffers.  This fixes the redraw in the
12991         GTK widget.
12992
12993 2006-11-29  Emmanuele Bassi  <ebassi@openedhand.com>
12994
12995         * clutter/clutter-stage.c:
12996         (clutter_stage_set_xwindow_foreign): Add checks;
12997         remove an indirection to the private data.
12998
12999 2006-11-29  Emmanuele Bassi  <ebassi@openedhand.com>
13000
13001         * gtk/*
13002         * configure.ac:
13003         * Makfile.am: Remove the GTK+ widget from the
13004         main tree; now Clutter depends just on GLib,
13005         XLibs, GdkPixbuf and OpenGL.
13006
13007 2006-11-29  Matthew Allum  <mallum@openedhand.com>
13008
13009         * clutter/clutter-stage.c: (clutter_stage_realize):
13010         Set colormap on stage window - should fix issues
13011         with indirect rendering.
13012
13013 2006-11-23  Matthew Allum  <mallum@openedhand.com>
13014
13015         * clutter/clutter-debug.h:
13016         Fix small macro typo.
13017
13018 2006-11-22  Matthew Allum  <mallum@openedhand.com>
13019
13020         * clutter/clutter-actor.c:
13021         * clutter/clutter-alpha.c:
13022         * clutter/clutter-behaviour-opacity.c:
13023         * clutter/clutter-behaviour-scale.c:
13024         * clutter/clutter-clone-texture.c:
13025         * clutter/clutter-feature.c:
13026         * clutter/clutter-label.c:
13027         * clutter/clutter-main.c:
13028         * clutter/clutter-stage.c:
13029         * clutter/clutter-texture.c
13030         * clutter/clutter-timeline.c:
13031         * clutter/clutter-debug.h:
13032         Make CLUTTER_NOTE() just take a string rather than a func.
13033         Add more default context to output.
13034
13035         * configure.ac:
13036         Fix flag and add more help docs for --ebable-debug option.
13037
13038 2006-11-21  Emmanuele Bassi  <ebassi@openedhand.com>
13039
13040         * clutter/clutter-main.c: Add a --g-fatal-warnings switch
13041         for abort()-ing on warnings and criticals.
13042
13043 2006-11-21  Emmanuele Bassi  <ebassi@openedhand.com>
13044
13045         * configure.ac: Enable debug messages also when
13046         --enable-debug is set to "minimum".
13047
13048         * clutter/Makefile.am:
13049         * clutter/clutter-debug.h: Move all debugging macros inside
13050         this private header; make all debug macros depend on the
13051         CLUTTER_ENABLE_DEBUG compile time define, controlled by
13052         the --enable-debug configure switch; add G_LOG_DOMAIN define.
13053
13054         * clutter/clutter-main.c: Clean up the debug stuff; add
13055         command line argument parsing using GOption; the debug
13056         messages now are triggered like this:
13057
13058           CLUTTER_DEBUG=section:section:... clutter-app
13059
13060         or like this:
13061
13062           clutter-app --clutter-debug=section:section:...
13063
13064         where "section" is one of the sections listed in clutter-main.c,
13065         or "all", for all sections; each section is bound to a flag,
13066         which can be used to define a domain when adding a debug note
13067         using the CLUTTER_NOTE() macro; the old CLUTTER_DBG() macro is
13068         just a wrapper around that, under the CLUTTER_DEBUG_MISC domain;
13069         CLUTTER_NOTE() is used like this:
13070
13071           CLUTTER_NOTE (DOMAIN, log-function);
13072
13073         where log function is g_printerr(), g_message(), g_warning(),
13074         g_critical() or directly g_log() - for instance:
13075
13076           CLUTTER_NOTE (PANGO, g_warning ("Cache miss: %d", glyph));
13077
13078         will print the warning only if the "pango" flag has been
13079         set to the CLUTTER_DEBUG envvar or passed to the --clutter-debug
13080         command line argument.
13081
13082         similar to CLUTTER_SHOW_FPS, there's also the --clutter-show-fps
13083         command line switch; also, the --display and --screen command
13084         line switches have been added: the first overrides the DISPLAY
13085         envvar and the second controls the X screen used by Clutter to
13086         get the root window on the display.
13087
13088         * clutter/clutter-main.h:
13089         * clutter/clutter-main.c: Add extended support for GOption
13090         in Clutter; use clutter_init_with_args() to let Clutter
13091         parse your own command line arguments; use instead
13092         clutter_get_option_group() to get the GOptionGroup used by
13093         Clutter if you want to do the parsing yourself with
13094         g_option_context_parse(). The init sequence has been verified,
13095         updated and moved into common functions where possible.
13096
13097         * clutter/pango/pangoclutter-render.c:
13098         * clutter/*.c: Include "clutter-debug.h" where needed; use
13099         CLUTTER_NOTE() instead of CLUTTER_DBG().
13100
13101         * examples/super-oh.c: Use the new clutter_init_with_args()
13102         function, and add a --num-hands command line switch to
13103         the SuperOH example code controlling the number of hands at
13104         runtime.
13105
13106 2006-11-21  Emmanuele Bassi  <ebassi@openedhand.com>
13107
13108         * configure.ac: Rename G_ENABLE_DEBUG to CLUTTER_ENABLE_DEBUG.
13109
13110 2006-11-20  Emmanuele Bassi  <ebassi@openedhand.com>
13111
13112         * clutter/clutter-rectangle.h:
13113         * clutter/clutter-rectangle.c: Add border to the ClutterRectangle
13114         actor; add "border-width", "border-color" and "has-border"
13115         properties, plus their accessors.  The border generation code is
13116         pretty lame, at the moment.
13117
13118         * examples/behave.c: Add code to test the new rectangle properties.
13119
13120 2006-11-20  Matthew Allum  <mallum@openedhand.com>
13121
13122         * clutter.doap:
13123         Add an initial DOAP file to project
13124
13125 2006-11-20  Emmanuele Bassi  <ebassi@openedhand.com>
13126
13127         * clutter/Makefile.am:
13128         * clutter/clutter.h:
13129         * clutter/clutter-version.h.in: Auto-generated versioning macros.
13130
13131         * clutter/clutter-actor.h:
13132         * clutter/clutter-actor.c: Add a ClutterActor::parent-set signal,
13133         for notificating changes of an actor's parent; add api-doc for
13134         the actor's properties; add the ClutterActor "name" property; clean
13135         up a bit some functions; emit the "parent-set" signal when setting
13136         te parent and when unparenting; better warnings when lowering
13137         and raising an actor.
13138
13139         * configure.ac:
13140         * clutter/Makefile.am: Add a --enable-debug configure option,
13141         with three levels of debugging: no, minimum and yes; default
13142         for development releases (odd minor version) is "yes"; update
13143         the version m4 defines; update the libtool macros: now just
13144         changed the clutter_interface_age when releasing will update
13145         everything else.
13146
13147 2006-11-17  Emmanuele Bassi  <ebassi@openedhand.com>
13148
13149         * clutter/clutter-behaviour-path.h:
13150         * clutter/clutter-behaviour-path.c: Add "since" strings; add
13151         a "knot" property which can be used to append a knot to the path;
13152         fix apidoc.
13153
13154         * clutter/clutter-alpha.c: Add "since" strings.
13155
13156         * clutter/clutter-feature.c: Add apidoc.
13157
13158         * clutter/clutter-behaviour-opacity.c: Add the "opacity-start"
13159         and "opacity-end" properties; rewrite constructor to use them.
13160
13161 2006-11-17  Emmanuele Bassi  <ebassi@openedhand.com>
13162
13163         * clutter/clutter-behaviour-path.h:
13164         * clutter/clutter-behaviour-path.c: Add a "knot-reached" signal,
13165         which is emitted when the path reaches a node in the nodes list;
13166         flesh out the documentation a bit; sync the parameters names
13167         so that gtk-doc doesn't complain about missing stuff.
13168
13169         * clutter/clutter-behaviour.h:
13170         * clutter/clutter-behaviour.c: Add the alpha value to the
13171         ClutterBehaviour::alpha_notify vfunc, so you don't have to
13172         get the value from the alpha inside the behaviour implementations;
13173         add more documentation.
13174
13175         * clutter/clutter-alpha.c: Flesh out the description.
13176
13177         * clutter/clutter-actor.h: Update the header.
13178
13179         * clutter/clutter-behaviour-opacity.c:
13180         * clutter/clutter-behaviour-scale.c: Update docs.
13181
13182 2006-11-17  Matthew Allum  <mallum@openedhand.com>
13183
13184         * clutter/clutter-alpha.c:
13185         * clutter/clutter-behaviour-opacity.c:
13186         More docs.
13187
13188         * clutter/clutter-behaviour-path.h:
13189         * clutter/clutter-behaviour-path.c:
13190         More docs, add clutter_behaviour_path_insert_knot(),
13191         clutter_behaviour_path_remove_knot()
13192
13193         * clutter/clutter-behaviour-scale.h:
13194         * clutter/clutter-behaviour-scale.c:
13195         More docs, add clutter_behaviour_scale_newx() taking fixed values.
13196
13197         * clutter/Makefile.am:
13198         * clutter/pango/Makefile.am:
13199         Fix linking warning.
13200
13201 2006-11-15  Matthew Allum  <mallum@openedhand.com>
13202
13203         * clutter/clutter-actor.h:
13204         * clutter/clutter-actor.c:
13205         Add new API clutter_actor_move_by(), clutter_actor_get_size()
13206
13207         * clutter/clutter-alpha.c:
13208         * clutter/clutter-alpha.h:
13209         Add clutter alpha sine func
13210
13211         * clutter/clutter-behaviours.h:
13212         * clutter/clutter-behaviours.c:
13213         Add a basic scale behaviour (needs work)
13214
13215         * examples/behave.c: (main):
13216         More playing with new behaviour functionality
13217
13218         * clutter/clutter-feature.c:
13219         * clutter/clutter-feature.h:
13220         * clutter/clutter-main.c:
13221         Add new experimental sync to vblank code
13222         Set env CLUTTER_VBLANK=none to disable.
13223
13224 2006-11-16  Emmanuele Bassi  <ebassi@openedhand.com>
13225
13226         * clutter/clutter-private.h:
13227         * clutter/clutter-actor.c: Implement the defined
13228         clutter_actor_reparent() method; call unrealize
13229         when unparenting an actor.
13230
13231 2006-11-15  Emmanuele Bassi  <ebassi@openedhand.com>
13232
13233         * clutter/clutter-alpha.h:
13234         * clutter/clutter-alpha.c: Add a data parameter to
13235         the ClutterAlphaFunc; add a data+destroy parameter
13236         to clutter_alpha_set_func() and to clutter_alpha_new(),
13237         and turned the latter into clutter_alpha_new_full();
13238         add a simple, empty constructor clutter_alpha_new().
13239
13240         These changes makes writing bindings a tad more easy,
13241         as bindings require passing their own functions in
13242         order to call the real alpha function.
13243
13244         * clutter/clutter-behaviour.h: Clean up the header.
13245
13246         * clutter/clutter-behaviours.[ch]:
13247         * clutter/clutter-behaviour-opacity.[ch]:
13248         * clutter/clutter-behaviour-path.[ch]:
13249         * clutter/clutter-behaviour-scale.[ch]: Split the
13250         ClutterBehaviourPath, ClutterBehaviourOpacity and
13251         ClutterBehaviourScale into their own files as they
13252         have been growing a bit. Fix ClutterBehaviourPath
13253         API.
13254
13255         * clutter/clutter-media.h: Remove the commented
13256         "metadata_available" signal: gtk-doc chokes up on that.
13257
13258         * clutter/clutter-timeline.h:
13259         * clutter/clutter-timeline.c: Remove the useless
13260         ClutterTimelineAlphaFunc signature; add missing accessor
13261         methods for the properties; clean up a bit.
13262
13263         * clutter/clutter-util.h:
13264         * clutter/clutter-util.c: Remove unneeded function
13265         clutter_util_can_create_texture().
13266
13267         * clutter/clutter-feature.h: Sync the name of
13268         clutter_feature_get_all() with the name declared
13269         in clutter-feature.h.
13270
13271         * clutter/Makefile.am:
13272         * clutter/clutter.h: Update.
13273
13274         * examples/behave.c: Update to the new ClutterAlpha
13275         constructor.
13276
13277         * examples/super-oh.c: Use the right pointer and avoid
13278         the compiler making a fuss about it.
13279
13280 2006-11-15  Matthew Allum  <mallum@openedhand.com>
13281
13282         * clutter/clutter-actor.h:
13283         * clutter/clutter-actor.c:
13284         Add new API clutter_actor_move_by(), clutter_actor_get_size()
13285
13286         * clutter/clutter-alpha.c:
13287         * clutter/clutter-alpha.h:
13288         Add clutter alpha sine func
13289
13290         * clutter/clutter-behaviours.h:
13291         * clutter/clutter-behaviours.c:
13292         Add a basic scale behaviour (needs work)
13293
13294         * examples/behave.c: (main):
13295         More playing with new behaviour functionality
13296
13297         * clutter/clutter-feature.c:
13298         * clutter/clutter-feature.h:
13299         * clutter/clutter-main.c:
13300         Add new experimental sync to vblank code
13301         Set env CLUTTER_VBLANK=none to disable.
13302
13303 2006-11-15  Emmanuele Bassi  <ebassi@openedhand.com>
13304
13305         * clutter/clutter-alpha.h:
13306         * clutter/clutter-alpha.c: ClutterAlpha is an initially
13307         floating object, as it makes sense only when bound to
13308         a ClutterBehaviour; add checks for public API.
13309
13310         * clutter/clutter-behaviour.h:
13311         * clutter/clutter-behaviour.c: Remove the ClutterBehaviour
13312         constructor: ClutterBehaviour is an abstract class which
13313         must be implemented by subclassing; add checks for public
13314         API; unref the actors on finalize; sink the ClutterAlpha
13315         object.
13316
13317         * clutter/clutter-behaviours.h: ClutterKnot is a boxed
13318         type: add the _get_type() function declaration and the
13319         type macro.
13320
13321 2006-10-23  Matthew Allum  <mallum@openedhand.com>
13322
13323         * clutter/clutter-alpha.h:
13324         * clutter/clutter-behaviour.c:
13325         * clutter/clutter-behaviour.h:
13326         * clutter/clutter-behaviours.c:
13327         * clutter/clutter-behaviours.h:
13328         * examples/behave.c:
13329         Behaviours now only 'driven' by ClutterAlpha, not any object/prop.
13330         Add simple Clutter path behaviour.
13331
13332 2006-10-03  Matthew Allum  <mallum@openedhand.com>
13333
13334         * configure.ac:
13335         * clutter/Makefile.am:
13336         * clutter/clutter-actor.c:
13337         * clutter/clutter-label.c:
13338         * clutter/clutter-label.h:
13339         * clutter/pango/Makefile.am:
13340         * clutter/pango/pangoclutter-font.c:
13341         * clutter/pango/pangoclutter-fontmap.c:
13342         * clutter/pango/pangoclutter-private.h:
13343         * clutter/pango/pangoclutter-render.c:
13344         * clutter/pango/pangoclutter.h:
13345         Add initial rough new pango renderer and clutter-label.
13346
13347         * examples/super-oh.c:
13348         * examples/test.c:
13349         Minor fixups
13350
13351 2006-09-20  Matthew Allum  <mallum@openedhand.com>
13352
13353         * clutter/clutter-actor.c: (clutter_actor_paint):
13354         * clutter/clutter-clone-texture.c: (clutter_clone_texture_paint):
13355         * clutter/clutter-group.c: (clutter_group_paint):
13356         * clutter/clutter-rectangle.c: (clutter_rectangle_paint):
13357         * clutter/clutter-texture.c: (clutter_texture_paint):
13358         Fix for #156.
13359         clutter_actor_paint() now translates to actor position as
13360         to not fix scaled groups positioning. Sub classes now paint
13361         at 0,0.
13362
13363 2006-09-19  Matthew Allum  <mallum@openedhand.com>
13364
13365         * clutter/clutter-actor.c: (redraw_update_idle),
13366         (clutter_actor_queue_redraw):
13367         * clutter/clutter-main.c: (clutter_redraw):
13368         Remove now uneeded locks
13369         ( new gst and texture code makes redundant )
13370
13371         * clutter/clutter-texture.c:
13372         * clutter/clutter-texture.h:
13373         Redo clutter texture as to not keep a reference
13374         to underlying texture.
13375
13376 2006-09-15  Matthew Allum  <mallum@openedhand.com>
13377
13378         More fixes from Bastien Nocera (#155):
13379
13380         * clutter/clutter-main.c: (clutter_init):
13381         * clutter/clutter-main.h:
13382         Add an enum for clutter init to return an error code.
13383         * configure.ac:
13384         Dont check for XInitThreads, there is no need, its part of xlib.
13385
13386 2006-09-14  Matthew Allum  <mallum@openedhand.com>
13387
13388         Various fixes from Bastien Nocera:
13389
13390         * clutter/clutter-event.h:
13391         * clutter/clutter-stage.c: (clutter_stage_unrealize),
13392         (clutter_stage_realize), (clutter_stage_request_coords),
13393         (clutter_stage_dispose), (clutter_stage_init):
13394         * clutter/clutter-stage.h:
13395         * gtk/gtk-clutter-test.c: (input_cb), (frame_cb), (main):
13396         * gtk/gtk-clutter.c: (realize):
13397         Misc fixes (#152)
13398
13399         * clutter/clutter-group.c: (clutter_group_remove):
13400         Remove uneeded ref count (#143)
13401
13402         * examples/super-oh.c: (input_cb):
13403         Handle key release rather than presses (#154)
13404
13405         * configure.ac:
13406         Add old style X libs check when x11.pc unavailable (#101)
13407
13408 2006-09-01  Matthew Allum  <mallum@openedhand.com>
13409
13410         * clutter/Makefile.am:
13411         * clutter/clutter-media.c:
13412         * clutter/clutter-media.h:
13413         * clutter/clutter.h:
13414         Re-add clutter media.
13415
13416 2006-08-31  Matthew Allum  <mallum@openedhand.com>
13417
13418         * clutter/clutter-actor.c:
13419         * clutter/clutter-group.c: (clutter_group_paint),
13420         (clutter_group_request_coords), (clutter_group_allocate_coords),
13421         (clutter_group_add):
13422         Fix some group sizing/positioning issues.
13423
13424 2006-08-30  Jorn Baayen  <jorn@openedhand.com>
13425
13426         * clutter.pc.in:
13427
13428         Remove gstreamer deps.
13429
13430 2006-08-30  Jorn Baayen  <jorn@openedhand.com>
13431
13432         * README:
13433         * clutter/Makefile.am:
13434         * clutter/clutter-audio.c:
13435         * clutter/clutter-audio.h:
13436         * clutter/clutter-main.c: (clutter_init):
13437         * clutter/clutter-media.c:
13438         * clutter/clutter-media.h:
13439         * clutter/clutter-video-texture.c:
13440         * clutter/clutter-video-texture.h:
13441         * clutter/clutter.h:
13442         * configure.ac:
13443         * examples/Makefile.am:
13444         * examples/README:
13445         * examples/video-cube.c:
13446         * examples/video-player.c:
13447         * gst/Makefile.am:
13448         * gst/clutterimagesink.:
13449         * gst/clutterimagesink.c:
13450         * gst/clutterimagesink.h:
13451         * gtk/Makefile.am:
13452
13453         Remove gstreamer bits. There live in clutter-gst now.
13454
13455 2006-08-30  Jorn Baayen  <jorn@openedhand.com>
13456
13457         * clutter/Makefile.am:
13458         * clutter/clutter-audio.c:
13459         * clutter/clutter-audio.h:
13460         * clutter/clutter.h:
13461
13462         Added ClutterAudio audio playback object.
13463
13464 2006-08-29  Matthew Allum  <mallum@openedhand.com>
13465
13466         * clutter/clutter-fixed.h:
13467         Add basic fixed point utility defines and type.
13468
13469         * clutter/Makefile.am:
13470         * clutter/clutter-actor.c:
13471         * clutter/clutter-actor.h:
13472         * clutter/clutter-group.c:
13473         * clutter/clutter-stage.c:
13474         * examples/super-oh.c: (main):
13475         Add scale API and functionality.
13476         Rework group sizing. Now group size requests have no effect
13477         but can be scaled.
13478
13479 2006-08-29  Jorn Baayen  <jorn@openedhand.com>
13480
13481         * clutter/clutter-behaviour.c: (_clutter_behaviour_finalize),
13482         (_clutter_behaviour_set_property),
13483         (_clutter_behaviour_get_property), (clutter_behaviour_class_init),
13484         (clutter_behaviour_init), (clutter_behaviour_apply),
13485         (clutter_behaviour_remove), (clutter_behaviour_remove_all),
13486         (clutter_behaviour_actors_foreach):
13487         * clutter/clutter-behaviour.h:
13488         * clutter/clutter-behaviours.c:
13489         (clutter_behaviour_property_change),
13490         (clutter_behaviour_opacity_dispose),
13491         (clutter_behaviour_opacity_finalize),
13492         (clutter_behaviour_opacity_class_init),
13493         (clutter_behaviour_opacity_init):
13494         * clutter/clutter-behaviours.h:
13495         * clutter/clutter-marshal.list:
13496         * examples/behave.c: (main):
13497
13498         Behaviours track generic GObject properties.
13499
13500         * clutter/clutter-video-texture.h:
13501
13502         Remove signal prototypes - they are already specified in
13503         clutter-media.h.
13504
13505 2006-08-28  Jorn Baayen  <jorn@openedhand.com>
13506
13507         * clutter/Makefile.am:
13508         * clutter/clutter-alpha.c:
13509         * clutter/clutter-alpha.h:
13510         * clutter/clutter-behaviours.c:
13511         (clutter_behaviour_opacity_dispose),
13512         (clutter_behaviour_opacity_init),
13513         (clutter_behaviour_opacity_frame_foreach),
13514         (clutter_behaviour_opacity_frame):
13515         * clutter/clutter-behaviours.h:
13516         * clutter/clutter-timeline.c: (clutter_timeline_class_init):
13517         * clutter/clutter-timeline.h:
13518         * clutter/clutter.h:
13519         * examples/behave.c: (main):
13520
13521         Separate alpha calculation into its own class.
13522
13523         * clutter/clutter-behaviour.c: (clutter_behaviour_set_timelime):
13524
13525         Correct NULL check.
13526
13527 2006-08-15  Matthew Allum  <mallum@openedhand.com>
13528
13529         * clutter/clutter-behaviour.h:
13530         Behaviours shouldn't subclass timelines.
13531
13532 2006-08-15  Matthew Allum  <mallum@openedhand.com>
13533
13534         * clutter/clutter-behaviour.c:
13535         * clutter/clutter-behaviour.h:
13536         * clutter/clutter-behaviours.c:
13537         * clutter/clutter-timeline.c:
13538         * clutter/clutter-timeline.h:
13539         * clutter/clutter.h:
13540         Make basic behaviour infrastructure actually work.
13541
13542         * examples/Makefile.am:
13543         * examples/behave.c:
13544         Add a simple behaviour demo/test
13545
13546         * clutter/clutter-media.c: (clutter_media_set_volume):
13547         Actuall set volume rather than position..   (Fixes #141)
13548
13549 2006-08-14  Matthew Allum  <mallum@openedhand.com>
13550
13551         * clutter/Makefile.am:
13552         * clutter/clutter-behaviour.c:
13553         * clutter/clutter-behaviour.h:
13554         * clutter/clutter-behaviours.c:
13555         * clutter/clutter-behaviours.h:
13556         * clutter/clutter-timeline.c:
13557         * clutter/clutter-timeline.h:
13558         Add very initial new behaviour functionality.
13559
13560         * clutter/clutter-stage.c:
13561         * clutter/clutter-main.c:
13562         * clutter/clutter-actor.c:
13563         Improve clipping using stencil test rather than scissor check.
13564         ( Should now handle rotated clips etc ).
13565
13566         * clutter/clutter-group.c: (clutter_group_paint):
13567         Fix typo on position check.
13568
13569 2006-08-07  Matthew Allum  <mallum@openedhand.com>
13570
13571         * clutter/clutter-video-texture.c: (lay_pipeline):
13572         Set quality of service prop on fakesink to TRUE.
13573
13574 2006-08-07  Matthew Allum  <mallum@openedhand.com>
13575
13576         * clutter/clutter-actor.c: (clutter_actor_paint):
13577         Remove relic from old stage behaviour - dont unref
13578         it during a clip.
13579
13580 2006-07-27  Emmanuele Bassi  <ebassi@openedhand.com>
13581
13582         * clutter/clutter-feature.c: No need to call clutter_feature_init()
13583         each time: it's private and should never be seen from the outside;
13584         add a warning, just in case something screws up and calls it more
13585         than once.
13586
13587 2006-07-27  Emmanuele Bassi  <ebassi@openedhand.com>
13588
13589         * clutter/clutter-private.h: Move clutter_feature_init()
13590         declaration here: you shouldn't even need to initialise
13591         features yourself.
13592
13593         * clutter/clutter-feature.c: call clutter_feature_init()
13594         each time you try to access the feature list; add a static
13595         lock around the feature flags container; add api documentation.
13596
13597         * clutter/clutter-feature.h: Add a type for the feature flags
13598         to make bindings happy.
13599
13600 2006-07-24  Matthew Allum  <mallum@openedhand.com>
13601
13602         * clutter/Makefile.am:
13603         * clutter/clutter-feature.c:
13604         * clutter/clutter-feature.h:
13605
13606         Add new funcs for checking for available runtime GL
13607         extensions.
13608
13609         * clutter/clutter-clone-texture.c:
13610         * clutter/clutter-texture.c:
13611
13612         Add support for non power of two textures
13613        if GL_TEXTURE_RECTANGLE_ARB extension available ( at runtime ).
13614        Should lower texture memory needs a little.
13615
13616 2006-07-17  Emmanuele Bassi  <ebassi@openedhand.com>
13617
13618         * clutter/clutter-stage.c (clutter_stage_get_default): Fix
13619         api documentation.
13620
13621 2006-07-15  Emmanuele Bassi  <ebassi@openedhand.com>
13622
13623         * clutter/clutter-main.c:
13624
13625         (clutter_main): Destroy the main stage, instead of unreffing it.
13626
13627         (clutter_init): Ref and sink the main stage, as it is a top
13628         level actor.
13629
13630         * clutter/clutter-stage.c (clutter_stage_unrealize): Access
13631         the Window private member directly, instead of calling the
13632         get_xwindow method.
13633
13634         * examples/test.c (main): Quit on button press.
13635
13636 2006-07-09  Emmanuele Bassi  <ebassi@openedhand.com>
13637
13638         * clutter/clutter-event.h: Change the name of the
13639         ClutterEvent union members to something a little shorter.
13640
13641 2006-07-06  Emmanuele Bassi  <ebassi@openedhand.com>
13642
13643         * configure.ac: Remove the python stuff, now that the bindings
13644         are out of tree.
13645
13646 2006-07-06  Emmanuele Bassi  <ebassi@openedhand.com>
13647
13648         * configure.ac: Mark this as 0.1.1, and change the version info
13649         of the library.
13650
13651         * clutter/clutter-actor.c:
13652         * clutter/clutter-group.c: Fix documentation.
13653
13654 2006-07-06  Emmanuele Bassi  <ebassi@openedhand.com>
13655
13656         * clutter/clutter-actor.h:
13657         * clutter/clutter-actor.c:
13658
13659         (clutter_actor_class_init), (clutter_actor_set_property),
13660         (clutter_actor_get_property): Add the "clip" and "has-clip"
13661         properties.
13662
13663         (clutter_actor_set_clip), (clutter_actor_remove_clip): Emit
13664         the notification for the changed properties.
13665
13666         (clutter_actor_has_clip): Simple accessor to the "has-clip"
13667         property.
13668
13669 2006-07-06  Emmanuele Bassi  <ebassi@openedhand.com>
13670
13671         Big rework of the actor management semantics: now ClutterActor
13672         objects behave like GtkObjects - that is they have an initial
13673         "floating" reference that gets "sunk" when they are added to
13674         a ClutterGroup.  This makes a group responsible of de-allocating
13675         each actor inside it, so you just have to destroy the group to
13676         get every child actor destroyed.  Also, now you can do:
13677
13678           clutter_group_add (group, clutter_video_texture_new ());
13679
13680         without having to care about reference counting and explicit
13681         unreffing.
13682
13683         * clutter/clutter-private.h: Add private flags setter and
13684         getter macros.
13685
13686         * clutter/clutter-actor.h:
13687         * clutter/clutter-actor.c: Clean up; inherit from GInitiallyUnowned;
13688         add a "visible" property; add the "destroy", "show" and "hide"
13689         signals to ClutterActorClass.
13690
13691         (clutter_actor_show), (clutter_actor_hide): Refactor a bit; emit
13692         the "show" and "hide" signals.
13693
13694         (clutter_actor_set_property), (clutter_actor_get_property),
13695         (clutter_actor_class_init): Implement the "visible" property; add
13696         signals.
13697
13698         (clutter_actor_finalize): Do not leak the actor's name, if it is
13699         set.
13700
13701         (clutter_actor_dispose): Emit the "destroy" signal here.
13702
13703         (clutter_actor_init): Sink the initial floating flag if needed.
13704
13705         (clutter_actor_destroy): Add a function to explicitely destroy
13706         a ClutterActor.
13707
13708         (clutter_actor_set_parent), (clutter_actor_get_parent),
13709         (clutter_actor_unparent): Make set_parent require a valid parent;
13710         add unparent; check on get_parent; ref_sink the actor when
13711         setting its parent and unref it when unsetting it.  Probably we'll
13712         need a function that does reparenting as unparent+set_parent in
13713         a single shot.
13714
13715         * clutter/clutter-group.h:
13716         * clutter/clutter-group.c (clutter_group_dispose),
13717         (clutter_group_finalize), (clutter_group_add),
13718         (clutter_group_remove): Make the group destroy its children when
13719         disposing it; clean up, and use the newly-available
13720         clutter_actor_unparent().
13721
13722         * clutter/clutter-stage.h:
13723         * clutter/clutter-stage.c (clutter_stage_init): ClutterStage is
13724         a top-level actor; clean up.
13725
13726         * clutter/clutter-video-texture.h:
13727         * clutter/clutter-video-texture.c: Clean up.
13728
13729         * examples/super-oh.c:
13730         * examples/test.c:
13731         * examples/video-player.c:
13732         * examples/test-text.c:
13733         * examples/video-cube.c: Remove the g_object_unref() call, as the
13734         ClutterStage object is destroyed on clutter_main_quit().
13735
13736 2006-06-23  Matthew Allum  <mallum@openedhand.com>
13737
13738         * examples/super-oh.c:
13739         Remove random stage unref fixing trails. Fixes #98
13740
13741 2006-06-23  Matthew Allum  <mallum@openedhand.com>
13742
13743         * examples/video-player.c: (size_change):
13744         cast stage height to gint avoiding wierdness for when
13745         video height greater than half display height. Fixed #99
13746
13747 2006-06-23  Matthew Allum  <mallum@openedhand.com>
13748
13749         * clutter/clutter-video-texture.c: (clutter_video_texture_new):
13750         Small fix for video playback on Big Endian. See #97
13751
13752 2006-06-23  Iain Holmes  <iain@openedhand.com>
13753
13754         * clutter/clutter-texture.h: Add space :) Sorry.
13755
13756 2006-06-23  Iain Holmes  <iain@openedhand.com>
13757
13758         * clutter/clutter-label.h:
13759         * clutter/clutter-group.h:
13760         * clutter/clutter-rectangle.h:
13761         * clutter/clutter-video-texture.h:
13762         * clutter/clutter-event.h:
13763         * clutter/clutter-texture.h: Fix the header layout so that C# parser
13764         can understand everything.
13765
13766 2006-06-23  Ross Burton  <ross@openedhand.com>
13767
13768         * configure.ac:
13769         * Makefile.am:
13770         Remove references to bindings/, it's moved.
13771
13772 2006-06-23  Emmanuele Bassi  <ebassi@openedhand.com>
13773
13774         * clutter/clutter-group.c
13775         (clutter_group_get_children): Mention that you must free
13776         the returned list otherwise you'll leak stuff all around.
13777
13778 2006-06-23  Ross Burton  <ross@openedhand.com>
13779
13780         * examples/super-oh.c:
13781         Fix build with trails enabled. Still crashes.
13782
13783 2006-06-23  Ross Burton  <ross@openedhand.com>
13784
13785         * configure.ac:
13786         Disable static libraries.
13787
13788 2006-06-22  Matthew Allum  <mallum@openedhand.com>
13789
13790         * web/index.html:
13791         Make OpeneHand link
13792
13793 2006-06-22  Matthew Allum  <mallum@openedhand.com>
13794
13795         * web/index.html:
13796         Add Pango ref, authors info.
13797
13798 ========== 2006-06-22 0.1 Release =====================
13799
13800 2006-06-22  Matthew Allum  <mallum@openedhand.com>
13801
13802         * configure.ac:
13803         * web/index.html:
13804         Correct Bugzilla link. Add debs link
13805         Bump up version to 0.1 !
13806
13807 2006-06-22  Matthew Allum  <mallum@openedhand.com>
13808
13809         * NEWS:
13810         Add an entry for 0.1 release
13811         * web/index.html:
13812         * web/style.css:
13813         Add basic website.
13814
13815 2006-06-22  Iain Holmes  <iain@openedhand.com>
13816
13817         * clutter/clutter-main.c: Guess what...more docs
13818
13819 2006-06-22  Iain Holmes  <iain@openedhand.com>
13820
13821         * clutter/clutter-event.c: Add docs
13822
13823 2006-06-22  Iain Holmes  <iain@openedhand.com>
13824
13825         * clutter/clutter-media.c: Add docs
13826
13827 2006-06-22  Iain Holmes  <iain@openedhand.com>
13828
13829         * clutter/clutter-texture.c: Fix typos.
13830
13831         * clutter/clutter-timeline.c: Fix typos.
13832
13833 2006-06-22  Iain Holmes  <iain@openedhand.com>
13834
13835         * clutter/clutter-video-texture.c: Docs.
13836
13837 2006-06-22  Iain Holmes  <iain@openedhand.com>
13838
13839         * clutter/clutter-group.c: More typo fixes
13840
13841         * clutter/clutter-event.c: Documentation
13842
13843 2006-06-22  Emmanuele Bassi  <ebassi@openedhand.com>
13844
13845         * clutter/clutter-timeline.h:
13846         * clutter/clutter-timeline.c: Add a "started" and a "paused"
13847         signals; add more sanity checks on the public functions.
13848
13849         (clutter_timeline_get_loop): Add a getter function for the
13850         loop property.
13851
13852         * clutter/clutter-marshal.list: Add marshallers.
13853
13854         * clutter/clutter-timeline.h:
13855         * clutter/clutter-actor.h: Add padding for future expansion
13856         without breaking ABI.
13857
13858 2006-06-22  Iain Holmes  <iain@openedhand.com>
13859
13860         * clutter/clutter-actor.c: Fix some typos in the docs.
13861
13862 2006-06-22  Iain Holmes  <iain@openedhand.com>
13863
13864         * clutter/clutter-util.c: And more
13865
13866 2006-06-22  Ross Burton  <ross@openedhand.com>
13867
13868         * clutter/clutter-label.c:
13869         * clutter/clutter-video-texture.c:
13870         * clutter/clutter-texture.c:
13871         * clutter/clutter-timeline.c:
13872         * clutter/clutter-group.c:
13873         Fix gtk-doc problems.
13874
13875 2006-06-22  Iain Holmes  <iain@openedhand.com>
13876
13877         * clutter/clutter-main.c: More documentation
13878
13879 2006-06-22  Matthew Allum  <mallum@openedhand.com>
13880
13881         * clutter/clutter-main.h:
13882         Remove bogus xvisual call.
13883
13884 2006-06-22  Matthew Allum  <mallum@openedhand.com>
13885
13886         * clutter/clutter-actor.c:
13887         * clutter/clutter-actor.h:
13888         Remove mirroring related calls ( unimplemented )
13889         * gtk/gtk-clutter-test.c: 0 -> NULL
13890
13891 2006-06-22  Iain Holmes  <iain@openedhand.com>
13892
13893         * clutter/clutter-actor.c:
13894         * clutter/clutter-stage.c:
13895         * gtk/gtk-clutter.c: More docs
13896
13897 2006-06-22  Iain Holmes  <iain@openedhand.com>
13898
13899         * clutter/clutter-actor.c: Added some more docs.
13900
13901 2006-06-22  Matthew Allum  <mallum@openedhand.com>
13902
13903         * clutter/clutter-actor.c:
13904         * clutter/clutter-clone-texture.c:
13905         * clutter/clutter-color.c:
13906         * clutter/clutter-event.c:
13907         * clutter/clutter-group.c:
13908         * clutter/clutter-label.c:
13909         * clutter/clutter-main.c:
13910         * clutter/clutter-media.c:
13911         * clutter/clutter-rectangle.c:
13912         * clutter/clutter-stage.c:
13913         * clutter/clutter-texture.c:
13914         * clutter/clutter-timeline.c:
13915         * clutter/clutter-util.c:
13916         * clutter/clutter-video-texture.c:
13917         * configure.ac:
13918         Documentation updates - add section headers.
13919
13920 2006-06-22  Iain Holmes  <iain@openedhand.com>
13921
13922         * gtk/gtk-clutter-test.c (main): Don't show the stage.
13923
13924 2006-06-22  Iain Holmes  <iain@openedhand.com>
13925
13926         * gtk/gtk-clutter.[ch]: Rewrite to use
13927         clutter_stage_set_xwindow_foreign rather than GtkSocket.
13928
13929         * gtk/gtk-clutter-test.c: Add fading!1!!!!11! OMGWTFBBQ!!!
13930
13931 2006-06-21  Emmanuele Bassi  <ebassi@openedhand.com>
13932
13933         * examples/video-cube.c (main): Quit on key press.
13934
13935 2006-06-21  Emmanuele Bassi  <ebassi@openedhand.com>
13936
13937         * clutter/Makefile.am: Re-fix distcheck after last commit.
13938
13939 2006-06-21  Matthew Allum  <mallum@openedhand.com>
13940
13941         * clutter/Makefile.am:
13942         Make sure clutter.h included.
13943         * clutter/clutter-stage.c: (clutter_stage_realize),
13944         (clutter_stage_get_actor_at_pos):
13945         Select for motion events on X window.
13946         Return highest rather than lowest found actor for actor_at_pos.
13947         * examples/Makefile.am:
13948         Remove test-text, remane test video.
13949         * examples/README:
13950         Add info about the included examples.
13951         * examples/test-video.c:
13952         * examples/video-player.c:
13953         Redo test-video a little nicer and rename.
13954         * examples/video-cube.c:
13955         Fix so it at least 'works' again.
13956         * examples/test.c:
13957         Clean up a little.
13958
13959 2006-06-21  Ross Burton  <ross@openedhand.com>
13960
13961         * Makefile.am:
13962         * gtk/Makefile.am:
13963         Add gtk widget to distcheck and fix.
13964
13965 2006-06-21  Emmanuele Bassi  <ebassi@openedhand.com>
13966
13967         * clutter/Makefile.am:
13968         * bindings/python/Makefile.am:
13969         * Makefile.am: Fix distcheck
13970
13971 2006-06-21  Ross Burton  <ross@openedhand.com>
13972
13973         * clutter/Makefile.am:
13974         * examples/Makefile.am:
13975         Fix dist.
13976
13977 2006-06-20  Matthew Allum  <mallum@openedhand.com>
13978
13979         * TODO:
13980         Update.
13981         * clutter/clutter-group.c:
13982         Attempt better group sizing code.
13983         * clutter/clutter-label.c:
13984         Minor tweaks.
13985         * clutter/clutter-texture.c:
13986         More debug info, make sure texture is realised for base_size()
13987         * clutter/clutter-video-texture.c:
13988         Seeking fixes
13989         * examples/test.c: (main):
13990         Populate with more randomness.
13991
13992 2006-06-15  Matthew Allum  <mallum@openedhand.com>
13993
13994         * clutter/clutter-stage.c:
13995         * clutter/clutter-stage.h:
13996         Add clutter_stage_set_xwindow_foreign() call
13997         * clutter/clutter-util.c:
13998         * clutter/clutter-util.h:
13999         Add some X error traps
14000         * examples/super-oh.c:
14001         Toy with us of new clutter_stage_set_xwindow_foreign() for
14002         optional screensaver functionality.
14003
14004 2006-06-14  Matthew Allum  <mallum@openedhand.com>
14005
14006         * configure.ac:
14007         Add checks for GL/gl.h and GL/glx.h
14008
14009 2006-06-14  Matthew Allum  <mallum@openedhand.com>
14010
14011         * AUTHORS:
14012         * README:
14013         * TODO:
14014         Update all.
14015
14016 2006-06-13  Matthew Allum  <mallum@openedhand.com>
14017
14018         * clutter/clutter-video-texture.c:
14019         Add missing license.
14020
14021 2006-06-13  Matthew Allum  <mallum@openedhand.com>
14022
14023         * clutter/Makefile.am:
14024         * clutter/clutter-actor.c:
14025         * clutter/clutter-actor.h:
14026         * clutter/clutter-clone-texture.c:
14027         * clutter/clutter-clone-texture.h:
14028         * clutter/clutter-element.c:
14029         * clutter/clutter-element.h:
14030         * clutter/clutter-group.c:
14031         * clutter/clutter-group.h:
14032         * clutter/clutter-label.c:
14033         * clutter/clutter-label.h:
14034         * clutter/clutter-main.c:
14035         * clutter/clutter-main.h:
14036         * clutter/clutter-rectangle.c:
14037         * clutter/clutter-rectangle.h:
14038         * clutter/clutter-stage.c:
14039         * clutter/clutter-stage.h:
14040         * clutter/clutter-texture.c:
14041         * clutter/clutter-texture.h:
14042         * clutter/clutter-video-texture.c:
14043         * clutter/clutter-video-texture.h:
14044         * clutter/clutter.h:
14045         * examples/super-oh.c:
14046         * examples/test-text.c:
14047         * examples/test-video.c:
14048         * examples/test.c:
14049         * examples/video-cube.c:
14050         * gtk/gtk-clutter-test.c:
14051         * gtk/gtk-clutter.c:
14052         * gtk/gtk-clutter.h:
14053         Element to Actor Renaming.
14054
14055 2006-06-12  Matthew Allum  <mallum@openedhand.com>
14056
14057         * clutter/Makefile.am:
14058         * clutter/clutter-media.c:
14059         * clutter/clutter-media.h:
14060         * clutter/clutter-video-texture.c:
14061         * clutter/clutter-video-texture.h:
14062         * clutter/clutter.h:
14063         * examples/test-video.c: (main):
14064         * examples/video-cube.c: (main):
14065         Add new 'media' interface.
14066         Drop Totem based video playback code replace with newly
14067         rewritten supper Jorn based code. Clutter is now fully LGPL.
14068
14069         * clutter/clutter-texture.c: (tile_dimension):
14070         Remove uneeded overlap code.
14071
14072 2006-06-08  Iain Holmes  <iain@openedhand.com>
14073
14074         * clutter/clutter-texture.c:
14075         Opps, undo change I didn't mean to commit
14076
14077 2006-06-08  Iain Holmes  <iain@openedhand.com>
14078
14079         * configure.ac:
14080         Add gdk-pixbuf-xlib cflags/libs to clutter libs
14081         Build the gtk-clutter.pc file.
14082
14083         * clutter.pc.in:
14084         Add the gdk-pixbuf-xlib depends.
14085
14086         * gtk/gtk-clutter.pc.in:
14087         pkg-config stuff for gtk-clutter
14088
14089         * gtk/Makefile.am:
14090         Install gtk-clutter.pc
14091
14092 2006-06-08  Matthew Allum  <mallum@openedhand.com>
14093
14094         * clutter/clutter-main.c:
14095         * clutter/clutter-private.h:
14096         * clutter/clutter-stage.c:
14097         Rework and fix offscreen rendering, also rejig GLX
14098         context handling, moving mostly into stage.
14099         Require at least OpenGL 1.2 ( CLAMP_TO_EDGE )
14100
14101         * clutter/clutter-texture.c:
14102         Explicity set props on _init() as to avoid nasty can_create
14103         bug failing miserably in certain situations.
14104         Switch to CLAMP_TO_EDGE for textures to avoid tile seams.
14105         Add some more GL error checks.
14106
14107         * clutter/clutter-label.c:
14108         Extra debug info
14109
14110         * configure.ac:
14111         Require gdk-pixbuf-xlib-2.0
14112
14113 2006-06-06  Matthew Allum  <mallum@openedhand.com>
14114
14115         * configure.ac:
14116         Use pkg-config to check for X. Really Check for GL libs.
14117         Make gtk binding optional. Cleanup a little.
14118
14119         * Makefile.am:
14120         * gtk/Makefile.am:
14121         Make gtk binding optional
14122
14123         * clutter/clutter-element.c:
14124         Cleanup a little, notify on size change.
14125
14126         * clutter/clutter-texture.c:
14127         Lots of cleanups. Add waste prop. Add filter quality prop.
14128
14129         * clutter/clutter-clone-texture.c:
14130         Make object construction simpler to work better with bindings.
14131
14132         * clutter/clutter-stage.c:
14133         * clutter/clutter-timeline.c:
14134         Minor reformating, cleanups.
14135
14136         * examples/test-text.c: (main):
14137         Random experimentation
14138
14139 2006-06-06  Iain Holmes  <iain@openedhand.com>
14140
14141         * gtk/gtk-clutter.c (size_request): Take the size of the widget from
14142         the ClutterStage.
14143         (gtk_clutter_class_init): Hook up size-request
14144
14145 2006-06-06  Iain Holmes  <iain@openedhand.com>
14146
14147         * gtk/: Add a gtk widget for clutter.
14148
14149         * configure.ac: Add GTK checks
14150
14151         * Makefile.am: Go into gtk/
14152
14153 2006-06-05  Matthew Allum  <mallum@openedhand.com>
14154
14155         * clutter/clutter-group.c: (clutter_group_remove):
14156         Fix parent check.
14157
14158 2006-06-05  Matthew Allum  <mallum@openedhand.com>
14159
14160         * clutter/clutter-event.h:
14161         Remove send_event field. Clutter shouldn't need it.
14162
14163         * clutter/clutter-main.c: (clutter_dispatch_x_event):
14164         Dont malloc a new clutter event for each xevent.
14165
14166         * clutter/clutter-stage.h:
14167         * clutter/clutter-stage.c: (clutter_stage_class_init),
14168         (clutter_stage_get_default):
14169         Dont ref stage from clutter_stage_get_default.
14170
14171         * examples/super-oh.c: (main):
14172         Remove some now uneeded debug g_prints
14173
14174 2006-06-05  Emmanuele Bassi  <ebassi@openedhand.com>
14175
14176         * clutter-color.h:
14177         * clutter-color.c: Reimplement ClutterColor as a boxed type;
14178         add convenience API for color handling, like: add, subtract,
14179         shade, HSL color-space conversion, packing and unpacking.
14180
14181         * clutter-private.h: Update ClutterMainContext, and export the
14182         main context pointer here.
14183
14184         * clutter-rectangle.h:
14185         * clutter-rectangle.c: Update the color-related code; make
14186         clutter_rectangle_new() and empty constructor and provide
14187         clutter_rectangle_new_with_color(); provide color setter
14188         and getter API.
14189
14190         * clutter-label.h:
14191         * clutter-label.c: Rename the "font" property to "font-name";
14192         update the color-related code to the new ClutterColor object;
14193         rename clutter_label_new() to clutter_label_new_with_text(),
14194         and add setters and getters for the properties.
14195
14196         * clutter-marshal.list: Add VOID:OBJECT and VOID:BOXED marshallers
14197         generators.
14198
14199         * clutter-stage.h:
14200         * clutter-stage.c: Rework the API: provide a default constructor
14201         for a singleton object, named clutter_stage_get_default(), which
14202         supercedes the clutter_stage() function in clutter-main; provide
14203         new events: button-press-event, button-release-event,
14204         key-press-event and key-release-event; update the color-related
14205         code;
14206
14207         (clutter_stage_snapshot): Allow negative width and height when
14208         taking a snapshot (meaning: use full width/height).
14209
14210         (clutter_stage_get_element_at_pos): Rename clutter_stage_pick().
14211
14212         * clutter-element.c (clutter_element_paint): Clean up the
14213         stage and color related code.
14214
14215         * clutter-event.h:
14216         * clutter-event.c: Add generic ClutterAnyEvent type; add
14217         clutter_event_new(), clutter_event_copy() and clutter_event_free();
14218         make ClutterEvent a boxed type.
14219
14220         * clutter-main.h:
14221         * clutter-main.c: Remove clutter_stage(); add clutter_main_quit(),
14222         for cleanly quitting from clutter_main(); add multiple mainloops
14223         support; allocate the ClutterCntx instead of adding it to the
14224         stack; re-work the ClutterEvent dispatching.
14225
14226         * clutter-group.c (clutter_group_add), (clutter_group_remove): Keep
14227         a reference on the element when added to a ClutterGroup.
14228
14229         * examples/rects.py
14230         * examples/test.c:
14231         * examples/test-text.c:
14232         * examples/video-cube.c:
14233         * examples/super-oh.c:
14234         * examples/test-video.c: Update.
14235
14236 2006-06-04  Matthew Allum  <mallum@openedhand.com>
14237
14238         * clutter/clutter-element.c:
14239         * clutter/clutter-group.c:
14240         * clutter/clutter-group.h:
14241         Work more on depth ( Z ) setting with sorting.
14242
14243         * clutter/clutter-main.c: (clutter_redraw):
14244         Experiment with glXWaitVideoSyncSGI. Currently disabled.
14245
14246 2006-06-02  Matthew Allum  <mallum@openedhand.com>
14247
14248         * clutter/clutter-element.h:
14249         Add missing _depth() declarations
14250
14251         * clutter/clutter-main.c:
14252         * clutter/clutter-main.h:
14253         * clutter/clutter-private.h:
14254         * clutter/clutter-stage.c:
14255         * clutter/clutter-stage.h:
14256         Rejig GL setup as for stage to support an offscreen property.
14257         Offscreen support is however a little borked.
14258
14259 2006-06-01  Matthew Allum  <mallum@openedhand.com>
14260
14261         * clutter/clutter-element.c:
14262         Fix a snafu in clutter_element_raise ()
14263
14264         * clutter/clutter-timeline.c:
14265         * clutter/clutter-timeline.h:
14266         Add new clutter_timeline_is_playing() method
14267
14268 2006-05-29  Matthew Allum  <mallum@openedhand.com>
14269
14270         * clutter/clutter-color.c: (clutter_color_set):
14271         Fix bit shifts in clutter color setters.
14272
14273 2006-05-29  Matthew Allum  <mallum@openedhand.com>
14274
14275         * clutter/clutter-element.c:
14276         * clutter/clutter-element.h:
14277         Add initial new element depth() getter and setter.
14278
14279         * clutter/clutter-group.c:
14280         * clutter/clutter-group.h:
14281         Add 2 new methods for listing a groups children externally.
14282
14283 2006-05-27  Emmanuele Bassi  <ebassi@openedhand.com>
14284
14285         * clutter/clutter-clone-texture.c (set_parent_texture),
14286         (clutter_clone_texture_set_property),
14287         (clutter_clone_texture_get_property),
14288         (clutter_clone_texture_class_init),
14289         (clutter_clone_texture_new): Add a "parent-texture"
14290         constructor-only property to simplify the constructor code.
14291
14292         * clutter/clutter-rectangle.c (clutter_rectangle_new):
14293         * clutter/clutter-timeline.c (clutter_timeline_new): Simplify
14294         the constructor code.
14295
14296         * examples/rect.py: Use the new method names for clutter.main()
14297         and clutter.stage().
14298
14299 2006-05-26  Emmanuele Bassi  <ebassi@openedhand.com>
14300
14301         * clutter/clutter-element.c: Fix gtk-doc annotations for public
14302         functions; add sanity checks for public API; factor out some
14303         pointer dereferences.
14304
14305 2006-05-26  Emmanuele Bassi  <ebassi@openedhand.com>
14306
14307         Big entry, small changes.
14308
14309         * clutter/clutter-rectangle.c:
14310         * clutter/clutter-clone-texture.c:
14311         * clutter/clutter-group.c:
14312         * clutter/clutter-element.c:
14313         * clutter/clutter-label.c: Use the GObject built-in definition
14314         of a private data structure; it removes the need for managing
14315         the allocation/de-allocation of a private structure ourselves.
14316
14317         * clutter/clutter-group.h:
14318         * clutter/clutter-label.h: Add padding, for adding signals and
14319         other class-wide definitions without breaking ABI.
14320
14321         * clutter/clutter-element.h:
14322         * clutter/clutter-element.c (clutter_element_box_get_type),
14323         (clutter_element_box_copy): Make ClutterElementBox a GBoxed
14324         type; clean up declarations of the enums and flags.
14325
14326         * clutter/clutter-group.h:
14327         * clutter/clutter-group.c (clutter_group_add_many_valist),
14328         (clutter_group_add_many): Add a _valist version of
14329         clutter_group_add_many() function, and re-implement the latter
14330         as a proxy for the former; language bindings do not cope
14331         well with variable argument functions.
14332
14333         * clutter/clutter-video-texture.h:
14334         * clutter/clutter-video-texture.c: Use the right prefix for
14335         the error and for the ratio enumerations.
14336
14337         * clutter/*.c:
14338         * clutter/*.h:
14339         * clutter/Makefile.am: Use the <clutter/...> include path
14340         for parallel installations.
14341
14342         * clutter/Makefile.am:
14343         * clutter/clutter-enum-types.h:
14344         * clutter/clutter-enum-types.c: Register the enumeration types
14345         inside the GObject type system in order to use them as properties
14346         and bindings automagically pick them up.
14347
14348         * bindings/python/ChangeLog: Add a changelog for the bindings...
14349
14350         * doc/reference/ChangeLog: ... and a changelog for the reference.
14351
14352         * examples/test.c:
14353         * examples/video-cube.c:
14354         * examples/test-video.c: Use the <clutter/clutter.h> header.
14355
14356 2006-05-25  Matthew Allum  <mallum@openedhand.com>
14357
14358         * clutter/clutter-clone-texture.c:
14359         (clone_texture_render_to_gl_quad):
14360         Remove uneeded bogus warning. Fix a typo causing large
14361         texture to get incorrectly rendered.
14362         * clutter/clutter-texture.c: (init_tiles),
14363         (texture_render_to_gl_quad), (clutter_texture_sync_pixbuf),
14364         (clutter_texture_realize):
14365         Add some new debug info.
14366         * clutter/clutter-video-texture.c: (fakesink_handoff_cb):
14367         Set the pixbuf from GST_BUFFER_DATA() a little safer.
14368
14369 2006-05-25  Matthew Allum  <mallum@openedhand.com>
14370
14371         * clutter.pc.in:
14372         Fix prefix snafu via Ross.
14373
14374 2006-05-24  Matthew Allum  <mallum@openedhand.com>
14375
14376         * clutter/clutter-element.c: (clutter_element_paint),
14377         (clutter_element_class_init):
14378         * clutter/clutter-label.c: (clutter_label_make_pixbuf):
14379         * clutter/clutter-main.c: (clutter_main):
14380         * clutter/clutter-stage.c: (sync_fullscreen), (sync_gl_viewport):
14381         * clutter/clutter-stage.h:
14382         Various minor tweaks / fixes needed by o.p.t
14383         * clutter/clutter-texture.c: (texture_render_to_gl_quad),
14384         (clutter_texture_sync_pixbuf), (clutter_texture_set_property),
14385         (clutter_texture_get_property), (clutter_texture_class_init):
14386         Experiment adding currently borked repreating textures,
14387         * clutter/clutter-timeline.c: (timeline_timeout_func),
14388         (clutter_timeline_skip):
14389         Fix timeline callback frame counting.
14390         * examples/test-video.c: (main):
14391         Experiment with repeated textures.
14392
14393 2006-05-23  Matthew Allum  <mallum@openedhand.com>
14394
14395         * clutter/clutter-clone-texture.h:
14396         Fix Include.
14397         * clutter/clutter-element.c: (clutter_element_set_parent):
14398         Only unref if parent non NULL
14399         * clutter/clutter-label.c: (clutter_label_class_init),
14400         (clutter_label_set_text), (clutter_label_set_font):
14401         * clutter/clutter-stage.h:
14402         Add some utility defines
14403         * clutter/clutter-texture.c: (init_tiles):
14404         * clutter/clutter-timeline.c: (clutter_timeline_class_init),
14405         (timeline_timeout_func), (clutter_timeline_get_current_frame):
14406         * clutter/clutter-timeline.h:
14407         Add a 'completed' signal
14408         Dont free priv when g_type_class_private used.
14409         * clutter/clutter.h:
14410         Add missing clutter-rectangle.h
14411         * examples/Makefile.am:
14412         * examples/super-oh.c: (main):
14413         * examples/test.c:
14414         * examples/video-cube.c:
14415         Fix includes
14416
14417 2006-05-22  Matthew Allum  <mallum@openedhand.com>
14418
14419         * clutter/clutter-element.c:
14420         * clutter/clutter-element.h:
14421         * clutter/clutter-event.c:
14422         * clutter/clutter-group.c: (clutter_group_remove_all):
14423         * clutter/clutter-group.h:
14424         * clutter/clutter-main.c: (translate_button_event),
14425         (translate_motion_event):
14426         Improve mouse event handling.
14427         Add code to map arbituary ( i.e cursor ) position to
14428         a clutter element using OpenGL 'picking'.
14429         * clutter/clutter-texture.c:
14430         * clutter/clutter-clone-texture.c:
14431         re-realize parent texture if it gets hidden.
14432         * clutter/clutter-stage.c:
14433         * clutter/clutter-stage.h:
14434         Make sure stage sets gl viewport up even if just default size.
14435         (clutter_texture_hide), (clutter_texture_paint):
14436         * doc/reference/Makefile.am:
14437         * examples/super-oh.c: (input_cb), (frame_cb), (main):
14438         Add test for mouse events, click to remove.
14439
14440 2006-05-21  Matthew Allum  <mallum@openedhand.com>
14441
14442         * clutter/clutter-element.c:
14443         * clutter/clutter-element.h:
14444         Add new core sizing methods and more documentation.
14445         * clutter/clutter-group.c:
14446         * clutter/clutter-group.h:
14447         Use the sizing bits and documentation.
14448         * clutter/clutter-main.c:
14449         * clutter/clutter-event.h:
14450         Add FPS display when CLUTTER_SHOW_FPS env var set.
14451         Add initial support for mouse events.
14452         * clutter/clutter-stage.c:
14453         Add 'snapshot' method.
14454         * clutter/clutter-texture.c: (clutter_texture_new_from_pixbuf):
14455         * clutter/clutter-texture.h:
14456         Documentation.
14457         * clutter/clutter-timeline.c:
14458         Add support for changing FPS setting on the fly. Document.
14459         * examples/super-oh.c: (frame_cb), (main):
14460         Add an optional motion trails effect.
14461
14462 2006-05-17  Matthew Allum  <mallum@openedhand.com>
14463
14464         * README:
14465         Add a tiny bit of info
14466         * TODO:
14467         Sync up a little
14468         * clutter/clutter-clone-texture.c:
14469         (clone_texture_render_to_gl_quad):
14470         * clutter/clutter-element.c: (clutter_element_show),
14471         (clutter_element_realize), (clutter_element_unrealize),
14472         (clutter_element_paint), (clutter_element_set_id),
14473         (clutter_element_get_id):
14474         * clutter/clutter-element.h:
14475         Rename REALISE() to REALIZE()
14476
14477         * clutter/clutter-texture.c: (texture_render_to_gl_quad),
14478         (clutter_texture_sync_pixbuf), (clutter_texture_set_pixbuf):
14479         * clutter/clutter-video-texture.c: (query_timeout),
14480         (got_video_size), (caps_set), (parse_stream_info),
14481         (handle_element_message), (bus_message_cb),
14482         (poll_for_state_change_full), (clutter_video_texture_get_property),
14483         (clutter_video_texture_class_init), (clutter_video_texture_init),
14484         (clutter_video_texture_open), (clutter_video_texture_seek_time),
14485         (stop_play_pipeline):
14486         * clutter/clutter-video-texture.h:
14487         Move over using fakesink and handoff instead of custom element
14488         Support 3 channel pixbufs as textures and thus increase efficiency
14489         of video texture ( also avoids byte swapping. )
14490         Clean up video texture code somemore.
14491         Add some metadata support.
14492
14493         * Makefile.am:
14494         * configure.ac:
14495         Disable old custom clutter gst element from build.
14496
14497         * examples/test-video.c: (foo), (size_change), (tick), (main):
14498         * examples/video-cube.c: (clutter_video_texture_cube_paint):
14499         Sink with new API. Pause on key press.
14500
14501 2006-05-13  Matthew Allum  <mallum@openedhand.com>
14502
14503         * clutter/clutter-element.c: (redraw_update_idle),
14504         (clutter_element_show), (clutter_element_hide),
14505         (clutter_element_realize), (clutter_element_unrealize),
14506         (clutter_element_class_init), (clutter_element_init),
14507         (clutter_element_queue_redraw), (clutter_element_set_geometry),
14508         (clutter_element_get_geometry), (clutter_element_get_coords),
14509         (clutter_element_set_position), (clutter_element_set_size),
14510         (clutter_element_get_abs_position), (clutter_element_get_width),
14511         (clutter_element_get_height), (clutter_element_get_x),
14512         (clutter_element_get_y), (clutter_element_set_opacity):
14513         * clutter/clutter-texture.c: (clutter_texture_get_base_size),
14514         (clutter_texture_bind_tile), (clutter_texture_get_n_tiles),
14515         (clutter_texture_get_x_tile_detail),
14516         (clutter_texture_get_y_tile_detail):
14517         * doc/reference/Makefile.am:
14518         * doc/reference/clutter.types:
14519         Documentation updates.
14520
14521 2006-05-13  Matthew Allum  <mallum@openedhand.com>
14522
14523         * clutter.pc.in:
14524         Add @MAJORMINOR@ to installed dirs.
14525         * clutter/clutter-main.c: (clutter_xscreen), (clutter_init):
14526         * clutter/clutter-main.h:
14527         * clutter/clutter-private.h:
14528         Quick fix for debug statements so now only appear
14529         if CLUTTER_DBBUG env var set.
14530
14531 2006-05-12  Matthew Allum  <mallum@openedhand.com>
14532
14533         * configure.ac:
14534         * Makefile.am:
14535         * clutter/Makefile.am:
14536         * bindings/python/Makefile.am:
14537         * examples/Makefile.am:
14538         * gst/Makefile.am:
14539         Clean up autofoo a bit fixing versioning.
14540         * bootstrap-autotools.sh:
14541         * clutter-1.0.pc.in:
14542         Rename.
14543
14544 2006-05-12  Matthew Allum  <mallum@openedhand.com>
14545
14546         * bindings/python/Makefile.am:
14547         * bindings/python/clutter.override:
14548         * clutter/Makefile.am:
14549         * clutter/clutter-bin.c:
14550         * clutter/clutter-bin.h:
14551         * clutter/clutter-element.c: (clutter_element_dispose),
14552         (clutter_element_raise), (clutter_element_lower):
14553         * clutter/clutter-group.c:
14554         * clutter/clutter-group.h:
14555         * clutter/clutter-main.c: (clutter_threads_leave):
14556         * clutter/clutter-main.h:
14557         * clutter/clutter-stage.c: (clutter_stage_class_init):
14558         * clutter/clutter-stage.h:
14559         * clutter/clutter.h:
14560         * examples/super-oh.c: (frame_cb), (main):
14561         * examples/test-text.c: (main):
14562         * examples/test-video.c: (main):
14563         * examples/test.c: (main):
14564         * examples/video-cube.c: (main):
14565         Rename clutter-bin to clutter-group
14566
14567 2006-05-11  Matthew Allum  <mallum@openedhand.com>
14568
14569         * clutter/clutter-clone-texture.c:
14570         (clone_texture_render_to_gl_quad), (clutter_clone_texture_paint),
14571         (clutter_clone_texture_class_init), (clutter_clone_texture_new):
14572         Fix cloning.
14573         * clutter/clutter-element.c: (clutter_element_rotate_z),
14574         (clutter_element_rotate_x), (clutter_element_rotate_y):
14575         Minor tweaks
14576         * examples/Makefile.am:
14577         * examples/super-oh.c:
14578         Add a new demo - unsing rotations and clones.
14579
14580 2006-05-11  Matthew Allum  <mallum@openedhand.com>
14581
14582         * bindings/python/Makefile.am:
14583         * bindings/python/clutter-base-types.defs:
14584         * bindings/python/clutter-base.defs:
14585         * bindings/python/clutter.override:
14586         Python goodiness from ebassi.
14587          - Element geometry handled nicely.
14588          - get_coords(), get_abs_position() added.
14589
14590         * clutter/clutter-element.c: (clutter_element_rotate_x),
14591         (clutter_element_rotate_y), (clutter_element_mirror),
14592         * clutter/clutter-element.h:
14593         Add initial rotation API. Make Geometry boxed ( ebassi )
14594
14595         * clutter/clutter-stage.c: (sync_gl_viewport):
14596         Set depth in main world transform.
14597
14598         * clutter/clutter-timeline.h:
14599         Add missing new() api call.
14600
14601         * examples/test.c: (timeout_text_cb), (frame_cb), (main):
14602         Tou with some rotation
14603
14604 2006-05-11  Matthew Allum  <mallum@openedhand.com>
14605
14606         reviewed by: <delete if not using a buddy>
14607
14608         * bindings/python/Makefile.am:
14609         * bindings/python/clutter-base-types.defs:
14610         * bindings/python/clutter-base.defs:
14611         * bindings/python/clutter.override:
14612         * clutter/clutter-bin.c: (clutter_bin_paint):
14613         * clutter/clutter-element.c: (clutter_element_paint),
14614         (clutter_element_get_height), (clutter_element_get_x),
14615         (clutter_element_get_y), (clutter_element_set_opacity),
14616         (clutter_element_get_opacity), (clutter_element_set_id),
14617         (clutter_element_get_id), (clutter_element_rotate_x),
14618         (clutter_element_rotate_y), (clutter_element_mirror),
14619         (clutter_element_set_clip), (clutter_element_remove_clip),
14620         (clutter_element_set_parent), (clutter_element_get_parent),
14621         (clutter_element_raise), (clutter_element_lower),
14622         (clutter_element_raise_top), (clutter_element_lower_bottom):
14623         * clutter/clutter-element.h:
14624         * clutter/clutter-main.c: (clutter_redraw):
14625         * clutter/clutter-stage.c: (sync_gl_viewport):
14626         * clutter/clutter-timeline.h:
14627         * examples/test.c: (timeout_text_cb), (frame_cb), (main):
14628
14629 2006-05-09  Matthew Allum  <mallum@openedhand.com>
14630
14631         * COPYING:
14632         * clutter/clutter-bin.c:
14633         * clutter/clutter-bin.h:
14634         * clutter/clutter-clone-texture.c:
14635         * clutter/clutter-clone-texture.h:
14636         * clutter/clutter-color.c:
14637         * clutter/clutter-color.h:
14638         * clutter/clutter-element.c:
14639         * clutter/clutter-element.h:
14640         * clutter/clutter-event.c:
14641         * clutter/clutter-event.h:
14642         * clutter/clutter-keysyms.h:
14643         * clutter/clutter-label.c:
14644         * clutter/clutter-label.h:
14645         * clutter/clutter-main.c:
14646         * clutter/clutter-main.h:
14647         * clutter/clutter-private.h:
14648         * clutter/clutter-rectangle.c:
14649         * clutter/clutter-rectangle.h:
14650         * clutter/clutter-stage.c:
14651         * clutter/clutter-stage.h:
14652         * clutter/clutter-texture.c:
14653         * clutter/clutter-texture.h:
14654         * clutter/clutter-timeline.c:
14655         * clutter/clutter-timeline.h:
14656         * clutter/clutter-util.c:
14657         * clutter/clutter-util.h:
14658         Add license info.
14659
14660 2006-05-08  Matthew Allum  <mallum@openedhand.com>
14661
14662         * clutter/Makefile.am:
14663         * clutter/clutter-event.c:
14664         * clutter/clutter-event.h:
14665         * clutter/clutter-keysyms.h:
14666         * clutter/clutter-main.c: (clutter_dispatch_x_event):
14667         * clutter/clutter-stage.c: (clutter_stage_class_init):
14668         * clutter/clutter-stage.h:
14669         * clutter/clutter.h:
14670         * bindings/python/Makefile.am:
14671         * bindings/python/clutter.override:
14672         Add basic input event handling. Keys only atm.
14673
14674 2006-05-08  Matthew Allum  <mallum@openedhand.com>
14675
14676         * TODO:
14677         Sync a little.
14678         * bindings/python/Makefile.am:
14679         * bindings/python/clutter.override:
14680         Fix up so pixbufs now work ( thanks ebassi! )
14681         Add some missing newer headers.
14682         * clutter/clutter-main.h:
14683         Remove unused clutter_queue_redraw();
14684
14685 2006-05-07  Matthew Allum  <mallum@openedhand.com>
14686
14687         * clutter/clutter-element.c: (clutter_element_class_init),
14688         (clutter_element_init), (clutter_element_queue_redraw),
14689         (clutter_element_set_geometry), (clutter_element_get_geometry),
14690         (clutter_element_get_coords), (clutter_element_set_position),
14691         (clutter_element_set_size), (clutter_element_get_abs_position),
14692         (clutter_element_get_width), (clutter_element_get_height),
14693         (clutter_element_get_x), (clutter_element_get_y),
14694         (clutter_element_set_opacity):
14695         * clutter/clutter-main.c: (clutter_dispatch_x_event):
14696         * clutter/clutter-main.h:
14697         * clutter/clutter-private.h:
14698         * clutter/clutter-stage.c: (clutter_stage_set_color):
14699         * clutter/clutter-texture.c: (clutter_texture_set_pixbuf):
14700         Rename clutter_queue_redraw -> clutter_element_queue_redraw
14701
14702         * clutter/clutter-label.c: (clutter_label_make_pixbuf),
14703         (clutter_label_set_property), (clutter_label_set_text_extents):
14704         * clutter/clutter-label.h:
14705         Fixes to extents
14706
14707         * examples/Makefile.am:
14708         * examples/test-text.c:
14709         Add sime test text example.
14710
14711 2006-05-07  Matthew Allum  <mallum@openedhand.com>
14712
14713         * clutter/clutter-label.c: (clutter_label_make_pixbuf),
14714         (clutter_label_get_property), (clutter_label_dispose),
14715         (clutter_label_class_init), (clutter_label_init),
14716         (clutter_label_new_with_text), (clutter_label_new),
14717         (clutter_label_set_text), (clutter_label_set_font),
14718         (clutter_label_set_text_extents), (clutter_label_set_fg_color):
14719         * examples/test.c: (main):
14720         Slight efficiency improvements. Add initial extents API.
14721
14722 2006-05-07  Matthew Allum  <mallum@openedhand.com>
14723
14724         * TODO:
14725         resync.
14726         * clutter/Makefile.am:
14727         * clutter/clutter-clone-texture.c:
14728         * clutter/clutter-clone-texture.h:
14729         Add new texture clone element.
14730         * clutter/clutter-color.c:
14731         * clutter/clutter-color.h:
14732         Add simple color API.
14733         * clutter/clutter-util.c:
14734         * clutter/clutter-util.h:
14735         Move shared texture funcs into shared util code.
14736         * clutter/clutter-texture.c: (can_create), (tile_dimension),
14737         (init_tiles), (texture_render_to_gl_quad),
14738         (clutter_texture_unrealize), (clutter_texture_sync_pixbuf),
14739         (clutter_texture_realize), (clutter_texture_show),
14740         (clutter_texture_hide), (clutter_texture_paint),
14741         (clutter_texture_finalize), (clutter_texture_set_property),
14742         (clutter_texture_get_property), (clutter_texture_class_init),
14743         (clutter_texture_init), (clutter_texture_set_pixbuf),
14744         (clutter_texture_new_from_pixbuf), (clutter_texture_get_base_size),
14745         (clutter_texture_bind_tile):
14746         Changes for clones to work.
14747         * clutter/clutter-element.c: (clutter_element_paint),
14748         (clutter_element_set_property), (clutter_element_get_property),
14749         (clutter_element_set_position), (clutter_element_set_size),
14750         (clutter_element_get_abs_position), (clutter_element_get_width),
14751         (clutter_element_get_height), (clutter_element_get_x),
14752         (clutter_element_get_y), (clutter_element_set_opacity),
14753         (clutter_element_get_opacity), (clutter_element_set_id),
14754         (clutter_element_get_id), (clutter_element_set_clip):
14755         * clutter/clutter-element.h:
14756         Add clipping and other tweaks.
14757         * clutter/clutter-stage.c: (sync_gl_viewport),
14758         (clutter_stage_paint), (clutter_stage_init):
14759         Add psuedo 3D desktop like GL setup.
14760         * clutter/clutter-label.c: (clutter_label_make_pixbuf):
14761         * clutter/clutter-label.h:
14762         * clutter/clutter-main.c: (clutter_redraw):
14763         * clutter/clutter-main.h:
14764         * clutter/clutter-private.h:
14765         * clutter/clutter-rectangle.c: (clutter_rectangle_paint):
14766         * clutter/clutter-stage.h:
14767         * clutter/clutter-texture.h:
14768         * clutter/clutter-timeline.c: (clutter_timeline_class_init):
14769         * clutter/clutter-video-texture.c:
14770         * clutter/clutter.h:
14771         * examples/test-video.c: (foo), (size_change), (tick), (main):
14772         * examples/test.c: (main):
14773         * examples/video-cube.c: (clutter_video_texture_cube_paint),
14774         (clutter_video_texture_cube_class_init),
14775         (clutter_video_texture_cube_init):
14776         Various minor tweaks for API changes, new features etc.
14777
14778 2006-05-03  Matthew Allum  <mallum@openedhand.com>
14779
14780         * clutter/clutter-bin.c: (clutter_bin_paint):
14781         * clutter/clutter-bin.h:
14782         * clutter/clutter-element.c: (clutter_element_unrealize),
14783         (clutter_element_paint), (clutter_element_set_property),
14784         (clutter_element_get_property), (clutter_element_dispose),
14785         (clutter_element_finalize), (clutter_element_class_init),
14786         (clutter_element_init), (clutter_element_queue_redraw),
14787         (clutter_element_set_geometry), (clutter_element_get_geometry),
14788         (clutter_element_get_coords), (clutter_element_set_position),
14789         (clutter_element_set_size), (clutter_element_get_abs_position),
14790         (clutter_element_set_opacity), (clutter_element_get_opacity),
14791         (clutter_element_set_clip), (clutter_element_remove_clip),
14792         (clutter_element_set_parent), (clutter_element_get_parent),
14793         (clutter_element_raise), (clutter_element_lower),
14794         (clutter_element_raise_top), (clutter_element_lower_bottom):
14795         * clutter/clutter-element.h:
14796         * clutter/clutter-label.c: (clutter_label_set_fg_color):
14797         * clutter/clutter-rectangle.c: (clutter_rectangle_paint),
14798         (clutter_rectangle_set_property), (clutter_rectangle_init):
14799         * clutter/clutter-stage.c: (sync_xwindow_size):
14800         * clutter/clutter-texture.c: (clutter_texture_paint),
14801         (clutter_texture_set_pixbuf):
14802         Clean up ClutterElement, removing globals, improving sizing
14803         and initial clipping code.
14804
14805         * clutter/clutter.h:
14806         * clutter/clutter-timeline.c: (clutter_timeline_class_init),
14807         (timeline_timeout_func), (clutter_timeline_start),
14808         (clutter_timeline_pause), (clutter_timeline_rewind),
14809         (clutter_timeline_skip), (clutter_timeline_advance),
14810         (clutter_timeline_get_current_frame), (clutter_timeline_new):
14811         * clutter/clutter-timeline.h:
14812         Various fixes to timelines. Implement frame skipping.
14813
14814         * examples/test.c: (timeout_text_cb), (main):
14815         Update to use timeline.
14816
14817 2006-05-02  Matthew Allum  <mallum@openedhand.com>
14818
14819         * TODO:
14820         Update
14821         * clutter/clutter-element.h:
14822         * clutter/clutter-rectangle.h:
14823         Minor formatting cleanups
14824
14825 2006-05-02  Matthew Allum  <mallum@openedhand.com>
14826
14827         * clutter/Makefile.am:
14828         * clutter/clutter-timeline.c:
14829         * clutter/clutter-timeline.h:
14830         Add initial timeline implementation
14831
14832 2006-05-02  Matthew Allum  <mallum@openedhand.com>
14833
14834         * bindings/python/Makefile.am:
14835         * bindings/python/cluttermodule.c: (initclutter):
14836         Fix python build with new -1.0 naming. Use of GdkPixbufs
14837         still causing crashes.
14838
14839 2006-04-30  Matthew Allum  <mallum@openedhand.com>
14840
14841         * clutter/clutter-main.c: (events_init), (redraw_update_idle),
14842         (clutter_queue_redraw), (clutter_redraw):
14843         Fix repaint queueing, using idle handler now.
14844         Clean up some minor compiler warnings.
14845         * clutter/clutter-main.h:
14846         * clutter/clutter-texture.c: (clutter_texture_unrealize),
14847         (clutter_texture_set_pixbuf):
14848         Rename gl_lock/unlock to threads_enter/leaver
14849
14850 2006-04-30  Matthew Allum  <mallum@openedhand.com>
14851
14852         * Makefile.am:
14853         * clutter-1.0.pc.in:
14854         * clutter/Makefile.am:
14855         * clutter/clutter-bin.h:
14856         * clutter/clutter-label.h:
14857         * clutter/clutter-rectangle.h:
14858         * clutter/clutter-stage.h:
14859         * clutter/clutter-texture.h:
14860         * clutter/clutter-video-texture.h:
14861         * clutter/clutter.h:
14862         * configure.ac:
14863         * examples/Makefile.am:
14864         Add .pc file, tag -1.0 onto lib, includes dir naming.
14865
14866 2006-04-29  Matthew Allum  <mallum@openedhand.com>
14867
14868         * clutter/clutter-main.c: (clutter_dispatch_x_event),
14869         (clutter_queue_redraw), (clutter_redraw):
14870         Simplify paint event queueing. Does not actually queue
14871         anymore (broken), needs wrong to reduce high number of
14872         uneeded paints.
14873
14874         * clutter/clutter-texture.c: (clutter_texture_set_pixbuf):
14875         Remove visible check which broke paints of resized texture pixmaps.
14876
14877 2006-04-19  Matthew Allum  <mallum@openedhand.com>
14878
14879         * clutter/clutter-bin.c: (clutter_bin_paint), (clutter_bin_add):
14880         * clutter/clutter-element.c: (clutter_element_paint):
14881         * clutter/clutter-element.h:
14882         * clutter/clutter-label.c: (clutter_label_set_property),
14883         (clutter_label_get_property), (clutter_label_class_init):
14884         * clutter/clutter-marshal.list:
14885         * clutter/clutter-rectangle.c: (clutter_rectangle_set_property),
14886         (clutter_rectangle_get_property), (clutter_rectangle_class_init):
14887         * clutter/clutter-stage.c: (clutter_stage_dispose),
14888         (clutter_stage_get_property), (clutter_stage_class_init):
14889         * clutter/clutter-texture.c: (clutter_texture_realize),
14890         (clutter_texture_class_init), (clutter_texture_set_pixbuf):
14891         * clutter/clutter-texture.h:
14892         More object cleanups. Add signal to texture size changes.
14893         Fix color props. Adjust element realise flags workings ( broken ).
14894         * examples/test-video.c: (main):
14895         Broken due to realize flag changes.
14896
14897 2006-04-18  Matthew Allum  <mallum@openedhand.com>
14898
14899         * clutter/clutter-bin.c: (clutter_bin_get_property),
14900         (clutter_bin_finalize), (clutter_bin_class_init),
14901         (clutter_bin_new), (clutter_bin_show_all), (clutter_bin_hide_all),
14902         (clutter_bin_add):
14903         * clutter/clutter-bin.h:
14904         * clutter/clutter-element.c: (clutter_element_get_property),
14905         (clutter_element_finalize), (clutter_element_class_init),
14906         (clutter_element_set_parent), (clutter_element_get_parent),
14907         (clutter_element_raise), (clutter_element_lower):
14908         * clutter/clutter-element.h:
14909         * clutter/clutter-label.c: (clutter_label_make_pixbuf),
14910         (clutter_label_get_property), (clutter_label_dispose),
14911         (clutter_label_finalize), (clutter_label_class_init),
14912         (clutter_label_init), (clutter_label_new_with_text),
14913         (clutter_label_new), (clutter_label_set_text),
14914         (clutter_label_set_font), (clutter_label_set_fg_color):
14915         * clutter/clutter-label.h:
14916         * clutter/clutter-rectangle.c: (clutter_rectangle_paint),
14917         (clutter_rectangle_set_property), (clutter_rectangle_get_property),
14918         (clutter_rectangle_finalize), (clutter_rectangle_dispose),
14919         (clutter_rectangle_class_init), (clutter_rectangle_init),
14920         (clutter_rectangle_new):
14921         * clutter/clutter-texture.c: (clutter_texture_paint),
14922         (clutter_texture_dispose), (clutter_texture_finalize),
14923         (clutter_texture_set_property), (clutter_texture_get_property),
14924         (clutter_texture_class_init), (clutter_texture_init),
14925         (clutter_texture_set_pixbuf), (clutter_texture_new_from_pixbuf):
14926         Various GObject usages cleanups, adding properties and
14927         finalize/dispose functions properly.
14928
14929 2006-04-18  Matthew Allum  <mallum@openedhand.com>
14930
14931         * bindings/python/Makefile.am:
14932         * bindings/python/clutter.override:
14933         * bindings/python/cluttermodule.c: (initclutter):
14934         * clutter/clutter-label.h:
14935         * clutter/clutter-rectangle.h:
14936         * clutter/clutter-video-texture.h:
14937         More fixups to now less broken python bindings
14938         * examples/rects.py:
14939         A simple python script using bindings
14940
14941 2006-04-18  Matthew Allum  <mallum@openedhand.com>
14942
14943         * clutter/clutter-marshal.list:
14944         Add missing.
14945
14946 2006-04-17  Matthew Allum  <mallum@openedhand.com>
14947
14948         * Makefile.am:
14949         * bindings/Makefile.am:
14950         * bindings/python/Makefile.am:
14951         * bindings/python/clutter.override:
14952         * bindings/python/cluttermodule.c:
14953         * configure.ac:
14954         First shot at some python bindings ( broken atm )
14955         * clutter/clutter-bin.h:
14956         * clutter/clutter-element.h:
14957         * clutter/clutter-stage.h:
14958         * clutter/clutter-texture.h:
14959         * clutter/clutter.h:
14960         Rejig headers a little so h2def.py happier
14961
14962 2006-04-17  Matthew Allum  <mallum@openedhand.com>
14963
14964         * TODO:
14965         * doc/clutter.types:
14966         * doc/reference/Makefile.am:
14967         Move gtk-doc gubbins to doc/reference
14968
14969 2006-04-16  Matthew Allum  <mallum@openedhand.com>
14970
14971         * TODO:
14972         More updates
14973
14974         * clutter/clutter-bin.c: (clutter_bin_paint):
14975         Add translate call
14976
14977         * clutter/clutter-texture.c: (clutter_texture_dispose),
14978         (clutter_texture_class_init), (clutter_texture_set_pixbuf):
14979         Fixup object finalization a little.
14980
14981         * bootstrap-autotools.sh:
14982         * configure.ac:
14983         * doc/Makefile.am:
14984         * doc/clutter.types:
14985         Add gtk-doc infrastructure
14986
14987 2006-04-15  Matthew Allum  <mallum@openedhand.com>
14988
14989         * TODO:
14990         More ideas.
14991
14992         * clutter/Makefile.am:
14993         * clutter/clutter-rectangle.c: (clutter_rectangle_new):
14994         Sync passed color alpha chan to element opacity,
14995
14996         * clutter/clutter-video-texture.c:
14997         (clutter_video_texture_error_quark), (signal_eos_delayed),
14998         (query_timeout), (got_video_size), (caps_set), (parse_stream_info),
14999         (handle_element_message)
15000         * clutter/clutter-video-texture.h:
15001         Port more of bacon video widget API.
15002
15003         * examples/test-video.c: (foo), (tick), (main):
15004         Add a simple overlay displaying playback time.
15005
15006 2006-04-15  Matthew Allum  <mallum@openedhand.com>
15007
15008         * clutter/clutter-element.c:
15009         * clutter/clutter-label.c: (clutter_label_init),
15010         (clutter_label_new_with_text):
15011         * clutter/clutter-label.h:
15012         * clutter/clutter-main.c: (clutter_redraw), (clutter_gl_unlock):
15013         * clutter/clutter-main.h:
15014         * clutter/clutter-rectangle.c: (clutter_rectangle_init),
15015         (clutter_rectangle_new):
15016         * clutter/clutter-rectangle.h:
15017         * clutter/clutter-texture.c: (clutter_texture_class_init),
15018         (clutter_texture_set_pixbuf), (clutter_texture_new_from_pixbuf):
15019         * clutter/clutter-texture.h:
15020         * clutter/clutter-video-texture.c: (clutter_video_texture_init):
15021         * clutter/clutter-video-texture.h:
15022         * examples/test-video.c: (main):
15023         * examples/test.c: (main):
15024         * examples/video-cube.c: (clutter_video_texture_cube_init), (main):
15025         Make xxx_new() return there type as ClutterElement*
15026
15027 2006-04-15  Matthew Allum  <mallum@openedhand.com>
15028
15029         * TODO:
15030         Update
15031         * clutter/clutter-main.c:
15032         * clutter/clutter-stage.c:
15033         * clutter/clutter-texture.c:
15034         * clutter/clutter-texture.h:
15035         * gst/clutterimagesink.c: (gst_clutterimagesink_clutterimage_put),
15036         (gst_clutterimagesink_context_get):
15037         Various experiments with textures and 3D views.
15038
15039         * clutter/clutter-video-texture.c:
15040         (clutter_video_texture_class_init), (clutter_video_texture_init):
15041         * examples/Makefile.am:
15042         * examples/test-video.c: (main):
15043         * examples/video-cube.c:
15044         Add video-cube example
15045
15046 2006-04-13  Matthew Allum  <mallum@openedhand.com>
15047
15048         * TODO:
15049         Update
15050
15051         * clutter/clutter-bin.c:
15052         * clutter/clutter-bin.h:
15053         New container element
15054
15055         * clutter/clutter-stage.c:
15056         * clutter/clutter-stage.h:
15057         Make stage a proper element
15058
15059         * clutter/Makefile.am:
15060         * clutter/clutter.h:
15061         * clutter/clutter-element.c: (clutter_element_show),
15062         (clutter_element_set_opacity):
15063         * clutter/clutter-element.h:
15064         * clutter/clutter-label.c: (clutter_label_make_pixbuf),
15065         (clutter_label_set_text), (clutter_label_set_font):
15066         * clutter/clutter-private.h:
15067         Various tweaks new api calls.
15068
15069         * clutter/clutter-main.c: (events_init):
15070         * clutter/clutter-main.h:
15071         Make ClutterContex Private to main
15072
15073         * clutter/clutter-texture.c:
15074         * clutter/clutter-texture.h:
15075         * clutter/clutter-video-texture.c:
15076         (clutter_video_texture_finalize):
15077         Fix video crash
15078
15079         * examples/test-video.c: (main):
15080         * examples/test.c: (main):
15081         Fix for API changes.
15082
15083 2006-04-11  Matthew Allum  <mallum@openedhand.com>
15084
15085         * TODO:
15086         Add
15087         * clutter/clutter-video-texture.c:
15088         (clutter_video_texture_finalize):
15089         * clutter/clutter-video-texture.h:
15090         Remove bogus pixbuf attribute
15091
15092 2006-04-10  Matthew Allum  <mallum@openedhand.com>
15093
15094         * clutter/clutter-main.c: (clutter_dispatch_x_event),
15095         (clutter_queue_redraw), (clutter_main), (clutter_set_stage_params),
15096         (clutter_init):
15097         * clutter/clutter-main.h:
15098         * clutter/clutter-private.h:
15099         Make Stage non fullscreen ( for now ). Change event loop to
15100         work better with video.
15101
15102         * clutter/Makefile.am:
15103         * clutter/clutter-label.c: (clutter_label_make_pixbuf),
15104         (clutter_label_class_init), (clutter_label_new_with_text),
15105         (clutter_label_set_text), (clutter_label_set_font):
15106         * clutter/clutter-texture.c: (texture_render_to_gl_quad),
15107         (clutter_texture_unrealize), (clutter_texture_sync_pixbuf),
15108         (clutter_texture_realize), (clutter_texture_show),
15109         (clutter_texture_hide), (clutter_texture_paint),
15110         (clutter_texture_finalize), (clutter_texture_set_property),
15111         (clutter_texture_get_property), (clutter_texture_class_init),
15112         (clutter_texture_init), (clutter_texture_get_pixbuf),
15113         (clutter_texture_set_pixbuf), (clutter_texture_new_from_pixbuf):
15114         * clutter/clutter-texture.h:
15115         * clutter/clutter.h:
15116         Fix leakage. Improve performance. Add support for non tiled
15117         textures.
15118
15119         * examples/Makefile.am:
15120         * examples/test.c: (timeout_text_cb), (main):
15121         Experiments
15122
15123         * examples/test-video.c:
15124         * configure.ac:
15125         * gst/Makefile.am:
15126         * gst/clutterimagesink.c:
15127         * gst/clutterimagesink.h:
15128         * clutter/clutter-video-texture.c:
15129         * clutter/clutter-video-texture.h:
15130         Add initial support for video textures with gst-0.10
15131
15132         * gst/cltrimagesink.c:
15133         * gst/cltrimagesink.h:
15134         Remove old gst-0.8 sink
15135
15136 2006-04-05  Matthew Allum  <mallum@openedhand.com>
15137
15138         * clutter/Makefile.am:
15139         * clutter/clutter-element.c: (clutter_element_show),
15140         (clutter_element_hide), (clutter_element_realize),
15141         (clutter_element_unrealize), (clutter_element_paint),
15142         (clutter_element_finalize), (clutter_element_class_init),
15143         (clutter_element_init), (clutter_element_new):
15144         * clutter/clutter-element.h:
15145         * clutter/clutter.h:
15146         * clutter/clutter-main.c: (clutter_dispatch_x_event),
15147         (events_init), (clutter_redraw), (clutter_main), (clutter_init),
15148         (clutter_show_stage):
15149         * clutter/clutter-main.h:
15150         Various minor tweaks.
15151
15152         * clutter/clutter-private.h:
15153         * clutter/clutter-texture.c: (can_create), (init_tiles),
15154         (clutter_texture_unrealize), (clutter_texture_realize),
15155         (clutter_texture_finalize), (clutter_texture_class_init),
15156         (clutter_texture_init):
15157         * clutter/clutter-texture.h:
15158         Much improve texture class.
15159
15160         * clutter/clutter-label.c:
15161         * clutter/clutter-label.h:
15162         Add new text rendering class
15163
15164         * clutter/clutter-rectangle.c:
15165         * clutter/clutter-rectangle.h:
15166         Add basic rectangle drawing class
15167
15168         * examples/test.c:
15169         Add text rendering and animation to test.
15170
15171 2006-04-04  Matthew Allum  <mallum@openedhand.com>
15172
15173         * clutter/Makefile.am:
15174         * clutter/clutter-element.c: (clutter_element_realize):
15175         * clutter/clutter-element.h:
15176         * clutter/clutter-image.c:
15177         * clutter/clutter-image.h:
15178         * clutter/clutter-main.c: (clutter_dispatch_x_event),
15179         (clutter_main), (clutter_set_stage_params), (clutter_init):
15180         * clutter/clutter-texture.c: (next_p2), (can_create),
15181         (tile_dimension), (init_tiles), (texture_render_to_gl_quad),
15182         (clutter_texture_unrealize), (clutter_texture_realize),
15183         (clutter_texture_get_pixbuf), (clutter_texture_paint),
15184         (clutter_texture_finalize), (clutter_texture_class_init):
15185         * clutter/clutter-texture.h:
15186         * clutter/clutter.h:
15187         * configure.ac:
15188         * examples/test.c:
15189         Implement basic tiled texture painting.
15190
15191 2006-04-03  Matthew Allum  <mallum@openedhand.com>
15192
15193         reviewed by: <delete if not using a buddy>
15194
15195         * clutter/Makefile.am:
15196         * clutter/clutter-element.c:
15197         * clutter/clutter-element.h:
15198         * clutter/clutter-image.c:
15199         * clutter/clutter-image.h:
15200         * clutter/clutter-main.c: (events_init), (stage_realize),
15201         (clutter_queue_redraw), (clutter_redraw), (clutter_add_to_stage),
15202         (clutter_remove_from_stage), (clutter_main),
15203         (clutter_set_stage_params), (clutter_init):
15204         * clutter/clutter-main.h:
15205         * clutter/clutter-private.h:
15206         * clutter/clutter.h:
15207         * examples/test.c:
15208
15209 2006-04-02  Matthew Allum  <mallum@openedhand.com>
15210
15211         * clutter/Makefile.am:
15212         * clutter/cltr-animator.c:
15213         * clutter/cltr-animator.h:
15214         * clutter/cltr-button.c:
15215         * clutter/cltr-button.h:
15216         * clutter/cltr-core.c:
15217         * clutter/cltr-core.h:
15218         * clutter/cltr-events.c:
15219         * clutter/cltr-events.h:
15220         * clutter/cltr-glu.c:
15221         * clutter/cltr-glu.h:
15222         * clutter/cltr-label.c:
15223         * clutter/cltr-label.h:
15224         * clutter/cltr-list.c:
15225         * clutter/cltr-list.h:
15226         * clutter/cltr-overlay.c:
15227         * clutter/cltr-overlay.h:
15228         * clutter/cltr-photo-grid.c:
15229         * clutter/cltr-photo-grid.h:
15230         * clutter/cltr-private.h:
15231         * clutter/cltr-scratch.c:
15232         * clutter/cltr-scratch.h:
15233         * clutter/cltr-texture.c:
15234         * clutter/cltr-texture.h:
15235         * clutter/cltr-video.c:
15236         * clutter/cltr-video.h:
15237         * clutter/cltr-widget.c:
15238         * clutter/cltr-widget.h:
15239         * clutter/cltr-window.c:
15240         * clutter/cltr-window.h:
15241         * clutter/cltr.h:
15242         * clutter/clutter-main.c:
15243         * clutter/clutter-main.h:
15244         * clutter/clutter-private.h:
15245         * clutter/clutter.h:
15246         * clutter/fonts.c:
15247         * clutter/fonts.h:
15248         * clutter/pixbuf.c:
15249         * clutter/pixbuf.h:
15250         * clutter/util.c:
15251         * clutter/util.h:
15252         * configure.ac:
15253         * examples/Makefile.am:
15254         * examples/photos.c:
15255         * examples/player.c:
15256         * examples/scratch.c:
15257         * examples/select.c:
15258         * examples/test.c:
15259         Remove old cltr files replacing with beginnings of
15260         rejigged 'clutter' ones.
15261
15262 2005-05-27  mallum,,,  <mallum@openedhand.com>
15263
15264         * clutter/cltr-animator.c: (cltr_animator_zoom_new),
15265         (cltr_animator_move_new), (cltr_animator_fullzoom_new),
15266         (cltr_animator_new), (cltr_animator_set_args),
15267         (cltr_animator_wrapped_zoom_paint), (cltr_animator_reset),
15268         (cltr_animator_timeout_cb), (cltr_animator_run):
15269         * clutter/cltr-animator.h:
15270         * clutter/cltr-button.c: (cltr_button_set_label),
15271         (cltr_button_paint):
15272         * clutter/cltr-label.c: (cltr_label_new), (cltr_label_set_text),
15273         (cltr_label_get_text), (cltr_label_show),
15274         (cltr_label_handle_xevent), (cltr_label_paint):
15275         * clutter/cltr-label.h:
15276         * clutter/cltr-list.c: (cltr_list_paint):
15277         * clutter/cltr-widget.c:
15278         * examples/select.c: (usage), (video_ctrl_hide),
15279         (video_ctrl_stop_cb), (video_ctrl_play_cb),
15280         (video_ctrl_seek_begin_cb), (init_video_ctrl), (show_video_ctrl),
15281         (populate), (cell_to_item), (zoom_video_out), (init_show_controls),
15282         (handle_xevent), (zoom_out_complete), (zoom_in_complete):
15283         More select hacking ...
15284
15285 2005-05-23  mallum,,,  <mallum@openedhand.com>
15286
15287         * clutter/cltr-button.c: (cltr_button_new_with_label),
15288         (cltr_button_handle_xevent), (cltr_button_paint):
15289         * clutter/cltr-button.h:
15290         * clutter/cltr-events.c: (cltr_main_loop):
15291         * clutter/cltr-list.c: (cltr_list_cell_new),
15292         (cltr_list_append_cell), (cltr_list_update_layout),
15293         (cltr_list_paint):
15294         * clutter/cltr-list.h:
15295         * clutter/cltr-overlay.c: (cltr_overlay_paint):
15296         * clutter/cltr-private.h:
15297         * clutter/cltr-widget.c: (cltr_widget_show),
15298         (cltr_widget_show_all), (cltr_widget_add_child):
15299         * clutter/cltr-widget.h:
15300         * clutter/cltr-window.c: (cltr_window_show), (cltr_window_paint),
15301         (cltr_window_handle_xevent), (cltr_window_post_paint),
15302         (cltr_window_set_paint_funcs), (cltr_window_xwin),
15303         (cltr_window_hide_cursor), (cltr_window_set_fullscreen):
15304         * clutter/cltr-window.h:
15305         * examples/select.c: (usage), (init_video_ctrl), (show_video_ctrl),
15306         (populate), (cell_to_item), (handle_xevent), (zoom_out_complete),
15307         (zoom_in_complete), (cell_activated), (main):
15308         Much Select hacking
15309
15310 2005-05-17  mallum,,,  <mallum@openedhand.com>
15311
15312         * clutter/cltr-video.c: (cltr_video_get_pixbuf):
15313         * gst/cltrimagesink.c: (gst_cltrimagesink_change_state),
15314         (gst_cltrimagesink_chain):
15315         Fix thread related segv's on grabbing video image.
15316         Also pop any unplayed data from sink on stop
15317
15318 2005-05-16  mallum,,,  <mallum@openedhand.com>
15319
15320         * clutter/cltr-animator.c: (cltr_animator_zoom_new),
15321         (cltr_animator_fullzoom_new), (cltr_animator_new),
15322         (cltr_animator_set_args), (cltr_animator_wrapped_paint):
15323         * clutter/cltr-animator.h:
15324         * clutter/cltr-list.c: (cltr_list_cell_new),
15325         (cltr_list_get_active_cell_co_ords), (cltr_list_show),
15326         (cltr_list_on_activate_cell), (cltr_list_update_layout),
15327         (cltr_list_paint):
15328         * clutter/cltr-list.h:
15329         * clutter/cltr-texture.c: (cltr_texture_realize),
15330         (cltr_texture_unref), (cltr_texture_sync_pixbuf),
15331         (cltr_texture_force_rgb_data):
15332         * clutter/cltr-video.c: (got_stream_length), (got_time_tick),
15333         (got_state_change), (parse_stream_info), (cb_iterate),
15334         (cltr_video_play), (cltr_video_set_volume),
15335         (cltr_video_get_volume), (cltr_video_get_pixbuf),
15336         (cltr_video_idler), (cltr_video_set_source),
15337         (cltr_video_handle_xevent), (cltr_video_paint):
15338         * clutter/cltr-video.h:
15339         * clutter/cltr-widget.c:
15340         * clutter/pixbuf.c: (pixbuf_write_png), (load_png_file),
15341         (pixbuf_copy), (pixbuf_fill_rect), (pixbuf_scale_down),
15342         (pixbuf_clone):
15343         * examples/select.c: (usage), (populate), (cell_to_item),
15344         (handle_xevent), (zoom_out_complete), (zoom_in_complete),
15345         (cell_activated), (main):
15346         * gst/cltrimagesink.c: (gst_cltrimagesink_getcaps),
15347         (gst_cltrimagesink_chain):
15348         Far too much hacking. Fix many endian image issues.
15349         Greatly improve select demo
15350
15351 2005-05-16  mallum,,,  <mallum@openedhand.com>
15352
15353         * clutter/Makefile.am:
15354         * clutter/cltr-animator.c:
15355         * clutter/cltr-animator.h:
15356         * clutter/cltr-list.c: (distfunc), (cltr_list_new),
15357         (cltr_list_get_active_cell_co_ords), (cltr_list_show),
15358         (cltr_list_on_activate_cell), (cltr_list_handle_xevent),
15359         (cltr_list_animate), (cltr_list_timeout_cb),
15360         (cltr_list_update_layout), (cltr_list_paint):
15361         * clutter/cltr-list.h:
15362         * clutter/cltr-private.h:
15363         * clutter/cltr.h:
15364         * clutter/pixbuf.c: (load_png_file):
15365         * examples/player.c:
15366         * examples/select.c: (usage), (populate), (cell_activated), (main):
15367         Work on animator zooming. Also build up select.c much
15368
15369 2005-05-14  mallum,,,  <mallum@openedhand.com>
15370
15371         * clutter/cltr-animator.c:
15372         Add initial outline
15373         * clutter/cltr-button.c: (cltr_button_new_with_pixbuf),
15374         (cltr_button_handle_xkeyevent), (cltr_button_handle_xevent),
15375         (cltr_button_paint):
15376         various tweaks/experimentation
15377         * clutter/cltr-core.c: (cltr_init), (cltr_display_height):
15378         * clutter/cltr-glu.c: (cltr_glu_set_color):
15379         * clutter/cltr-glu.h:
15380         Add unfilled rect call.
15381         * clutter/cltr-label.c: (cltr_label_new), (cltr_label_paint):
15382         * clutter/cltr-list.c: (distfunc), (cltr_list_cell_new),
15383         (cltr_list_show), (cltr_list_animate), (cltr_list_paint):
15384         update list a little.
15385         * clutter/cltr-overlay.c: (cltr_overlay_handle_xevent),
15386         (cltr_overlay_paint):
15387         * clutter/cltr-private.h:
15388         * clutter/cltr-texture.c: (cltr_texture_realize):
15389         * clutter/cltr-video.c: (cltr_video_paint):
15390         * clutter/cltr.h:
15391         * clutter/fonts.c: (draw_layout_on_pixbuf):
15392         Fix font alpha blending
15393         * examples/Makefile.am:
15394         * examples/player.c: (main):
15395         * examples/scratch.c: (main):
15396         tweaks.
15397         * examples/select.c:
15398         new example
15399
15400 2005-05-11  mallum,,,  <mallum@openedhand.com>
15401
15402         * clutter/cltr-video.c: (got_buffering), (cltr_video_new),
15403         (cltr_video_play), (cltr_video_idler):
15404         * examples/photos.c: (main):
15405         * examples/player.c: (handle_xevent), (main):
15406         * gst/cltrimagesink.c: (gst_cltrimagesink_chain):
15407         Fix Gl thread related crash on video playback
15408         Make examples less bound to my laptop ;)
15409
15410 2005-05-06  mallum,,,  <mallum@openedhand.com>
15411
15412         * clutter/cltr-button.c: (cltr_button_new_with_label):
15413         * clutter/cltr-overlay.c:
15414         * clutter/cltr-photo-grid.c: (cltr_photo_grid_cell_new),
15415         (cltr_photo_grid_paint), (cltr_photo_grid_new):
15416         * clutter/cltr-video.c: (cltr_video_print_tag), (got_buffering),
15417         (got_error), (caps_set), (parse_stream_info), (cb_iterate),
15418         (cltr_video_new), (cltr_video_play), (cltr_video_seek),
15419         (cltr_video_seek_time), (cltr_video_stop), (cltr_video_close),
15420         (cltr_video_pause), (cltr_video_can_set_volume),
15421         (cltr_video_set_volume), (cltr_video_get_volume),
15422         (cltr_video_idler), (cltr_video_set_source), (cltr_video_show),
15423         (cltr_video_hide), (cltr_video_handle_xevent), (cltr_video_paint):
15424         * clutter/cltr-video.h:
15425         * clutter/cltr-widget.h:
15426         * clutter/cltr-window.c: (cltr_window_show), (cltr_window_paint),
15427         (cltr_window_handle_xevent), (cltr_window_set_fullscreen),
15428         (cltr_window_focus_widget):
15429         * clutter/cltr-window.h:
15430         * clutter/cltr.h:
15431         * clutter/fonts.c: (get_layout_bitmap), (font_draw),
15432         (font_get_pixel_size):
15433         * configure.ac:
15434         * examples/photos.c: (photo_grid_populate):
15435         * examples/player.c: (handle_xevent), (main):
15436         * examples/scratch.c: (main):
15437         Lots more tweaks, mainly updating video widget.
15438
15439 2005-04-29  mallum,,,  <mallum@openedhand.com>
15440
15441         * clutter/cltr-button.c: (cltr_button_new),
15442         (cltr_button_on_activate), (cltr_button_new_with_label),
15443         (cltr_button_show):
15444         * clutter/cltr-button.h:
15445         * clutter/cltr-label.c: (cltr_label_new), (cltr_label_paint):
15446         * clutter/cltr-private.h:
15447         * clutter/cltr-video.c: (cltr_video_play):
15448         * clutter/cltr-widget.c: (cltr_widget_new), (cltr_widget_abs_x),
15449         (cltr_widget_abs_y), (cltr_widget_abs_x2), (cltr_widget_abs_y2),
15450         (cltr_widget_width), (cltr_widget_height), (cltr_widget_show),
15451         (cltr_widget_focus), (cltr_widget_unfocus),
15452         (cltr_widget_set_focus_next), (cltr_widget_get_focus_next),
15453         (cltr_widget_show_all):
15454         * clutter/cltr-widget.h:
15455         * clutter/cltr-window.c: (cltr_window_new),
15456         (cltr_window_focus_widget):
15457         * clutter/cltr.h:
15458         * clutter/fonts.c: (draw_layout_on_pixbuf), (font_get_pixel_size):
15459         * examples/scratch.c: (main):
15460         Hack buttons some more
15461
15462 2005-04-27  mallum,,,  <mallum@openedhand.com>
15463
15464         * clutter/Makefile.am:
15465         * clutter/cltr-button.c: (cltr_button_new):
15466         * clutter/cltr-label.c:
15467         * clutter/cltr-label.h:
15468         * clutter/cltr-photo-grid.c: (cltr_photo_grid_paint):
15469         * clutter/cltr-texture.c: (cltr_texture_realize),
15470         (cltr_texture_new), (cltr_texture_unref),
15471         (cltr_texture_no_tile_new):
15472         * clutter/cltr-texture.h:
15473         * clutter/cltr-video.c: (cltr_video_got_time_tick), (caps_set),
15474         (cltr_video_new), (cltr_video_idler), (cltr_video_set_source),
15475         (cltr_video_play), (cltr_video_pause), (cltr_video_show),
15476         (cltr_video_hide), (cltr_video_handle_xevent), (cltr_video_paint):
15477         * clutter/cltr.h:
15478         * clutter/fonts.c: (font_new), (draw_layout_on_pixbuf),
15479         (font_draw):
15480         * clutter/fonts.h:
15481         * clutter/pixbuf.c: (pixbuf_set_pixel), (pixbuf_get_pixel):
15482         * examples/photos.c: (photo_grid_populate), (main):
15483         * examples/player.c: (main):
15484         Improve video widget, use playbin rather than gst_play
15485         Lots of misc tweaks.
15486
15487 2005-04-26  mallum,,,  <mallum@openedhand.com>
15488
15489         * clutter/Makefile.am:
15490         * clutter/cltr-core.c: (cltr_init):
15491         * clutter/cltr-events.c: (cltr_events_init), (cltr_main_loop):
15492         * clutter/cltr-photo-grid.c:
15493         * clutter/cltr-private.h:
15494         * clutter/cltr-scratch.c: (cltr_scratch_handle_xevent),
15495         (cltr_scratch_paint):
15496         * clutter/cltr-texture.c: (cltr_texture_render_to_gl_quad),
15497         (init_tiles), (cltr_texture_unrealize), (cltr_texture_realize),
15498         (cltr_texture_new), (cltr_texture_no_tile_new),
15499         (cltr_texture_get_pixbuf):
15500         * clutter/cltr-texture.h:
15501         * clutter/cltr-video.c:
15502         * clutter/cltr-video.h:
15503         * clutter/cltr-widget.c: (cltr_widget_queue_paint):
15504         * clutter/cltr.h:
15505         * examples/Makefile.am:
15506         * examples/player.c:
15507         * gst/cltrimagesink.c: (gst_cltrimagesink_fixate),
15508         (gst_cltrimagesink_getcaps), (gst_cltrimagesink_sink_link),
15509         (gst_cltrimagesink_change_state), (gst_cltrimagesink_chain),
15510         (gst_cltrimagesink_set_property), (gst_cltrimagesink_get_property),
15511         (gst_cltrimagesink_finalize), (gst_cltrimagesink_class_init):
15512         * gst/cltrimagesink.h:
15513         Initial go at very hacky gst video widget
15514
15515 2005-04-22  mallum,,,  <mallum@openedhand.com>
15516
15517         * clutter/Makefile.am:
15518         * clutter/cltr-button.c:
15519         * clutter/cltr-button.h:
15520         * clutter/cltr-core.c: (cltr_init):
15521         * clutter/cltr-overlay.c:
15522         * clutter/cltr-overlay.h:
15523         * clutter/cltr-photo-grid.c: (cltr_photo_grid_handle_xevent),
15524         (cltr_photo_grid_cell_new), (ctrl_photo_grid_get_zoomed_coords),
15525         (cell_is_offscreen), (cltr_photo_grid_idle_cb),
15526         (cltr_photo_grid_navigate), (cltr_photo_grid_activate_cell),
15527         (cltr_photo_grid_populate), (cltr_photo_grid_update_visual_state),
15528         (cltr_photo_grid_paint), (cltr_photo_grid_show),
15529         (cltr_photo_grid_set_fps), (cltr_photo_grid_get_fps),
15530         (cltr_photo_grid_set_anim_steps), (cltr_photo_grid_get_anim_steps),
15531         (cltr_photo_grid_new):
15532         Fix up grid so external prog can load images.
15533         * clutter/cltr-photo-grid.h:
15534         * clutter/cltr-texture.c: (cltr_texture_realize),
15535         (cltr_texture_new):
15536         * clutter/cltr-texture.h:
15537         * clutter/cltr-window.c: (cltr_window_set_fullscreen):
15538         * clutter/cltr.h:
15539         * clutter/pixbuf.c: (pixbuf_scale_down), (ConvolveImage),
15540         (GaussianBlurImage):
15541         * clutter/pixbuf.h:
15542         New experimental Methods
15543         * configure.ac:
15544         * examples/Makefile.am:
15545         * examples/photos.c:
15546         * examples/player.c:
15547         Add new examples
15548         * gst/Makefile.am:
15549         * gst/cltrimagesink.c:
15550         * gst/cltrimagesink.h:
15551         Add initial crusty ( broken ) gst stuff
15552
15553 2005-04-13  mallum,,,  <mallum@openedhand.com>
15554
15555         * bootstrap-autotools.sh:
15556         * clutter/Makefile.am:
15557         * clutter/cltr.c:
15558         * configure.ac:
15559         * examples/Makefile.am:
15560         * examples/scratch.c:
15561         Initial autotooling of everything.
15562
15563 2005-04-07  mallum,,,  <mallum@openedhand.com>
15564
15565         * Makefile:
15566         * cltr-events.c: (cltr_main_loop):
15567         * cltr-list.c:
15568         * cltr-list.h:
15569         Add list widget
15570         * cltr-photo-grid.c: (cltr_photo_grid_cell_new),
15571         (cltr_photo_grid_append_cell), (ctrl_photo_grid_cell_to_coords),
15572         (ctrl_photo_grid_get_zoomed_coords), (cltr_photo_grid_idle_cb),
15573         (cltr_photo_grid_navigate), (cltr_photo_grid_activate_cell),
15574         (cltr_photo_grid_update_visual_state), (cltr_photo_grid_paint),
15575         (cltr_photo_grid_show), (cltr_photo_grid_new):
15576         * cltr-texture.c:
15577         * cltr-widget.c:
15578         * cltr-window.c: (cltr_window_new), (cltr_window_show),
15579         (cltr_window_handle_xevent):
15580         * cltr-window.h:
15581         * cltr.c: (main):
15582         * cltr.h:
15583         * pixbuf.c: (pixbuf_copy):
15584         * pixbuf.h:
15585         Cleanups
15586
15587 2005-04-03  mallum,,,  <mallum@openedhand.com>
15588
15589         * Makefile:
15590         * cltr-core.c:
15591         * cltr-core.h:
15592         * cltr-events.c:
15593         * cltr-events.h:
15594         * cltr-photo-grid.c: (cltr_photo_grid_handle_xkeyevent),
15595         (cltr_photo_grid_handle_xevent), (cltr_photo_grid_cell_new),
15596         (cltr_photo_grid_append_cell), (ctrl_photo_grid_cell_to_coords),
15597         (ctrl_photo_grid_get_zoomed_coords), (cell_is_offscreen),
15598         (cltr_photo_grid_idle_cb), (cltr_photo_grid_navigate),
15599         (cltr_photo_grid_activate_cell), (cltr_photo_grid_populate),
15600         (cltr_photo_grid_paint), (cltr_photo_grid_show),
15601         (cltr_photo_grid_new):
15602         * cltr-photo-grid.h:
15603         * cltr-private.h:
15604         * cltr-texture.c:
15605         * cltr-texture.h:
15606         * cltr-widget.c:
15607         * cltr-widget.h:
15608         * cltr-window.c:
15609         * cltr-window.h:
15610         * cltr.c:
15611         * cltr.h:
15612         Add very basic initial toolkit infrastructure
15613
15614 2005-03-31  mallum,,,  <mallum@openedhand.com>
15615
15616         * cltr-photo-grid.c: (cltr_photo_grid_append_cell),
15617         (ctrl_photo_grid_cell_to_coords),
15618         (ctrl_photo_grid_get_zoomed_coords), (cell_is_offscreen),
15619         (cltr_photo_grid_idle_cb), (cltr_photo_grid_navigate),
15620         (cltr_photo_grid_activate_cell), (cltr_photo_grid_populate),
15621         (cltr_photo_grid_redraw), (cltr_photo_grid_new):
15622         * cltr-photo-grid.h:
15623         * cltr-texture.c: (cltr_texture_render_to_gl_quad), (init_tiles),
15624         (cltr_texture_realize):
15625         * cltr-texture.h:
15626         * cltr.c: (main):
15627         Implemented scrolling. Very rough around the edges, needs tidying.
15628
15629 2005-03-30  mallum,,,  <mallum@openedhand.com>
15630
15631         * Makefile:
15632         * cltr-photo-grid.c: (cltr_photo_grid_redraw),
15633         (cltr_photo_grid_new):
15634         * cltr-tex.c:
15635         * cltr-tex.h:
15636         * cltr-texture.c: (cltr_texture_new):
15637         More renaming
15638
15639 2005-03-30  mallum,,,  <mallum@openedhand.com>
15640
15641         * cltr-photo-grid.c: (cltr_photo_grid_populate),
15642         (cltr_photo_grid_redraw), (cltr_photo_grid_new):
15643         * cltr-photo-grid.h:
15644         * cltr-tex.c: (next_p2), (cltr_texture_render_to_gl_quad),
15645         (tile_dimension), (init_tiles), (cltr_texture_new):
15646         * cltr-tex.h:
15647         * cltr.h:
15648         Rename CltrImage -> CltrTexture
15649
15650 2005-03-30  mallum,,,  <mallum@openedhand.com>
15651
15652         * Makefile:
15653         * cltr-photo-grid.c: (cltr_photo_grid_populate),
15654         (cltr_photo_grid_redraw):
15655         * cltr-photo-grid.h:
15656         * cltr-tex.c:
15657         * cltr-tex.h:
15658         * cltr.c: (main):
15659         * cltr.h:
15660         * pixbuf.c: (pixbuf_unref), (pixbuf_copy):
15661         * pixbuf.h:
15662         Add intial new texture tiling code.
15663
15664 2005-03-27  mallum,,,  <mallum@openedhand.com>
15665
15666         * Makefile:
15667         * cltr-photo-grid.c: (cltr_photo_grid_cell_new),
15668         (ctrl_photo_grid_get_zoomed_coords), (cltr_photo_grid_navigate),
15669         (cltr_photo_grid_activate_cell), (cltr_photo_grid_populate),
15670         (cltr_photo_grid_redraw), (cltr_photo_grid_new):
15671         * cltr-photo-grid.h:
15672         * cltr.c: (cltr_dispatch_x_event), (cltr_init), (test_idle_cb),
15673         (main):
15674         * cltr.h:
15675         Add a very hacky threaded image loader.
15676         Make event handling a little more efficient, though still hacky
15677         * pixbuf.c: (pixel_set_vals), pixbuf.h:
15678         Add copy func ( unused as yet )
15679
15680 2005-03-25  mallum,,,  <mallum@openedhand.com>
15681
15682         * cltr-photo-grid.c: (cltr_photo_grid_cell_new),
15683         (ctrl_photo_grid_get_zoomed_coords), (cltr_photo_grid_redraw),
15684         (cltr_photo_grid_new):
15685         * cltr-photo-grid.h:
15686         * cltr.c: (cltr_window_new), (idle_cb), (main):
15687         Use GL matrices in a saner way.
15688         Add random rotation to picts
15689         Random minor tweaks
15690
15691 2005-03-24  mallum,,,  <mallum@openedhand.com>
15692
15693         * Makefile:
15694         * cltr-photo-grid.c:
15695         * cltr-photo-grid.h:
15696         * cltr.c: (cltr_window_new), (cltr_main_loop):
15697         * cltr.h:
15698         Split up cltr.c a bit. start refactoring a bit.
15699
15700 2005-03-23  mallum,,,  <mallum@openedhand.com>
15701
15702         * cltr.c: (cltr_photo_grid_populate), (cltr_photo_grid_redraw),
15703         (cltr_photo_grid_new), (main):
15704         * cltr.h:
15705         Various minor tweaks
15706         * pixbuf.c: (pixbuf_set_pixel), (pixbuf_get_pixel):
15707         Fix RGBA ordering in set/get pixel
15708
15709 2005-03-23  mallum,,,  <mallum@openedhand.com>
15710
15711         * cltr.c: (ctrl_photo_grid_get_trans_coords),
15712         Fix grid co-ords -> translation vals converter
15713         (cltr_photo_grid_navigate), (cltr_photo_grid_redraw),
15714         (cltr_photo_grid_new), (idle_cb):
15715         Fix moving between pictures when zoomed
15716
15717 2005-03-23  mallum,,,  <mallum@openedhand.com>
15718
15719         * cltr.c: (cltr_dispatch_x_event), (cltr_window_new),
15720         (cltr_main_loop), (cltr_photo_grid_navigate),
15721         (cltr_photo_grid_activate_cell), (cltr_photo_grid_populate),
15722         (cltr_photo_grid_redraw), (cltr_photo_grid_new), (idle_cb), (main):
15723         * cltr.h:
15724         Lots, make the grid roughly work.
15725
15726         * fonts.c: (get_layout_bitmap), (font_draw):
15727         remove debug printfs
15728
15729 2005-03-22  mallum,,,  <mallum@openedhand.com>
15730
15731         * cltr.c: (x_event_prepare), (x_event_check), (x_event_dispatch),
15732         (cltr_dispatch_x_event), (cltr_init), (cltr_window_new),
15733         (cltr_photo_grid_append_cell), (cltr_photo_grid_populate),
15734         (cltr_photo_grid_redraw), (cltr_photo_grid_new),
15735         (idle_cb), (main):
15736         * cltr.h:
15737         Add glib event loop