x11/stage: Leave a comment about multi-head setup
[profile/ivi/clutter.git] / ChangeLog.pre-git-import
1 # DO NOT MODIFY THIS FILE
2 #
3 # Clutter uses the Git commit log to generate the ChangeLog files when
4 # creating the tarball for releases and snapshots. This file is maintained
5 # only for historical reasons.
6
7 2008-12-10  Neil Roberts  <neil@linux.intel.com>
8
9         * clutter/cogl/gl/cogl.c:
10         * clutter/cogl/gl/cogl-defines.h.in:
11         * clutter/cogl/gl/cogl-context.h:
12         * clutter/cogl/common/cogl-mesh.c: Rename the glBufferDataSub
13         function to glBufferSubData. When calling glXGetProcAddress with
14         the former Mesa returns a stub dispatch function which will
15         segfault if you try to use it. With NVIDIA it returns NULL so
16         _cogl_features_init decides the card doesn't have VBO support.
17
18 2008-12-10  Neil Roberts  <neil@linux.intel.com>
19
20         Bug 1323 - ClutterBehaviorDepth conflicts with other behaviors
21
22         * clutter/clutter-behaviour-ellipse.c (actor_apply_knot_foreach):
23         Don't set the depth if there is no x or y tilt. That way it can
24         still be used in conjunction with ClutterBehaviourDepth. Thanks to
25         Tonny Tzeng.
26
27 2008-12-08  Emmanuele Bassi  <ebassi@linux.intel.com>
28
29         * clutter/clutter-binding-pool.h: Fix the ActivateFunc
30         documentation by adding a "return value" annotation.
31
32 2008-12-08  Emmanuele Bassi  <ebassi@linux.intel.com>
33
34         * clutter/Makefile.am:
35         * clutter/clutter.h: Add ClutterBindingPool to the build.
36
37         * clutter/clutter-binding-pool.c:
38         * clutter/clutter-binding-pool.h: Add ClutterBindingPool, a data
39         structure meant to hold (key symbol, modifiers) pairs and associate
40         them to a closure. The ClutterBindingPool can be used to install
41         key bindings for actors and then execute closures inside the
42         key-press-event signal handlers, removing the need for big
43         switch() or if() blocks for each key.
44
45         * clutter/clutter-event.c: Consistently use "key symbol" instead
46         of "key value".
47
48         * clutter/clutter-event.h: Add more modifier masks.
49
50         * clutter/clutter-marshal.list:
51
52         * tests/conform/Makefile.am:
53         * tests/conform/test-binding-pool.c:
54         * tests/conform/test-conform-main.c: Add ClutterBindingPool
55         conformance test.
56
57         * tests/interactive/Makefile.am:
58         * tests/interactive/test-binding-pool.c: Add interactive test (and
59         example code) for the ClutterBindingPool usage.
60
61 2008-12-08  Neil Roberts  <neil@linux.intel.com>
62
63         * clutter/clutter-main.c (_clutter_do_pick): Restore the GL_DITHER
64         state after reading the pixel value instead of before. Suggested
65         in bug 1328 thanks to Guy Zadickario.
66
67 2008-12-05  Emmanuele Bassi  <ebassi@linux.intel.com>
68
69         Bug 1309 - clutter_timeline_new and clutter_timeline_set_speed
70         have two standard of the fps limitation
71
72         * clutter/clutter-timeline.c:
73         (clutter_timeline_class_init): Set the maximum value of the
74         :fps property to be G_MAXUINT. (Zhang Wei)
75
76 2008-12-05  Neil Roberts  <neil@linux.intel.com>
77
78         * clutter/clutter-entry.c: Fix the 'Since' annotation in the
79         gtk-doc.
80
81 2008-12-05  Neil Roberts  <neil@linux.intel.com>
82
83         * clutter/clutter-timeline.c:
84         * clutter/clutter-texture.c:
85         * clutter/clutter-stage.c:
86         * clutter/clutter-label.c:
87         * clutter/clutter-behaviour-path.c:
88         * clutter/clutter-actor.c: Fix the 'Since' annotation in the
89         gtk-doc.
90
91 2008-12-05  Neil Roberts  <neil@linux.intel.com>
92
93         Bug 1252 - Merge ClutterBehaviourPath and ClutterBehaviourBspline
94
95         * clutter/clutter-path.h:
96         * clutter/clutter-path.c: Implementation of new ClutterPath object
97         to represent a path combining straight line and bezier curve
98         elements.
99
100         * clutter/clutter.h: Include clutter-path.h and remove
101         clutter-behaviour-bspline.h
102
103         * tests/interactive/test-threads.c (test_threads_main):
104         * tests/interactive/test-script.c:
105         * tests/interactive/test-behave.c (test_behave_main): Use new path
106         API
107
108         * clutter/clutter-effect.c: Use the new ClutterBehaviourPath API.
109
110         * clutter/clutter-bezier.h:
111         * clutter/clutter-bezier.c: Moved bezier curve handling code out
112         from clutter-behaviour-bspline.c to a separate file.
113
114         * clutter/clutter-behaviour-path.h:
115         * clutter/clutter-behaviour-path.c: Reimplemented to work with a
116         ClutterPath
117
118         * clutter/clutter-behaviour-bspline.h:
119         * clutter/clutter-behaviour-bspline.c: Removed
120
121         * clutter/Makefile.am: Add clutter-path and clutter-bezier, remove
122         clutter-behaviour-bspline.
123
124         * tests/conform/test-path.c: New automatic test for ClutterPath
125         consistency
126
127         * tests/conform/test-conform-main.c (main): Add test_path
128
129         * tests/conform/Makefile.am (test_conformance_SOURCES): Add
130         test-path.c
131
132         * clutter/clutter-sections.txt: Add ClutterPath docs
133
134         * clutter/clutter.types:
135         * clutter/clutter-docs.xml:
136         * doc/reference/clutter/clutter-animation-tutorial.xml: Remove
137         mention of ClutterBehaviourBspline
138
139         * clutter/clutter-marshal.list: Add VOID:UINT
140
141 2008-12-04  Neil Roberts  <neil@linux.intel.com>
142
143         Bug 1297 - Bring back support for GL_ARB_texture_rectangle
144
145         * clutter/cogl/gl/cogl-texture.c (cogl_texture_new_from_foreign,
146         (_cogl_texture_quad_hw, cogl_texture_polygon),
147         (_cogl_texture_quad_sw): Support GL_ARB_texture_rectangle textures
148
149         * clutter/glx/clutter-glx-texture-pixmap.c: Use rectangle textures
150         when NPOTs are not available or it is forced by the
151         CLUTTER_PIXMAP_TEXTURE_RECTANGLE environment variable.
152
153         * clutter/cogl/gl/cogl.c (cogl_enable): Allow enabling
154         GL_TEXTURE_RECTANGLE_ARB.
155
156 2008-12-04  Neil Roberts  <neil@linux.intel.com>
157
158         Bug 1172 - Disjoint paths and clip to path
159
160         * clutter/cogl/cogl-path.h:
161         * clutter/cogl/common/cogl-primitives.c:
162         * clutter/cogl/common/cogl-primitives.h:
163         * clutter/cogl/gl/cogl-primitives.c:
164         * clutter/cogl/gles/cogl-primitives.c: Changed the semantics of
165         cogl_path_move_to. Previously this always started a new path but
166         now it instead starts a new disjoint sub path. The path isn't
167         cleared until you call either cogl_path_stroke, cogl_path_fill or
168         cogl_path_new. There are also cogl_path_stroke_preserve and
169         cogl_path_fill_preserve functions.
170
171         * clutter/cogl/gl/cogl-context.c:
172         * clutter/cogl/gl/cogl-context.h:
173         * clutter/cogl/gles/cogl-context.c:
174         * clutter/cogl/gles/cogl-context.h: Convert the path nodes array
175         to a GArray.
176
177         * clutter/cogl/gl/cogl-texture.c:
178         * clutter/cogl/gles/cogl-texture.c: Call cogl_clip_ensure
179
180         * clutter/cogl/common/cogl-clip-stack.c:
181         * clutter/cogl/common/cogl-clip-stack.h: Simplified the clip
182         stack code quite a bit to make it more maintainable.  Previously
183         whenever you added a new clip it would go through a separate route
184         to immediately intersect with the current clip and when you
185         removed it again it would immediately rebuild the entire clip. Now
186         when you add or remove a clip it doesn't do anything immediately
187         but just sets a dirty flag instead.
188
189         * clutter/cogl/gl/cogl.c:
190         * clutter/cogl/gles/cogl.c: Taken away the code to intersect
191         stencil clips when there is exactly one stencil bit. It won't work
192         with path clips and I don't know of any platform that doesn't have
193         eight or zero stencil bits. It needs at least three bits to
194         intersect a path with an existing clip. cogl_features_init now
195         just decides you don't have a stencil buffer at all if you have
196         less than three bits.
197
198         * clutter/cogl/cogl.h.in: New functions and documentation.
199
200         * tests/interactive/test-clip.c: Replaced with a different test
201         that lets you add and remove clips. The three different mouse
202         buttons add clips in different shapes. This makes it easier to
203         test multiple levels of clipping.
204
205         * tests/interactive/test-cogl-primitives.c: Use
206         cogl_path_stroke_preserve when using the same path again.
207
208         * doc/reference/cogl/cogl-sections.txt: Document the new
209         functions.
210
211 2008-12-03  Robert Bragg  <robert@linux.intel.com>
212
213         Bug 1303 - clutter_glx_texture_pixmap_using_extension doesn't check if
214         fallbacks are being used
215
216         * glx/clutter-glx-texture-pixmap.c:
217         clutter_glx_texture_pixmap_using_extension now checks to see if
218         priv->use_fallback is TRUE not just that the tfp extension is
219         available.
220
221 2008-12-01  Neil Roberts  <neil@linux.intel.com>
222
223         Bug 1305 - NPOT textures unaligned to a pixel sometimes have
224         border artifacts
225
226         * clutter/cogl/gl/cogl-texture.c: Set the wrap mode of a texture
227         on demand
228
229         Instead of setting the wrap mode once per texture at creation, it
230         is now changed whenever the texture is drawn. The previous value
231         is cached so that it isn't changed if the value is the same.
232
233         This is used in _cogl_texture_quad_hw to only enable GL_REPEAT
234         mode when the coordinates are not in the range [0,1]. Otherwise it
235         can pull in pixels from the other edge when the texture is
236         rendered off-pixel.
237
238 2008-11-28  Neil Roberts  <neil@linux.intel.com>
239
240         * tests/conform/test-backface-culling.c (TEXTURE_SIZE): Don't set
241         to a funny size on GLES because it will break cogl_texture_polygon
242
243 2008-11-28  Neil Roberts  <neil@linux.intel.com>
244
245         * tests/conform/test-backface-culling.c: New test for backface
246         culling
247
248         * tests/conform/test-conform-main.c (main): Add
249         /texture/test_backface_culing
250
251         * tests/conform/Makefile.am (test_conformance_SOURCES): Add
252         test-backface-culling.c
253
254 2008-11-28  Neil Roberts  <neil@linux.intel.com>
255
256         * tests/conform/test-mesh-mutability.c:
257         * tests/conform/test-mesh-interleved.c:
258         * tests/conform/test-mesh-contiguous.c: Remove the idle source
259         after the test is complete so that it won't interfere with other
260         tests.
261
262 2008-11-26  Emmanuele Bassi  <ebassi@linux.intel.com>
263
264         * clutter/clutter-group.c:
265         (clutter_group_real_raise), (clutter_group_real_lower): Repaint
266         the Group on raise and lower.
267
268 2008-11-26  Neil Roberts  <neil@linux.intel.com>
269
270         * clutter/cogl/gl/cogl-texture.c (cogl_texture_rectangle): Fixed
271         the test for whether to use hardware tiling. Previously it assumed
272         that texture coordinates are in increasing order but this is not
273         the case since bug 1057 was fixed. The texture coordinates are now
274         sorted later. It also allowed negative coordinates which doesn't
275         make sense if the texture has waste.
276
277 2008-11-25  Emmanuele Bassi  <ebassi@linux.intel.com>
278
279         * configure.ac: Remove stray dependency on gdk-pixbuf-xlib; we
280         don't use the xlib specific API anymore. (thanks to Matthias
281         Clasen)
282
283 2008-11-25  Neil Roberts  <neil@linux.intel.com>
284
285         Bug 1299 - clutter_score_remove will segmentation fault if
286         timelines are more than 52 and continue to remove them
287
288         * clutter/clutter-score.c (traverse_children): Don't destroy the
289         entry in the handler for REMOVE_BY_ID. It will be removed again
290         anyway in the call to g_node_traverse. This was causing a
291         crash. Thanks to zhangwei for spotting.
292
293 2008-11-24  Neil Roberts  <neil@linux.intel.com>
294
295         Add a wrapper library to help testing without NPOTs.
296
297         * tests/tools/Makefile.am: Optionally build the
298         libdisable-npots.la library depending on whether libdl was
299         detected in the configure script. A helper script is also
300         generated to setup the LD_PRELOAD.
301
302         * tests/conform/Makefile.am: There are now two versions of the
303         test-report and full-report rules. test-report-normal is the same
304         as before and test-report-disable-npots runs the tests with the
305         disable-npots wrapper script. The full-report rule runs both of
306         them and displays two separate HTML files. The test-report rule
307         just runs the normal version as before.
308
309         * configure.ac: Add a test for libdl
310
311         * tests/tools/disable-npots.sh.in: New file. Template for the
312         helper script
313
314         * tests/tools/disable-npots.c: New file
315
316 2008-11-24  Neil Roberts  <neil@linux.intel.com>
317
318         * clutter/cogl/gl/cogl-texture.c (cogl_texture_polygon): Fix the
319         equation for calculating texture coordinates when using sliced
320         textures. This became broken in revision 3520.
321
322 2008-11-21  Neil Roberts  <neil@linux.intel.com>
323
324         Bug 1270 - Update to mingw-cross-compile.sh
325
326         * build/mingw/mingw-cross-compile.sh: Update to download latest
327         binaries. Patch thanks to David Kedves.
328
329 2008-11-21  Neil Roberts  <neil@linux.intel.com>
330
331         Bug 1271 - mingw compiling failed: undefined reference to
332         `_glDrawRangeElements@24'
333
334         Resolve glDrawRangeElements with cogl_get_proc_address instead of
335         calling it directly because functions defined in GL > 1.1 are not
336         directly exported under Windows.
337
338         * clutter/cogl/common/cogl-mesh.c: Use the function pointer from
339         the context
340
341         * clutter/cogl/gl/cogl-context.c (cogl_create_context): Initialise
342         function pointer.
343
344         * clutter/cogl/gl/cogl-context.h (CoglContext): Add a function
345         pointer
346
347         * clutter/cogl/gl/cogl-defines.h.in: Add a typedef for the
348         function pointer.
349
350         * clutter/cogl/gl/cogl.c (_cogl_features_init): Resolve
351         glDrawRangeElements
352
353 2008-11-21  Neil Roberts  <neil@linux.intel.com>
354
355         * tests/interactive/Makefile.am:
356         * tests/conform/Makefile.am: Use $(EXEEXT) when specifying a
357         dependency on an executable otherwise there won't be a rule to
358         build it on Windows.
359
360 2008-11-21  Neil Roberts  <neil@linux.intel.com>
361
362         Bug 1269 - mingw32 building failed at clutter-media.c
363
364         * clutter/clutter-media.c: Rename the 'ERROR' signal enum to
365         'ERROR_SIGNAL' otherwise it clashes with windgi.h. Thanks to David
366         Kedves
367
368 2008-11-21  Neil Roberts  <neil@linux.intel.com>
369
370         * clutter/pango/cogl-pango.h: Include pango/pango.h to get
371         pango-renderer.h. In versions prior to 1.18.4 pangocairo.h does
372         not include pango-renderer.h
373
374 2008-11-21  Neil Roberts  <neil@linux.intel.com>
375
376         Bug 1280 - clutter_score_append_at_marker lead to segmentation
377         fault in trunk and incorrect appearance in clutter-0.8
378
379         * clutter/clutter-score.c (start_children_entries): Check whether
380         the child timeline is actually attached at a marker before
381         comparing whether the marker's name matches the marker
382         reached. This fixes a crash that happens when a marker is reached
383         on a timeline that also has child timelines attached at the
384         end. Thanks to zhangwei for spotting.
385
386 2008-11-20  Emmanuele Bassi  <ebassi@linux.intel.com>
387
388         * clutter/clutter-actor.c:
389         (clutter_actor_set_property): Add sanity checks for NULL
390         boxed values when setting the rotation center.
391
392         * tests/interactive/test-animation.c:
393         (on_button_press): Add an example on how to use the rotation
394         properties to animate an actor.
395
396 2008-11-18  Neil Roberts  <neil@linux.intel.com>
397
398         Fixed some trivial compiler warnings
399
400         * tests/interactive/test-pixmap.c (create_pixmap): Use a format
401         string instead of passing the error message directly to g_error.
402
403         * tests/interactive/test-easing.c (test_easing_main)
404         (on_button_press):
405         * tests/interactive/test-animation.c (on_button_press): Use
406         unsigned variables for the results from clutter_actor_get_size
407         otherwise it complains about the pointer signedness being
408         different.
409
410         * clutter/clutter-script.c (clutter_script_add_search_paths): Use
411         G_GSIZE_FORMAT instead of %d for a gsize parameter otherwise it
412         gets upset on 64-bit.
413
414 2008-11-18  Neil Roberts  <neil@linux.intel.com>
415
416         * tests/conform/test-timeline.c (test_timeline): Remove the delay
417         idle handler after the test is finished, otherwise it will
418         continue running during subsequent tests. This was breaking
419         test_timeline_interpolate.
420
421 2008-11-18  Robert Bragg  <robert@linux.intel.com>
422
423         * clutter/cogl/common/cogl-mesh.c:
424         Re-works validate_custom_attribute_name() so it doesn't access an
425         un-initialised variable.
426
427 2008-11-18  Robert Bragg  <robert@linux.intel.com>
428
429         A comparison of gl/cogl-texture.c and gles/cogl-texture.c, to reduce
430         differences and improve maintainability.
431
432         * clutter/cogl/gl/cogl-context.h:
433         Adds a CoglTextureGLVertex typedef + texture_vertices and
434         texture_vertices_size members to CoglContext for using vertex arrays
435         like GLES does
436
437         * clutter/cogl/gl/cogl-context.c:
438         Initializes texture_vertices + texture_vertices_size members
439
440         * clutter/cogl/gl/cogl-internal.h:
441         Adds COGL_ENABLE_COLOR_ARRAY
442
443         * clutter/cogl/gl/cogl.c:
444         Add COGL_ENABLE_COLOR_ARRAY support to cogl_enable
445
446         * clutter/cogl/gles/cogl-context.h:
447         Change the CoglTextureGLVertex to use GLfloat for the position
448         and texture coord attributes and GLubyte for the color.
449
450         * clutter/cogl/gles/cogl-texture-private.h:
451         Adds a wrap_mode member like GL has.
452
453         * clutter/cogl/gl/cogl-texture.c
454         * clutter/cogl/gles/cogl-texture.c:
455         Improves the comparability of the files, such that the remaining
456         differences, better reflect the fundamental differences needed
457         between GL and GLES. Notably GL no longer uses glBegin/glEnd for
458         submitting vertices, it uses vertex arrays like GLES and this gives
459         a small but measurable fps improvement for test-text.
460
461 2008-11-18  Robert Bragg  <robert@linux.intel.com>
462
463         * clutter/cogl/gl/cogl-internal.h
464         * clutter/cogl/gles/cogl-internal.h:
465         Removes semicolon after the GE() macro since that breaks using it as a
466         single statement.
467
468 2008-11-18  Emmanuele Bassi  <ebassi@linux.intel.com>
469
470         * clutter/clutter.h: Add clutter-shader.h and
471         clutter-shader-types.h to the global include.
472
473 2008-11-18  Emmanuele Bassi  <ebassi@linux.intel.com>
474
475         * clutter/cogl/cogl-shader.h: Add a function for setting an
476         integer uniform, similar to cogl_program_uniform_1f().
477
478         * clutter/cogl/gl/cogl-program.c: Implement the GL version
479         of cogl_program_uniform_1i().
480
481         * clutter/cogl/gles/cogl-program.c: Implement the GLES version
482         of cogl_program_uniform_1i().
483
484 2008-11-18  Emmanuele Bassi  <ebassi@linux.intel.com>
485
486         Bug 1049 - Clutter doesn't support most GLSL uniforms (patch
487         by Chris Lord and Neil Roberts)
488
489         * README: Update release notes.
490
491         * clutter/Makefile.am:
492         * clutter/clutter-shader-types.[ch]: Add GValue types for
493         shader values.
494
495         * clutter/clutter-actor.[ch]: Update the shader API to use
496         the newly added GValue support for GLSL shader uniform
497         setters.
498
499         * clutter/clutter-shader.[ch]: Add float and integer convenience
500         API for single value GLSL uniform setters.
501
502         * clutter/cogl/cogl-shader.h: Add new uniform setters.
503
504         * clutter/cogl/gl/cogl-context.c:
505         * clutter/cogl/gl/cogl-context.h:
506         * clutter/cogl/gl/cogl-defines.h.in:
507         * clutter/cogl/gl/cogl-program.c:
508         * clutter/cogl/gl/cogl.c: Update the GL implementation of COGL
509         to handle the GLSL uniform setters.
510
511         * clutter/cogl/gles/cogl-gles2-wrapper.c:
512         * clutter/cogl/gles/cogl-gles2-wrapper.h:
513         * clutter/cogl/gles/cogl-internal.h:
514         * clutter/cogl/gles/cogl-program.c: Update the GLES 2.0 implementation
515         of COGL to handle the GLSL uniform setters.
516
517         * doc/reference/clutter/clutter-sections.txt:
518         * doc/reference/cogl/cogl-sections.txt: Update the documentation.
519
520         * tests/interactive/test-fbo.c:
521         * tests/interactive/test-shader.c: Update the shader tests.
522
523 2008-11-18  Emmanuele Bassi  <ebassi@linux.intel.com>
524
525         * clutter/clutter-texture.c:
526         (clutter_texture_get_preferred_width): Fix the usage of the
527         fixed point division macro.
528
529 2008-11-18  Emmanuele Bassi  <ebassi@linux.intel.com>
530
531         * tests/conform/test-conform-main.c (main): Do not run the
532         conformance test suite if we are on X11 but we do not have
533         a DISPLAY available. Some of the tests require a DISPLAY,
534         and everything passes through a clutter_init() call which will
535         fail anyway. If we are running make distcheck on an headless
536         box we might as well just skip the conformance test suite
537         without a meaningless error.
538
539 2008-11-18  Emmanuele Bassi  <ebassi@linux.intel.com>
540
541         * tests/conform/test-mesh-contiguous.c:
542         * tests/conform/test-mesh-interleved.c:
543         * tests/conform/test-mesh-mutability.c: Remove the last bare
544         g_print() from the conformance test suite.
545
546 2008-11-18  Emmanuele Bassi  <ebassi@linux.intel.com>
547
548         * clutter/clutter-alpha.h:
549         * clutter/clutter-alpha.c:
550         (clutter_alpha_set_mode): Use a lookup table to find the alpha
551         function given the animation mode.
552
553         (clutter_exp_in_func),
554         (clutter_exp_out_func),
555         (clutter_exp_in_out_func): Add new exponential functions.
556
557         * clutter/clutter-script.c: Update the lookup table with the
558         new animation modes; match "linear" to the ramp-inc alpha
559         function.
560
561         * clutter/clutter-types.h: Add new AnimationMode values.
562
563         * tests/interactive/test-easing.c: Update the easing functions
564         test.
565
566 2008-11-18  Neil Roberts  <neil@linux.intel.com>
567
568         * tests/conform/test-pick.c (test_pick): The final result message
569         when --verbose is used was the wrong way around
570
571 2008-11-18  Neil Roberts  <neil@linux.intel.com>
572
573         * tests/conform/test-conform-main.c (main): Fixed a typo in the
574         name of the path for test_realized.
575
576 2008-11-17  Emmanuele Bassi  <ebassi@linux.intel.com>
577
578         Bug 1014 - Clutter Animation API Improvements
579
580         * clutter/Makefile.am:
581         * clutter/clutter.h: Update the build
582
583         * clutter/clutter-types.h: Add AnimationMode, an enumeration
584         for easing functions.
585
586         * clutter/clutter-alpha.[ch]: Add the :mode property to
587         control the function bound to an Alpha instance using an
588         enumeration value. Also add six new alpha functions:
589
590                 - ease-in, ease-out, ease-in-out
591                 - sine-in, sine-out, sine-in-out
592
593         * clutter/clutter-deprecated.h: Deprecate the #defines for
594         the alpha functions. They will be replaced by entries in the
595         ClutterAnimationMode.
596
597         * clutter/clutter-interval.[ch]: Add ClutterInterval, an
598         object for defining, validating and computing an interval
599         between two values.
600
601         * clutter/clutter-animation.[ch]: Add ClutterAnimation, an
602         object responsible for animation the properties of a single
603         actor along an interval of values. ClutterAnimation memory
604         management is automatic. A simple wrapper method for
605         ClutterActor is provided:
606
607                 clutter_actor_animate()
608
609         which will create, or update, an animation for the passed
610         actor.
611
612         * clutter/clutter-debug.h:
613         * clutter/clutter-main.c: Add a new 'animation' debug note.
614
615         * clutter/clutter-script.c: Clean up the alpha functions
616         whitelist, and add the new functions.
617
618         * doc/reference/clutter/Makefile.am:
619         * doc/reference/clutter/clutter-sections.txt: Update the
620         API reference.
621
622         * doc/reference/clutter/clutter-animation.xml: Renamed to
623         doc/reference/clutter/clutter-animation-tutorial.xml to
624         avoid clashes with the ClutterAnimation section.
625
626         * doc/reference/clutter/clutter-docs.sgml: Renamed to
627         doc/reference/clutter/clutter-docs.xml, as it was an XML
628         file and not a SGML file.
629
630         * tests/Makefile.am:
631         * tests/interactive/Makefile.am:
632         * tests/interactive/test-animation.c:
633         * tests/interactive/test-easing.c: Add two tests for the
634         new simple animation API and the easing functions.
635
636         * tests/interactive/test-actors.c:
637         * tests/interactive/test-behave.c:
638         * tests/interactive/test-depth.c:
639         * tests/interactive/test-effects.c:
640         * tests/interactive/test-layout.c:
641         * tests/interactive/test-multistage.c:
642         * tests/interactive/test-paint-wrapper.c:
643         * tests/interactive/test-rotate.c:
644         * tests/interactive/test-scale.c:
645         * tests/interactive/test-texture-quality.c:
646         * tests/interactive/test-threads.c:
647         * tests/interactive/test-viewport.c: Update interactive tests
648         to the deprecations and new alpha API.
649
650 2008-11-17  Emmanuele Bassi  <ebassi@linux.intel.com>
651
652         * clutter/clutter-entry.c:
653         * clutter/clutter-label.c:
654         * clutter/clutter-rectangle.c:
655         * clutter/clutter-script.c:
656         * clutter/clutter-stage.c: Use the ParamSpecColor and GValue
657         API for ClutterColor-based properties.
658
659 2008-11-14  Robert Bragg  <ebassi@linux.intel.com>
660
661         * tests/interactive/Makefile.am
662         * tests/interactive/test-pixmap.c:
663         test-pixmap + test-devices accidentally got dropped from the makefiles
664         when changing the unit test layout; this puts them back.
665
666 2008-11-14  Emmanuele Bassi  <ebassi@linux.intel.com>
667
668         Bug 1265 - ClutterScore doesn't emit 'started' signal (Bastian
669         Winkler)
670
671         * clutter/clutter-score.c: Emit the ::started signal.
672
673         * tests/interactive/test-score.c: Check the emission of the
674         Score signals.
675
676 2008-11-13  Neil Roberts  <neil@linux.intel.com>
677
678         * clutter/cogl/gles/cogl-gles2-wrapper.h:
679         * clutter/cogl/gles/cogl-gles2-wrapper.c:
680         Initialise the 'tex' sampler uniform to 0. The GLSL spec
681         specifically says that you must initialize sampler uniforms. This
682         fixes texturing for GLES 2 when using the PowerVR simulator via
683         software Mesa.
684
685 2008-11-13  Robert Bragg  <robert@linux.intel.com>
686
687         Gets the mesh API working with GLES2
688
689         * clutter/cogl/common/cogl-mesh.c:
690         Make sure we use the appropriate cogl_wrap_gl* funcs as appropriate
691
692         * clutter/cogl/gles/cogl-gles2-wrapper.c
693         * clutter/cogl/gles/cogl-gles2-wrapper.h:
694         In our glColorPointer wrapper we needed to mark our color attribute
695         as normalized.
696
697         * tests/conform/Makefile.am:
698         When creating unit test symlinks we use the -l gtester option to
699         list tests, but when using the PVR SDK the test binary also spews
700         out some extra info that caused lots of random symlinks to be
701         created. We now grep for lines starting with a '/'
702
703         * tests/conform/test-mesh-contiguous.c
704         * tests/conform/test-mesh-mutability.c:
705         Use cogl_set_source_color instead of directly calling glColor4ub
706
707 2008-11-13  Neil Roberts  <neil@linux.intel.com>
708
709         * clutter/clutter-actor.c (clutter_actor_get_paint_visibility):
710         Fix logic so that it won't return TRUE for a hidden stage.
711
712 2008-11-13  Emmanuele Bassi  <ebassi@linux.intel.com>
713
714         * clutter/clutter-behaviour-ellipse.c:
715         (clutter_behaviour_ellipse_applied): Do not reset the depth
716         of the actors to which the Ellipse behaviour has been applied
717         to, unless the behaviour is going to update it because it has
718         a tilt on the X or Y axis.
719
720 2008-11-13  Neil Roberts  <neil@linux.intel.com>
721
722         * clutter/clutter-actor.c (clutter_actor_get_reactive)
723         (clutter_actor_get_paint_visibility): Be sure to return exactly
724         TRUE or FALSE instead of zero or some non-zero value in these
725         functions that return a gboolean. Thanks to Kai Wei for spotting.
726
727 2008-11-12  Emmanuele Bassi  <ebassi@linux.intel.com>
728
729         * tests/conform/Makefile.am:
730         * tests/conform/test-conform-main.c:
731         * tests/conform/test-paint-opacity.c: Add test unit for label,
732         rectangle and paint opacity.
733
734 2008-11-12  Emmanuele Bassi  <ebassi@linux.intel.com>
735
736         * clutter/cogl/cogl-color.h:
737         * clutter/cogl/cogl-path.h:
738         * clutter/cogl/cogl-types.h:
739         * clutter/cogl/common/cogl-color.c: Deprecated cogl_color()
740         in favour of cogl_set_source_color() and friends; store the
741         CoglColor components as unsigned bytes instead of fixed point
742         normalized values; add functions for allocating, copying and
743         freeing CoglColor, for use of language bindings.
744
745         * clutter/cogl/cogl.h.in:
746         * clutter/cogl/cogl-deprecated.h: Added cogl-deprecated.h,
747         an header file containing the deprecation symbols similar
748         to clutter-deprecated.h.
749
750         * clutter/cogl/gl/Makefile.am:
751         * clutter/cogl/gl/cogl-texture.c:
752         * clutter/cogl/gl/cogl.c:
753         * clutter/cogl/gles/Makefile.am:
754         * clutter/cogl/gles/cogl-texture.c:
755         * clutter/cogl/gles/cogl.c: Update the GL and GLES implementations
756         of COGL after the CoglColor changes.
757
758         * clutter/clutter-actor.c:
759         * clutter/clutter-clone-texture.c:
760         * clutter/clutter-entry.c:
761         * clutter/clutter-label.c:
762         * clutter/clutter-rectangle.c:
763         * clutter/clutter-texture.c: Do not use CoglColor whenever it
764         is possible, and use cogl_set_source_color4ub() instead.
765
766         * clutter/pango/cogl-pango-render.c: Ditto as above.
767
768         * doc/reference/clutter/subclassing-ClutterActor.xml:
769         * doc/reference/cogl/cogl-sections.txt: Update the documentation.
770
771         * tests/interactive/test-cogl-offscreen.c:
772         * tests/interactive/test-cogl-primitives.c:
773         * tests/interactive/test-cogl-tex-convert.c:
774         * tests/interactive/test-cogl-tex-foreign.c:
775         * tests/interactive/test-cogl-tex-getset.c:
776         * tests/interactive/test-cogl-tex-polygon.c:
777         * tests/interactive/test-cogl-tex-tile.c:
778         * tests/interactive/test-paint-wrapper.c: Drop the usage of
779         CoglColor whenever it is possible.
780
781 2008-11-12  Neil Roberts  <neil@linux.intel.com>
782
783         Bug 1057 - cogl_texture_rectangle doesn't support backward
784         coordinates
785
786         * clutter/cogl/gl/cogl-texture.c: Instead of sorting the vertex
787         and texture coordinates passed to cogl_texture_rectangle, just
788         swap both sets whenever the texture coordinates are backward.
789
790 2008-11-12  Neil Roberts  <neil@linux.intel.com>
791
792         * clutter/clutter-rectangle.c (clutter_rectangle_paint): Fixed so
793         that it doesn't use the alpha value from the border colour to draw
794         the rectangle
795
796 2008-11-12  Neil Roberts  <neil@linux.intel.com>
797
798         * clutter/cogl/gles/Makefile.am (libclutterinclude_HEADERS):
799         * clutter/cogl/gl/Makefile.am (libclutterinclude_HEADERS):
800         * clutter/cogl/common/Makefile.am
801         (libclutter_cogl_common_la_SOURCES): Move cogl-mesh.h into the
802         headers for libclutter so that it will get installed.
803
804 2008-11-12  Neil Roberts  <neil@linux.intel.com>
805
806         Fix warnings in mesh tests
807
808         * tests/conform/test-mesh-mutability.c (on_paint):
809         * tests/conform/test-mesh-interleved.c (on_paint):
810         * tests/conform/test-mesh-contiguous.c (on_paint): Use g_usleep
811         instead of sleep
812
813         * tests/conform/test-mesh-mutability.c (queue_redraw):
814         * tests/conform/test-mesh-interleved.c (queue_redraw):
815         * tests/conform/test-mesh-contiguous.c (queue_redraw): Added
816         missing return statement
817
818         * clutter/cogl/cogl-mesh.h: Add a declaration for
819         cogl_mesh_submit
820
821         * clutter/cogl/common/cogl-mesh.c (cogl_mesh_submit): Move the
822         documentation to cogl-mesh.h to match the rest of the functions
823
824 2008-11-10  Robert Bragg  <robert@linux.intel.com>
825
826         Bug 1164 - Implements the proposed Mesh API
827
828         * clutter/cogl/cogl-mesh.h
829         * clutter/cogl/cogl-types.h
830         * clutter/cogl/cogl.h.in
831         * clutter/cogl/common/Makefile.am
832         * clutter/cogl/common/cogl-mesh-private.h
833         * clutter/cogl/common/cogl-mesh.c
834         * clutter/cogl/gl/cogl-context.c
835         * clutter/cogl/gl/cogl-context.h
836         * clutter/cogl/gl/cogl-defines.h.in
837         * clutter/cogl/gl/cogl.c
838         * clutter/cogl/gles/cogl-context.c
839         * clutter/cogl/gles/cogl-context.h:
840         The Mesh API provides a means for submitting an extensible number of
841         per vertex attributes to OpenGL in a way that doesn't require format
842         conversions and so that the data can be mapped into the GPU (in vertex
843         buffer objects) for - hopefully - fast re-use.
844
845         There are a number of things we can potentially use this API for, but
846         right now this just provides a foundation to build on. Please read
847         the extensive list of TODO items in cogl-mesh.c for examples.
848
849         Please refer to the cogl-mesh section in the reference manual for
850         documentation of the API.
851
852         * tests/conform/Makefile.am
853         * tests/conform/test-conform-main.c
854         * tests/conform/test-mesh-contiguous.c
855         * tests/conform/test-mesh-interleved.c
856         * tests/conform/test-mesh-mutability.c:
857         Privides basic coverage testing for the mesh API.
858
859 2008-11-10  Robert Bragg  <robert@linux.intel.com>
860
861         Bug 1164 - Implements the proposed Mesh API
862
863         * clutter/cogl/cogl-mesh.h
864         * clutter/cogl/cogl-types.h
865         * clutter/cogl/cogl.h.in
866         * clutter/cogl/common/Makefile.am
867         * clutter/cogl/common/cogl-mesh-private.h
868         * clutter/cogl/common/cogl-mesh.c
869         * clutter/cogl/gl/cogl-context.c
870         * clutter/cogl/gl/cogl-context.h
871         * clutter/cogl/gl/cogl-defines.h.in
872         * clutter/cogl/gl/cogl.c
873         * clutter/cogl/gles/cogl-context.c
874         * clutter/cogl/gles/cogl-context.h:
875         The Mesh API provides a means for submitting an extensible number of
876         per vertex attributes to OpenGL in a way that doesn't require format
877         conversions and so that the data can be mapped into the GPU (in vertex
878         buffer objects) for - hopefully - fast re-use.
879
880         There are a number of things we can potentially use this API for, but
881         right now this just provides a foundation to build on. Please read
882         the extensive list of TODO items in cogl-mesh.c for examples.
883
884         Please refer to the cogl-mesh section in the reference manual for
885         documentation of the API.
886
887         * tests/conform/Makefile.am
888         * tests/conform/test-conform-main.c
889         * tests/conform/test-mesh-contiguous.c
890         * tests/conform/test-mesh-interleved.c
891         * tests/conform/test-mesh-mutability.c:
892         Privides basic coverage testing for the mesh API.
893
894 2008-11-10  Robert Bragg  <robert@linux.intel.com>
895
896         * tests/conform/ADDING_NEW_TESTS
897         * tests/conform/test-conform-common.c
898         * tests/conform/test-pick.c:
899         Instead of using clutter_stage_new /clutter_actor_destroy as a way to
900         avoid cascading side effects between unit tests, due to left over
901         actors, we now destroy all children of the default stage between
902         tests instead.
903
904         * tests/conform/wrapper.sh:
905         Adds a convenience note about how to run valgrind for an individual
906         unit test
907
908 2008-11-10  Neil Roberts  <neil@linux.intel.com>
909
910         * tests/interactive/test-main.c (main): Allow more than two
911         arguments so that the remaining arguments can be passed to the
912         test. This is needed for test-behave for example which can take a
913         --path argument.
914
915 2008-11-10  Emmanuele Bassi  <ebassi@linux.intel.com>
916
917         * clutter/clutter-texture.c: Remove an unused function.
918
919 2008-11-10  Emmanuele Bassi  <ebassi@linux.intel.com>
920
921         * tests/conform/test-label-cache.c:
922         * tests/conform/test-pick.c:
923         * tests/conform/test-timeline.c: Show all the output messages only
924         if the test was done with the verbose flag turned on.
925
926         * tests/interactive/test-main.c: Do not use the (gpointer*) cast,
927         but use a temporary gpointer instead.
928
929 2008-11-10  Robert Bragg  <robert@linux.intel.com>
930
931         * tests/conform/Makefile.am:
932         * tests/conform/wrapper.sh:
933         * tests/conform/test-conform-main.c:
934         * tests/conform/test-timeline.c:
935         Adds Neil's updates to test-timeline.c so it now works with the new
936         unit testing infrastructure.
937
938         Also some fixes to ensure wrappers get setup correctly for the
939         timeline tests.
940
941         * tests/interactive/test-main.c:
942         cast the symbol return pointer as (gpointer *) to avoid warning
943
944         * tests/conform/test-pick.c:
945         g_assert that the test passes, instead of using exit()
946
947         * test/conform/ADDING_NEW_TESTS:
948         Fixes a silly typo
949
950 2008-11-08  Emmanuele Bassi  <ebassi@linux.intel.com>
951
952         * tests/conform/Makefile.am:
953         * tests/conform/test-actor-invariants.c:
954         * tests/conform/test-conform-main.c: Move the actor invariants
955         unit to the conform section of the test suite.
956
957         * tests/interactive/Makefile.am:
958         * tests/interactive/test-entry-auto.c:
959         * tests/interactive/test-invariants.c: Remove the entry-auto
960         and invariants test, since those two belong to the conform
961         section.
962
963 2008-11-07  Robert Bragg  <robert@linux.intel.com>
964
965         Bug 1162 - Re-works the tests/ to use the glib-2.16 unit testing
966         framework
967
968         * configure.ac:
969         * tests/*:
970         The tests have been reorganised into different categories: conformance,
971         interactive and micro benchmarks.
972         - conformance tests can be run as part of automated tests
973         - interactive tests are basically all the existing tests
974         - micro benchmarks focus on a single performance metric
975
976         I converted the timeline tests to conformance tests and also added some
977         tests from Neil Roberts and Ebassi.
978
979         Note: currently only the conformance tests use the glib test APIs,
980         though the micro benchmarks should too.
981
982         The other change is to make the unit tests link into monolithic binaries
983         which makes the build time for unit tests considerably faster. To deal
984         with the extra complexity this adds to debugging individual tests I
985         have added some sugar to the makefiles so all the tests can be run
986         directly via a symlink and when an individual test is run this way,
987         then a note is printed to the terminal explaining exactly how that test
988         may be debugged using GDB.
989
990         There is a convenience make rule: 'make test-report', that will run all
991         the conformance tests and hopefully even open the results in your web
992         browser. It skips some of the slower timeline tests, but you can run
993         those using 'make full-report'
994
995 2008-11-07  Emmanuele Bassi  <ebassi@linux.intel.com>
996
997         * clutter/clutter-media.c: Improve documentation of the
998         ClutterMedia interface.
999
1000 2008-11-07  Matthew Allum  <mallum@linux.intel.com>
1001
1002         Bug 1238 - [PATCH] Pack bitfields in ClutterTexturePrivate
1003
1004         * clutter/clutter-texture.c:
1005
1006         Using 'guint my_field : 1' for booleans to save space only
1007         makes sense if you group all such fields together. Fix
1008         grouping for ClutterTexturePrivate. Thanks to Owen Taylor for
1009         patch.
1010
1011 2008-11-07  Matthew Allum  <mallum@linux.intel.com>
1012
1013        Bug 1237 - clutter_texture_set_filter_quality calls
1014                   clutter_texture_[un]realize
1015
1016         * clutter/clutter-texture.c: (clutter_texture_set_filter_quality):
1017         Call clutter_actor_[un]realize and keep visibility state
1018
1019 2008-11-07  Matthew Allum  <mallum@linux.intel.com>
1020
1021         * clutter/clutter-actor.c:
1022         * clutter/clutter-actor.h:
1023         * clutter/clutter-clone-texture.c:
1024         * clutter/clutter-private.h:
1025         * clutter/clutter-texture.c:
1026         * clutter/x11/clutter-x11-texture-pixmap.c:
1027
1028         Attempt to lower overhead of updating TFP's (particularly mipmaped).
1029         Compresses mipmap updates only for visible TFPs.
1030         Avoiding updates for non visible TFP's whilst keeping visible
1031         clones working ok.
1032
1033 2008-11-06  Neil Roberts  <neil@linux.intel.com>
1034
1035         Bug 1230 - Pick fails on low precision color buffers
1036
1037         * clutter/clutter-main.c (_clutter_id_to_color): When using fuzzy
1038         picking to pick a color for an actor, it would previously set the
1039         fuzzy bit and then all but the most significant of the remaining
1040         unused bits. This meant that for 16-bit displays it would end up
1041         with a strange pattern for the unused bits like 1011 which could
1042         cause it to round up. Now it just sets all but the most
1043         significant of all of the unused bits giving a pattern like
1044         0111. Thanks to Guy Zadickario for the patch.
1045
1046 2008-11-06  Neil Roberts  <neil@linux.intel.com>
1047
1048         * clutter/cogl/gles/cogl.c (cogl_perspective):
1049         * clutter/cogl/common/cogl-fixed.c (cogl_fixed_sin)
1050         (cogl_angle_sin, cogl_angle_tan, cogl_fixed_sqrt): Replaced uses
1051         of 1 + ~x with just -x which is equivalent and easier to
1052         understand.
1053
1054 2008-11-06  Emmanuele Bassi  <ebassi@linux.intel.com>
1055
1056         Bug 1233 - CLUTTER_ALPHA_SINE_INC is broken in trunk
1057
1058         * clutter/clutter-alpha.c: Fix a rollover in the sine functions.
1059
1060 2008-11-05  Neil Roberts  <neil@linux.intel.com>
1061
1062         * clutter/clutter-color.c (clutter_color_new): Remove CLAMP macros
1063         around the component parameters because they are guint8 anyway so
1064         the CLAMP is redundant and it causes a warning.
1065
1066 2008-11-04  Thomas Wood  <thomas@linux.intel.com>
1067
1068         * clutter/clutter-color.c: Update ClutterColor documentation as
1069         changes have been backported to 0.8.4.
1070
1071 2008-11-04  Emmanuele Bassi  <ebassi@linux.intel.com>
1072
1073         * clutter/clutter-script.c: Document the "is-default" member of
1074         a ClutterStage definition.
1075
1076 2008-11-04  Neil Roberts  <neil@linux.intel.com>
1077
1078         * clutter/cogl/gl/cogl.c (cogl_perspective): Use the accurate
1079         64-bit multiplication macro instead of COGL_FIXED_FAST_DIV for
1080         calculating xmax as was done previously. This fixes
1081         test-perspective and other tests that had a gone a bit skewiff.
1082
1083 2008-11-04  Neil Roberts  <neil@linux.intel.com>
1084
1085         Bug 1181 - In Score, timelines, appended at markers, are also
1086         called on complete
1087
1088         * clutter/clutter-score.c (start_children_entries): Use the name
1089         of the marker to start as the data parameter and only start child
1090         timelines that have the same marker name. Previously the
1091         ClutterScore would just start all child entries when a marker was
1092         reached or the timeline completed regardless of whether they were
1093         added with a marker or not. Thanks to Mihail Naydenov for
1094         reporting the bug.
1095
1096 2008-11-03  Emmanuele Bassi  <ebassi@linux.intel.com>
1097
1098         * clutter/cogl/gl/Makefile.am: Whitespace fixes.
1099
1100         * clutter/cogl/gles/Makefile.am: Put back a missing backslash
1101         that broke the GLES build.
1102
1103 2008-11-03  Emmanuele Bassi  <ebassi@linux.intel.com>
1104
1105         Bug 1231 - Build fails in gles flavour in revision 3442
1106
1107         * clutter/cogl/gles/cogl-context.h: Fix remaining use of
1108         ClutterFixed over CoglFixed. (Michael Boccara)
1109
1110 2008-11-03  Neil Roberts  <neil@linux.intel.com>
1111
1112         Bug 1207 - Timelines sometime miss markers
1113
1114         * clutter/clutter-timeline.c (timeline_timeout_func): Move the
1115         code for firing the new-frame and marker-reached signals into a
1116         separate static function so that it can also be called when the
1117         last frame is reached. Also fix an issue where the frame numbers
1118         were changed in the wrong direction when detecting missed markers
1119         in a reversed timeline. Based on a patch by Michael Boccara.
1120
1121         * tests/test-timeline.c: Now tries to automatically verify whether
1122         the test worked by keeping track of all the signal emissions. The
1123         timelines are run a second time with an extra timeout that causes
1124         delays to simulate skipped frames.
1125
1126 2008-10-31  Emmanuele Bassi  <ebassi@linux.intel.com>
1127
1128         * clutter/pango/cogl-pango-fontmap.c:
1129         * clutter/pango/cogl-pango-render.c: Whitespace fixes and code
1130         duplication removal. Plus, start documenting the CoglPango API.
1131
1132 2008-10-31  Matthew Allum  <mallum@openedhand.com>
1133
1134         * clutter/clutter-texture.c: (clutter_texture_set_filter_quality),
1135         (clutter_texture_get_filter_quality):
1136         Fix up some logic, typos.
1137
1138         * clutter/glx/clutter-glx-texture-pixmap.c:
1139         Improve support for mipmaped TFP textures.
1140
1141 2008-10-31  Emmanuele Bassi  <ebassi@linux.intel.com>
1142
1143         Bug 1200 - Crash with invalid DISPLAY
1144
1145         * clutter/clutter-main.c: Use the ClutterBackend wrapper API
1146         instead of directly checking the class structure.
1147
1148         * clutter/glx/clutter-backend-glx.c: Return the correct value
1149         in case of failure.
1150
1151         * clutter/x11/clutter-backend-x11.c: Bail out if XOpenDisplay()
1152         failed.
1153
1154 2008-10-30  Emmanuele Bassi  <ebassi@linux.intel.com>
1155
1156         * clutter/cogl/cogl-color.h:
1157         * clutter/cogl/cogl-fixed.h:
1158         * clutter/cogl/cogl-offscreen.h:
1159         * clutter/cogl/cogl-path.h:
1160         * clutter/cogl/cogl-shader.h:
1161         * clutter/cogl/cogl-texture.h:
1162         * clutter/cogl/cogl-types.h: Add copyright and licensing
1163         notice to the newly added files.
1164
1165 2008-10-30  Emmanuele Bassi  <ebassi@linux.intel.com>
1166
1167         Bug 1219 - Clean up cogl.h
1168
1169         * clutter/cogl/cogl.h.in:
1170         * clutter/cogl/cogl-offscreen.h:
1171         * clutter/cogl/cogl-path.h:
1172         * clutter/cogl/cogl-shader.h:
1173         * clutter/cogl/cogl-texture.h:
1174         * clutter/cogl/cogl-types.h: Split up the massive cogl.h file
1175         into sub-header for each section of the API.
1176
1177         * clutter/cogl/gl/*:
1178         * clutter/cogl/gles/*: Update the GL and GLES implementations
1179         of COGL to cope with the new header structure.
1180
1181         * doc/reference/cogl/Makefile.am: Fix symbol retrieval.
1182
1183 2008-10-30  Emmanuele Bassi  <ebassi@linux.intel.com>
1184
1185         Bug 1215 - Move the Pango renderer to the public API
1186
1187         * clutter/pango/*: Rename PangoClutter -> CoglPango.
1188
1189         * clutter/Makefile.am:
1190         * clutter/clutter-backend.c:
1191         * clutter/clutter-entry.c:
1192         * clutter/clutter-label.c:
1193         * clutter/clutter-main.[ch]:
1194         * clutter/clutter-private.h: Update the users of the Pango
1195         renderer API.
1196
1197         * README: Update release notes.
1198
1199 2008-10-30  Emmanuele Bassi  <ebassi@linux.intel.com>
1200
1201         Bug 1212 - Allow only a single include file for Clutter
1202
1203         * clutter/*.h: Only allow including clutter.h in third
1204         party code.
1205
1206         * clutter/cogl/cogl-color.h:
1207         * clutter/cogl/cogl-fixed.h:
1208         * clutter/cogl/cogl.h.in: Only allow including cogl.h in
1209         third party code.
1210
1211         * clutter/cogl/common/Makefile.am:
1212         * clutter/cogl/gl/Makefile.am:
1213         * clutter/cogl/gles/Makefile.am:
1214         * clutter/eglnative/Makefile.am:
1215         * clutter/eglx/Makefile.am:
1216         * clutter/fruity/Makefile.am:
1217         * clutter/glx/Makefile.am:
1218         * clutter/glx/clutter-glx.h:
1219         * clutter/osx/Makefile.am:
1220         * clutter/pango/Makefile.am:
1221         * clutter/sdl/Makefile.am:
1222         * clutter/win32/Makefile.am:
1223         * clutter/x11/Makefile.am: Fix build environment.
1224
1225         * clutter/x11/clutter-x11-texture-pixmap.h:
1226         * clutter/x11/clutter-x11.h: Fix inclusion rules.
1227
1228         * tests/test-pixmap.c: Fix inclusion of GdkPixbuf header.
1229
1230         * README: Update release notes.
1231
1232 2008-10-30  Emmanuele Bassi  <ebassi@linux.intel.com>
1233
1234         Bug 1211 - Drop ClutterFeatureFlags usage from COGL
1235
1236         * clutter/cogl/cogl.h.in:
1237         * clutter/cogl/gl/cogl.c:
1238         * clutter/cogl/gles/cogl.c: Do not use ClutterFeatureFlags
1239         when CoglFeatureFlags will do. This removes the last usage
1240         of Clutter API inside COGL.
1241
1242 2008-10-30  Emmanuele Bassi  <ebassi@linux.intel.com>
1243
1244         Bug 1210 - Add CoglColor API
1245
1246         * clutter/cogl/cogl-color.h:
1247         * clutter/cogl/cogl.h.in:
1248         * clutter/cogl/common/Makefile.am:
1249         * clutter/cogl/common/cogl-color.c:
1250         * clutter/cogl/gl/Makefile.am:
1251         * clutter/cogl/gl/cogl.c:
1252         * clutter/cogl/gles/Makefile.am:
1253         * clutter/cogl/gles/cogl-texture.c:
1254         * clutter/cogl/gles/cogl.c: Add a new color-type, to be used by
1255         COGL. CoglColor is optimized to allow the minimum amount of
1256         conversions possible for both GL and GLES implementations.
1257
1258         * clutter/clutter-actor.c:
1259         * clutter/clutter-clone-texture.c:
1260         * clutter/clutter-entry.c:
1261         * clutter/clutter-main.c:
1262         * clutter/clutter-rectangle.c:
1263         * clutter/clutter-stage.c:
1264         * clutter/clutter-texture.c: Use CoglColor when needed.
1265
1266         * clutter/pango/pangoclutter-render.c: Use CoglColor when needed.
1267
1268         * doc/reference/cogl/cogl-docs.sgml:
1269         * doc/reference/cogl/cogl-sections.txt: Update the documentation.
1270
1271         * tests/test-cogl-offscreen.c:
1272         * tests/test-cogl-primitives.c:
1273         * tests/test-cogl-tex-convert.c:
1274         * tests/test-cogl-tex-foreign.c:
1275         * tests/test-cogl-tex-getset.c:
1276         * tests/test-cogl-tex-polygon.c:
1277         * tests/test-cogl-tex-tile.c:
1278         * tests/test-paint-wrapper.c: Update the tests.
1279
1280         * README: Update release notes.
1281
1282 2008-10-30  Emmanuele Bassi  <ebassi@linux.intel.com>
1283
1284         Bug 1209 - Move fixed point API in COGL
1285
1286         * clutter/cogl/cogl-fixed.h:
1287         * clutter/cogl/cogl.h.in:
1288         * clutter/cogl/common/Makefile.am:
1289         * clutter/cogl/common/cogl-fixed.c: Add fixed point API, modelled
1290         after the ClutterFixed. The CoglFixed API supercedes the ClutterFixed
1291         one and avoids the dependency of COGL on Clutter's own API.
1292
1293         * clutter/cogl/common/cogl-clip-stack.c:
1294         * clutter/cogl/common/cogl-primitives.c:
1295         * clutter/cogl/common/cogl-primitives.h: Update internal usage of
1296         ClutterFixed to CoglFixed.
1297
1298         * clutter/cogl/gl/Makefile.am:
1299         * clutter/cogl/gl/cogl-primitives.c:
1300         * clutter/cogl/gl/cogl-texture.c:
1301         * clutter/cogl/gl/cogl.c: Ditto, in the GL implementation of the
1302         COGL API.
1303
1304         * clutter/cogl/gles/Makefile.am:
1305         * clutter/cogl/gles/cogl-fbo.c:
1306         * clutter/cogl/gles/cogl-gles2-wrapper.c:
1307         * clutter/cogl/gles/cogl-primitives.c:
1308         * clutter/cogl/gles/cogl-texture.c:
1309         * clutter/cogl/gles/cogl.c: Ditto, in the GLES implementation of
1310         the COGL API.
1311
1312         * clutter/pango/pangoclutter-glyph-cache.c:
1313         * clutter/pango/pangoclutter-glyph-cache.h: Ditto, in the Pango
1314         renderer glyphs cache.
1315
1316         * clutter/clutter-fixed.c:
1317         * clutter/clutter-fixed.h: ClutterFixed and related API becomes
1318         a simple transition API for bindings and public Clutter API.
1319
1320         * clutter/clutter-actor.c:
1321         * clutter/clutter-alpha.c:
1322         * clutter/clutter-backend.c:
1323         * clutter/clutter-behaviour-depth.c:
1324         * clutter/clutter-behaviour-ellipse.c:
1325         * clutter/clutter-behaviour-path.c:
1326         * clutter/clutter-behaviour-rotate.c:
1327         * clutter/clutter-behaviour-scale.c:
1328         * clutter/clutter-clone-texture.c:
1329         * clutter/clutter-color.c:
1330         * clutter/clutter-entry.c:
1331         * clutter/clutter-stage.c:
1332         * clutter/clutter-texture.c:
1333         * clutter/clutter-timeline.c:
1334         * clutter/clutter-units.h: Move from the internal usage of
1335         ClutterFixed to CoglFixed.
1336
1337         * doc/reference/clutter/clutter-sections.txt:
1338         * doc/reference/cogl/cogl-docs.sgml:
1339         * doc/reference/cogl/cogl-sections.txt: Update the documentation.
1340
1341         * tests/test-cogl-tex-tile.c:
1342         * tests/test-project.c: Fix tests after the API change
1343
1344         * README: Add release notes.
1345
1346 2008-10-29  Neil Roberts  <neil@linux.intel.com>
1347
1348         Bug 1074 - FBOs on GLES
1349
1350         * clutter/cogl/gles/cogl-fbo.c: Copy the code from gl/cogl-fbo but
1351         use the API calls directly instead of loading an extension because
1352         it is part of the core in GLES 2.
1353
1354         * clutter/cogl/gles/cogl.c (_cogl_features_init): Report
1355         COGL_FEATURE_OFFSCREEN.
1356
1357         * clutter/cogl/gles/cogl-fbo.h (CoglFbo): Add gl_stencil_handle.
1358
1359         * clutter/cogl/gles/cogl-context.h (CoglContext): Add
1360         viewport_store
1361
1362         * tests/test-fbo.c (make_shader): Conditionally use the GLES 2
1363         names of the shader variables
1364
1365 2008-10-29  Neil Roberts  <neil@linux.intel.com>
1366
1367         Bug 1206 - Picking disabled dithering
1368
1369         * clutter/clutter-main.c (_clutter_do_pick): After picking is
1370         finished, restore the state of glEnable (GL_DITHER). Otherwise it
1371         will cause the scene to look different after the first pick on low
1372         depth displays. (Thanks to Michael Boccara for the patch)
1373
1374 2008-10-28  Thomas Wood  <thomas@linux.intel.com>
1375
1376         * clutter/clutter-color.c (param_color_set_default): Set the no copy
1377         flag when setting the default param spec value to prevent invalid
1378         frees.
1379
1380 2008-10-27  Neil Roberts  <neil@linux.intel.com>
1381
1382         Bug 1189 - Backface culling
1383
1384         * clutter/cogl/gl/cogl-texture.c (cogl_texture_polygon)
1385         (_cogl_texture_quad_sw, _cogl_texture_quad_hw):
1386         * clutter/cogl/gles/cogl-texture.c (cogl_texture_polygon)
1387         (_cogl_texture_quad_sw, _cogl_texture_quad_hw): Enable backface
1388         culling in GL if it is requested.
1389
1390         * clutter/cogl/gles/cogl-texture.c (_cogl_texture_quad_sw)
1391         (_cogl_texture_quad_hw):
1392         * clutter/cogl/gl/cogl-texture.c (_cogl_texture_quad_sw)
1393         (_cogl_texture_quad_hw): Reorder the
1394         vertices so that they are counter-clockwise.
1395
1396         * clutter/cogl/gles/cogl-context.h (CoglContext):
1397         * clutter/cogl/gl/cogl-context.h (CoglContext): Added a flag to
1398         store whether backface culling is currently enabled.
1399
1400         * clutter/cogl/gles/cogl.c (cogl_enable_backface_culling):
1401         * clutter/cogl/gl/cogl.c (cogl_enable_backface_culling): New
1402         function
1403
1404         * doc/reference/cogl/cogl-sections.txt: Add
1405         cogl_enable_backface_culling
1406
1407 2008-10-27  Neil Roberts  <neil@linux.intel.com>
1408
1409         Bug 1196 - Texture border drawing problems
1410
1411         * clutter/cogl/gl/cogl-texture.c (_cogl_texture_upload_subregion_to_gl)
1412         (_cogl_texture_upload_to_gl):
1413
1414         * clutter/cogl/gles/cogl-texture.c (_cogl_texture_upload_to_gl)
1415         (_cogl_texture_upload_subregion_to_gl):
1416
1417         When uploading data to a sliced texture, fill the waste pixels
1418         with copies of the edge of the real texture data. Otherwise the
1419         value of the waste pixels are undefined so it will show artifacts
1420         when the texture is scaled with GL_LINEAR and the pixels are
1421         blended in.
1422
1423 2008-10-22  Thomas Wood  <thomas@linux.intel.com>
1424
1425         * tests/test-actors.c: Don't adjust the radius based on the number of
1426         actors
1427
1428 2008-10-21  Emmanuele Bassi  <ebassi@linux.intel.com>
1429
1430         * clutter/clutter-color.[ch] (clutter_value_set_color): Constify
1431         colors and values where needed.
1432
1433 2008-10-21  Emmanuele Bassi  <ebassi@linux.intel.com>
1434
1435         Bug 1197 - Missing const for clutter_init_with_args *
1436
1437         * clutter/clutter-main.[ch] (clutter_init_with_args): Constify
1438         the string parameters. (Owen Taylor)
1439
1440 2008-10-20  Emmanuele Bassi  <ebassi@linux.intel.com>
1441
1442         * configure.ac: Use gmodule-no-export-2.0, not gmodule-2.0,
1443         to avoid breaking the symbol hiding. (thanks to Ross Burton
1444         and Laurent Bigonville)
1445
1446 2008-10-20  Neil Roberts  <neil@linux.intel.com>
1447
1448         Bug 1043 - COGL calls glTexSubImage2D() with out-of-bounds
1449         values (SIGSEGV)
1450
1451         * clutter/cogl/gl/cogl-texture.c
1452         (_cogl_texture_upload_subregion_to_gl): When iterating over the
1453         slices, discard ones that don't intersect immediatly otherwise it
1454         will call glTexSubImage2D with a negative width/height and then
1455         move the source position incorrectly. Thanks to Gwenole
1456         Beauchesne.
1457
1458 2008-10-20  Emmanuele Bassi  <ebassi@linux.intel.com>
1459
1460         * clutter/clutter-color.h: Declare clutter_color_new() in the
1461         installed header.
1462
1463 2008-10-20  Neil Roberts  <neil@linux.intel.com>
1464
1465         Bug 1195 - ClutterBehaviourBspline only works for very short paths
1466
1467         * clutter/clutter-behaviour-bspline.c: Changed the CBZ_T_POW3 and
1468         CBZ_T_MUL functions so that they preserve more of the least
1469         significant bits. This fixes some of the jaggy behaviour with
1470         longer paths.
1471
1472 2008-10-17  Thomas Wood  <thomas@linux.intel.com>
1473
1474         reviewed by: Emmanuele Bassi <ebassi@linux.intel.com>
1475
1476         * clutter/clutter-color.[ch]: Add GParamSpec and GValue integration
1477         for ClutterColor. With ClutterParamSpecColor it is possible to define
1478         color properties; with the GValue integration it's possible to
1479         automatically transform strings into colors and vice versa.
1480
1481         (clutter_color_free): Allow NULL parameter to match other boxed
1482         types destructors.
1483
1484         (clutter_color_new): Add a constructor for the ClutterColor boxed
1485         type, mostly for bindings.
1486
1487 2008-10-17  Emmanuele Bassi  <ebassi@linux.intel.com>
1488
1489         * clutter/clutter-color.c (clutter_color_parse): Add checks
1490         for the arguments, to avoid trying to parse NULL strings.
1491
1492 2008-10-16  Emmanuele Bassi  <ebassi@linux.intel.com>
1493
1494         * clutter/clutter-container.[ch]: Add checks to the Container
1495         interface invocation methods, to avoid crashing or corrupting
1496         the stack when an actor does not implement every virtual
1497         function of the Container interface vtable. GObject allows this
1498         to happen so we must handle the case gracefully. This also means
1499         that we can classify some virtual function as mandatory (as is
1500         the case for ::add, ::remove and ::foreach) and some other
1501         optional.
1502
1503 2008-10-08  Emmanuele Bassi  <ebassi@linux.intel.com>
1504
1505         * tests/test-depth.c (raise_top), (main): Fix a shadowing
1506         with raise() from signal.h.
1507
1508 2008-10-01  Ã˜yvind KolÃ¥s  <pippin@linux.intel.com>
1509
1510         Bug 1108 - Enter/Leave events logics wrt. skipped motion events
1511
1512         Handle dropped motion events when computing crossing events,
1513         based on a patch from Gwenole Beauchesne.
1514
1515         * clutter/clutter-main.c: (clutter_event_get_device): internal static
1516         utility function.
1517         (clutter_do_event): generate enter/leave events for all pointer
1518         events.
1519         (generate_enter_leave_events): modified enter/leave events generator
1520         to work for all pointer event types. Enter/leave events are now
1521         delivered before the motion/button event that caused the crossing to
1522         happen.
1523         * clutter/clutter-event.c: (clutter_event_copy), (clutter_event_free):
1524         removed reference counting logic that is not needed when the crossing
1525         events are directly delivered.
1526
1527 2008-09-29  Emmanuele Bassi  <ebassi@linux.intel.com>
1528
1529         * configure.ac: Post branch bump to 0.9.0
1530
1531 2008-09-25  Emmanuele Bassi  <ebassi@linux.intel.com>
1532
1533         * configure.ac: Post release bump to 0.8.3
1534
1535 ======== Release 0.8.2 ========================================================
1536
1537 2008-09-25  Emmanuele Bassi  <ebassi@linux.intel.com>
1538
1539         * configure.ac:
1540         * README:
1541         * NEWS: Release 0.8.2
1542
1543 2008-09-25  Emmanuele Bassi  <ebassi@linux.intel.com>
1544
1545         * clutter/clutter-event.h: Fix missing documentation.
1546
1547 2008-09-24  Emmanuele Bassi  <ebassi@linux.intel.com>
1548
1549         Bug 1130 - CLUTTER_MOTION is not emitted when time goes backwards.
1550
1551         * clutter/clutter-main.c (clutter_do_event): Check for time
1552         rollbacks inside the motion event throttling. (Pierce Liu)
1553
1554 2008-09-23  Emmanuele Bassi  <ebassi@linux.intel.com>
1555
1556         * clutter/clutter-timeout-pool.c: Reword previous commit.
1557
1558 2008-09-23  Emmanuele Bassi  <ebassi@linux.intel.com>
1559
1560         * clutter/clutter-timeout-pool.c:
1561         (clutter_timeout_pool_new): Fix previous commit: g_source_unref()
1562         is not needed. (Thanks to Neil Roberts)
1563
1564 2008-09-23  Emmanuele Bassi  <ebassi@linux.intel.com>
1565
1566         Bug 1154 - clutter_timeout_pool_new() documentation doesn't say
1567         how to free
1568
1569         * clutter/clutter-timeout-pool.c: Update the documentation to
1570         note that you must use g_source_unref() to free the timeout
1571         pool. (Murray Cumming)
1572
1573 2008-09-23  Emmanuele Bassi  <ebassi@linux.intel.com>
1574
1575         Bug 1124 - Clutter causes an additional size request in each
1576         allocation
1577
1578         * clutter/clutter-actor.c:
1579         (clutter_actor_store_old_geometry): Store the allocation instead
1580         of causing a new size-request cycle. (Johan Bilien)
1581
1582 2008-09-23  Emmanuele Bassi  <ebassi@linux.intel.com>
1583
1584         Bug 1125 - Save an extra pango_layout_get_size in many cases
1585
1586         * clutter/clutter-label.c:
1587         (clutter_label_create_layout_no_cache): Add a simple check
1588         before calling pango_layout_get_size(). (Johan Bilien)
1589
1590 2008-09-23  Emmanuele Bassi  <ebassi@linux.intel.com>
1591
1592         * clutter/clutter-alpha.c:
1593         (clutter_alpha_get_alpha): Do not return the cached value but
1594         just compute the current alpha value. The use case is pretty
1595         much straightforward: stop a timeline, advance it, and retrieve
1596         the alpha value before starting the timeline to adjust an
1597         animation dependent on the alpha. Caching the alpha value is
1598         not needed because the behaviours will always pass the alpha
1599         value inside the ::alpha-notify virtual function anyway, so
1600         there is no need for them to call clutter_alpha_get_alpha().
1601
1602         This change makes it also possible to reliably unit-test
1603         ClutterAlpha.
1604
1605         (timeline_new_frame_cb): Call clutter_alpha_get_alpha().
1606
1607 2008-09-23  Tomas Frydrych  <tf@linux.intel.com>
1608
1609         * clutter/clutter-main.c:
1610         * clutter/clutter-main.h:
1611         * clutter/clutter-private.h:
1612         * clutter/x11/clutter-backend-x11.c:
1613         (clutter_get_option_group_without_init):
1614         Function to obtain clutter option group without opening display
1615         (for use with foreign display and gtk_clutter_init). Bug 1033.
1616
1617         Stripped trailing whitespace.
1618
1619 2008-09-22  Neil Roberts  <neil@linux.intel.com>
1620
1621         Bug 856 - Teardown sequence is borked
1622
1623         * clutter/clutter-main.c: Don't free the ClutterMainContext so
1624         that the main loop can be restarted.
1625
1626         * clutter/eglx/clutter-backend-egl.c:
1627         * clutter/eglnative/clutter-backend-egl.c: Register an atexit
1628         handler which disposes the backend object so that we are still
1629         guaranteed to call eglTerminate on GLES.
1630
1631 2008-09-22  Neil Roberts  <neil@linux.intel.com>
1632
1633         * tests/test-unproject.c (on_event):
1634         * tests/test-project.c (on_event): Use a return value for the
1635         'event' signal handler, otherwise it might accidentally return
1636         TRUE for unhandled events and you won't be able to close the
1637         window.
1638
1639 2008-09-19  Emmanuele Bassi  <ebassi@linux.intel.com>
1640
1641         Bug 1033 - Manually parsing command line options prevents
1642         initializing clutter
1643
1644         * clutter/clutter-main.c:
1645         (post_parse_hook), (clutter_init_with_args),
1646         (clutter_parse_args), (clutter_init): Move the initialization
1647         of Clutter at the end of the post-parse hook of Clutter's
1648         GOptionGroup. Clutter must be initialized at the end of the
1649         argument parsing.
1650
1651 2008-09-19  Emmanuele Bassi  <ebassi@linux.intel.com>
1652
1653         * clutter/clutter-main.c: Properly document the
1654         clutter_get_option_group() function and the invariant that
1655         after parsing Clutter's option group the library will be
1656         initialized. (Thanks to Tomas Frydrych for pointing this
1657         out)
1658
1659 2008-09-19  Emmanuele Bassi  <ebassi@linux.intel.com>
1660
1661         * clutter/x11/clutter-backend-x11.c: Properly document the
1662         usage of clutter_x11_set_display().
1663
1664         * clutter/x11/clutter-x11.h: clutter_x11_set_display() is
1665         public API and should be declared in the header we install.
1666
1667 2008-09-18  Neil Roberts  <neil@linux.intel.com>
1668
1669         Bug 1048 - SIGFPE in cogl_texture_set_region() with nvidia
1670
1671         * clutter/cogl/gl/cogl-texture.c (cogl_texture_set_region):
1672         * clutter/cogl/gles/cogl-texture.c (cogl_texture_set_region):
1673         Don't attempt to upload any data if the width or height of the
1674         subregion is zero. Thanks to Gwenole Beauchesne.
1675
1676 2008-09-18  Neil Roberts  <neil@linux.intel.com>
1677
1678         Bug 1044 - cogl_get_viewport error
1679
1680         * clutter/cogl/gles/cogl.c (cogl_get_viewport): Use glGetIntegerv
1681         instead of glGetFixedv to read the viewport because the latter
1682         converts incorrectly on some hardware.
1683
1684 2008-09-18  Neil Roberts  <neil@linux.intel.com>
1685
1686         Bug 1080 - clutter_stage_read_pixels has upside-down y coordinate
1687
1688         * clutter/clutter-stage.c (clutter_stage_read_pixels): Use
1689         OpenGL's coordinate system for the arguments to glReadPixels (so
1690         that y zero is the bottom of the window). Use clutter_redraw
1691         instead of clutter_stage_paint to ensure the right GL context is
1692         selected. Set some of the glPixelStore parameters that might have
1693         been changed by Cogl.
1694
1695         * tests/test-stage-read-pixels.c: Replace with a different test
1696         that gets a sub-region of the stage around the cursor.
1697
1698 2008-09-17  Neil Roberts  <neil@linux.intel.com>
1699
1700         Bug 1145 - Flicker on resize the window
1701
1702         * clutter/glx/clutter-stage-glx.c (clutter_stage_glx_realize):
1703         Don't set a backing pixel on the X window. Otherwise when the
1704         window resizes it will flicker when X paints the background
1705         immediatly before Clutter repaints the whole stage.
1706
1707 2008-09-17  Neil Roberts  <neil@linux.intel.com>
1708
1709         * clutter/clutter-types.h: Swap left and right in the
1710         documentation for ClutterGravity.
1711
1712 2008-09-17  Neil Roberts  <neil@linux.intel.com>
1713
1714         Bug 1121 - Setting anchor point doesn't work if set too early
1715
1716         * clutter/clutter-actor.c
1717         (clutter_actor_set_anchor_point_from_gravity)
1718         (clutter_actor_move_anchor_point_from_gravity): Add documentation
1719         to make it clear that the anchor point won't move when the actor
1720         is resized.
1721
1722 2008-09-16  Neil Roberts  <neil@linux.intel.com>
1723
1724         Bug 1100 - WM_SIZE not handled correctly, user_resize and
1725         window_style correction.
1726
1727         * clutter/win32/clutter-stage-win32.c (get_window_style): Remove
1728         the WS_MAXIMIZEBOX style if the stage isn't resizable.
1729         (clutter_stage_win32_set_user_resize): Queue a redraw of the
1730         window frame when the user_resize property is changed.
1731
1732         * clutter/win32/clutter-event-win32.c (message_translate): Don't
1733         update the size of the stage when handling WM_SIZE messages that
1734         result from the stage being minimized. Thanks to Roman Yazmin.
1735
1736 2008-09-16  Tomas Frydrych  <tf@linux.intel.com>
1737
1738         * clutter/glx/clutter-glx-texture-pixmap.c:
1739         * clutter/x11/clutter-x11-texture-pixmap.c:
1740         TFP resyncing on MapNotify/ConfigureNotify (bug  1020; patch by
1741         Andy Wingo <wingo@pobox.com>).
1742
1743 2008-09-15  Ã˜yvind KolÃ¥s  <pippin@linux.intel.com>
1744
1745         * clutter/clutter-main.c: amended typo in gtk-doc.
1746
1747 2008-09-12  Neil Roberts  <neil@linux.intel.com>
1748
1749         Bug 1034 - Picking doesn't work on Eee PC
1750
1751         * clutter/clutter-main.c (_clutter_id_to_color): When choosing a
1752         pick color, set all but the most significant of the unused
1753         bits. This should make make it more likely that the GL
1754         implementation will round down to the right value.
1755
1756         * tests/test-pick.c: Test case for picking. It creates 192 actors
1757         at known positions and stores their gids. It then calls
1758         clutter_stage_get_actor_at_pos with each position to check that
1759         the right gid is returned.
1760
1761         * tests/Makefile.am (noinst_PROGRAMS): Add test-pick
1762
1763 2008-09-12  Neil Roberts  <neil@linux.intel.com>
1764
1765         Bug 1010 - ClutterLabel does not update the layout (again)
1766
1767         * clutter/clutter-label.c: Bring back layout caching. This time it
1768         will cache up to three different layouts. The width for which each
1769         layout was generated is stored so that if the same width is
1770         requested again it can use the cached version. If no cached
1771         version is available it will try to replace the oldest
1772         layout. 'Age' is determined by a counter which is incremented
1773         every time a layout is created. The cache is cleared after any
1774         property changes that might affect the layout.
1775         (struct _ClutterLabelPrivate): Removed extents_width,
1776         extents_height and context because they weren't used anywhere.
1777
1778         * tests/test-label-cache.c: Add a test which checks whether the
1779         label is using a different layout when properties are
1780         changed. Also compares the extents of the label's layout with an
1781         independent layout and fails if they aren't the same.
1782
1783         * tests/Makefile.am (noinst_PROGRAMS): Add test-label-cache
1784
1785 2008-09-10  Neil Roberts  <neil@o-hand.com>
1786
1787         Bug 1137 - Setting the anchor point does not trigger a re-paint
1788
1789         * clutter/clutter-actor.c (clutter_actor_set_property): When
1790         changing the anchor point properties, use set_anchor_pointu
1791         instead of changing the value directly so that a redraw will be
1792         queued.
1793         (clutter_actor_set_anchor_pointu): Queue a redraw when the anchor
1794         point is changed. Thanks to Johan Bilien.
1795
1796 2008-08-27  Emmanuele Bassi  <ebassi@openedhand.com>
1797
1798         Bug 1082 - Texture bitmap is destroyed in wrong way
1799
1800         * clutter/cogl/common/cogl-bitmap-pixbuf.c:
1801         (_cogl_bitmap_from_file): Make a copy of the pixbuf data in
1802         the internal image loader so that we can keep working under
1803         the assumption that we are using the GLib memory allocation
1804         and deallocation functions.
1805
1806 2008-08-27  Emmanuele Bassi  <ebassi@openedhand.com>
1807
1808         Bug 1099 - No ClutterScript API to get a list of IDs in a given file
1809
1810         * clutter/clutter-script.[ch]: Add clutter_script_list_objects(),
1811         a function for retrieving all the objects built by a ClutterScript
1812         instance. (Based on a patch by Noah Gibbs)
1813
1814 2008-08-26  Emmanuele Bassi  <ebassi@openedhand.com>
1815
1816         Bug 1090 - Label somtimes returns natural_width < min_width
1817
1818         * clutter/clutter-label.c:
1819         (clutter_label_get_preferred_width): Check that the width of the
1820         layout is always greater than 0. (Johan Bilien)
1821
1822 2008-08-19  Neil Roberts  <neil@o-hand.com>
1823
1824         Bug 1103 - Two typos in clutter documentation
1825
1826         * doc/reference/clutter/subclassing-ClutterActor.xml: Update the
1827         custom actor example since the Cogl API was changed to namespace
1828         all of the path related functions in cogl_path_*. Thanks to Nati
1829         Berkover.
1830
1831         * clutter/clutter-score.c: Add missing parameter in example of
1832         calling clutter_score_start().
1833
1834 2008-08-18  Neil Roberts  <neil@o-hand.com>
1835
1836         Bug 1085 - Cursor is in wrong position on ClutterEntry if set
1837         x-align property
1838
1839         * clutter/clutter-entry.c (clutter_entry_paint): When calculating
1840         the position to draw the cursor at, take into account the
1841         alignment of the text. Queue a redraw when the x-align property is
1842         changed.
1843
1844 2008-08-07  Neil Roberts  <neil@o-hand.com>
1845
1846         Bug 1091 - WM_MOUSEWHEEL (scroll-event) not handled correctlly
1847
1848         * clutter/win32/clutter-event-win32.c (message_translate): The
1849         coordinates in a WM_MOUSEWEEL message are given relative to the
1850         screen so they need to be converted to client coordinates before
1851         use. Thanks to Roman Yazmin.
1852
1853 2008-08-06  Emmanuele Bassi  <ebassi@openedhand.com>
1854
1855         * clutter/clutter-child-meta.c:
1856         (clutter_child_meta_set_property),
1857         (clutter_child_meta_class_init): Make the :container and
1858         :actor properties of ChildMeta construct-only, to allow
1859         bindings to actually use ChildMeta without abusing the API.
1860
1861         * clutter/clutter-container.c (create_child_meta): Instead of
1862         setting the members of the ChildMeta structure, use the
1863         constructor properties.
1864
1865 2008-08-04  Emmanuele Bassi  <ebassi@openedhand.com>
1866
1867         * clutter/clutter-keysyms.h: Resync with keysymdef.h inside Xorg.
1868
1869 2008-08-04  Emmanuele Bassi  <ebassi@openedhand.com>
1870
1871         * clutter/clutter-script.c:
1872         (clutter_script_default_connect): Improve wording and debug
1873         messages in the default autoconnection for signal handlers.
1874
1875 2008-08-04  Emmanuele Bassi  <ebassi@openedhand.com>
1876
1877         * clutter/clutter-script-parser.c:
1878         * clutter/clutter-script-private.h: Clean up the code; add a
1879         conversion function for reading a ClutterColor out of a
1880         JSON object or array definition.
1881
1882         * clutter/clutter-script.c: Clean up the code; document properly
1883         how we translate from type name to type function.
1884
1885 2008-08-04  Emmanuele Bassi  <ebassi@openedhand.com>
1886
1887         * clutter/clutter-main.c: Rework and improve the documentation
1888         of the thread-safe timeout and idle source installer functions.
1889
1890 2008-08-01  Neil Roberts  <neil@o-hand.com>
1891
1892         Bug 945 - Clipping+fbo cloning bugs
1893
1894         * clutter/cogl/gl/cogl.c:
1895         * clutter/cogl/gles/cogl.c:
1896         * clutter/cogl/cogl.h.in: Add cogl_clip_stack_save,
1897         cogl_clip_stack_restore, cogl_viewport and cogl_frustum.
1898
1899         * clutter/cogl/gl/cogl-fbo.h:
1900         * clutter/cogl/gl/cogl-fbo.c: Try to attach a stencil buffer when
1901         creating an FBO.
1902
1903         * clutter/cogl/common/cogl-clip-stack.c: Add functions to save and
1904         restore the whole state of the stack.
1905
1906         * clutter/clutter-texture.c (clutter_texture_paint): When
1907         rendering the FBO source, setup a temporary asymmetric perspective
1908         projection matrix to render it as it would appear on screen.
1909
1910         * clutter/clutter-private.h:
1911         * clutter/clutter-actor.c
1912         (_clutter_actor_apply_modelview_transform_recursive): No longer
1913         static and exported in clutter-private.h
1914
1915 2008-08-01  Neil Roberts  <neil@o-hand.com>
1916
1917         Bug 1071 - clutter_timeline_get_duration doesn't always work
1918
1919         * clutter/clutter-timeline.c: Calculate the 'duration' property
1920         on-demand instead of storing it as a member variable. Notify
1921         duration property changes whenever the fps or num_frames changes.
1922
1923 2008-08-01  Neil Roberts  <neil@o-hand.com>
1924
1925         Bug 1069 - Warnings with ClutterScore
1926
1927         * clutter/clutter-score.c (clutter_score_is_playing): Check
1928         whether priv->running_timelines is NULL before checking its
1929         length.
1930         (foreach_running_timeline): Remove the completed signal handler
1931         when stopping the score. Otherwise the completed callback will get
1932         called multiple times if the timeline is started later.
1933
1934 2008-07-31  Neil Roberts  <neil@o-hand.com>
1935
1936         Bug 1075 - Difficult to bind clutter_stage_new
1937
1938         * clutter/clutter-stage.c (clutter_stage_dispose): Unrealize the
1939         stage before removing the update idle handler. Otherwise
1940         unrealizing causes another redraw to be queued and if the stage
1941         object remains alive it will cause an assert and abort.
1942
1943 2008-07-30  Neil Roberts  <neil@o-hand.com>
1944
1945         * clutter/clutter-stage.c (clutter_stage_class_init): Added the
1946         'perspective' property. All of the machinery was there to
1947         implement the property but somehow the call that actually installs
1948         it was missing.
1949
1950 2008-07-30  Emmanuele Bassi  <ebassi@openedhand.com>
1951
1952         * clutter/clutter-fixed.h:
1953         * clutter/clutter-units.h: Fix the upper and lower boundaries of
1954         ClutterFixed and ClutterUnit types; G_MAXINT16 and G_MININT16
1955         were not enough to describe those values.
1956
1957 2008-07-30  Ross Burton  <ross@openedhand.com>
1958
1959         * clutter/clutter-main.c:
1960         Destroy the debugging timer when the context is freed.
1961
1962         * clutter/clutter-stage.c:
1963         Free the stage title when the stage is finalized.
1964
1965 2008-07-30  Neil Roberts  <neil@o-hand.com>
1966
1967         * clutter/clutter-model.c (clutter_model_set_sorting_column): This
1968         function is supposed to accept -1 to disable sorting. However it
1969         checks for whether the column is >= the number of columns, but
1970         clutter_model_get_n_columns() returns an unsigned int so the
1971         column number also gets promoted to unsigned for the
1972         comparison. Therefore -1 is always greater than the number of
1973         columns so it wouldn't let you set it.
1974
1975 2008-07-26  Neil Roberts  <neil@o-hand.com>
1976
1977         * clutter/clutter-timeline.c (clutter_timeline_list_markers): When
1978         requesting the list of markers it was returning the marker data as
1979         a string instead of the name so it was copying garbage.
1980
1981 2008-07-25  Neil Roberts  <neil@o-hand.com>
1982
1983         * clutter/clutter-actor.c (clutter_actor_remove_clip)
1984         (clutter_actor_set_clipu): Queue a redraw when the clip is
1985         changed.
1986
1987 2008-07-24  Neil Roberts  <neil@o-hand.com>
1988
1989         * clutter/clutter-script.c: The example in the documentation
1990         showed a color being specified as '0xff0000ff' but it should be
1991         '#ff0000ff'
1992
1993 2008-07-23  Emmanuele Bassi  <ebassi@openedhand.com>
1994
1995         Bug 1062 - clutter_actor_query_coords() replacement in 0.8
1996
1997         * clutter/clutter-deprecated.h: Fix the deprecation warning
1998         for clutter_actor_query_coords(). (Gwenole Beauchesne)
1999
2000 2008-07-17  Emmanuele Bassi  <ebassi@openedhand.com>
2001
2002         Bug 1047 -  API documentation from release tarball is not
2003                     installed by "make install"
2004
2005         * configure.ac:
2006         * Makefile.am: Make the recursion into the documentation
2007         directory depend on on whether we explicitly enable it or
2008         if we are not inside an SVN checkout.
2009
2010 2008-07-17  Neil Roberts  <neil@o-hand.com>
2011
2012         * clutter/clutter-texture.c:
2013         * clutter/clutter-rectangle.c:
2014         * clutter/clutter-group.c:
2015         * clutter/clutter-entry.c:
2016         * clutter/clutter-clone-texture.c: Remove unnecessary calls to
2017         cogl_{push,pop}_matrix. The matrix is preserved in
2018         clutter_actor_paint whenever the actor's transformation is applied
2019         so there should be no need to push the matrix in actor paint
2020         implementations unless it does some additional transformations
2021         itself.
2022
2023 2008-07-16  Emmanuele Bassi  <ebassi@openedhand.com>
2024
2025         * clutter.pc.in: Add a variable containing the COGL backend
2026         inside the pkg-config file, for configure-time checks.
2027
2028 2008-07-14  Neil Roberts  <neil@o-hand.com>
2029
2030         * clutter/cogl/common/cogl-primitives.c (cogl_path_rel_curve_to):
2031         Fixed a typo in the second parameter which meant the curve was
2032         drawn incorrectly.
2033
2034 2008-07-14  Emmanuele Bassi  <ebassi@openedhand.com>
2035
2036         * clutter/clutter.h: Include missing installed files.
2037
2038 2008-07-14  Tomas Frydrych  <tf@openedhand.com>
2039
2040         * clutter/clutter-stage.c:
2041         (clutter_stage_hide_cursor):
2042         Fixed C&P bug that made it impossible to show cursor once hidden.
2043
2044         Stripped trailing whitespace.
2045
2046 2008-07-13  Matthew Allum  <mallum@openedhand.com>
2047
2048         * clutter/x11/clutter-x11-texture-pixmap.c:
2049         Call XSync in unredirect X error trap (Thanks to Andy Wingo)
2050
2051 2008-07-13  Neil Roberts  <neil@o-hand.com>
2052
2053         * build/mingw/mingw-cross-compile.sh: Avoid using the --strip
2054         option to tar because it isn't supported in the version shipped
2055         with MSYS.
2056
2057 2008-07-11  Tomas Frydrych  <tf@openedhand.com>
2058
2059         * clutter/clutter-fixed.c:
2060         Move G_IMPLEMENT_INLINES before all other #include statements (bug
2061         #1038).
2062
2063 2008-07-11  Tomas Frydrych  <tf@openedhand.com>
2064
2065         * clutter/clutter-fixed.c:
2066         Changed #define G_IMPLEMENTS_INLINES to G_IMPLEMENT_INLINES (bug
2067         #1038).
2068
2069 2008-07-10  Emmanuele Bassi  <ebassi@openedhand.com>
2070
2071         * configure.ac: Post release bump to 0.3.1.
2072
2073 ======== Release 0.8.0 ========================================================
2074
2075 2008-07-10  Emmanuele Bassi  <ebassi@openedhand.com>
2076
2077         * configure.ac:
2078         * NEWS: Release 0.8.0.
2079
2080 2008-07-10  Matthew Allum  <mallum@openedhand.com>
2081
2082         * clutter/cogl/gles/cogl-fbo.c:
2083         * clutter/cogl/gles/cogl-texture.c:
2084         Fix warnings with eglnative build
2085
2086 2008-07-10  Matthew Allum  <mallum@openedhand.com>
2087
2088         * README:
2089         Sync up/improve ready for 0.8 release.
2090
2091         * AUTHORS:
2092         Sync up to date - hope I havn't missed anyone..
2093
2094 2008-07-10  Matthew Allum  <mallum@openedhand.com>
2095
2096         * clutter/glx/clutter-glx-texture-pixmap.c:
2097         Assume TFP npots sized textures are always supported if TFP ext is!
2098         (Based on patch from James Ketrenos)
2099
2100 2008-07-08  Matthew Allum  <mallum@openedhand.com>
2101
2102         Bug 1011 - Fix TFP fallback mechanism (take 2)
2103
2104         * clutter/glx/clutter-glx-texture-pixmap.c:
2105         * tests/test-pixmap.c:
2106         Slightly modified patch from Gwenole Beauchesne applied
2107         to better handle both falling back to non accelerated tfp
2108         and improvements to the test case.
2109
2110 2008-07-07  Matthew Allum  <mallum@openedhand.com>
2111
2112         Bug 1016 - Changing window-redirect-automatic property after
2113                    creating ClutterX11TexturePixmap doesn't work.
2114
2115         * clutter/x11/clutter-x11-texture-pixmap.c:
2116         (clutter_x11_texture_pixmap_set_window):
2117         Sync up redirection prop correctly (Jason Tackaberry)
2118
2119 2008-07-07  Matthew Allum  <mallum@openedhand.com>
2120
2121         Bug 1019 - clutter-frame-source.h not included by clutter.h
2122
2123         * clutter/clutter.h:
2124         Add missing header include.
2125
2126 2008-07-05  Neil Roberts  <neil@o-hand.com>
2127
2128         * clutter/clutter-actor.h: Remove redundant duplicate declaration
2129         of clutter_actor_allocate_preferred_size
2130
2131 2008-07-05  Emmanuele Bassi  <ebassi@openedhand.com>
2132
2133         Bug 1033 - Manually parsing command line options prevents
2134                    initializing clutter (Armin Burgmeier)
2135
2136         * clutter/clutter-main.c:
2137         (post_parse_hook), (clutter_init_real): Set the is_initialized
2138         flag inside the real initialization function.
2139
2140 2008-07-04  Emmanuele Bassi  <ebassi@openedhand.com>
2141
2142         * clutter/clutter-label.c: Properly document the behaviour
2143         of the :alignment property.
2144
2145 2008-07-04  Neil Roberts  <neil@o-hand.com>
2146
2147         * build/mingw/mingw-cross-compile.sh: Default to the win32 flavour
2148         instead of the SDL flavour
2149
2150 2008-07-04  Neil Roberts  <neil@o-hand.com>
2151
2152         Bug 1015 - Cloning unparented actors with FBOs doesn't work with
2153         new layout code
2154
2155         * clutter/clutter-texture.c (clutter_texture_new_from_actor): Now
2156         parents the source actor if it doesn't already have a parent so
2157         that it will get an allocation during layout.
2158
2159         * tests/test-fbo.c: One of the tests tries to ensure that the
2160         ClutterTexture clone keeps the source actor alive by derefing
2161         it. However as actors have a floating reference then test-fbo
2162         doesn't have its own reference once the source is parented so
2163         unrefing just steals the parent's reference and causes
2164         badness. The test now claims the floating reference before cloning
2165         the source so that it can safely be unref'd later.
2166
2167 2008-07-03  Emmanuele Bassi  <ebassi@openedhand.com>
2168
2169         * clutter/x11/Makefile.am: Fix distchecking by adding the
2170         generated enum types files to DISTCLEANFILES.
2171
2172 2008-07-03  Tomas Frydrych  <tf@openedhand.com>
2173
2174         * clutter/clutter-fixed.h:
2175         * clutter/clutter-fixed.c
2176         Fixed inlining of clutter_qmulx() and clutter_qdivx() (bug 1022).
2177
2178 2008-07-03  Neil Roberts  <neil@o-hand.com>
2179
2180         * clutter/clutter-shader.c (bind_glsl_shader): Fix a cut-and-paste
2181         error which broke vertex shaders
2182
2183 2008-07-03  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
2184
2185         * clutter/cogl/common/cogl-bitmap-pixbuf.c:
2186         (_cogl_bitmap_from_file): removed debug g_printf that announces each
2187         successful image load done by the internal image backend.
2188
2189 2008-07-02  Neil Roberts  <neil@o-hand.com>
2190
2191         * clutter/clutter-actor.c
2192         (clutter_actor_get_abs_allocation_vertices): The initialization of
2193         the local stage pointer got moved away in revision 3081 so it was
2194         crashing if the function is called before the layout is run.
2195
2196 2008-07-02  Emmanuele Bassi  <ebassi@openedhand.com>
2197
2198         * clutter/clutter-label.c:
2199         (clutter_label_create_layout_no_cache),
2200         (clutter_label_create_layout): Split the layout creation in two
2201         functions: one creating the layout, the other creating the layout
2202         and hitting the glyphs cache. The first one is for the offscren
2203         operations - like requesting the preferred size; the second one
2204         is for paint and allocation.
2205
2206         (clutter_label_allocate): Try to aggressively cache the PangoLayout
2207         between allocations - to avoid recreating it even when the label
2208         just moved because of an animation. See bug #1010.
2209
2210 2008-07-02  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
2211
2212         * clutter/fruity/clutter-fruity.c: made the multi touch code more
2213         robust. There are situations though where the device seems to stop
2214         generating any touch events until all fingers have been lifted and
2215         a new interaction session is started.
2216
2217 2008-07-02  Neil Roberts  <neil@o-hand.com>
2218
2219         * clutter/eglx/clutter-stage-egl.c (clutter_stage_egl_realize):
2220         Use clutter_x11_has_event_retrieval() instead of
2221         !backend_x11->no_xevent_retrieval to reflect the changes to the
2222         GLX backend in revision 3078
2223
2224 2008-07-02  Emmanuele Bassi  <ebassi@openedhand.com>
2225
2226         Bug 1010 - ClutterLabel does not update the layout (Lee Jusung)
2227
2228         * clutter/clutter-actor.c:
2229         (clutter_actor_queue_relayout): Remove some pointer dereferencing.
2230
2231         * clutter/clutter-label.c:
2232         (clutter_label_allocate): Revert the change of r2883 and remove the
2233         layout width cache and force a recreation of the layout every time
2234         we receive an allocation.
2235
2236 2008-07-01  Neil Roberts  <neil@o-hand.com>
2237
2238         * clutter/clutter-actor.c (clutter_actor_get_transformed_sizeu):
2239         This is now do-what-I-mean like clutter_actor_get_size so that if
2240         the allocation box is available it will use that, otherwise it
2241         will use the preferred size. clutter_actor_transform_vertices has
2242         been converted to clutter_actor_transform_and_project_box so that
2243         it can be used by both functions. Based on a patch by Emmanuele
2244         Bassi.
2245         (clutter_actor_get_abs_allocation_vertices)
2246         (clutter_actor_get_allocation_vertices): These two functions now
2247         force a relayout if the allocation box is not available.
2248
2249         * tests/test-fbo.c: Fixed the shader to use texture2D instead of
2250         texture2DRect now that GL_EXT_texture_rectangle is no longer used.
2251
2252 2008-07-01  Chris Lord  <chris@openedhand.com>
2253
2254         * clutter/clutter-stage.c:
2255         Add a note to the clutter_stage_read_pixels doc that the alpha channel
2256         isn't guaranteed to contain sensible data
2257
2258         * tests/test-stage-read-pixels.c: (update_snapshot):
2259         Overwrite the alpha data when using clutter_stage_read_pixels; fixes
2260         this test on non-nvidia drivers
2261
2262 2008-07-01  Matthew Allum  <mallum@openedhand.com>
2263
2264         * clutter/glx/clutter-stage-glx.c:
2265         * clutter/x11/clutter-backend-x11.c:
2266         * clutter/x11/clutter-backend-x11.h:
2267         * clutter/x11/clutter-event-x11.c:
2268         * clutter/x11/clutter-x11.h:
2269         * tests/test-devices.c:
2270         Disable use of XInput and add an explicit clutter_x11_enable_xinput
2271         to enable it.
2272         Also fix up the x11 pre-init calls to not need g_type_init.
2273
2274 2008-07-01  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
2275
2276         Bug 1013 - Per device grabs are not obeyed in pointer device
2277                    propagation.
2278
2279         * clutter/clutter-event.c: (clutter_event_get_device_id): swap
2280         arguments of g_return_val_if_fail around.
2281         * clutter/clutter-event.h: added *device field to crossing events as
2282         well.
2283         * clutter/clutter-main.c: (emit_pointer_event): added a device
2284         argument and check for per device grabs if this device is passed.
2285         (clutter_do_event): pass the device if present for all pointer event
2286         emissions.
2287         (generate_enter_leave_events): copy the device from the motion events
2288         when generating enter/leave events.
2289
2290 2008-07-01  Chris Lord  <chris@openedhand.com>
2291
2292         * clutter/clutter-texture.c:
2293         Correct documentation about accepted pixel formats
2294
2295         * tests/test-stage-read-pixels.c: (main):
2296         Don't try to free a ClutterTexture after main, fixes segfault on quit
2297
2298 2008-07-01  Emmanuele Bassi  <ebassi@openedhand.com>
2299
2300         * clutter/clutter-behaviour-bspline.h:
2301         * clutter/clutter-behaviour.h:
2302         * clutter/clutter-event.h:
2303         * clutter/clutter-texture.h: Add missing documentation and
2304         change the copyright and licensing notice to use the FSF
2305         website instead of its address. (#512)
2306
2307 2008-06-30  Matthew Allum  <mallum@openedhand.com>
2308
2309         Bug 1008 - tfp still a bit borked
2310
2311         * clutter/x11/clutter-x11-texture-pixmap.c:
2312         Fix from Andy Wingo for sync_window borkage
2313
2314 2008-06-30  Neil Roberts  <neil@o-hand.com>
2315
2316         Bug 985 - MSC math.h / M_PI issue
2317
2318         * clutter/cogl/gl/cogl.c (set_clip_plane):
2319         * clutter/clutter-alpha.c (sinc_func): Use G_PI instead of M_PI
2320         because M_PI isn't defined in MSVC without a special
2321         #define. Thanks to Haakon Sporsheim
2322
2323 2008-06-30  Neil Roberts  <neil@o-hand.com>
2324
2325         * clutter/win32/clutter-backend-win32.c (check_vblank_env): Use
2326         g_ascii_strcasecmp instead of strcasecmp because strcasecmp isn't
2327         available in MSVC.
2328
2329 2008-06-30  Matthew Allum  <mallum@openedhand.com>
2330
2331          Bug 1007 - Fix TFP fallback mechanism
2332
2333         * clutter/glx/clutter-glx-texture-pixmap.c:
2334         * clutter/x11/clutter-x11-texture-pixmap.c:
2335         Add some extra safety to glx pixmap creations and tidy up some notes.
2336         Patch from Gwenole Beauchesne.
2337
2338 2008-06-30  Neil Roberts  <neil@o-hand.com>
2339
2340         * clutter/x11/clutter-event-x11.c:
2341         * clutter/win32/clutter-event-win32.c: Use the HAVE_CONFIG_H guard
2342         around #include "config.h"
2343
2344 2008-06-30  Emmanuele Bassi  <ebassi@openedhand.com>
2345
2346         * clutter/Makefile.am:
2347         * clutter/eglx/Makefile.am:
2348         * clutter/glx/Makefile.am: Build the X11 base backend before
2349         the backends that depend on it.
2350
2351 2008-06-30  Emmanuele Bassi  <ebassi@openedhand.com>
2352
2353         Bug 1000 - clutter-x11 should define gtypes for its enumerations
2354
2355         * clutter/x11/Makefile.am:
2356         * clutter/x11/clutter-event-x11.c:
2357         * clutter/x11/clutter-x11-enum-types.c.in:
2358         * clutter/x11/clutter-x11-enum-types.h.in:
2359         * clutter/x11/clutter-x11.h: Add the GTypes for the X11-specific
2360         enumerations, so that they can be used by the bindings. (Andy
2361         Wingo)
2362
2363 2008-06-30  Chris Lord  <chris@openedhand.com>
2364
2365         * tests/test-shader.c:
2366         Fix edge-detect shader on ATI, thanks Gwenole Beauchesne
2367
2368 2008-06-30  Matthew Allum  <mallum@openedhand.com>
2369
2370         Bug 997 - automatic updates not working for named TFP pixmaps,
2371                   at least in x11
2372
2373         * clutter/glx/clutter-glx-texture-pixmap.c:
2374         * clutter/glx/clutter-glx-texture-pixmap.h:
2375         * clutter/x11/clutter-backend-x11.c:
2376         * clutter/x11/clutter-x11-texture-pixmap.c:
2377         * clutter/x11/clutter-x11-texture-pixmap.h:
2378         * clutter/x11/clutter-x11.h:
2379         * configure.ac:
2380         * tests/test-pixmap.c:
2381         Rework Andy Wingos patch a little adding more safety for now also
2382         handling redirect Windows (as well as pixmaps)
2383
2384 2008-06-30  Emmanuele Bassi  <ebassi@openedhand.com>
2385
2386         Bug 980 - cogl-bitmap-fallback.c compiler error/warning due to
2387                   cast issue (Haakon Sporsheim)
2388
2389         * clutter/cogl/common/cogl-bitmap-fallback.c:
2390         (_cogl_unpremult_alpha_last),
2391         (_cogl_unpremult_alpha_first): Cast to avoid a compiler warning
2392         with MSC.
2393
2394 2008-06-30  Chris Lord  <chris@openedhand.com>
2395
2396         * tests/test-shader.c: (main):
2397         Add a new shader to test-shaders (Sobel operator edge-detect)
2398
2399 2008-06-30  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
2400
2401         Disable XInput handling for keyboard events, re-enabling key press and
2402         release events when pointer is outside window as well as re-enabling
2403         keyrepeat.
2404
2405         * clutter/glx/clutter-stage-glx.c: (clutter_stage_glx_realize): select
2406         for KeyPressMask and KeyReleaseMask even with XInput enabled.
2407         * clutter/x11/clutter-backend-x11.c: (_clutter_x11_register_xinput):
2408         Disabled the XInput keyboard code paths (comments and #if 0's)
2409         * clutter/x11/clutter-event-x11.c: (event_translate): always handle
2410         keyboard events without regard to XInput.
2411
2412 2008-06-29  Matthew Allum  <mallum@openedhand.com>
2413
2414         * clutter/x11/clutter-event-x11.c:
2415         ifdef convert_xdevicekey_to_xkey () with XINPUT check.
2416         (fix via Andy Wingo)
2417
2418 2008-06-29  Tommi Komulainen  <tommi.komulainen@iki.fi>
2419
2420         * clutter/osx/clutter-osx.h (_clutter_event_osx_put)
2421         * clutter/osx/clutter-event-osx.c (clutter_event_osx_translate,
2422         NSEvent:clutterStage:)
2423         * clutter/osx/clutter-stage-osx.c (EVENT_HANDLER): Since events are
2424         delivered to ClutterGLView, pass the associated ClutterStage directly
2425         to event translation. Avoids relying on being embedded in
2426         ClutterGLWindow, which makes it easier to implement clutter-gtk.
2427
2428 2008-06-29  Tommi Komulainen  <tommi.komulainen@iki.fi>
2429
2430         * clutter/osx/clutter-event.osx.c (NSEvent:clutterKeyVal:): Add
2431         comment, on OSX backend the Shift modifier is included in 'keyval'
2432         making it identical to 'unicode_value'  Instead of <Shift>a or
2433         <Shift>3 you'd get <Shift>A and <Shift>#
2434
2435 2008-06-27  Matthew Allum  <mallum@openedhand.com>
2436
2437         * clutter/cogl/gl/cogl.c:
2438         Temp workaround for 10.4 ATI card OSX folks, see #929
2439         (Tommi Komulainen)
2440
2441         Bug 998 - clutter always captures X input events
2442
2443         * clutter/eglx/clutter-stage-egl.c:
2444         * clutter/glx/clutter-stage-glx.c:
2445         When we disable X event retrival, dont still select for window
2446         events.
2447
2448 2008-06-27  Emmanuele Bassi  <ebassi@openedhand.com>
2449
2450         * clutter/clutter-event.h:
2451         * clutter/clutter-main.c:
2452         * clutter/x11/clutter-backend-x11.c: Add further documentation,
2453         and increase the coverage to 94%.
2454
2455 2008-06-27  Emmanuele Bassi  <ebassi@openedhand.com>
2456
2457         * configure.ac: Post release bump to 0.7.7.
2458
2459 ======== Release 0.7.6 ========================================================
2460
2461 2008-06-27  Emmanuele Bassi  <ebassi@openedhand.com>
2462
2463         * configure.ac:
2464         * NEWS: Release 0.7.6.
2465
2466 2008-06-27  Neil Roberts  <neil@o-hand.com>
2467
2468         Bug 993 - Underline colors are sometimes wrong
2469
2470         * clutter/pango/pangoclutter-render.c: Fixed so that instead
2471         of trying to set the color in prepare_run it uses draw_glyphs
2472         to draw groups of glyphs and requests the color for each part
2473         from Pango.
2474
2475 2008-06-26  Emmanuele Bassi  <ebassi@openedhand.com>
2476
2477         * clutter/clutter-actor.c:
2478         (clutter_actor_set_min_width),
2479         (clutter_actor_set_min_height),
2480         (clutter_actor_set_natural_width),
2481         (clutter_actor_set_natural_height): Ignore any override of the
2482         minimum and natural size of the stage on backends that only
2483         support static stages.
2484
2485         * clutter/clutter-stage.c (clutter_stage_allocate): Use the
2486         preferred size of the ClutterStage implementation instead of
2487         the display size.
2488
2489         * clutter/clutter-backend.[ch]: Remove get_display_size() and
2490         clutter_backend_get_display_size().
2491
2492         * clutter/eglnative/clutter-backend-egl.c:
2493         * clutter/fruity/clutter-backend-fruity.c:
2494         * clutter/osx/clutter-backend-osx.c:
2495         * clutter/sdl/clutter-backend-sdl.c:
2496         * clutter/win32/clutter-backend-win32.c:
2497         * clutter/x11/clutter-backend-x11.c: Remove get_display_size()
2498         implementations.
2499
2500 2008-06-26  Emmanuele Bassi  <ebassi@openedhand.com>
2501
2502         * clutter/clutter-shader.c (bind_glsl_shader): Verify that the
2503         vertex shader has been successfully compiled, like we do with
2504         the fragment shader.
2505
2506 2008-06-26  Emmanuele Bassi  <ebassi@openedhand.com>
2507
2508         * clutter/osx/clutter-backend-osx.c:
2509         (clutter_backend_osx_get_display_size): Fix the allocation pool
2510         macro name.
2511
2512 2008-06-26  Matthew Allum  <mallum@openedhand.com>
2513
2514         * clutter/glx/clutter-glx-texture-pixmap.c:
2515         Move the gl extension probe into the regular object init() rather than
2516         class_init. Should be a little safer.
2517
2518 2008-06-26  Matthew Allum  <mallum@openedhand.com>
2519
2520         * tests/test-pixmap.c: (main):
2521         Use strtol on arg as to take hex values. Tweak from James Ketrenos
2522
2523 2008-06-25  Emmanuele Bassi  <ebassi@openedhand.com>
2524
2525         * configure.ac: Post release bump to 0.7.5.
2526
2527 ======== Release 0.7.4 ========================================================
2528
2529 2008-06-25  Emmanuele Bassi  <ebassi@openedhand.com>
2530
2531         * configure.ac:
2532         * NEWS: Release 0.7.4.
2533
2534 2008-06-25  Neil Roberts  <neil@o-hand.com>
2535
2536         * clutter/win32/clutter-backend-win32.c
2537         (clutter_backend_win32_get_display_size): Implement
2538         get_display_size on the Win32 backend.
2539
2540 2008-06-25  Emmanuele Bassi  <ebassi@openedhand.com>
2541
2542         * clutter/clutter-main.h: Make the priority constants public.
2543
2544         * clutter/clutter-stage.c: Use CLUTTER_PRIORITY_REDRAW.
2545
2546         * clutter/clutter-timeline.c: Use CLUTTER_PRIORITY_TIMELINE.
2547
2548 2008-06-25  Emmanuele Bassi  <ebassi@openedhand.com>
2549
2550         * clutter/osx/clutter-backend-osx.c:
2551         (clutter_backend_osx_get_display_size),
2552         (clutter_backend_osx_class_init): Implement the get_display_size
2553         function.
2554
2555 2008-06-25  Emmanuele Bassi  <ebassi@openedhand.com>
2556
2557         * clutter/clutter-actor.c:
2558         (clutter_actor_set_min_width),
2559         (clutter_actor_set_min_height),
2560         (clutter_actor_set_natural_width),
2561         (clutter_actor_set_natural_height): Add a comment explaining
2562         the override in place for backends providing a fixed size
2563         on a stage.
2564
2565 2008-06-25  Emmanuele Bassi  <ebassi@openedhand.com>
2566
2567         * clutter/clutter-actor.c:
2568         (clutter_actor_set_min_width),
2569         (clutter_actor_set_min_height),
2570         (clutter_actor_set_natural_width),
2571         (clutter_actor_set_natural_height): If setting the minimum
2572         and natural width and height on a top-level actor, and on
2573         a backend that provides only static stages, then override
2574         the value and use the size of the display as returned by
2575         the backend.
2576
2577         * clutter/eglnative/clutter-stage-egl.c:
2578         (clutter_stage_egl_realize): Remove the setting of the
2579         minimum and natural width and height.
2580
2581 2008-06-25  Emmanuele Bassi  <ebassi@openedhand.com>
2582
2583         * clutter/clutter-stage.c:
2584         (clutter_stage_allocate): Minor optimization.
2585
2586         (clutter_stage_init): Do not set the minimum size of the
2587         stage wrapper, and require that the backends set the size
2588         themselves.
2589
2590 2008-06-25  Emmanuele Bassi  <ebassi@openedhand.com>
2591
2592         * clutter/eglnative/clutter-stage-egl.c:
2593         (clutter_stage_egl_realize): Try to force the minimum and
2594         natural size on realization.
2595
2596 2008-06-25  Emmanuele Bassi  <ebassi@openedhand.com>
2597
2598         * clutter/clutter-backend.c:
2599         (clutter_backend_get_display_size): Provide a fallback for
2600         backends not implementing get_display_size().
2601
2602         * clutter/clutter-stage.c:
2603         (clutter_stage_allocate): Add debug messages.
2604
2605         * clutter/sdl/clutter-backend-sdl.c:
2606         (clutter_backend_sdl_get_display_size),
2607         (clutter_backend_sdl_class_init): Implement get_display_size()
2608         on the SDL backend.
2609
2610 2008-06-25  Chris Lord  <chris@openedhand.com>
2611
2612         * clutter/clutter-fixed.c: (clutter_sinx):
2613         Fix clutter_sinx for angles > CFX_2PI - CFX_ONE. Also add note to
2614         documentation about being able to use modulus with ClutterFixed
2615
2616 2008-06-25  Emmanuele Bassi  <ebassi@openedhand.com>
2617
2618         * clutter/clutter-backend.h:
2619         * clutter/clutter-backend.c:
2620         (clutter_backend_get_display_size): Add a function for getting the
2621         display size out of the backend.
2622
2623         * clutter/clutter-stage.c:
2624         (clutter_stage_allocate): When allocating on a backend with a
2625         static stage, we simply ignore the passed box and override it with
2626         the size of the display.
2627
2628         * clutter/eglnative/clutter-backend-egl.c:
2629         (clutter_backend_egl_get_display_size),
2630         (clutter_backend_egl_class_init): Implement get_display_size() by
2631         returning the size of the EGL surface.
2632
2633         * clutter/fruity/clutter-backend-fruity.c:
2634         (clutter_backend_egl_get_display_size),
2635         (clutter_backend_egl_class_init): Ditto as above.
2636
2637         * clutter/x11/clutter-backend-x11.c:
2638         (clutter_backend_x11_get_display_size),
2639         (clutter_backend_x11_class_init): Implement get_display_size() by
2640         returning the DisplayWidth and DisplayHeight of the current
2641         screen.
2642
2643 2008-06-25  Neil Roberts  <neil@o-hand.com>
2644
2645         * clutter/win32/clutter-stage-win32.c
2646         (clutter_stage_win32_realize): Use a more direct method to choose
2647         the best pixel format instead of ChoosePixelFormat because
2648         otherwise if the display's depth is 16 then it will prefer the
2649         non-accelerated software implementation when the requested depth
2650         is 24.
2651
2652 2008-06-25  Emmanuele Bassi  <ebassi@openedhand.com>
2653
2654         * clutter/clutter-stage.c (clutter_stage_allocate): Fix condition;
2655         should always test before committing.
2656
2657 2008-06-25  Matthew Allum  <mallum@openedhand.com>
2658
2659         * clutter/x11/clutter-backend-x11.c: (_clutter_x11_register_xinput)
2660         Add extra safety and fallback if no useable pointing devices are
2661         found.
2662
2663 2008-06-25  Emmanuele Bassi  <ebassi@openedhand.com>
2664
2665         * clutter/clutter-stage.c:
2666         (clutter_stage_allocate): Check if the stage provided by the
2667         backend is static (i.e. a framebuffer that cannot be resized)
2668         and interrupt the allocation chain there.
2669
2670         * clutter/eglnative/clutter-stage-egl.c:
2671         (clutter_stage_egl_class_init): Remove the ::allocate empty
2672         stub.
2673
2674 2008-06-25  Matthew Allum  <mallum@openedhand.com>
2675
2676         * clutter/eglnative/clutter-stage-egl.c:
2677         * clutter/eglx/clutter-stage-egl.c:
2678         Disable passing of attribs to eglCreateContext() on GLES 1.1 h/w
2679
2680 2008-06-25  Neil Roberts  <neil@o-hand.com>
2681
2682         * clutter/clutter-actor.c (clutter_actor_paint): Guard against the
2683         actor clip being enabled or disabled in an actor paint
2684         method. Otherwise the clip stack can be become unbalanced. This
2685         was happening in ClutterEntry until it was fixed in revision 2983.
2686
2687 2008-06-24  Neil Roberts  <neil@o-hand.com>
2688
2689         Bug 979 - Wrong call convension for SwapIntervalProc in win32 backend
2690
2691         * clutter/win32/clutter-backend-win32.c: Use the correct calling
2692         convention for SwapInterval. Thanks to Haakon Sporsheim.
2693
2694 2008-06-24  Emmanuele Bassi  <ebassi@openedhand.com>
2695
2696         Bug 989 - Add a search path for clutter script assets
2697
2698         * clutter/clutter-script.h:
2699         * clutter/clutter-script.c:
2700         (clutter_script_finalize),
2701         (clutter_script_add_search_paths),
2702         (clutter_script_lookup_filename): Add the ability to define multiple
2703         search paths inside ClutterScript and to look up a specific filename
2704         inside those search paths. This is useful to define a set of
2705         directories where the assets for a UI definition are and still
2706         reference those assets by their name instead of the full path. (989,
2707         based on a patch by Matthew Allum)
2708
2709         * clutter/clutter-texture.c:
2710         (clutter_texture_set_custom_property): Use the newly added
2711         clutter_script_lookup_filename() function.
2712
2713 2008-06-24  Neil Roberts  <neil@o-hand.com>
2714
2715         * clutter/cogl/gles/cogl-gles2-wrapper.h:
2716         * clutter/cogl/gles/cogl-gles2-wrapper.c: All of the settings and
2717         uniforms are now proxied into COGL variables instead of setting
2718         the GL uniforms directly. Just before glDrawArrays is executed a
2719         shader is generated using the given settings to avoid using 'if'
2720         statements. The shaders are cached.
2721
2722         * clutter/cogl/gles/cogl-fixed-vertex-shader.glsl:
2723         * clutter/cogl/gles/cogl-fixed-fragment-shader.glsl: The shaders
2724         are now split into parts using comments instead of 'if' statements
2725         so that the simplest shader can be generated on the fly.
2726
2727         * clutter/cogl/gles/stringify.sh: Now splits up the shader sources
2728         into separate C strings where deliminated by special comments.
2729
2730         * clutter/cogl/gles/cogl-program.h:
2731         * clutter/cogl/gles/cogl-program.c: A custom shader can no longer
2732         be directly linked with the fixed-functionality replacement
2733         because the replacement changes depending on the settings. Instead
2734         the bound shader is linked with the appropriate replacement shader
2735         just before glDrawArrays is executed. The custom uniform variables
2736         must also be proxied through COGL variables because their location
2737         can change when relinked.
2738
2739 2008-06-24  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
2740
2741         * clutter/fruity/clutter-fruity.c: removed dead code and unused
2742         variables.
2743
2744 2008-06-24  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
2745
2746         * configure.ac: better alignment of list of enabled experimental
2747         features.
2748
2749 2008-06-24  Emmanuele Bassi  <ebassi@openedhand.com>
2750
2751         * doc/clutter-actor-invariants.txt: Fix grammar and spelling,
2752         document the ::parent-set signal emission.
2753
2754 2008-06-24  Emmanuele Bassi  <ebassi@openedhand.com>
2755
2756         * clutter/clutter-entry.c:
2757         (clutter_entry_ensure_layout): Convert the invisible char
2758         to UTF-8 to avoid Pango barfing on us.
2759
2760 2008-06-24  Matthew Allum  <mallum@openedhand.com>
2761
2762         * clutter/eglnative/clutter-stage-egl.c:
2763         Add an extra debug note.
2764         * configure.ac:
2765         Generate version.xml for COGL API docs
2766
2767 2008-06-24  Chris Lord  <chris@openedhand.com>
2768
2769         Bug 988 - cursor position wrong with multibyte invisible char
2770
2771         * clutter/clutter-entry.c: (clutter_entry_ensure_cursor_position):
2772         Fix cursor position calculation when using invisible text
2773
2774 2008-06-23  Emmanuele Bassi  <ebassi@openedhand.com>
2775
2776         * clutter/x11/clutter-event-x11.c (event_translate): Set the
2777         event type explicitly in the union members as well for the
2778         key events, like we do for all the other events.
2779
2780 2008-06-23  Neil Roberts  <neil@o-hand.com>
2781
2782         * clutter/clutter-entry.c (clutter_entry_paint): Set the clip
2783         using COGL directly instead of setting the actor clip. Otherwise
2784         the clip stack will be unbalanced after the first draw. This also
2785         frees up the actor clip to be set by an application.
2786
2787 2008-06-23  Matthew Allum  <mallum@openedhand.com>
2788
2789         * NEWS:
2790         Add a quick note on fruity multiple deivce support.
2791         * README:
2792         Add multiple device support details and some tweaks on
2793         Clutter requirements (i.e GdkPixbuf).
2794
2795 2008-06-23  Matthew Allum  <mallum@openedhand.com>
2796
2797         Bug 987 - clutter-event.c c99 variable declaration
2798
2799         * clutter/clutter-event.c:
2800         Remove c99ism.
2801
2802 2008-06-23  Emmanuele Bassi  <ebassi@openedhand.com>
2803
2804         * configure.ac: Post release bump to 0.7.3.
2805
2806 ======== Release 0.7.2 ========================================================
2807
2808 2008-06-23  Emmanuele Bassi  <ebassi@openedhand.com>
2809
2810         * configure.ac:
2811         * NEWS: Release 0.7.2.
2812
2813 2008-06-23  Emmanuele Bassi  <ebassi@openedhand.com>
2814
2815         * clutter/clutter-texture.c:
2816         (clutter_texture_get_preferred_width),
2817         (clutter_texture_get_preferred_height),
2818         (clutter_texture_set_property),
2819         (clutter_texture_get_property),
2820         (clutter_texture_class_init),
2821         (clutter_texture_init): Add the new :keep-aspect-ratio property
2822         to ClutterTexture; when set to TRUE the texture will return a
2823         preferred width maintaining the aspect ratio with the given height
2824         and a preferred height maintaining the aspect ratio with the
2825         given width. This allows to set the width or the height and have
2826         the texture automatically request the height or the width respectively
2827         while maintaining the aspect ratio of the original image.
2828
2829         * tests/test-script.json: Update to test the new :keep-aspect-ratio
2830         property.
2831
2832 2008-06-23  Neil Roberts  <neil@o-hand.com>
2833
2834         Bug 918 - Group doesn't clip if it's children are clipped
2835
2836         * clutter/cogl/common/cogl-clip-stack.h:
2837         * clutter/cogl/common/cogl-clip-stack.c: Added functions to
2838         maintain a stack of clipping rectangles.
2839
2840         * clutter/cogl/gles/cogl.c:
2841         * clutter/cogl/gl/cogl.c: The cogl_clip_set and unset functions
2842         have moved into cogl-clip-stack.c which calls back to cogl.c to
2843         set the actual rectangles. Multiple clip rectangles are combined
2844         by merging the stencil buffers.
2845
2846         * clutter/cogl/gles/cogl-primitives.c (_cogl_path_fill_nodes):
2847         * clutter/cogl/gl/cogl-primitives.c (_cogl_path_fill_nodes): Merge
2848         the stencil buffer with the contents of the clipping stack after
2849         drawing the path.
2850
2851         * clutter/cogl/gles/cogl-context.h (CoglContext):
2852         * clutter/cogl/gl/cogl-context.h (CoglContext): Store the number
2853         of available stencil bits.
2854
2855         * clutter/cogl/common/Makefile.am
2856         (libclutter_cogl_common_la_SOURCES): Added cogl-clip-stack.c
2857
2858 2008-06-23  Robert Bragg  <bob@o-hand.com>
2859
2860         * clutter/eglx/clutter-stage-egl.c: Makes sure the eglx backend
2861         passes the EGL_OPENGL_ES2_BIT surface attrib when using
2862         GLES2.0 under cogl
2863
2864 2008-06-23  Chris Lord  <chris@openedhand.com>
2865
2866         * clutter/x11/clutter-event-x11.c: (convert_xdevicekey_to_xkey),
2867         (translate_key_event), (event_translate):
2868         Change the xinput event handling to use translate_key (fixes modifier
2869         handling with xinput key events)
2870
2871 2008-06-23  Emmanuele Bassi  <ebassi@openedhand.com>
2872
2873         Bug 982 - __COGL_GET_CONTEXT MS compiler issue (Haakon Sporsheim)
2874
2875         * clutter/cogl/common/cogl-handle.h:
2876         * clutter/cogl/common/cogl-primitives.c: Remove C99-isms.
2877
2878         * clutter/cogl/gl/cogl-fbo.c:
2879         * clutter/cogl/gl/cogl-primitives.c:
2880         * clutter/cogl/gl/cogl-texture.c:
2881         * clutter/cogl/gl/cogl.c: Ditto as above.
2882
2883         * clutter/cogl/gles/cogl-fbo.c:
2884         * clutter/cogl/gles/cogl-primitives.c:
2885         * clutter/cogl/gles/cogl-texture.c: Ditto as above.
2886
2887 2008-06-23  Emmanuele Bassi  <ebassi@openedhand.com>
2888
2889         Bug 984 - pango_clutter_render_layout() declared void, but
2890                   returns (Haakon Sporsheim)
2891
2892         * clutter/pango/pangoclutter-render.c:
2893         (pango_clutter_render_layout): Do not use a return statement.
2894
2895 2008-06-23  Emmanuele Bassi  <ebassi@openedhand.com>
2896
2897         Bug 905 - Paint cursor directly (Xan López)
2898
2899         * clutter/clutter-entry.c:
2900         (clutter_entry_paint_cursor),
2901         (clutter_entry_init),
2902         (clutter_entry_set_color): Directly paint the cursor on the
2903         entry instead of using an actor.
2904
2905 2008-06-23  Emmanuele Bassi  <ebassi@openedhand.com>
2906
2907         Bug 981 - clutter_stage_read_pixels temprow fix (Haakon Sporsheim)
2908
2909         * clutter/clutter-stage.c (clutter_stage_read_pixels): Allocate
2910         the temporary row data used to flip the buffer from glReadPixels()
2911         in order to fix compilation under MSVC. Also validate the input
2912         parameters to avoid random segfaults.
2913
2914 2008-06-23  Matthew Allum  <mallum@openedhand.com>
2915
2916         * clutter/clutter-actor.c:
2917         * clutter/clutter-actor.h:
2918         * clutter/clutter-event.c:
2919         * clutter/clutter-event.h:
2920         * clutter/clutter-main.c:
2921         * clutter/clutter-main.h:
2922         * clutter/clutter-private.h:
2923         * clutter/eglx/clutter-stage-egl.c:
2924         * clutter/fruity/clutter-backend-fruity.c:
2925         * clutter/fruity/clutter-backend-fruity.h:
2926         * clutter/fruity/clutter-fruity.c:
2927         * clutter/glx/clutter-stage-glx.c:
2928         * clutter/x11/clutter-backend-x11.c:
2929         * clutter/x11/clutter-backend-x11.h:
2930         * clutter/x11/clutter-event-x11.c:
2931         * clutter/x11/clutter-stage-x11.h:
2932         * clutter/x11/clutter-x11.h:
2933         * configure.ac:
2934         * tests/Makefile.am:
2935         * tests/test-devices.c:
2936         Merge of 'xinput' branch giving initial basic support of
2937         multiple input devices.
2938
2939 2008-06-23  Matthew Allum  <mallum@openedhand.com>
2940
2941         * clutter/clutter-actor.c:
2942         * clutter/clutter-actor.h:
2943         * clutter/clutter-group.c:
2944         Remove uneeded (at least for now) paint_area method (#970)
2945
2946 2008-06-19  Emmanuele Bassi  <ebassi@openedhand.com>
2947
2948         * clutter/clutter-script.c: Be more explicit about the fact that
2949         the script id is not the name of an actor, and that it is retrieved
2950         by using clutter_get_script_id().
2951
2952 2008-06-17  Emmanuele Bassi  <ebassi@openedhand.com>
2953
2954         * clutter/clutter-actor.h:
2955         * clutter/clutter-actor.c:
2956         (clutter_actor_allocate_preferred_size): Add more documentation
2957         and notes on where it's appropriate to call this function.
2958
2959 2008-06-17  Chris Lord  <chris@openedhand.com>
2960
2961         * clutter/clutter-texture.c: (clutter_texture_get_preferred_width),
2962         (clutter_texture_get_preferred_height):
2963         Maintain aspect ratio with natural width/height when for_width/height
2964         are specified
2965
2966 2008-06-17  Matthew Allum  <mallum@openedhand.com>
2967
2968         * clutter/clutter-actor.c:
2969         * clutter/clutter-actor.h:
2970         Clean up of parenting code (see #972)
2971         Doc updates to section intro.
2972         Add clutter_actor_allocate_preferred_size () utility call
2973
2974         * clutter/clutter-group.c: (clutter_fixed_layout_allocate):
2975         Use clutter_actor_allocate_preferred_size ()
2976
2977         * doc/clutter-actor-invariants.txt:
2978         Add some more notes
2979
2980 2008-06-17  Emmanuele Bassi  <ebassi@openedhand.com>
2981
2982         * clutter/clutter-actor.c:
2983         (clutter_actor_set_parent): Do not emit ::parent-set when
2984         reparenting.
2985
2986         (clutter_actor_unparent): Ditto, as above.
2987
2988         (clutter_actor_reparent): Emit ::parent-set with the old
2989         parent and set the IN_REPARENT flag unconditionally.
2990
2991 2008-06-17  Emmanuele Bassi  <ebassi@openedhand.com>
2992
2993         * doc/clutter-actor-invariants.txt: Document the flags, the
2994         invariants, the state changes and the minimum requirements for
2995         actor implementations. Needs to be tweaked and fleshed out
2996         before 0.8.0, and we obviously need to enforce the invariants.
2997
2998 2008-06-17  Emmanuele Bassi  <ebassi@openedhand.com>
2999
3000         * clutter/clutter-actor.c:
3001         (clutter_actor_set_parent): Document and maintain the invariant
3002         that after setting a realized parent on an actor, the actor is
3003         also going to be realized.
3004
3005         (clutter_actor_unparent): Change the invariant that an unparented
3006         actor is also unrealized: the paint is fast enough to avoid
3007         unrealizing, since it also causes more problems that what it's
3008         worth.
3009
3010         * tests/test-invariants.c (test_show_on_set_parent): Update the
3011         invariants test because we changed the invariants.
3012
3013 2008-06-17  Jussi Kukkonen  <jku@o-hand.com>
3014
3015         * clutter/clutter-score.c (clutter_score_append):
3016         initialize "marker" string and "complete_id" signal id when creating a
3017         ClutterScoreEntry.
3018
3019 2008-06-16  Tomas Frydrych  <tf@openedhand.com>
3020
3021         * clutter/clutter-actor.c:
3022         (clutter_actor_move_anchor_point_from_gravity):
3023         Fixed incorrect sign of position adjustment (revert of earlier
3024         change).
3025
3026 2008-06-16  Emmanuele Bassi  <ebassi@openedhand.com>
3027
3028         * clutter/clutter-actor.c (clutter_actor_unparent): Reset the
3029         :show-on-set-parent property to TRUE when unparenting.
3030
3031         * tests/Makefile.am: Add test-invariant to the build.
3032
3033         * tests/test-invariants.c: Test the invariants that we are going
3034         to honour (and document, at some point).
3035
3036 2008-06-16  Emmanuele Bassi  <ebassi@openedhand.com>
3037
3038         * clutter/eglnative/clutter-stage-egl.c: Ignore any size allocation
3039         we receive from the user.
3040
3041         * clutter/fruity/clutter-stage-fruity.c: Ditto as above.
3042
3043 2008-06-16  Tomas Frydrych  <tf@openedhand.com>
3044
3045         * clutter/clutter-actor.c:
3046         (clutter_actor_move_anchor_point):
3047         (clutter_actor_move_anchor_pointu):
3048         (clutter_actor_move_anchor_point_from_gravity):
3049         Fixed incorrect sign of position adjustment.
3050         Fixed replace call to _move_by with move_byu in
3051         _move_anchor_pointu.
3052
3053         Stripped trailing whitespace.
3054
3055 2008-06-15  Emmanuele Bassi  <ebassi@openedhand.com>
3056
3057         Bug #967 - Mismatch of Timeline::marker-reached signal signature
3058
3059         * clutter/clutter-marshal.list:
3060         * clutter/clutter-timeline.c:
3061         (clutter_timeline_class_init): Fix the type of the frame_num
3062         argument in the ::marker-reached signal creation to match the
3063         signal class handler. (Armin Burgmeier)
3064
3065 2008-06-14  Emmanuele Bassi  <ebassi@openedhand.com>
3066
3067         * README: We depend on PangoCairo, now; also add all the missing
3068         release notes entries and the missing backends configuration notes.
3069
3070 2008-06-14  Matthew Allum  <mallum@openedhand.com>
3071
3072         * README:
3073         Make needed GL version 1.4, note GLES2 support, add some notes
3074         for COGL.
3075
3076 2008-06-13  Emmanuele Bassi  <ebassi@openedhand.com>
3077
3078         * configure.ac: Post release bump to 0.7.1.
3079
3080 ======== Release 0.7.0 ========================================================
3081
3082 2008-06-13  Emmanuele Bassi  <ebassi@openedhand.com>
3083
3084         * README:
3085         * NEWS:
3086         * configure.ac: Release 0.7.0, "Booska".
3087
3088 2008-06-13  Emmanuele Bassi  <ebassi@openedhand.com>
3089
3090         * tests/test-cogl-offscreen.c:
3091         * tests/test-cogl-primitives.c:
3092         * tests/test-cogl-tex-convert.c:
3093         * tests/test-cogl-tex-foreign.c:
3094         * tests/test-cogl-tex-getset.c:
3095         * tests/test-cogl-tex-tile.c:
3096         * tests/test-layout.c:
3097         * tests/test-pixmap.c:
3098         * tests/test-texture-quality.c: Miscellaneous fixes for distcheck
3099         to pass.
3100
3101 2008-06-13  Emmanuele Bassi  <ebassi@openedhand.com>
3102
3103         * clutter/clutter-actor.c:
3104         * clutter/clutter-actor.h:
3105         * tests/test-cogl-primitives.c:
3106         * tests/test-events.c:
3107         * tests/test-multistage.c:
3108         * tests/test-textures.c:
3109         * tests/test-timeline.c: Miscellaneous fixes for distcheck to
3110         pass.
3111
3112 2008-06-13  Emmanuele Bassi  <ebassi@openedhand.com>
3113
3114         * clutter/clutter-texture.c:
3115         (clutter_texture_unrealize), (clutter_texture_dispose): Add a
3116         guard against reading back memory during the unrealization on
3117         dispose.
3118
3119 2008-06-13  Emmanuele Bassi  <ebassi@openedhand.com>
3120
3121         Bug #953 - Actors are not hidden before unrealized or
3122                    disposed (Tommi Komulainen)
3123
3124         * clutter/clutter-actor.c:
3125         (clutter_actor_unrealize): Hide a visible actor when unrealizing
3126         it.
3127
3128         (clutter_actor_dispose): Make sure to unrealize an actor when
3129         disposing it.
3130
3131 2008-06-13  Emmanuele Bassi  <ebassi@openedhand.com>
3132
3133         * clutter/clutter-actor.c:
3134         (clutter_actor_dispose), (clutter_actor_destroy),
3135         (clutter_actor_unparent): Clean up the actor's destruction
3136         sequence, making sure that every operation is performed
3137         under the CLUTTER_ACTOR_IN_DESTRUCTION internal flag. (thanks
3138         to Tomas Frydrych, Neil Roberts and Matthew Allum)
3139
3140 2008-06-13  Emmanuele Bassi  <ebassi@openedhand.com>
3141
3142         Bug #960 - PangoContext creation code should not be duplicated
3143
3144         * clutter/clutter-private.h:
3145         * clutter/clutter-main.c:
3146         (_clutter_context_create_pango_context): Abstract the creation
3147         of the PangoContext inside its own function, to avoid code and
3148         bugs duplication. (Tommi Komulainen)
3149
3150         * clutter/clutter-entry.c (clutter_entry_init): Use the newly
3151         added PangoContext creation function.
3152
3153         * clutter/clutter-label.c (clutter_label_init): Ditto as above.
3154
3155 2008-06-12  Emmanuele Bassi  <ebassi@openedhand.com>
3156
3157         Bug #964 - "unrealized" signal of ClutterActor wrongly named
3158
3159         * clutter/clutter-actor.c (clutter_actor_class_init): Fix typo
3160         in the ::unrealize signal name. (Armin Burgmeier)
3161
3162 2008-06-12  Emmanuele Bassi  <ebassi@openedhand.com>
3163
3164         * doc/reference/cogl/Makefile.am: Ignore cogl/gl and cogl/gles
3165         when building the documentation.
3166
3167         * clutter/cogl/cogl.h.in: Add sections in the header file.
3168
3169 2008-06-12  Emmanuele Bassi  <ebassi@openedhand.com>
3170
3171         * clutter/clutter-actor.c: Add more clarifications on the
3172         size and position accessors and the distinction between
3173         transformed and untransformed actor box inside the actor's
3174         description.
3175
3176 2008-06-12  Emmanuele Bassi  <ebassi@openedhand.com>
3177
3178         * clutter/clutter-actor.c: Clarify the documentation of the
3179         accessors of the width and height.
3180
3181 2008-06-12  Neil Roberts  <neil@o-hand.com>
3182
3183         * clutter/win32/clutter-stage-win32.c: Updated to the new layout
3184         API. All code to do with positioning the stage has been removed so
3185         the window is left where Windows wants to put it and it can not be
3186         moved with clutter_actor_set_position.
3187
3188         * clutter/win32/clutter-stage-win32.h (ClutterStageWin32): Remove
3189         win_xpos and win_ypos.
3190
3191         * clutter/win32/clutter-event-win32.c (message_translate): Remove
3192         the handler for WM_MOVE because the stage no longer cares where it
3193         is positioned.
3194
3195 2008-06-12  Emmanuele Bassi  <ebassi@openedhand.com>
3196
3197         * clutter/clutter-actor.[ch]: Documentation fixes.
3198
3199         * clutter/clutter-backend.c: Documentation fixes.
3200
3201         * clutter/clutter-container.h: Documentation fixes.
3202
3203         * clutter/clutter-fixed.c (clutter_qdivx): Fix the return
3204         value to be after the description.
3205
3206         * clutter/clutter-texture.[ch]: Documentation fixes.
3207
3208         * clutter/clutter-timeline.c: Documentation fixes.
3209
3210 2008-06-11  Emmanuele Bassi  <ebassi@openedhand.com>
3211
3212         * tests/test-layout.c: Take into account the origin of the
3213         parent, if it has changed, and queue a relayout if we are
3214         using the transformed box when computing the layout.
3215
3216 2008-06-11  Emmanuele Bassi  <ebassi@openedhand.com>
3217
3218         * clutter/eglnative/clutter-stage-egl.c: Remove a duplicate
3219         get_preferred_width() implementation. (thanks to Iain Holmes)
3220
3221 2008-06-11  Neil Roberts  <neil@o-hand.com>
3222
3223         * clutter/clutter-actor.c (clutter_actor_allocate): Fixed the
3224         logic when detecting whether the actor has moved.
3225
3226 2008-06-11  Iain Holmes  <iain@openedhand.com>
3227
3228         * configure.ac: Detect the GL headers in flavour=fruity
3229
3230         * clutter/fruity/clutter-stage-fruity.c: Update the Fruity backend to
3231         use the new size negotiation API.
3232
3233 2008-06-11  Emmanuele Bassi  <ebassi@openedhand.com>
3234
3235         * clutter/clutter-label.c (clutter_label_allocate): Keep the
3236         layout if the size of the allocation is the same as the last
3237         allocation received by the label.
3238
3239 2008-06-11  Emmanuele Bassi  <ebassi@openedhand.com>
3240
3241         * clutter/clutter-actor.c: Notify :x, :y, :width and :height
3242         properties using ClutterUnits, not pixels.
3243
3244 2008-06-11  Emmanuele Bassi  <ebassi@openedhand.com>
3245
3246         * clutter/eglnative/clutter-stage-egl.c: Update the EGL native
3247         backend to use the new size negotiation API.
3248
3249 2008-06-11  Emmanuele Bassi  <ebassi@openedhand.com>
3250
3251         * clutter/sdl/clutter-stage-sdl.c: Update the SDL backend to
3252         use the new size negotiation API.
3253
3254 2008-06-11  Emmanuele Bassi  <ebassi@openedhand.com>
3255
3256         Bug #961 - Fails to build on OSX
3257
3258         * clutter/osx/clutter-stage-osx.c: Update the OSX backend to
3259         use the new size negotiation API.
3260
3261 2008-06-11  Emmanuele Bassi  <ebassi@openedhand.com>
3262
3263         * autogen.sh: Force overwriting when glib-gettextize is
3264         invoked by autogen.sh.
3265
3266 2008-06-10  Neil Roberts  <neil@o-hand.com>
3267
3268         * clutter/clutter-main.c: Include <locale.h> for setlocale()
3269
3270 2008-06-10  Emmanuele Bassi  <ebassi@openedhand.com>
3271
3272         * clutter/clutter-child-meta.c: Fix section name
3273
3274         * clutter/clutter-container.c:
3275         (clutter_container_child_set_property),
3276         (clutter_container_child_get_property): Fix gtk-doc parameter
3277         name.
3278
3279         * clutter/clutter-container.h: Fix documentation of the
3280         interface vfuncs.
3281
3282         * clutter/clutter-event.h: Fix documentation.
3283
3284         * clutter/clutter-feature.h: Fix documentation.
3285
3286         * clutter/clutter-types.h: Add ClutterRequestMode.
3287
3288         * clutter/x11/clutter-event-x11.c: Fix documentation.
3289
3290         * tests/test-fullscreen.c: Verify that the stage size has been
3291         changed by clutter_stage_fullscreen().
3292
3293 2008-06-10  Emmanuele Bassi  <ebassi@openedhand.com>
3294
3295         Bug #815 - Split up request, allocation, and paint box
3296
3297         * clutter/clutter-actor.[ch]: Rework the size allocation,
3298         request and paint area. Now ::request_coords() is called
3299         ::allocate(), and ::query_coords() has been split into
3300         ::get_preferred_width() and ::get_preferred_height(). See
3301         the documentation and the layout test on how to implement
3302         a container and layout manager with the new API. (#915,
3303         based on a patch by Havoc Pennington, Lucas Rocha and Johan
3304         Bilien)
3305
3306         * clutter/clutter-clone-texture.c: Port CloneTexture to
3307         the new size negotiation API; it just means forwarding
3308         the requests to the parent texture.
3309
3310         * clutter/clutter-deprecated.h: Add deprecated and replaced
3311         API.
3312
3313         * clutter/clutter-entry.c: Port Entry to the new size
3314         negotiation API.
3315
3316         * clutter/clutter-group.c: Port Group to the new size
3317         negotiation API; the semantics of the Group actor do not
3318         change.
3319
3320         * clutter/clutter-label.c: Port Label to the new size
3321         negotiation API, and vastly simplify the code.
3322
3323         * clutter/clutter-main.[ch]: Add API for executing a
3324         relayout when needed.
3325
3326         * clutter/clutter-private.h: Add new Stage private API.
3327
3328         * clutter/clutter-rectangle.c: Update the get_abs_opacity()
3329         call to get_paint_opacity().
3330
3331         * clutter/clutter-stage.c:
3332         (clutter_stage_get_preferred_width),
3333         (clutter_stage_get_preferred_height),
3334         (clutter_stage_allocate),
3335         (clutter_stage_class_init): Port Stage to the new size
3336         negotiation API.
3337
3338         * clutter/clutter-texture.c: Port Texture to the new size
3339         negotiation API.
3340
3341         * clutter/clutter-types.h: Add ClutterRequestMode enumeration.
3342
3343         * clutter/x11/clutter-stage-x11.c: Port the X11 stage
3344         implementation to the new size negotiation API.
3345
3346         * tests/Makefile.am: Add the layout manager test case.
3347
3348         * tests/test-opacity.c: Update.
3349
3350         * tests/test-project.c: Update.
3351
3352         * tests/test-layout.c: Test case for a layout manager implemented
3353         using the new size negotiation API; the layout manager handles
3354         both transformed and untransformed children.
3355
3356 2008-06-10  Emmanuele Bassi  <ebassi@openedhand.com>
3357
3358         * Makefile.am: Add the po/ directory to the build.
3359
3360 2008-06-10  Emmanuele Bassi  <ebassi@openedhand.com>
3361
3362         * autogen.sh: Check for, and run glib-gettextize.
3363
3364         * configure.ac: Set up the localization support.
3365
3366         * clutter/clutter-main.c: Do not define the GETTEXT_PACKAGE,
3367         but use the one from the configure script.
3368
3369         * po/POTFILES.in: Template for the translatable files.
3370
3371 2008-06-10  Chris Lord  <chris@openedhand.com>
3372
3373         * clutter/clutter-main.c: (pre_parse_hook):
3374         Call setlocale on init
3375
3376         * clutter/x11/clutter-event-x11.c: (translate_key_event):
3377         Fix typo and use the same buffer size as xev
3378
3379 2008-06-10  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
3380
3381         * clutter/clutter-texture.c: improved documentation for
3382         clutter_texture_set_filter_quality.
3383
3384 2008-06-10  Chris Lord  <chris@openedhand.com>
3385
3386         Bug #916 - ClutterKeyEvent:unicode_value is ignored
3387         Bug #950 - AltGr not handled
3388
3389         * clutter/osx/clutter-event-osx.c: (clutter_event_osx_translate):
3390         * clutter/x11/clutter-event-x11.c: (translate_key_event):
3391         * tests/test-events.c: (fill_keybuf), (input_cb):
3392         Apply patch from Tommi Komulainen, fill the unicode_value attribute of
3393         the ClutterKeyEvent struct. Also use XKeycodeToKeysym, as suggested in
3394         bug #950, comment #2
3395
3396 2008-06-10  Matthew Allum  <mallum@openedhand.com>
3397
3398         * clutter/clutter-texture.c:
3399         Minor reformatting cleanups. Emit filter-quality prop on change.
3400         * clutter/glx/clutter-glx-texture-pixmap.c:
3401         Support mipmaps via filter quality prop.
3402
3403 2008-06-10  Chris Lord  <chris@openedhand.com>
3404
3405         * tests/Makefile.am:
3406         * tests/test-entry-auto.c:
3407         Add automatic test for ClutterEntry, by Tommi Komulainen
3408
3409 2008-06-10  Chris Lord  <chris@openedhand.com>
3410
3411         * clutter/cogl/common/cogl-primitives.c: (_cogl_path_arc):
3412         Draw as expected when end angle is lower than start angle (i.e. do not
3413         swap the angles). This aligns with cairo behaviour.
3414
3415 2008-06-10  Tommi Komulainen  <tommi.komulainen@iki.fi>
3416
3417         Bug#959 - Multiple minor improvements
3418
3419         * configure.ac: pick up GDKPIXBUF_PREFIX from gdk-pixbuf-2.0
3420         module, not pango
3421
3422         * clutter/clutter-keysyms-table.h: cosmetic fix for ifdef guard
3423         name in the comment (leftover from earlier commit)
3424
3425         * tests/test-textures.c: don't depend on GdkPixbuf as we're not
3426         using any actual features from it, just plain pixel buffer
3427         manipulation
3428
3429         * clutter/clutter-timeline.c
3430         * clutter/clutter-timeline.h (clutter_timeline_list_markers): Use
3431         gsize* to return number of items, not guint*
3432         * tests/test-paint-wrapper.c: use correct type (guint*) in call
3433         to clutter_actor_get_size()
3434
3435         * tests/test-depth.c (janus_group): properly take height2 into
3436         account when calculating needed height for the rectangle
3437
3438         * tests/test-cogl-tex-getset.c: use rowstride, not width*4, when
3439         calculating pixel offsets
3440
3441         * tests/test-cogl-tex-getset.c: Don't assume/force RGBA format,
3442         also support ARGB format (needed with quartz imageloader.)
3443
3444 2008-06-09  Tommi Komulainen  <tommi.komulainen@iki.fi>
3445
3446         * clutter/osx/clutter-backend-osx.c (clutter_backend_osx_post_parse):
3447         Print GL_VENDOR, GL_RENDERER, GL_VERSION and GL_EXTENSIONS to aid
3448         debugging.
3449
3450 2008-06-09  Tommi Komulainen  <tommi.komulainen@iki.fi>
3451
3452         Bug #930 - add support for quartz imagebackend
3453
3454         * clutter/cogl/common/cogl-bitmap-pixbuf.c
3455         (_cogl_bitmap_from_file): When USE_QUARTZ is defined implement
3456         using Core Graphics.
3457         * configure.ac: support --with-imagebackend=quartz and print
3458         which imagebackend is selected. Make quartz default on OSX
3459
3460 2008-06-09  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
3461
3462         * clutter/cogl/common/cogl-primitives.c: (cogl_path_rel_curve_to):
3463         fixed naming of implementation of cogl_path_rel_curve_to (it was
3464         called just cogl_rel_curve_to).
3465
3466 2008-06-09  Emmanuele Bassi  <ebassi@openedhand.com>
3467
3468         * configure.ac: Clean up a bit the X11 and X extensions
3469         checks with PKG_CHECK_EXISTS(). Since we are filling up the
3470         X11_CFLAGS and X11_LIBS variables ourselves there is no
3471         point in polluting the Makefiles with unused variables.
3472
3473         * clutter/Makefile.am: Remove the pkg-config variable
3474         evaluation and use the values retrieved from the configure
3475         script.
3476
3477 2008-06-09  Chris Lord  <chris@openedhand.com>
3478
3479         Bug #914 - ClutterEntry is confused about characters vs. bytes
3480
3481         * clutter/clutter-entry.c: (clutter_entry_ensure_layout),
3482         (clutter_entry_handle_key_event_internal),
3483         (clutter_entry_set_text):
3484         Fix mix-up of character and byte counts, handle unicode correctly.
3485         Use clutter_key_event_unicode() instead of
3486         clutter_keysym_to_unicode().
3487
3488         * clutter/clutter-event.c: (clutter_key_event_unicode):
3489         Don't ignore ClutterKeyEvent.unicode_value
3490
3491         * clutter/clutter-keysyms-table.h:
3492         Rename header define so as not to conflict with clutter-keysyms.h
3493
3494         Patch originally by Emmanuele Bassi, with input from Tommi Komulainen.
3495
3496 2008-06-07  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
3497
3498         * clutter/clutter-texture.c: made the filter-quality proeprty also
3499         control the use of mipmapping.
3500         * clutter/clutter-texture.h: added ClutterTextureQuality enum.
3501         * tests/test-texture-quality.c: new test.
3502         * tests/Makefile.am: added test-texture-quality
3503
3504 2008-06-06  Emmanuele Bassi  <ebassi@openedhand.com>
3505
3506         * clutter/clutter-texture.c:
3507         (clutter_texture_class_init): Do not unrealize on hide(), and
3508         do not realize() on show. By default, clutter_actor_show() will
3509         realize ourselves, and we don't want to unrealize when hidden
3510         to avoid paying the penalty of reading back the texture data
3511         from the video memory.
3512
3513         * tests/test-actors.c: Show all textures again when pressing
3514         the 'r' key.
3515
3516 2008-06-06  Neil Roberts  <neil@o-hand.com>
3517
3518         * tests/test-shader.c: Use the special wrapper vars when building
3519         for GLES 2 and automatically cycle the shaders because it's
3520         difficult to right-click.
3521
3522 2008-06-06  Neil Roberts  <neil@o-hand.com>
3523
3524         * tests/test-shader.c: Fixed to use sampler2D instead of
3525         sampler2DRect now that GL_TEXTURE_RECTANGLE support is disabled in
3526         revision 2834. The ClutterTexture actor now has the
3527         'disable-slicing' property set. The distance in texture
3528         coordinates between pixels is passed in as a uniform so that the
3529         box-blur shader can still work.
3530
3531 2008-06-06  Emmanuele Bassi  <ebassi@openedhand.com>
3532
3533         Bug #952 - Fix test-textures in trunk
3534
3535         * tests/test-textures.c: Use USE_GDKPIXBUF instead of
3536         USE_PIXBUF. (#952, Gwenole Beauchesne)
3537
3538 2008-06-06  Emmanuele Bassi  <ebassi@openedhand.com>
3539
3540         Bug #951 - Fix clutter_entry_init() in trunk
3541
3542         * clutter/clutter-entry.c (clutter_entry_init): Remove a
3543         variable shadowing another one. (#951, Tommi Komulainen)
3544
3545 2008-06-06  Emmanuele Bassi  <ebassi@openedhand.com>
3546
3547         Bug #955 - ClutterLabel is missing fallback resolution handling
3548
3549         * clutter/clutter-label.c (clutter_label_init): Handle
3550         clutter_backend_get_resolution() return value -1 similar to
3551         ClutterEntry (falling back to 96.0). (#955, Tommi Komulainen)
3552
3553 2008-06-06  Neil Roberts  <neil@o-hand.com>
3554
3555         * clutter/eglnative/clutter-stage-egl.c
3556         (clutter_stage_egl_realize): Use ES 2 renderable type when
3557         building for GLES 2.
3558
3559         * clutter/eglnative/clutter-event-egl.c (get_backend_time): Added
3560         a NULL for the microseconds parameter of g_timer_elapsed.
3561
3562         * clutter/eglnative/clutter-stage-egl.h:
3563         * clutter/eglnative/clutter-egl.h:
3564         * clutter/eglnative/clutter-backend-egl.h: Include
3565         clutter-egl-headers.h instead of including the GL headers directly
3566         so it can include gl2.h when building for GLES 2.
3567
3568         * clutter/eglnative/clutter-egl-headers.h:
3569         * clutter/eglnative/Makefile.am (libclutter_eglnative_la_SOURCES):
3570         Added clutter-egl-headers.h
3571
3572         * clutter/cogl/gles/cogl-fixed-fragment-shader.glsl: GLES 2
3573         doesn't provide a default precision for floats in the fragment
3574         shader and it will reject the shader if there isn't one.
3575
3576 2008-06-06  Matthew Allum  <mallum@openedhand.com>
3577
3578         Bug #948 - Remove texture rectangle support
3579
3580         * clutter/clutter-feature.c:
3581         * clutter/clutter-feature.h:
3582         * clutter/clutter-texture.c:
3583         * clutter/cogl/gl/cogl.c:
3584         * clutter/glx/clutter-glx-texture-pixmap.c:
3585         Remove support for GL_TEXTURE_RECTANGLE_ARB (now using just regular
3586         2D textures, with optional npots extension). Simplifys code, + makes
3587         mipmap & shader support much more sane.
3588
3589 2008-06-06  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
3590
3591         Bug #931 - suspicious size allocation for pixel data.
3592
3593         * clutter/cogl/common/cogl-bitmap-pixbuf.c:
3594         (_cogl_bitmap_from_file): allocate height×rowstride and not duplicate
3595         gdkpixbuf's strange optimization saving some bytes at the end of the
3596         pixbuf.
3597
3598 2008-06-05  Tommi Komulainen  <tommi.komulainen@iki.fi>
3599
3600         Bug 913 - cogl fails to build on OSX
3601
3602         * clutter/cogl/gl/cogl-fbo.c: define GL_READ_FRAMEBUFFER_EXT and
3603         GL_DRAW_FRAMEBUFFER_EXT if not defined in the build system. The
3604         #ifdef can fail if they're not #defines but variables or enums.
3605         As the values are supposed to be industry standard even then
3606         it shouldn't have ill effects.
3607
3608 2008-06-05  Tommi Komulainen  <tommi.komulainen@iki.fi>
3609
3610         Bug #911 - OSX: add multistage support
3611
3612         * clutter/osx/clutter-backend-osx.{c,h}
3613         (clutter_backend_osx_init_stage, clutter_backend_osx_get_stage,
3614         clutter_backend_osx_redraw, clutter_backend_osx_create_stage,
3615         clutter_backend_osx_ensure_context, clutter_backend_osx_class_init,
3616         clutter_backend_osx_dispose, ClutterGLView:drawRect:):
3617         * clutter/osx/clutter-stage-osx.{c,h} (clutter_stage_osx_realize,
3618         ClutterGLWindow:setFrameSize:):
3619         Adapt to new multistage backend API. Don't keep a pointer to
3620         default stage. Derive from ClutterActor instead of ClutterStage.
3621         Implement ClutterStageWindow interface. Paint, resize and
3622         otherwise manipulate the wrapper rather than self when necessary.
3623
3624         (clutter_backend_post_parse): Create our singleton GL context
3625         here. We could probably create the context when the default
3626         stage is created, but I think this is more clean.
3627
3628         * clutter/osx/clutter-event-osx.c (clutter_event_osx_translate)
3629         * clutter/osx/clutter-stage-osx.c (clutter_stage_osx_state_update,
3630         ClutterGLWindow:windowShouldClose:):
3631         * clutter/osx/clutter-stage-osx.h: Export ClutterGLWindow interface
3632         for clutter-event-osx.c to easily get the stage for NSWindow.
3633         Fill in ClutterEventAny::stage on our events.
3634
3635 2008-06-05  Tommi Komulainen  <tommi.komulainen@iki.fi>
3636
3637         Bug #910 - OSX: missing memory pool
3638
3639         * clutter/osx/clutter-backend-osx.c (clutter_backend_osx_redraw):
3640         Add missing memory pool wrapup.
3641
3642 2008-06-05  Tommi Komulainen  <tommi.komulainen@iki.fi>
3643
3644         Bug #909 - OSX: missing NULL pointer handling
3645
3646         * clutter/osx/clutter-stage-osx.c (ClutterGLWindow,
3647         clutter_stage_osx_set_title): NSString:stringWithUTF8String:
3648         does not accept NULL values, use empty string ("") instead.
3649         Avoids potential crash.
3650
3651 2008-06-05  Emmanuele Bassi  <ebassi@openedhand.com>
3652
3653         * tests/Makefile.am:
3654         * tests/test-paint-wrapper.c: Add a test case (merely, a copy
3655         of test-actors.c) that verifies that handlers to the ::paint
3656         signal are called in the right order.
3657
3658 2008-06-05  Emmanuele Bassi  <ebassi@openedhand.com>
3659
3660         Bug #840 - Implement prepare-paint and finish-paint signals.
3661
3662         * clutter/clutter-actor.c:
3663         (clutter_actor_class_init): Add the ::paint, ::realize and
3664         ::unrealize signals to ClutterActor. It is possible to
3665         override the paint, realization and unrealization of an
3666         actor without subclassing it. The ::paint signal handlers
3667         have the same limitations of a ClutterActor::paint implementation
3668         inside a subclass.
3669
3670         (clutter_actor_realize),
3671         (clutter_actor_unrealize),
3672         (clutter_actor_paint): Emit the signals instead of calling
3673         the functions from the class vtable.
3674
3675 2008-06-05  Emmanuele Bassi  <ebassi@openedhand.com>
3676
3677         * ChangeLog-ivan: Remove the ChangeLog of the clutter-ivan
3678         branch; the branch already contains it.
3679
3680 2008-06-05  Matthew Allum  <mallum@openedhand.com>
3681
3682         * clutter/glx/clutter-glx-texture-pixmap.h:
3683         Actually export clutter_glx_texture_pixmap_using_extension ()
3684
3685 2008-06-05  Chris Lord  <chris@openedhand.com>
3686
3687         * clutter/clutter-entry.c:
3688         Correct the documentation for clutter_entry_set_max_length, fixes bug
3689         #915.
3690
3691 2008-06-04  Robert Bragg  <bob@o-hand.com>
3692
3693         * tests/test-clip.c:
3694         Removes a spurious #include <gdk-pixbuf/gdk-pixbuf.h> which may not
3695         be found if using --with-imagebackend=internal
3696
3697 2008-06-04  Robert Bragg  <bob@o-hand.com>
3698
3699         * configure.ac:
3700         Checks that for pangocairo >= 1.18, since
3701         pangocairo-font.c uses pango_cairo_font_get_scaled_font which isn't
3702         otherwise available.
3703
3704 2008-06-03  Neil Roberts  <neil@o-hand.com>
3705
3706         Applied patch from bug #947
3707
3708         * clutter/clutter-stage.c (clutter_stage_get_default): Don't grab
3709         the floating reference when creating the default stage. The stage
3710         manager will take a reference to it so it will behave as any other
3711         stage.
3712         (clutter_stage_new): Don't take the floating reference to the new
3713         stage but let the stage manager keep it instead.
3714
3715         * clutter/clutter-stage-manager.c
3716         (_clutter_stage_manager_add_stage): Take a reference to the stage
3717         when it is added to the list.
3718         (_clutter_stage_manager_remove_stage): Unref the stage when it is
3719         removed from the list.
3720         (clutter_stage_manager_dispose): Keep track of the 'next' pointer
3721         as a separate variable so we can cope when the stage being
3722         destroyed removes itself from the list as the list is being
3723         iterated.
3724
3725         * clutter/clutter-actor.c (clutter_actor_destroy): Take a
3726         reference at the beginning of the function even if there is no
3727         parent container so that overall the reference count is not
3728         changed when the actor is unref'd again at the bottom of the
3729         function. Previously it would have a net effect of leaving the
3730         reference count alone unless it is a top level actor in which case
3731         it would unref it.
3732
3733 2008-06-03  Matthew Allum  <mallum@openedhand.com>
3734
3735         * clutter/glx/clutter-glx-texture-pixmap.c:
3736         Dont always fallback to x11 (slow) updates for a single
3737         failed pixmap.
3738         Minor cleanups.
3739         * clutter/x11/clutter-x11-texture-pixmap.c:
3740         Move shm allocation to only area updates.
3741
3742 2008-06-03  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
3743
3744         * clutter/clutter-container.c: (container_get_child_property):
3745         s/g_object_set_property/g_object_get_property/
3746
3747 2008-06-02  Neil Roberts  <neil@o-hand.com>
3748
3749         * clutter/pango/pangoclutter-glyph-cache.c
3750         (pango_clutter_glyph_cache_set): When creating a new band, make
3751         sure the texture is wide enough for the glyph, not just tall
3752         enough.
3753
3754 2008-06-02  Neil Roberts  <neil@o-hand.com>
3755
3756         Applied 'final patch' from bug #874
3757
3758         * clutter/cogl/gles/cogl.c:
3759         * clutter/cogl/gl/cogl.c: The clip planes are now set using the
3760         inverse projection matrix as the modelview matrix so that they can
3761         be specified in screen coordinates.
3762
3763         * clutter/cogl/gles/cogl-context.h (CoglContext):
3764         * clutter/cogl/gl/cogl-context.h (CoglContext): Added a member to
3765         cache the inverse projection matrix
3766
3767         * clutter/clutter-fixed.h: Added a constant for converting from
3768         radians to degrees.
3769
3770         * clutter/clutter-fixed.c (clutter_atani, clutter_atan2i): Added
3771         fixed-point versions of atan and atan2.
3772
3773         * tests/test-clip.c: Added a test for clipping with various
3774         rotations and depths.
3775
3776         * tests/Makefile.am (noinst_PROGRAMS): Added test-clip
3777
3778 2008-06-02  Neil Roberts  <neil@o-hand.com>
3779
3780         * clutter/cogl/gles/cogl-gles2-wrapper.h: The uniform numbers are
3781         now stored in a separate struct so they can be stored for
3782         application program objects as well.
3783
3784         * clutter/cogl/gles/cogl.c: Moved stub shader functions into
3785         separate files.
3786         (_cogl_features_init): Report support for the shaders feature on
3787         GLES 2
3788
3789         * clutter/cogl/gles/cogl-shader.h:
3790         * clutter/cogl/gles/cogl-shader.c:
3791         * clutter/cogl/gles/cogl-program.h:
3792         * clutter/cogl/gles/cogl-program.c: Separate files to handle
3793         shaders on programs on GLES. If version 1.1 is being used then the
3794         stub functions which all fail are still used.
3795
3796         * clutter/cogl/gles/cogl-gles2-wrapper.c
3797         (cogl_gles2_wrapper_init, cogl_gles2_wrapper_bind_attributes),
3798         (cogl_gles2_wrapper_get_uniforms): Move the uniforms and attribute
3799         bindings into a separate function so they can be used to bind on
3800         application shaders as well.
3801         (cogl_gles2_wrapper_update_matrix): Now takes a parameter and is
3802         no longer static so that it can be used to update all of the
3803         matrices when a new shader is bound.
3804
3805         * clutter/cogl/gles/cogl-defines.h.in: Use GL_COMPILE_STATUS for
3806         CGL_OBJECT_COMPILE_STATUS if the latter isn't available (for
3807         example on GLES 2).
3808
3809         * clutter/cogl/gles/cogl-context.h (CoglContext): Added handle
3810         arrays for programs and shaders.
3811
3812         * clutter/cogl/gles/cogl-context.c (cogl_create_context)
3813         (cogl_destroy_context): Initialize and destroy program and shader
3814         handle array.
3815
3816         * clutter/cogl/gles/Makefile.am (libclutter_cogl_la_SOURCES): Add
3817         cogl-{shader,program}.{c,h}
3818
3819 2008-06-02  Neil Roberts  <neil@o-hand.com>
3820
3821         * clutter/cogl/gl/cogl-context.c (cogl_destroy_context): Fix
3822         cut-and-paste error where the wrong arrays were being freed.
3823
3824 2008-06-01  Emmanuele Bassi  <ebassi@openedhand.com>
3825
3826         Merge from clutter-0-6:
3827
3828         * clutter/clutter-model.c:
3829         (clutter_model_iter_set_internal_valist): Add an internal function
3830         wrapping ClutterModelIter::set_value that does not emit the
3831         ::row-changed signal. Emitting this signal before the ::row-added
3832         one is wrong: a row cannot change before being inserted.
3833
3834         (clutter_model_append), (clutter_model_prepend),
3835         (clutter_model_insert): Use the non-signal emitting variant of
3836         clutter_model_iter_set_valist().
3837
3838         (clutter_model_iter_set_valist): Use the internal version and emit
3839         the ::row-changed signal at the end.
3840
3841 2008-05-31  Emmanuele Bassi  <ebassi@openedhand.com>
3842
3843         Bug #943 - Signals are only emitted within a certain area of
3844                    the stage
3845
3846         * clutter/clutter-main.c (clutter_do_event): Use the proper
3847         API and not the macros for the default stage, in case we are
3848         using a backend supporting multiple stages. (Julian Aron Prenner)
3849
3850 2008-05-30  Emmanuele Bassi  <ebassi@openedhand.com>
3851
3852         * clutter/pango/pangoclutter-fontmap.c:
3853         * clutter/pango/pangoclutter-renderer.c:
3854         * clutter/pango/pangoclutter.h
3855         * clutter/pango/pangoclutter-private.h: Add a function retrieving
3856         the font mipmapping setting.
3857
3858 2008-05-29  Neil Roberts  <neil@o-hand.com>
3859
3860         * clutter/cogl/gles/cogl-gles2-wrapper.h (CoglGles2Wrapper): Added
3861         uniforms for alpha testing.
3862
3863         * clutter/cogl/gles/cogl-gles2-wrapper.c
3864         (cogl_gles2_wrapper_init): Get the uniforms for alpha testing
3865         settings.
3866         (cogl_wrap_glEnable, cogl_wrap_glDisable): Enable/disable alpha
3867         testing.
3868         (cogl_wrap_glAlphaFunc): Filled in the wrapper.
3869
3870         * clutter/cogl/gles/cogl-fixed-fragment-shader.glsl: Added alpha
3871         testing.
3872
3873         * clutter/cogl/gles/cogl-gles2-wrapper.h:
3874         * clutter/cogl/gles/cogl-gles2-wrapper.c
3875         (cogl_wrap_glGetIntegerv): Added a wrapper for glGetIntegerv so
3876         that it can report zero clip planes.
3877
3878         * clutter/cogl/gles/cogl.c:
3879         * clutter/cogl/gles/cogl-texture.c: Use the wrapped version of
3880         glGetIntegerv
3881
3882         * clutter/cogl/gles/cogl-primitives.c (_cogl_path_fill_nodes): Use
3883         _cogl_features_available to check for the stencil buffer instead
3884         of an #ifdef. The stencil buffer is available in the default
3885         profile for the GLES 2 simulator.
3886
3887 2008-05-29  Emmanuele Bassi  <ebassi@openedhand.com>
3888
3889         * configure.ac: Check the --with switches as soon as we have them,
3890         to avoid further checks that will fail anyway.
3891
3892 2008-05-29  Emmanuele Bassi  <ebassi@openedhand.com>
3893
3894         * README: Update the configure arguments list.
3895
3896 2008-05-28  Neil Roberts  <neil@o-hand.com>
3897
3898         * clutter/cogl/gles/cogl-gles2-wrapper.c
3899         (cogl_gles2_wrapper_init): Get uniforms for fog parameters and
3900         initialise them.
3901         (cogl_wrap_glDrawArrays): Store the modelview matrix in a uniform
3902         as well so that it can be used for fogging calculations.
3903         (cogl_wrap_glEnable, cogl_wrap_glDisable): Enable/disable fogging.
3904         (cogl_wrap_glFogx, cogl_wrap_glFogxv): Fill in wrapper to set
3905         fogging parameters.
3906
3907         * clutter/cogl/gles/cogl-fixed-vertex-shader.glsl: Calculate the
3908         fog amount if fogging is enabled.
3909
3910         * clutter/cogl/gles/cogl-fixed-fragment-shader.glsl: Mix with fog
3911         color.
3912
3913         * clutter/cogl/gles/cogl-gles2-wrapper.h (CoglGles2Wrapper): Add
3914         uniforms for fogging.
3915
3916 2008-05-28  Emmanuele Bassi  <ebassi@openedhand.com>
3917
3918         * clutter/pango/pangoclutter-font.c: Remove unneeded file.
3919
3920         * tests/Makefile.am:
3921         * tests/test-random-text.c: Add a test for checking the
3922         glyph cache.
3923
3924 2008-05-28  Emmanuele Bassi  <ebassi@openedhand.com>
3925
3926         Bug #919 - Replacement pango renderer (Neil Roberts)
3927
3928         * clutter/clutter-backend.h:
3929         * clutter/clutter-backend.c:
3930         (clutter_backend_set_font_options),
3931         (clutter_backend_get_font_options): Add the ability to set
3932         the cairo_font_options_t* for the backend at construction
3933         time, so that backend implementations can have their own
3934         options.
3935
3936         * clutter/clutter-color.c: Include pango/pango-attributes.h
3937         for the pango_color_parse() function.
3938
3939         * clutter/clutter-label.c:
3940         (clutter_label_ensure_layout),
3941         (clutter_label_init), (clutter_label_set_text),
3942         (clutter_label_set_font_name), (clutter_label_set_ellipsize),
3943         (clutter_label_set_use_markup): Ensure that the cache is
3944         always primed when the Label changes; this makes sure that
3945         the cache is rebuilt outside the paint run, which should
3946         make the painting perform better especially on embedded
3947         devices.
3948
3949         * clutter/clutter-entry.c:
3950         (clutter_entry_ensure_layout),
3951         (clutter_entry_init), (clutter_entry_set_text),
3952         (clutter_entry_set_font_name): Ditto as above.
3953
3954         * clutter/clutter-private.h:
3955         * clutter/clutter-main.[ch]: Create the font-map inside the
3956         main context; add two new functions:
3957
3958           clutter_clear_glyph_cache()
3959           clutter_set_use_mipmapped_text()
3960
3961         that control the glyphs cache.
3962
3963         * clutter/pango/Makefile.am:
3964         * clutter/pango/pangoclutter-fontmap.c:
3965         * clutter/pango/pangoclutter-private.h:
3966         * clutter/pango/pangoclutter-render.c:
3967         * clutter/pango/pangoclutter.h: Rewrite the Pango renderer
3968         using a PangoCairo context and saving the glyphs inside a
3969         more efficient cache.
3970
3971         * configure.ac: Depend on pangocairo instead of pangoft2.
3972
3973 2008-05-28  Emmanuele Bassi  <ebassi@openedhand.com>
3974
3975         Bug 882 - Allow child properties for containers implementing the
3976                   ClutterContainer interface (Øyvind KolÃ¥s)
3977
3978         * clutter/clutter-child-meta.[ch]: Base class for the metadata
3979         of a ClutterActor inside a ClutterContainer; the ChildMeta
3980         object implements a wrapper for storing data that is attached
3981         to a ClutterActor only when it's part of a ClutterContainer.
3982         The ChildMeta object is used to store the child properties
3983         accessible through the ClutterContainer API.
3984
3985         * clutter/clutter-container.[ch]: Creates the ChildMeta for
3986         each actor, in case the Container specifies the ChildMeta
3987         type to use.
3988
3989         * clutter/Makefile.am: Add clutter-child-meta.[ch] to the build.
3990
3991         * clutter/clutter-marshal.list: Add the marshaller for the
3992         ClutterContainer::child-notify signal.
3993
3994         * clutter/clutter-types.h: Declare ClutterContainer and
3995         ClutterChildMeta to avoid recursive inclusion.
3996
3997 2008-05-28  Neil Roberts  <neil@o-hand.com>
3998
3999         * clutter/cogl/gles/Makefile.am: Use old-style Makefile rules for
4000         the stringify script so that automake won't complain.
4001
4002 2008-05-28  Emmanuele Bassi  <ebassi@openedhand.com>
4003
4004         * tests/test-script.c:
4005         * tests/test-script.json: Test merging the same actor from two
4006         different sources.
4007
4008 2008-05-28  Emmanuele Bassi  <ebassi@openedhand.com>
4009
4010         Fix merging of objects with the same id.
4011
4012         * clutter/clutter-script.c:
4013         (json_object_end): If there already is an ObjectInfo under the
4014         parsed id, merge the construction with the currently stored
4015         state.
4016
4017         (parse_children), (parse_signals),
4018         (parse_behaviours): Append the newly parsed children, signals
4019         and behaviours, in case the ObjectInfo already has unresolved
4020         items.
4021
4022         (clutter_script_construct_object): Fix a typo in the type check.
4023
4024         (clutter_script_init): Do not copy the key inside the hash
4025         table holding the objects - we are already holding it inside
4026         the value.
4027
4028 2008-05-28  Neil Roberts  <neil@o-hand.com>
4029
4030         * clutter/cogl/gles/cogl-gles2-wrapper.c (cogl_wrap_glGetFixedv):
4031         Filled in the wrapper for glGetFixedv
4032
4033 2008-05-28  Neil Roberts  <neil@o-hand.com>
4034
4035         * clutter/cogl/gles/cogl-texture.c: Use the wrapper for
4036         glTexParameteri. Call glGenerateMipmap after every change to the
4037         texture image data.
4038
4039         * clutter/cogl/gles/cogl-gles2-wrapper.h:
4040         * clutter/cogl/gles/cogl-gles2-wrapper.c: Added a wrapper for
4041         glTexParameteri so that it can ignore requests to set
4042         GL_GENERATE_MIPMAP. Added a wrapper for glGenerateMipmap that does
4043         nothing on GLES 1
4044
4045 2008-05-28  Emmanuele Bassi  <ebassi@openedhand.com>
4046
4047         * clutter/clutter-script.c:
4048         (clutter_script_construct_object): Mark top-level objects,
4049         that is objects that don't have their ownership transferred
4050         when building up a ClutterScript.
4051
4052         (object_info_free): Merge a fix from the stable branch, but
4053         do not check the type - check whether the object is a top
4054         level (we still need the ClutterActor type check in order to
4055         call clutter_actor_destroy()).
4056
4057 2008-05-28  Emmanuele Bassi  <ebassi@openedhand.com>
4058
4059         * clutter/clutter-rectangle.c:
4060         (clutter_rectangle_paint): Remove commented out call to
4061         cogl_enable(); the call is not needed and the comment is
4062         in C99.
4063
4064 2008-05-27  Neil Roberts  <neil@o-hand.com>
4065
4066         * clutter/eglx/clutter-stage-egl.h:
4067         * clutter/eglx/clutter-egl-headers.h:
4068         * clutter/eglx/clutter-backend-egl.h:
4069         * clutter/eglx/Makefile.am: Include the GLES and EGL headers via
4070         clutter-egl-headers.h so that the right version can be used
4071         depending on whether the GLES 2 wrapper is being used.
4072
4073         * configure.ac: Added an automake conditional for whether the GLES
4074         2 wrapper should be used.
4075
4076         * clutter/eglx/clutter-stage-egl.c (clutter_stage_egl_realize):
4077         Remove the call to glGetIntegerv to get the max texture size. It
4078         was being called before the GL context was bound so it didn't work
4079         anyway and it was causing trouble for the GLES 2 simulator.
4080
4081         * clutter/cogl/gles/stringify.sh: Shell script to convert the
4082         shaders into a C string.
4083
4084         * clutter/cogl/gles/cogl-gles2-wrapper.h:
4085         * clutter/cogl/gles/cogl-gles2-wrapper.c: Wrappers for most of the
4086         missing GL functions in GLES 2.
4087
4088         * clutter/cogl/gles/cogl-fixed-fragment-shader.glsl:
4089         * clutter/cogl/gles/cogl-fixed-vertex-shader.glsl: New shaders for
4090         GLES 2
4091
4092         * clutter/cogl/gles/cogl-defines.h.in: Use the @CLUTTER_GL_HEADER@
4093         macro instead of always using the GLES 1 header.
4094
4095         * clutter/cogl/gles/cogl-context.h (CoglContext): Include a field
4096         for the state of the GLES 2 wrapper.
4097
4098         * clutter/cogl/gles/cogl-texture.c:
4099         * clutter/cogl/gles/cogl-primitives.c:
4100         * clutter/cogl/gles/cogl.c: Use wrapped versions of the GL
4101         functions where neccessary.
4102
4103         * clutter/cogl/gles/Makefile.am: Add sources for the GLES 2
4104         wrapper and an extra build step to put the GLSL files into a C
4105         string whenever the files change.
4106
4107 2008-05-26  Matthew Allum  <mallum@openedhand.com>
4108
4109         * clutter/x11/clutter-stage-x11.c: (clutter_stage_x11_request_coords):
4110         Dont allow the window to be resize to 0 dimentions. (fixes #933)
4111
4112 2008-05-23  Emmanuele Bassi  <ebassi@openedhand.com>
4113
4114         Bug #912 - Invalid use of int* as parameter for glGetIntegerv
4115
4116         * clutter/cogl/gl/cogl.c (_cogl_features_init): Use GLint
4117         instead of int. (#912, Tommi Komulainen)
4118
4119 2008-05-23  Emmanuele Bassi  <ebassi@openedhand.com>
4120
4121         Bug #928 - Reparenting a child that itself is a container
4122         doesn't work
4123
4124         * clutter/clutter-actor.c (clutter_actor_set_parent): Realize
4125         an actor when setting its parent, if the parent is realized.
4126
4127         * clutter/clutter-group.c:
4128         (clutter_group_realize), (clutter_group_class_init): Add the
4129         missing implementation of the ::realize() virtual function; this
4130         makes sure that the children of a Group are realized if the Group
4131         is realized. (#928)
4132
4133 2008-05-21  Neil Roberts  <neil@o-hand.com>
4134
4135         * clutter/cogl/gl/cogl.c (error_string):
4136         * clutter/cogl/gles/cogl.c (error_string): Rename to
4137         _cogl_error_string and remove the static scoping so that it can be
4138         called in cogl-texture etc.
4139
4140         * clutter/cogl/gl/cogl-texture.c (cogl_texture_new_from_foreign):
4141         * clutter/cogl/gles/cogl-texture.c (cogl_texture_new_from_foreign):
4142         GE(*) can't be used to wrap around calls that use the return
4143         value.
4144
4145         * clutter/cogl/gl/cogl-texture.c (_cogl_texture_quad_sw)
4146         (_cogl_texture_quad_hw, cogl_texture_polygon): Remove GE(*)
4147         wrapper around calls in the middle of a glBegin/glEnd pair which
4148         otherwise always generate an error because glGetError can only be
4149         called outside of the pair.
4150
4151         * clutter/cogl/gl/cogl-internal.h: Include stdio.h when definig
4152         COGL_DEBUG and declare a prototype for _cogl_error_string.
4153
4154         * clutter/cogl/gles/cogl-internal.h: Match GE(*) macro to GL
4155         version.
4156
4157 2008-05-21  Ivan Leben  <ivan@o-hand.com>
4158
4159         * clutter/cogl/gles/cogl-texture.c:
4160         (_cogl_texture_download_from_gl:) Only comment out the broken
4161         check for framebuffer alpha bits, not the check for alpha in
4162         texture format.
4163
4164 2008-05-20  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
4165
4166         Decouple actor opacity from fill opacity in ClutterRectangle (fixes
4167         race when both are set from clutter script also makes it more
4168         consistent with the behavior of other actors.)
4169
4170         * clutter/clutter-rectangle.c: (clutter_rectangle_set_color): stop
4171         setting the opacity of the actor from the specified color.
4172         (clutter_rectangle_paint): combine the absolute opacity of the actor
4173         with the alpha of the color when painting.
4174
4175 2008-05-20  Ivan Leben  <ivan@o-hand.com>
4176
4177         * clutter/cogl/gles/cogl-texture.c:
4178         (cogl_texture_download_from_gl:) Implemented a workaround
4179         for missing alpha framebuffer channel. There are still
4180         some issues with detecting whether alpha is present in the
4181         framebuffer. See comments in code. Test-cogl-tex-getset now
4182         successfully retrieves a RGBA texture image data.
4183
4184 2008-05-19  Ivan Leben  <ivan@o-hand.com>
4185
4186         * clutter/cogl/gles/cogl-texture.c:
4187         (cogl_texture_download_from_gl:) Store old blending factors
4188         and restore them when done. The lack of ability to retrieve
4189         the alpha channel now more noticable in test-cogl-tex-getset
4190         since the edges of the hand are not antialiased.
4191
4192         * clutter/cogl/gl(es)/cogl-internal.h: Declare
4193         cogl_blend_func to avoid "implicit implementation" compile
4194         warning.
4195
4196 2008-05-19  Ivan Leben  <ivan@o-hand.com>
4197
4198         * clutter/cogl/gl(es)/cogl.c: New internal function
4199         cogl_blend_func caches blending setup much like cogl_enable
4200         does with the enable flags. This separates blending factors
4201         setup from the enable/disable operation in preparation of
4202         the texture image retrieval fix for alpha channel on GLES.
4203         (cogl_enable:) Does not modify blending factors anymore.
4204
4205         * clutter/cogl/gl(es)/cogl-context.h: CoglContext holds two
4206         new variables to cache blending src and dst factors.
4207
4208         * clutter/cogl/gl(es)/cogl-context.c:
4209         (cogl_create_context:) Initialize blending factors.
4210
4211         * clutter/cogl/gles/cogl-texture.c:
4212         (cogl_texture_download_from_gl:) Set blending factors to
4213         CGL_ONE, CGL_ZERO which fixes the slighlty improper behavior
4214         where source colour was actually multiplied with its alpha
4215         value in the result (not noticable on current tests).
4216
4217 2008-05-19  Emmanuele Bassi  <ebassi@openedhand.com>
4218
4219         * clutter/eglx/Makefile.am: Fix the INCLUDE directives to
4220         properly include the X11 backend headers.
4221
4222         * clutter/glx/Makefile.am: Add the libclutter-x11.la static
4223         library to the LDADD directives.
4224
4225 2008-05-19  Tomas Frydrych  <tf@openedhand.com>
4226
4227         * clutter/x11/clutter-x11.h:
4228         * clutter/glx/clutter-glx.h:
4229         Include texture pixmap headers.
4230
4231 2008-05-16  Neil Roberts  <neil@o-hand.com>
4232
4233         * clutter/eglx/clutter-stage-egl.c (clutter_stage_egl_realize):
4234         Fix name of parent class variable which otherwise breaks the
4235         build.
4236
4237 2008-05-16  Neil Roberts  <neil@o-hand.com>
4238
4239         Use the Mesa headers instead of depending on GLee for Win32
4240         builds.
4241
4242         * configure.ac: No longer check for GLee
4243
4244         * clutter/cogl/gl/cogl-defines.h.in: Don't bother including GLee.h
4245
4246         * build/mingw/mingw-cross-compile.sh: No longer downloads libGLee
4247         but downloads the Mesa library instead and installs the headers
4248         from that. Fixed the libpng version.
4249
4250 2008-05-16  Tomas Frydrych  <tf@openedhand.com>
4251
4252         * clutter/glx/Makefile.am:
4253         * clutter/x11/Makefile.am:
4254         Install glx and x11 specific includes into clutter/glx and
4255         clutter/x11 so that header files that include glx/*.h or x11/*.h
4256         when installed.
4257
4258 2008-05-16  Neil Roberts  <neil@o-hand.com>
4259
4260         * clutter/win32/clutter-event-win32.c (message_translate): Fix
4261         signedness of old_xpos and old_ypos to get rid of compiler
4262         warnings.
4263
4264         * clutter/win32/clutter-backend-win32.c
4265         (clutter_backend_win32_get_features): Cast the result of
4266         glGetString to a signed char pointer to avoid compiler warnings.
4267
4268 2008-05-15  Neil Roberts  <neil@o-hand.com>
4269
4270         * clutter/win32/clutter-stage-win32.c:
4271         * clutter/win32/clutter-backend-win32.c: Reflect changes to the
4272         GLX/X11 backend in revisions 2708-2709 and 2713-2715 which
4273         simplify the backend a little.
4274
4275 2008-05-15  Emmanuele Bassi  <ebassi@openedhand.com>
4276
4277         * clutter/x11/clutter-backend-x11.c:
4278         * clutter/clutter-event.h:
4279         * clutter/clutter-feature.h:
4280         * clutter/clutter-fixed.c:
4281         * clutter/clutter-model.h: Fix documentation.
4282
4283         * clutter/eglnative/clutter-backend-egl.[ch]:
4284         * clutter/eglnative/clutter-event-egl.c: Add the same solution
4285         used for the SDL backend in order to get the time of an event.
4286         This should fix the motion event throttling and the click count
4287         on button press. (#906)
4288
4289         * tests/test-pixmap.c (create_pixmap), (main): Fix preprocessor
4290         directives.
4291
4292 2008-05-14  Emmanuele Bassi  <ebassi@openedhand.com>
4293
4294         * tests/test-threads.c: Add a "progress bar" actor and
4295         make the test take less amount of time to complete.
4296
4297 2008-05-14  Emmanuele Bassi  <ebassi@openedhand.com>
4298
4299         * tests/test-events.c: Clean up a bit, and print out more
4300         messages when pressing one of the rectangles.
4301
4302         * tests/test-threads.c: Be more verbose in the console, and
4303         apply another behaviour on the rectangle, to show that we
4304         are not blocking.
4305
4306 2008-05-14  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
4307
4308         * clutter/cogl/gles/cogl.c: (_cogl_features_init): do not set
4309         COGL_FEATURE_TEXTURE_READ_PIXELS, since it is not available.
4310
4311 2008-05-14  Matthew Allum  <mallum@openedhand.com>
4312
4313         * clutter/clutter-actor.c:
4314         * clutter/clutter-main.c:
4315         * clutter/clutter-private.h:
4316         Rejid Ã˜yvind's previous commit a little moving more into
4317         clutter-main.c and using ClutterContext.
4318         Also Refactor clutter_init & clutter_init_with_args to share
4319         same core init code.
4320
4321 2008-05-13  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
4322
4323         Made it possible to do picking when the colors stored in the
4324         framebuffer are only approximately the correct value.
4325
4326         * clutter/clutter-actor.c:
4327         (init_bits): initialize constants about how many bits are
4328         available/will be used for r,g,b components.
4329         (_clutter_pix_to_id): now own function, compute an id from a
4330         pixel into its own function (used from _clutter_do_pick).
4331         (_clutter_id_to_col): now own function, computes the color to use for
4332         a given id.
4333         (clutter_actor_paint): use clutter_id_to_col.
4334         * clutter/clutter-main.c:
4335         (_clutter_do_pick): use _clutter_pix_to_id
4336         (clutter_main): re-enable invocation of fruity app shell.
4337
4338 2008-05-13  Emmanuele Bassi  <ebassi@openedhand.com>
4339
4340         * clutter/fruity/clutter-stage-fruity.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         (clutter_stage_egl_realize): Set the REALIZED flag.
4345
4346         * clutter/eglnative/clutter-stage-egl.c:
4347         (clutter_stage_egl_show), (clutter_stage_egl_hide): Don't chain
4348         up and set flags, as it is not needed anymore.
4349
4350 2008-05-13  Emmanuele Bassi  <ebassi@openedhand.com>
4351
4352         * clutter/glx/clutter-stage-glx.c:
4353         (clutter_stage_glx_unrealize): Move the shaders release from here...
4354
4355         * clutter/glx/clutter-backend-glx.c:
4356         (clutter_backend_glx_dispose): ... to here. Shaders should be
4357         released when the GL context is being destroyed, and that only
4358         happens when the backend is being disposed, now that we support
4359         multiple stages.
4360
4361 2008-05-13  Emmanuele Bassi  <ebassi@openedhand.com>
4362
4363         * clutter/clutter-backend.c:
4364         (_clutter_backend_create_stage): Call _clutter_stage_set_window()
4365         ourselves, thus removing yet another action that backends must
4366         implement and might get wrong; also cuts a backend-agnostic piece
4367         of code duplication.
4368
4369         * clutter/eglnative/clutter-backend-egl.c:
4370         (clutter_backend_egl_create_stage): Update the EGL native backend.
4371
4372         * clutter/eglx/clutter-backend-egl.c:
4373         (clutter_backend_egl_create_stage): Update the EGLX backend.
4374
4375         * clutter/fruity/clutter-backend-fruity.c:
4376         (clutter_backend_egl_create_stage): Update the fruity backend
4377
4378         * clutter/glx/clutter-backend-glx.c:
4379         (clutter_backend_glx_create_stage): Update the GLX backend.
4380
4381         * clutter/sdl/clutter-backend-sdl.c:
4382         (clutter_backend_sdl_create_stage): Update the SDL backend.
4383
4384         * HACKING.backends: Update the ::create_stage() description.
4385
4386 2008-05-13  Emmanuele Bassi  <ebassi@openedhand.com>
4387
4388         * clutter/x11/clutter-event-x11.c (event_translate): Remove the
4389         cheap Expose event compression, as it seems to play games when a
4390         composite manager is running. It's also not really needed, as
4391         the redraw queue will avoid redraws too close to each other
4392         anyway.
4393
4394         * clutter/x11/clutter-stage-x11.c:
4395         (clutter_stage_x11_show), (clutter_stage_x11_hide): Do not chain
4396         up just to set the flags. This fixes a critical warning coming
4397         from ClutterActor::hide() default implementation.
4398
4399 2008-05-13  Ivan Leben  <ivan.leben@o-hand.com>
4400
4401         * clutter/cogl/gl/cogl-defines.h.in:
4402         Fix GL function prototypes on OS X by #definining APIENTRY and
4403         APIENTRYP if missing.
4404
4405 2008-05-12  Ivan Leben  <ivan.leben@o-hand.com>
4406
4407         * clutter/cogl/gl/cogl-defines.h.in:
4408         Defined GL extension functions used by Cogl inside the COGL_
4409         namespace.
4410
4411         * clutter/cogl/gl/cogl-context.h:
4412         * clutter/cogl/gl/cogl.c:
4413         Use COGL_ extension function prototypes instead of relying
4414         on glext.h to define them. Should fix the mac compilability
4415         bug, but haven't tested it yet.
4416
4417 2008-05-12  Matthew Allum  <mallum@openedhand.com>
4418
4419         * clutter/x11/clutter-x11-texture-pixmap.c:
4420         * configure.ac:
4421         * tests/Makefile.am:
4422         Remove the XComposite dep from Clutter itself, just use
4423         in test-pixmap (if available)
4424
4425 2008-05-12  Emmanuele Bassi  <ebassi@openedhand.com>
4426
4427         Rework the stage wrapper/implementation relation: remove
4428         duplicated code and all the bookkeeping from the backends into
4429         ClutterStage whenever possible, to reduce the amount of work a
4430         backend must do (and possibly get wrong). Thanks to Tommi
4431         Komulainen.
4432
4433         * clutter/clutter-main.c:
4434         (clutter_init_with_args), (clutter_init): Realize the default
4435         stage after creation. The default stage is special, because we
4436         use it in the initialization sequence. This removes the burden
4437         from the backends and reduces the things a backend can get
4438         wrong.
4439
4440         * clutter/clutter-stage.c:
4441         (clutter_stage_show): Make sure to realize the implementation if
4442         it hasn't been realized yet.
4443
4444         (clutter_stage_realize): Set the REALIZED flag and call
4445         clutter_stage_ensure_current() if the implementation was
4446         successfully realized.
4447
4448         (clutter_stage_unrealized): Call clutter_stage_ensure_current()
4449         on unrealize.
4450
4451         * clutter/glx/clutter-backend-glx.c:
4452         (clutter_backend_glx_create_stage): Do not realize the stage anymore
4453         when creating it, and let the normal realization sequence take
4454         place.
4455
4456         (clutter_backend_glx_ensure_context): Trap for X11 errors.
4457
4458         * clutter/glx/clutter-stage-glx.c:
4459         (clutter_stage_glx_realize): Chain up to the X11 implementation
4460         so that we can set up the window state (title, cursor visibility)
4461         when we actually have a X window. Also, do not call
4462         clutter_stage_ensure_current(), and rely on the wrapper to do
4463         it for us. This means we can drop setting the REALIZED flag on
4464         the wrapper.
4465
4466         (clutter_stage_glx_unrealize): Do not call
4467         clutter_stage_ensure_current() ourselves, and rely on the wrapper
4468         to do it for us.
4469
4470         * clutter/x11/clutter-stage-x11.c:
4471         (set_wm_title), (set_cursor_visible): Move the WM title and
4472         cursor visibility code inside their own functions.
4473
4474         (clutter_stage_x11_realize): Set the window title and whether the
4475         cursor is visible or not after realizing the stage.
4476
4477         (clutter_stage_x11_set_cursor_visible),
4478         (clutter_stage_x11_set_title): Call set_wm_title() and
4479         set_cursor_visible().
4480
4481         (clutter_stage_x11_finalize): Free the title string.
4482
4483         * clutter/x11/clutter-stage-x11.h: Save more of the stage state,
4484         so that we can set it even when the stage hasn't been realized
4485         yet.
4486
4487         * clutter/eglnative/clutter-backend-egl.c:
4488         (clutter_backend_egl_create_stage):
4489         * clutter/eglnative/clutter-stage-egl.c:
4490         (clutter_stage_egl_unrealize),
4491         (clutter_stage_egl_realize): Update the eglnative backend.
4492
4493         * clutter/eglx/clutter-backend-egl.c:
4494         (clutter_backend_egl_ensure_context),
4495         (clutter_backend_egl_create_stage):
4496         * clutter/eglx/clutter-stage-egl.c:
4497         (clutter_stage_egl_unrealize),
4498         (clutter_stage_egl_realize): Update the eglx backend.
4499
4500         * clutter/sdl/clutter-backend-sdl.c:
4501         (clutter_backend_sdl_create_stage):
4502         * clutter/sdl/clutter-stage-sdl.c:
4503         (clutter_stage_sdl_realize): Update the sdl backend.
4504
4505         * clutter/fruity/clutter-backend-fruity.c:
4506         (clutter_backend_fruity_create_stage):
4507         * clutter/sdl/clutter-stage-fruity.c:
4508         (clutter_stage_fruity_realize): Update the fruity backend.
4509
4510         * tests/test-multistage.c (on_button_press): Bail out if
4511         clutter_stage_new() returns NULL.
4512
4513         * HACKING.backends: Update backend writing documentation.
4514
4515 2008-05-12  Robert Bragg  <bob@openedhand.com>
4516
4517         * clutter/clutter-timeline.c:
4518         Adds clutter-timeline documentation RE: r2337, explaining
4519         the current timeline semantics.
4520
4521 2008-05-12  Emmanuele Bassi  <ebassi@openedhand.com>
4522
4523         * HACKING.backends: Update documentation.
4524
4525         * clutter/glx/clutter-stage-glx.c:
4526         (clutter_stage_glx_realize): Avoid setting more flags than
4527         necessary.
4528
4529 2008-05-09  Neil Roberts  <neil@o-hand.com>
4530
4531         * clutter/clutter-frame-source.c (clutter_frame_source_add)
4532         (clutter_frame_source_add_full): Add gtk-doc and rename the
4533         'function' parameter to 'func'.
4534
4535         * clutter/clutter-frame-source.h: Rename the 'function' parameters
4536         to 'func'.
4537
4538         * clutter/Makefile.am (source_h): Make clutter-frame-source.h a
4539         public header.
4540
4541         * clutter/clutter-main.c (clutter_threads_add_frame_source_full):
4542         Improve gtk-doc
4543
4544 2008-05-09  Emmanuele Bassi  <ebassi@openedhand.com>
4545
4546         * clutter/clutter-script-private.h: Add a flag for the
4547         default stage.
4548
4549         * clutter/clutter-script.c:
4550         (json_object_end): If the "type" member is "ClutterStage"
4551         and we have a "is-default" member set to true then this
4552         is the default stage.
4553
4554         (clutter_script_construct_object): Special case the default
4555         stage instead of each ClutterStage.
4556
4557         (object_info_free): Ditto as above.
4558
4559         * tests/test-script.json: Test the creation of a non-default
4560         stage and the ::destroy handler to quit.
4561
4562 2008-05-09  Emmanuele Bassi  <ebassi@openedhand.com>
4563
4564         Bug #908 - Support transform from G_TYPE_INT to ClutterUnit
4565
4566         * clutter/clutter-units.c:
4567         (clutter_value_transform_int_unit),
4568         (clutter_unit_get_type): Add GValue transformation function from
4569         integer values to ClutterUnit. (#908)
4570
4571         (param_unit_validate): Fix validation for ClutterParamSpecUnit;
4572         this allows writable ClutterUnit properties.
4573
4574         * clutter/clutter-fixed.c:
4575         (clutter_value_transform_int_fixed),
4576         (clutter_value_transform_double_fixed),
4577         (clutter_value_transform_float_fixed): Add GValue transformation
4578         functions from native types (int, double, float) to ClutterFixed.
4579
4580         (clutter_fixed_get_type): Register the new transformation functions.
4581
4582         (param_fixed_validate): Fix validation for ClutterParamSpecUnit;
4583         this allows writable ClutterFixed properties.
4584
4585 2008-05-07  Ivan Leben  <ivan@o-hand.com>
4586
4587         * clutter/cogl/cogl.h.in:
4588         * clutter/cogl/gl(es)/cogl-texture.h:
4589         * clutter/cogl/gl(es)/cogl-texture.c:
4590         cogl_texture_new_* functions take a gboolean auto_mipmap argument.
4591         If TRUE automatic mipmap generation is enabled during the process
4592         of slice texture object creation.
4593         (cogl_texture_new_from_foreign:) now allows mipmap min filter
4594         flags.
4595
4596         * clutter/clutter-texture.c:
4597         * clutter/glx/clutter-glx-texture-pixmap.c:
4598         * tests/test-cogl-offscreen.c:
4599         * tests/test-cogl-tex-tile.c:
4600         * tests/test-cogl-tex-convert.c:
4601         * tests/test-cogl-tex-polygon.c:
4602         * tests/test-cogl-tex-getset.c:
4603         Pass FALSE for auto_mipmap to cogl_texture_new_*.
4604
4605         * clutter/pango/pangoclutter-render.c:
4606         (tc_get:) Pass TRUE to cogl_texture_new_with_size and use mipmap
4607         min filter for nicer glyphs at small scales. As a result test-text
4608         has gone all beautiful now.
4609
4610 2008-05-07  Neil Roberts  <neil@o-hand.com>
4611
4612         * clutter/clutter-frame-source.h: Added the missing G_BEGIN_DECLS
4613         and G_END_DECLS
4614
4615 2008-05-07  Emmanuele Bassi  <ebassi@openedhand.com>
4616
4617         * clutter/sdl/clutter-backend-sdl.c:
4618         (clutter_backend_sdl_dispose): Destroy the timer that we created...
4619         (clutter_backend_sdl_init): ... here.
4620
4621         * clutter/sdl/clutter-backend-sdl.h: Add a GTimer for time-based
4622         operations, like the event time.
4623
4624         * clutter/sdl/clutter-event-sdl.c:
4625         (get_backend_time): Get the elapsed milliseconds for the SDL
4626         backend.
4627
4628         (_clutter_events_init): Start the timer provided by the backend...
4629         (_clutter_events_uninit): ... and the stop it.
4630
4631         (key_event_translate), (event_translate): Use the backend time
4632         to fill out the time field of the event structures. This fixes
4633         the motion notification throttling on the SDL backend.
4634
4635 2008-05-06  Matthew Allum  <mallum@openedhand.com>
4636
4637         * clutter/glx/clutter-glx-texture-pixmap.c:
4638         * clutter/x11/clutter-x11-texture-pixmap.c:
4639         More cleanups, safety additions.
4640
4641 2008-05-05  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
4642
4643         * clutter/cogl/gl/cogl-primitives.c:
4644         * clutter/cogl/gles/cogl-primitives.c:
4645         * clutter/cogl/common/cogl-primitives.c: moved declaration of
4646         gegl_rectangle and gegl_rectanglex here to satisfy linking
4647         requirements when building the fruity backend.
4648
4649 2008-05-05  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
4650
4651         * clutter/cogl/cogl.h.in: api review touch ups.
4652         * clutter/cogl/common/cogl-primitives.c: api review touch ups.
4653         * clutter/cogl/gl/cogl-primitives.c: (cogl_path_fill),
4654         (cogl_path_stroke): indentation.
4655         * clutter/cogl/gles/cogl-primitives.c:
4656         (_cogl_path_fill_nodes): free allocated resources.
4657
4658         * tests/test-cogl-primitives.c: updated to new API, added rotation to
4659         test to show that cogl renders paths correct under perspective
4660         distortion.
4661
4662 2008-05-02  Emmanuele Bassi  <ebassi@openedhand.com>
4663
4664         Bug #900 - clutter_actor_lower() and friends do not queue redraw
4665
4666         * clutter/clutter-actor.c:
4667         (clutter_actor_raise),
4668         (clutter_actor_lower): Queue a redraw after raising and lowering
4669         and actor in the paint order stack. (#900)
4670
4671 2008-05-01  Richard Purdie  <rpurdie@openedhand.com>
4672
4673         * configure.ac:
4674         Set CLUTTER_COGL for fruity.
4675
4676 2008-05-01  Emmanuele Bassi  <ebassi@openedhand.com>
4677
4678         Build fixes for the SDL flavour.
4679
4680         * clutter/sdl/clutter-backend-sdl.c: Remove an unused function.
4681
4682         * clutter/sdl/clutter-event-sdl.c:
4683         (clutter_event_dispatch): Properly cast the stage pointer.
4684
4685         * clutter/sdl/clutter-stage-sdl.c:
4686         (clutter_stage_window_iface_init): Remove the draw_to_pixbuf()
4687         stub and assignment.
4688
4689 2008-05-01  Richard Purdie  <rpurdie@openedhand.com>
4690
4691         * configure.ac:
4692         Fix up fruity flavour configure option.
4693
4694 2008-05-01  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
4695
4696         * clutter/cogl/gles/cogl-primitives.c: (_cogl_path_fill_nodes): draw
4697         the rasterized scanlines as an array of triangles.
4698
4699 2008-05-01  Emmanuele Bassi  <ebassi@openedhand.com>
4700
4701         * clutter/clutter-behaviour.c:
4702         (clutter_behaviour_remove_all): Disconnect the ::destroy
4703         handler when removing all actors, to match the behaviour
4704         of clutter_behaviour_remove().
4705
4706 2008-05-01  Matthew Allum  <mallum@openedhand.com>
4707
4708         * clutter/glx/clutter-glx-texture-pixmap.c:
4709         * tests/test-pixmap.c:
4710         Fix up texture-pixmap, now works.
4711         Thanks to Neil for spotting we were actually using
4712         wrong texture type in fbconfig (COGL change).
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         keep track of direction we are drawing in and make sure we leave
4718         two intersection points when we have changed direction.
4719
4720 2008-04-30  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
4721
4722         * clutter/cogl/gles/cogl-primitives.c: (_cogl_path_fill_nodes):
4723         scanline rasterizer fallback for GLES without working stencil
4724         buffer (would benefit from optimization/smarter choice of
4725         datastructures).
4726
4727 2008-04-30  Emmanuele Bassi  <ebassi@openedhand.com>
4728
4729         * clutter/clutter-effect.c:
4730         (clutter_effect_closure_destroy): Do not remove the actor
4731         from the behaviour; the behaviour is an internal detail of the
4732         effect, and it will remove the actors anyway when finalized
4733         when g_object_unref() is called. This should guard against
4734         actors being destroyed while an effect is running.
4735
4736 2008-04-30  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
4737
4738         * clutter/cogl/common/Makefile.am:
4739         * clutter/cogl/common/cogl-primitives.c:
4740         * clutter/cogl/common/cogl-primitives.h:
4741         * clutter/cogl/gl/Makefile.am:
4742         * clutter/cogl/gl/cogl-primitives.c:
4743         * clutter/cogl/gl/cogl-primitives.h:
4744         * clutter/cogl/gles/Makefile.am:
4745         * clutter/cogl/gles/cogl-primitives.c:
4746         * clutter/cogl/gles/cogl-primitives.h: moved duplicated code to the
4747         common directory.
4748
4749 2008-04-30  Robert Bragg  <bob@openedhand.com>
4750
4751         * clutter/clutter/x11/clutter-x11-texture-pixmap.c:
4752         In _update_area_real with depth=16 we weren't setting up the alpha
4753         channel.
4754
4755 2008-04-29  Matthew Allum  <mallum@openedhand.com>
4756
4757         * clutter/glx/Makefile.am:
4758         * clutter/x11/Makefile.am:
4759         Revert header install locations (Mistake in previous commit,
4760         fixes #898)
4761
4762 2008-04-29  Neil Roberts  <neil@o-hand.com>
4763
4764         * clutter/clutter-actor.c (clutter_actor_move_anchor_point): The
4765         actor position was being moved in the wrong direction. Perhaps
4766         this was a cut-and-paste bug from move_anchor_point_from_gravity
4767         because in that function ax and ay represent the old anchor
4768         position, but in this function they represent the new.
4769
4770 2008-04-29  Matthew Allum  <mallum@openedhand.com>
4771
4772         * clutter/glx/Makefile.am:
4773         * clutter/glx/clutter-glx-texture-pixmap.c:
4774         * clutter/glx/clutter-glx-texture-pixmap.h:
4775         * clutter/x11/Makefile.am:
4776         * clutter/x11/clutter-x11-texture-pixmap.c:
4777         * tests/test-pixmap.c:
4778         Commit newer x11 texture pixmap stuff (optionally using SHM).
4779         Also seemingly still broken overhauled glx-texture-pixmap
4780         (code by Robert and myself)
4781
4782         * configure.ac:
4783         Minor formatting change.
4784
4785 2008-04-29  Neil Roberts  <neil@o-hand.com>
4786
4787         Removed COGLhandle and changed shader and program functions to be
4788         wrapped in reference-counted CoglHandles instead.
4789
4790         * clutter/cogl/gl/cogl-shader.c:
4791         * clutter/cogl/gl/cogl-shader.h:
4792         * clutter/cogl/gl/cogl-program.c:
4793         * clutter/cogl/gl/cogl-program.h:
4794         New files to hold the shader and program functions.
4795
4796         * clutter/cogl/gl/cogl.c: Removed shader and program functions.
4797
4798         * clutter/cogl/common/cogl-handle.h: New header to define
4799         COGL_HANDLE_DEFINE which helps build functions to create
4800         reference-counted handles. This reduces the amount of duplicated
4801         code.
4802
4803         * clutter/cogl/gl/cogl-texture.c:
4804         * clutter/cogl/gles/cogl-texture.c:
4805         * clutter/cogl/gl/cogl-fbo.c: Converted to use COGL_HANDLE_DEFINE
4806         from cogl-handle.h to avoid duplicating some of the common code.
4807
4808         * clutter/cogl/gles/cogl-defines.h.in:
4809         * clutter/cogl/gl/cogl-defines.h.in: Removed COGLhandle
4810
4811         * clutter/cogl/gl/cogl-context.h: Added handle arrays for programs
4812         and shaders.
4813
4814         * clutter/cogl/gl/cogl-context.c (cogl_create_context): Added
4815         initialisers for shader_handles and program_handles.
4816         (cogl_destroy_context): Added calls to g_array_free for all handle
4817         arrays.
4818
4819         * clutter/cogl/gl/Makefile.am (libclutter_cogl_la_SOURCES): Added
4820         cogl-{program,shader}.{c,h}
4821
4822         * clutter/cogl/common/Makefile.am
4823         (libclutter_cogl_common_la_SOURCES): Added cogl-handle.h
4824
4825         * clutter/cogl/gles/cogl.c:
4826         * clutter/cogl/cogl.h.in: Programs and shaders are now wrapped in
4827         CoglHandles instead of COGLhandles. cogl_program_destroy and
4828         cogl_shader_destroy is now replaced with cogl_program_unref and
4829         cogl_shader_unref. cogl_program_ref and cogl_shader_ref are also
4830         added.
4831
4832         * clutter/clutter-shader.c: Converted to use CoglHandles for the
4833         programs and shaders instead of COGLhandles.
4834
4835 2008-04-29  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
4836
4837         * clutter/cogl/cogl.h.in: renaming of API's in cogl to make the
4838         primitives and path API a bit smaller and more resembling cairo.
4839         * clutter/cogl/gl/cogl-primitives.c:
4840         * clutter/cogl/gles/cogl-primitives.c:
4841         * clutter/cogl/gles/cogl.c:
4842
4843         * clutter/clutter-actor.c:
4844         * clutter/clutter-rectangle.c:
4845         * tests/test-cogl-offscreen.c:
4846         * tests/test-cogl-primitives.c:
4847         * tests/test-cogl-tex-convert.c:
4848         * tests/test-cogl-tex-foreign.c:
4849         * tests/test-cogl-tex-getset.c:
4850         * tests/test-cogl-tex-tile.c: updated according to changes in cogl.
4851
4852 2008-04-29  Robert Bragg  <bob@o-hand.com>
4853
4854         * clutter/x11/clutter-x11-texture-pixmap.c:
4855         In clutter_x11_texture_pixmap_set_pixmap, dont assume that the actor
4856         size should be changed to match the size of the pixmap.
4857
4858 2008-04-29  Robert Bragg  <bob@o-hand.com>
4859
4860         * clutter/cogl/gles/cogl-texture.c:
4861         Replaces an malloc call with g_malloc.
4862
4863 2008-04-29  Robert Bragg  <bob@o-hand.com>
4864
4865         * clutter/configure.ac:
4866         When looking for a GLES 1 library, also try the name "GLESv1_CM".
4867
4868         This also reduces the xfixes version requirement to v3, since we dont
4869         need support for Show/HideCursor.
4870
4871 2008-04-28  Neil Roberts  <neil@o-hand.com>
4872
4873         Fixed 'make dist'
4874
4875         * clutter/cogl/Makefile.am (EXTRA_DIST): Distribute cogl.h.in
4876         instead of cogl.h
4877         (DIST_SUBDIRS): Added common folder
4878
4879         * clutter/cogl/gl/Makefile.am (libclutter_cogl_la_SOURCES): Remove
4880         cogl-defines.h and use the right location for cogl-defines.gl.h
4881         (EXTRA_DIST): Distribute cogl-defines.h.in
4882
4883         * clutter/cogl/gles/Makefile.am (libclutter_cogl_la_SOURCES):
4884         Remove cogl-defines.h and use the right location for
4885         cogl-defines.gles.h
4886         (EXTRA_DIST): Distribute cogl-defines.h.in
4887
4888         * clutter/Makefile.am (DIST_SUBDIRS): Add fruity
4889
4890 2008-04-28  Neil Roberts  <neil@o-hand.com>
4891
4892         * clutter/cogl/cogl.h.in (COGL_A_BIT): Added the missing comma
4893         after COGL_PIXEL_FORMAT_G_8
4894
4895 2008-04-28  Emmanuele Bassi  <ebassi@openedhand.com>
4896
4897         * autogen.sh: Do not just touch the gtk-doc.make file, if we
4898         could not find gtkdocize, but echo an empty EXTRA_DIST into it
4899         so that the automake won't complain later on.
4900
4901 2008-04-28  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
4902
4903         * clutter/cogl/cogl.h.in: reindented.
4904
4905 2008-04-28  Emmanuele Bassi  <ebassi@openedhand.com>
4906
4907         * clutter/clutter-actor.c:
4908         (parse_rotation_array),
4909         (clutter_actor_set_custom_property): Use the internal, unit based
4910         rotation setter when parsing the rotation from a ClutterScript
4911         file.
4912
4913         (clutter_geometry_copy),
4914         (clutter_vertex_copy),
4915         (clutter_actor_box_copy): Use the more efficient g_slice_dup().
4916
4917         (clutter_actor_get_stage): Add documentation.
4918
4919         * clutter/clutter-group.c: Documentation fix.
4920
4921 2008-04-28  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
4922
4923         * clutter/cogl/cogl.h.in: moved the documentation of the cogl
4924         primitives to the main public header.
4925         * clutter/cogl/gl/cogl-primitives.c: from here ..
4926         * clutter/cogl/gles/cogl-primitives.c: .. _and_ here.
4927
4928 2008-04-28  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
4929
4930         * clutter/cogl/cogl.h.in: added documentation.
4931
4932 2008-04-28  Emmanuele Bassi  <ebassi@openedhand.com>
4933
4934         * clutter/clutter-units.c (param_unit_init): Use the right
4935         macros to set the default minimum and maximum values.
4936
4937         * clutter/clutter-fixed.c (param_fixed_init): Ditto as above.
4938
4939 2008-04-28  Matthew Allum  <mallum@openedhand.com>
4940
4941         * autogen.sh:
4942         Dont display 'make' if configure fails.
4943         * configure.ac:
4944         Add new --with-gles version option for eventual GLES2 support
4945         Also minor tidyups.
4946
4947 2008-04-28  Neil Roberts  <neil@o-hand.com>
4948
4949         * tests/test-cogl-tex-polygon.c: Added buttons to toggle whether
4950         slicing and linear filtering is enabled. By default slicing is
4951         disabled to help test on GL ES.
4952
4953 2008-04-28  Neil Roberts  <neil@o-hand.com>
4954
4955         * tests/Makefile.am (INCLUDES): Added $(top_srcdir)/clutter to the
4956         include path. Otherwise the tests will fail to build trying to
4957         include "json/json-types.h" when building out-of-tree.
4958
4959 2008-04-28  Emmanuele Bassi  <ebassi@openedhand.com>
4960
4961         * clutter/eglnative/clutter-backend-egl.c:
4962         (clutter_backend_egl_redraw): Whitespace fixes.
4963
4964         * clutter/eglnative/clutter-stage-egl.c:
4965         (clutter_stage_egl_hide): Indentation fixes.
4966
4967         (clutter_stage_egl_realize): Use g_critical() to report failure,
4968         unset the flags and bail out instead of continuing the realization
4969         of the stage.
4970
4971 2008-04-25  Neil Roberts  <neil@o-hand.com>
4972
4973         Merged in the clutter-ivan branch which contained the new public
4974         COGL API.
4975
4976 2008-04-25  Emmanuele Bassi  <ebassi@openedhand.com>
4977
4978         * clutter/sdl/clutter-stage-sdl.[ch]: Port the SDL stage to
4979         the new stage implementation API.
4980
4981         * clutter/sdl/clutter-backend-sdl.[ch]: Port the SDL backend
4982         to the new backend API.
4983
4984         * clutter/sdl/clutter-event-sdl.c:
4985         (clutter_event_dispatch): Assign the default stage as the
4986         origin of the event.
4987
4988 2008-04-24  Emmanuele Bassi  <ebassi@openedhand.com>
4989
4990         * configure.ac: Add the --with-json configure switch to
4991         allow building Clutter with the external dependency on
4992         the system JSON-GLib; the default is to use the internal
4993         copy unless explicitly asked to check.
4994
4995 2008-04-24  Emmanuele Bassi  <ebassi@openedhand.com>
4996
4997         * Makefile.am: Add HACKING.backends to the EXTRA_DIST.
4998
4999 2008-04-24  Emmanuele Bassi  <ebassi@openedhand.com>
5000
5001         * HACKING.backends: Add documentation on how to write a
5002         backend for Clutter.
5003
5004 2008-04-24  Emmanuele Bassi  <ebassi@openedhand.com>
5005
5006         * clutter/eglnative/clutter-backend-egl.c:
5007         (clutter_backend_egl_create_stage): Fix checks using a
5008         non assigned member of the ClutterBackendEGL structure.
5009
5010 2008-04-23  Emmanuele Bassi  <ebassi@openedhand.com>
5011
5012         * clutter/eglnative/clutter-backend-egl.[ch]:
5013         * clutter/eglnative/clutter-stage-egl.[ch]:
5014         * clutter/eglnative/clutter-event-egl.c: Port to the new stage
5015         and backend APIs. *WARNING* untested and not compiled.
5016
5017         * clutter/eglx/clutter-backend-egl.c:
5018         (clutter_backend_egl_init): Set some defaults.
5019
5020 2008-04-23  Emmanuele Bassi  <ebassi@openedhand.com>
5021
5022         * tests/test-script.json: Remove the explicit "visible"
5023         member to test that the visibility of actors is TRUE
5024         by default.
5025
5026 2008-04-23  Emmanuele Bassi  <ebassi@openedhand.com>
5027
5028         * configure.ac:
5029         * clutter/Makefile.am: Do not build the internal JSON-GLib
5030         copy if there is a system installed one.
5031
5032         * clutter/clutter-json.h: Remove.
5033
5034         * clutter/clutter-json.h.in: Template for the clutter-json.h
5035         header file, used to opaquely include the JSON-GLib types.
5036
5037 2008-04-23  Emmanuele Bassi  <ebassi@openedhand.com>
5038
5039         * clutter/clutter-actor.c: Document :show-on-set-parent and
5040         the fact that calling clutter_actor_show() and hide() on an
5041         unparented actor will change that property as well as a side
5042         effect.
5043
5044 2008-04-23  Emmanuele Bassi  <ebassi@openedhand.com>
5045
5046         * clutter/clutter-actor.c (clutter_actor_set_property): Use the
5047         internal setter for the rotation center.
5048
5049 2008-04-23  Emmanuele Bassi  <ebassi@openedhand.com>
5050
5051         * clutter/clutter-actor.[ch]: Add units based variant of the
5052         rotation accessors.
5053
5054 2008-04-23  Emmanuele Bassi  <ebassi@openedhand.com>
5055
5056         Bug 892 - Incorrect results using rotation-[center|angle] properties
5057
5058         * clutter/clutter-actor.c:
5059         (clutter_actor_set_rotation_internal): Inline function for setting
5060         the rotation using fixed point for the angle and units for the
5061         center of rotation.
5062
5063         (clutter_actor_set_property),
5064         (clutter_actor_set_rotationx): Use the internal setter to avoid
5065         loss of precision and too many conversions to and from units.
5066
5067 2008-04-23  Emmanuele Bassi  <ebassi@openedhand.com>
5068
5069         Bug 891 - assertion failed when test-behave exits
5070
5071         * clutter/clutter-behaviour.c:
5072         (remove_actor_on_destroy),
5073         (clutter_behaviour_apply),
5074         (clutter_behaviour_remove): Remove the actor if it gets
5075         destroyed before the behaviour.
5076
5077 2008-04-18  Emmanuele Bassi  <ebassi@openedhand.com>
5078
5079         Bug #884 - Add clutter_alpha_set_closure
5080
5081         * clutter/clutter-alpha.[ch]: Add clutter_alpha_set_closure(),
5082         a GClosure variant of clutter_alpha_set_func(), and reimplement
5083         the latter as a special case of the former. (#884, Xan López)
5084
5085 2008-04-18  Neil Roberts  <neil@o-hand.com>
5086
5087         * clutter/clutter-timeline.c (clutter_timeline_get_progressx):
5088         Changed to use clutter_qdiv instead of CLUTTER_FIXED_DIV otherwise
5089         it can't cope with timelines with more than 255 frames.
5090
5091 2008-04-17  Emmanuele Bassi  <ebassi@openedhand.com>
5092
5093         * clutter/clutter-frame-source.c: Small coding style fixes.
5094
5095 2008-04-17  Neil Roberts  <neil@o-hand.com>
5096
5097         Applied patch from bug #881
5098
5099         * clutter/clutter-frame-source.h:
5100         * clutter/clutter-frame-source.c:
5101         New files that contain a replacement for g_timeout that try to
5102         cope with system delays.
5103
5104         * clutter/Makefile.am: Added clutter-frame-source.{c,h}
5105
5106         * clutter/clutter-timeline.c (timeout_add): Use a frame source
5107         instead of a g_timeout.
5108
5109         * clutter/clutter-main.c (clutter_threads_add_frame_source_full)
5110         (clutter_threads_add_frame_source): New public functions to wrap a
5111         frame source and grab the Clutter mutex.
5112
5113         * clutter/clutter-timeout-pool.c: Now calculates the timeout
5114         expiration times in the same way as a frame source does so that it
5115         counts time in frame intervals instead of setting the next
5116         expiration time as an offset from the current time.
5117
5118 2008-04-17  Emmanuele Bassi  <ebassi@openedhand.com>
5119
5120         * clutter/clutter-fixed.c:
5121         (clutter_value_transform_fixed_int),
5122         (clutter_value_transform_fixed_double),
5123         (clutter_value_transform_fixed_float),
5124         (clutter_fixed_get_type): Add GValue transformation functions
5125         for ClutterFixed; copying a CLUTTER_TYPE_FIXED GValue into
5126         a G_TYPE_FLOAT/G_TYPE_DOUBLE one will automatically transform
5127         the fixed point representation into a floating point one. Also
5128         add the G_TYPE_INT transformation function to do a plain
5129         fixed->int copy.
5130
5131         * clutter/clutter-units.c:
5132         (clutter_value_transform_unit_int),
5133         (clutter_unit_get_type): Add a unit->int transformation function.
5134
5135 2008-04-17  Emmanuele Bassi  <ebassi@openedhand.com>
5136
5137         * clutter/clutter-fixed.c (clutter_value_get_fixed): Fix typo
5138         in the function name.
5139
5140 2008-04-17  Emmanuele Bassi  <ebassi@openedhand.com>
5141
5142         * clutter/clutter-units.c (clutter_value_get_unit): Fix typo
5143         in the function name.
5144
5145 2008-04-17  Emmanuele Bassi  <ebassi@openedhand.com>
5146
5147         * HACKING: Amend coding style and tenets, as it is now possible
5148         to install and use unit based properties in a safe way.
5149
5150 2008-04-17  Emmanuele Bassi  <ebassi@openedhand.com>
5151
5152         * clutter/clutter-units.h:
5153         * clutter/clutter-fixed.h: Add boundaries for fixed point
5154         and units values.
5155
5156         * doc/reference/clutter-sections.txt: Update the documentation.
5157
5158 2008-04-17  Emmanuele Bassi  <ebassi@openedhand.com>
5159
5160         * autogen.sh: Try to continue even if we don't have gtk-doc
5161         installed; this will obviously won't work if you don't pass
5162         --disable-docs --disable-gtk-doc to autogen.sh as well.
5163
5164 2008-04-17  Emmanuele Bassi  <ebassi@openedhand.com>
5165
5166         * clutter/clutter-fixed.[ch]: Add a ClutterFixed fundamental
5167         type, and wrappers for storing it into GValues; also add a
5168         GParamSpec subclass for defining parameters holding
5169         ClutterFixed values. This allows creating GObject properties
5170         using fixed point values.
5171
5172         * doc/reference/clutter-sections.txt: Document the newly
5173         added API.
5174
5175 2008-04-17  Emmanuele Bassi  <ebassi@openedhand.com>
5176
5177         * clutter/Makefile.am: Add clutter-units.c
5178
5179         * clutter/clutter-units.[ch]: Add a ClutterUnit fundamental
5180         type, and wrappers for storing it into GValues; also add a
5181         GParamSpec subclass for defining parameters holding ClutterUnit
5182         values. This allows creating GObject properties using units.
5183
5184         * doc/reference/clutter-sections.txt: Document the newly
5185         added API.
5186
5187 2008-04-15  Matthew Allum  <mallum@openedhand.com>
5188
5189         Work related to #873;
5190
5191         * clutter/glx/clutter-backend-glx.c:
5192         * clutter/glx/clutter-backend-glx.h:
5193         * clutter/x11/clutter-x11-texture-pixmap.c:
5194         * clutter/x11/clutter-x11-texture-pixmap.h:
5195         General cleanup of texture pixmap code, adding;
5196           - Pixmap dimentions and depth now auto probed, read only props.
5197           - More X safety traps
5198           - Add support for optionally tracking damage and automatically
5199             updating texture.
5200
5201         * clutter/glx/clutter-glx-texture-pixmap.c:
5202         * clutter/glx/clutter-glx-texture-pixmap.h:
5203         General cleanup and some safety additions. Needs more work so
5204         'proper' subclass - dependent on new COGL.
5205
5206         * clutter/x11/clutter-backend-x11.c: (clutter_x11_remove_filter):
5207         Invert g_return_if check.
5208
5209         * configure.ac:
5210         Pull in XComposite and XDamage (at least for now)
5211
5212         * tests/Makefile.am:
5213         * tests/test-pixmap.c:
5214         Add a modified test from Johan for above.
5215
5216 2008-04-15  Neil Roberts  <neil@o-hand.com>
5217
5218         Added support for foreign windows to the Win32 backend.
5219
5220         * clutter/win32/clutter-stage-win32.c
5221         (clutter_stage_win32_request_coords): Don't resize foreign
5222         windows.
5223         (clutter_stage_win32_unrealize): Don't destroy foreign windows.
5224         (clutter_stage_win32_init): Added initialiser for is_foreign_win.
5225         (clutter_win32_get_stage_from_window): Resort to looking in the
5226         stage list if the window isn't the right window class so that it
5227         can still find stages with foreign windows.
5228         (clutter_win32_set_stage_foreign): New public function to set a
5229         foreign window for a stage.
5230
5231         * clutter/win32/clutter-event-win32.c
5232         (clutter_win32_disable_event_retrieval): New public function to
5233         disable event retrieval.
5234         (message_translate): Don't handle WM_SIZE or WM_MOVE for foreign
5235         windows.
5236
5237         * clutter/win32/clutter-backend-win32.h (struct
5238         _ClutterBackendWin32): Added a flag to disable event retrieval
5239
5240         * clutter/win32/clutter-backend-win32.c
5241         (clutter_backend_win32_ensure_context): Update debug note to
5242         include whether the stage is foreign or not.
5243
5244 2008-04-15  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
5245
5246         * clutter/clutter-actor.c: (clutter_actor_set_shader_param): queue a
5247         redraw when a shader_param is set. Normalized some gtk-doc syntax in
5248         some of the api documentation.
5249
5250 2008-04-15  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
5251
5252         * clutter/clutter-group.c: fixed typo in docs.
5253
5254 2008-04-14  Matthew Allum  <mallum@openedhand.com>
5255
5256         * clutter/eglx/clutter-stage-egl.c:
5257         Actually set wm protocols on eglx stage windows. Fixes issues with
5258         cloising stages and cleanup.
5259
5260 2008-04-14  Matthew Allum  <mallum@openedhand.com>
5261
5262         * clutter/cogl/gles/cogl.c: (cogl_color):
5263         Disable use of color4ub, issues with latest MBX SDL (#857)
5264
5265         * clutter/eglx/clutter-backend-egl.c:
5266         * clutter/eglx/clutter-stage-egl.c:
5267         * configure.ac:
5268         Fixup for the eglx backend to work with new backend/multistage code.
5269         Some issues remain in destroying stages.
5270
5271 2008-04-14  Neil Roberts  <neil@o-hand.com>
5272
5273         Bug #853
5274
5275         * clutter/clutter-timeline.c (clutter_timeline_get_progressx): Fix
5276         arithmetic for calculating the reverse progress when the timeline
5277         is backward. (Should subtract from one instead of taking the
5278         reciprocal).
5279
5280 2008-04-13  Neil Roberts  <neil@o-hand.com>
5281
5282         Upgraded the Win32 backend to work with the multi-stage
5283         subclassing code.
5284
5285         * clutter/win32/clutter-stage-win32.h:
5286         * clutter/win32/clutter-stage-win32.c: Now inherits from
5287         ClutterGroup and implements ClutterStageWindow instead of
5288         inheriting directly from ClutterStage.
5289
5290         * clutter/win32/clutter-event-win32.c (message_translate): Now
5291         takes an extra parameter to return whether DefWindowProc should be
5292         called. This is needed to prevent the default WM_CLOSE handler
5293         from destroying the window.
5294
5295         * clutter/win32/clutter-backend-win32.c
5296         (clutter_backend_win32_dispose): Destroy all of the stages using
5297         g_slist_foreach as per bug #871. Now also destroys the GL context.
5298         (clutter_backend_win32_get_features): Added assertions to ensure
5299         there is a valid GL context.
5300         (clutter_backend_win32_ensure_context): Accepts NULL stage. Gets
5301         implementation pointer from the stage.
5302
5303 2008-04-11  Emmanuele Bassi  <ebassi@openedhand.com>
5304
5305         * clutter/clutter-container.c:
5306         (clutter_container_get_type): Relax the precondition on the
5307         implementations of ClutterContainer from ClutterActor to
5308         GObject.
5309
5310 2008-04-11  Emmanuele Bassi  <ebassi@openedhand.com>
5311
5312         * README: Add a note about the Shader API changes.
5313
5314         * clutter/clutter-deprecated.h: Add deprecation symbols.
5315
5316         * clutter/clutter-shader.[ch]: Rename the :bound read-only
5317         property to :compiled. Also rename clutter_shader_bind()
5318         and clutter_shader_is_bound() to clutter_shader_compil() and
5319         clutter_shader_is_compiled(), respectively.
5320
5321         * clutter/glx/clutter-stage-glx.c:
5322         (clutter_stage_glx_unrealize): Update after
5323         clutter_shader_release_all() rename.
5324
5325         * tests/test-shader.c (button_release_cb), (main): Update.
5326
5327 2008-04-10  Emmanuele Bassi  <ebassi@openedhand.com>
5328
5329         * clutter/eglx/clutter-backend-egl.c:
5330         (clutter_backend_egl_ensure_context): Sync up with the GLX
5331         backend.
5332
5333         (clutter_backend_egl_create_stage): Dumb compilation fix.
5334
5335         * clutter/glx/clutter-backend-glx.c:
5336         (clutter_backend_glx_create_stage): Unref the stage if we are
5337         erroring out.
5338
5339 2008-04-10  Emmanuele Bassi  <ebassi@openedhand.com>
5340
5341         * clutter/eglx/clutter-stage-egl.c:
5342         (clutter_stage_egl_realize): Sync up with the GLX backend.
5343
5344 2008-04-09  Emmanuele Bassi  <ebassi@openedhand.com>
5345
5346         * clutter/Makefile.am: Update the regular expression to match
5347         all the namespaces we actually use. Thanks to Neil Roberts for
5348         spotting this. A make distclean is needed.
5349
5350         * clutter/cogl/gl/Makefile.am:
5351         * clutter/cogl/gles/Makefile.am:
5352         * clutter/json/Makefile.am:
5353         * clutter/pango/Makefile.am: Revert previous commit.
5354
5355 2008-04-09  Emmanuele Bassi  <ebassi@openedhand.com>
5356
5357         * clutter/cogl/Makefile.am:
5358         * clutter/cogl/gl/Makefile.am:
5359         * clutter/cogl/gles/Makefile.am:
5360         * clutter/json/Makefile.am:
5361         * clutter/pango/Makefile.am: Fix the visibility of all the
5362         symbols, for the main library and the statically linked ones.
5363
5364 2008-04-09  Emmanuele Bassi  <ebassi@openedhand.com>
5365
5366         * autogen.sh: Clean up a bit
5367
5368         * clutter/clutter-fixed.[ch]:
5369         (clutter_double_to_fixed),
5370         (clutter_double_to_int),
5371         (clutter_double_to_uint): Make these functions public, as they
5372         are expanded by their respective macros. This fixes the errors
5373         from the linker trying to resolve their name.
5374
5375 2008-04-09  Neil Roberts  <neil@o-hand.com>
5376
5377         Applied patch from bug #871
5378
5379         * clutter/x11/clutter-backend-x11.c (clutter_backend_x11_dispose):
5380         Call g_slist_foreach instead of iterating over the stage_manager
5381         list manually when deleting stages. Otherwise the 'next' pointer
5382         of the list node can get corrupted when the actor removes itself
5383         from the list.
5384
5385         * clutter/clutter-stage.c (clutter_stage_dispose): Call
5386         clutter_actor_unrealize in the dispose handler. This fixes
5387         problems where the dispose handler for the ClutterStageWrapper
5388         can't deselect the GL context until the stage is unrealized.
5389
5390 2008-04-04  Emmanuele Bassi  <ebassi@openedhand.com>
5391
5392         * clutter/clutter-backend.c: Add more debug messages
5393
5394         * clutter/clutter-stage.h:
5395         * clutter/clutter-stage.c:
5396         (clutter_stage_is_default): Add a function to check if the
5397         stage is the default one.
5398
5399         * clutter/glx/clutter-backend-glx.c:
5400         * clutter/glx/clutter-stage-glx.c:
5401         * clutter/x11/clutter-stage-x11.c: Keep the stage wrapper
5402         and implementation flags in sync, to ensure that the GL
5403         context is always set.
5404
5405 2008-04-04  Neil Roberts  <neil@o-hand.com>
5406
5407         * README: Fixed typo
5408
5409 2008-04-04  Matthew Allum  <mallum@openedhand.com>
5410
5411         * README:
5412         Add a note on new show-on-set-parent prop and stage subclassing.
5413
5414 2008-04-04  Emmanuele Bassi  <ebassi@openedhand.com>
5415
5416         Bug #864 - Allow instantiating and subclassing of ClutterStage
5417
5418         * clutter/Makefile.am: Add clutter-stage-window.[ch]
5419
5420         * clutter/clutter-stage-manager.c:
5421         (_clutter_stage_manager_remove_stage): Do not warn if removing
5422         a stage we don't manage, as we might be invoked multiple times
5423         during a ClutterState dispose sequence.
5424
5425         * clutter/clutter-actor.c:
5426         * clutter/clutter-backend.[ch]:
5427         * clutter/clutter-main.c:
5428         * clutter/clutter-private.h:
5429         * clutter/clutter-stage.[ch]: Make ClutterStage a proxy actor,
5430         with a private actor implementing the ClutterStageWindow
5431         interface for handling the per-backend realization, painting
5432         and unrealization, plus all the windowing system abstraction.
5433
5434         * clutter/x11/clutter-event-x11.c:
5435         * clutter/x11/clutter-stage-x11.[ch]: Port the X11 backend
5436         to the new backend and stage API and semantics.
5437
5438         * clutter/glx/clutter-backend-glx.c:
5439         * clutter/glx/clutter-stage-glx.c: Port the GLX backend to
5440         the new backend and stage API and semantics.
5441
5442         * clutter/eglx/clutter-backend-egl.[ch]:
5443         * clutter/eglx/clutter-stage-egl.[ch]: Port the EGLX backend
5444         to the new backend and stage API and semantics (untested).
5445
5446         * tests/test-multistage.c (on_button_press): Rename
5447         clutter_stage_create_new() to clutter_stage_new().
5448
5449 2008-04-04  Neil Roberts  <neil@o-hand.com>
5450
5451         Applied patch from bug #810.
5452
5453         * clutter/x11/clutter-event-x11.c (event_translate): Set a flag
5454         when resizing the stage from a ConfigureNotify event.
5455
5456         * clutter/x11/clutter-stage-x11.c
5457         (clutter_stage_x11_request_coords): Don't try to resize the window
5458         again if the flag is set.
5459         (clutter_stage_x11_init): Added initialiser for the flag.
5460
5461         * clutter/x11/clutter-stage-x11.h (struct _ClutterStageX11): Added
5462         the flag.
5463
5464 2008-04-04  Matthew Allum  <mallum@openedhand.com>
5465
5466         * clutter/clutter-actor.c:
5467         Remove uneeded stage private member.
5468         Add show-on-set-parent prop and make so by default Actors are
5469         now automatically shown when reparented (#791)
5470
5471         * clutter/eglx/clutter-backend-egl.c:
5472         * clutter/cogl/gles/cogl.c:
5473         A couple of minor comments.
5474
5475         * clutter/eglnative/Makefile.am:
5476         Add missing clutter-egl.h header (back port from trunk)
5477
5478         * tests/test-actors.c:
5479         Modify to take advantage of new show-on-set-parent functionality.
5480
5481 2008-04-03  Emmanuele Bassi  <ebassi@openedhand.com>
5482
5483         * clutter/Makefile.am: Only export symbols matching "^clutter.*",
5484         to avoid exposing the library-private symbols starting with
5485         an underscore.
5486
5487 2008-04-03  Emmanuele Bassi  <ebassi@openedhand.com>
5488
5489         * clutter/clutter-alpha.c: ClutterAlpha is an InitiallyUnowned
5490         subclass. This should fix a lot of leakage. (#860, Neil Roberts)
5491
5492 2008-04-03  Emmanuele Bassi  <ebassi@openedhand.com>
5493
5494         * clutter/glx/clutter-backend-glx.c:
5495         (clutter_backend_glx_get_features): Assert if we don't have a
5496         GL context here or if it's not matched to a drawable. Asserting
5497         might seem too drastic, but if we don't have a valid GL context
5498         here then Clutter will segfault anyway, and I'll take an assert()
5499         over a hard to read, deep in GLX guts backtrace any day (and
5500         twice on a monday).
5501
5502         * clutter/x11/clutter-backend-x11.c:
5503         (clutter_backend_x11_get_features): No need for a variable here.
5504
5505 2008-04-01  Matthew Allum  <mallum@openedhand.com>
5506
5507         * clutter/clutter-backend.c:
5508         * clutter/glx/clutter-backend-glx.c:
5509         * clutter/glx/clutter-stage-glx.c:
5510         Allow NULL to be passed to _clutter_backend_ensure_context
5511         which essentially clears GL context. This is hooked into stage
5512         unrealisation.  Isn't yet quite bulletproof.
5513         Fixes issues with gtk-embed crasher (thanks to Neil).
5514
5515 2008-04-1  Robert Bragg  <bob@o-hand.com>
5516
5517         * clutter/glx/clutter-glx-texture-pixmap.c:
5518         In clutter_glx_texture_pixmap_dispose; trap X errors around
5519         glXDestroyGLXPixmap so we can't die due to BadDrawable errors.
5520
5521 2008-03-31  Matthew Allum  <mallum@openedhand.com>
5522
5523         * README:
5524         Add notes on new multistage feature.
5525
5526         * clutter/clutter-stage-manager.c:
5527         Dont ref contained stages.
5528
5529         * clutter/clutter-stage.c:
5530         Automatically remove stage from stage manager on finalisation.
5531         Cleans up warnings when a stage is destroyed.
5532
5533         * clutter/clutter-backend.h:
5534         * clutter/glx/clutter-backend-glx.c:
5535         Minor formatting cleanups.
5536
5537         * clutter/glx/clutter-stage-glx.c:
5538         * configure.ac:
5539         * clutter/clutter-version.h.in:
5540         Add a general CLUTTER_STAGE_TYPE define, should be useful for
5541         evntual stage subclassing and creating with g_object_new()
5542
5543 2008-03-30  Neil Roberts  <neil@o-hand.com>
5544
5545         * clutter/win32/clutter-backend-win32.c
5546         (clutter_backend_win32_init): Added a call to
5547         timeBeginPeriod. Without this the frame rates are terrible because
5548         the glib timeouts are not accurate enough. However this requires
5549         Glib >= 2.16.0 to take any effect because of a change in the way
5550         g_poll is implemented. See revision 6597 of glib.
5551         (clutter_backend_win32_finalize): Added a call to timeEndPeriod.
5552
5553         * configure.ac: Added -lwinmm to the library dependencies for the
5554         Win32 backend.
5555
5556 2008-03-30  Neil Roberts  <neil@o-hand.com>
5557
5558         * clutter/win32/clutter-win32.h:
5559         * clutter/win32/clutter-stage-win32.h:
5560         * clutter/win32/clutter-stage-win32.c:
5561         * clutter/win32/clutter-event-win32.c:
5562         * clutter/win32/clutter-backend-win32.h:
5563         * clutter/win32/clutter-backend-win32.c:
5564         Upgraded for multi-stage support.
5565
5566         * clutter/win32/clutter-stage-win32.c
5567         (clutter_stage_win32_request_coords): Fixed so that it doesn't set
5568         the position or size if it hasn't changed. This was causing
5569         problems when the window was resized using the top left corner. In
5570         that case the window receives resize and move messages separately
5571         which caused the window to flash at a different size or position
5572         while one message was handled before the other.
5573         (clutter_stage_win32_realize): Added PFD_GENERIC_ACCELERATED to
5574         the list of pixel format flags to force it to use hardware
5575         acceleration.
5576
5577 2008-03-28  Matthew Allum  <mallum@openedhand.com>
5578
5579         * clutter/Makefile.am:
5580         * clutter/clutter-actor.c:
5581         * clutter/clutter-actor.h:
5582         * clutter/clutter-backend.c:
5583         * clutter/clutter-backend.h:
5584         * clutter/clutter-debug.h:
5585         * clutter/clutter-event.c:
5586         * clutter/clutter-event.h:
5587         * clutter/clutter-feature.h:
5588         * clutter/clutter-group.h:
5589         * clutter/clutter-main.c:
5590         * clutter/clutter-main.h:
5591         * clutter/clutter-private.h:
5592         * clutter/clutter-stage.c:
5593         * clutter/clutter-stage.h:
5594         * clutter/clutter-stage-manager.c
5595         * clutter/clutter-stage-manager.h
5596         * clutter/clutter-types.h:
5597         * clutter/glx/clutter-backend-glx.c:
5598         * clutter/glx/clutter-backend-glx.h:
5599         * clutter/glx/clutter-stage-glx.c:
5600         * clutter/glx/clutter-stage-glx.h:
5601         * clutter/x11/clutter-backend-x11.c:
5602         * clutter/x11/clutter-backend-x11.h:
5603         * clutter/x11/clutter-event-x11.c:
5604         * clutter/x11/clutter-stage-x11.c:
5605         * clutter/x11/clutter-x11.h:
5606         * tests/Makefile.am:
5607         * tests/test-multistage.c:
5608         Initial commit of multi stage support (mostly a merge from the
5609         clutter-multistage branch).
5610         Note, this commit will break all backends except glx.
5611
5612 2008-03-26  Neil Roberts  <neil@o-hand.com>
5613
5614         * clutter/win32/clutter-win32.h: Added gtk-doc documentation for
5615         the Win32 backend section.
5616
5617         * clutter/win32/clutter-stage-win32.c
5618         (clutter_win32_get_stage_window): Fixed punctuation in the
5619         documentation.
5620
5621         * README: Added notes about the Win32 backend.
5622
5623 2008-03-26  Neil Roberts  <neil@o-hand.com>
5624
5625         * clutter/win32/clutter-event-win32.c (clutter_event_check):
5626         Removed the pointless parameter in the call to check_msg_pending.
5627         (check_msg_pending): Fixed to use PeekMessageW instead of
5628         PeekMessage.
5629
5630 2008-03-25  Neil Roberts  <neil@o-hand.com>
5631
5632         Added a native Win32 WGL backend.
5633
5634         * configure.ac: Added the 'win32' flavour.
5635
5636         * clutter/cogl/gl/cogl.c (cogl_get_proc_address): Added an ifdef
5637         to use wglGetProcAddress with the Win32 backend.
5638
5639         * clutter/Makefile.am (DIST_SUBDIRS): Added the win32 directory.
5640
5641         * clutter/win32/clutter-win32.pc.in:
5642         * clutter/win32/clutter-win32.h:
5643         * clutter/win32/clutter-stage-win32.h:
5644         * clutter/win32/clutter-stage-win32.c:
5645         * clutter/win32/clutter-event-win32.c:
5646         * clutter/win32/clutter-backend-win32.h:
5647         * clutter/win32/Makefile.am:
5648         * clutter/win32/clutter-backend-win32.c: New files.
5649
5650 2008-03-19  Emmanuele Bassi  <ebassi@openedhand.com>
5651
5652         * clutter/clutter-model.[ch]: Add a ::copy() virtual function
5653         for copying iterators.
5654
5655         * clutter/clutter-list-model.c:
5656         (clutter_list_model_iter_copy),
5657         (clutter_list_model_iter_class_init): Implement the ::copy()
5658         function inside the ListModel iterator subclass.
5659
5660 2008-03-19  Emmanuele Bassi  <ebassi@openedhand.com>
5661
5662         * clutter/clutter-group.c:
5663         * clutter/clutter-texture.c: Use CLUTTER_ACTOR_IS_VISIBLE()
5664         and not CLUTTER_ACTOR_IS_MAPPED().
5665
5666 2008-03-19  Emmanuele Bassi  <ebassi@openedhand.com>
5667
5668         * clutter/clutter-score.[ch]: Small clean ups and refactoring.
5669         Use gulong instead of guint, so we have a bigger id space for
5670         the timelines inside a Score.
5671
5672 2008-03-19  Chris Lord  <chris@openedhand.com>
5673
5674         * clutter/clutter-actor.c:
5675         (_clutter_actor_apply_modelview_transform), (clutter_actor_paint):
5676         Apply clip inside paint function instead of transform function
5677
5678 2008-03-18  Emmanuele Bassi  <ebassi@openedhand.com>
5679
5680         * clutter/clutter-score.c: Update documentation.
5681
5682 2008-03-18  Emmanuele Bassi  <ebassi@openedhand.com>
5683
5684         * clutter/clutter-score.[ch]: Remove all the API changes, and
5685         just add a clutter_score_append_at_marker(); the implementation
5686         remains the same, but the marker must be explicitly created by
5687         the developer. The ids are no longer used to create implicit
5688         markers, so they can return to be unsigned integers. (#450)
5689
5690         * clutter/clutter-timeline.[ch]:
5691         (clutter_timeline_has_marker): Add a function to query a timeline
5692         for a marker being set.
5693
5694         * tests/test-score.c (main): Update with the API changes.
5695
5696         * clutter.symbols: Update exported symbols.
5697
5698 2008-03-18  Emmanuele Bassi  <ebassi@openedhand.com>
5699
5700         * clutter/clutter-texture.c: Small clean ups in the coding style.
5701
5702 2008-03-18  Emmanuele Bassi  <ebassi@openedhand.com>
5703
5704         * clutter.symbols: Add new symbols
5705
5706         * clutter/clutter-score.[ch]: Use the newly added marker API
5707         on the timelines to implement attaching timelines at specific
5708         points, using either milliseconds or frames.
5709
5710         * tests/test-score.c (main): Test the new API.
5711
5712 2008-03-18  Emmanuele Bassi  <ebassi@openedhand.com>
5713
5714         * clutter/clutter-marshal.list: Add signature for the
5715         ::marker-reached signal marshaller.
5716
5717         * clutter/clutter-timeline.[ch]: Add timeline marker API;
5718         using markers it is possible to add a unique identifier to
5719         a particular frame of the timeline, and receive a signal
5720         notification when reaching that particular marker while
5721         playing the timeline. (#641)
5722
5723         * tests/test-timeline.c: Update the test case to check for
5724         the marker-reached signal emission.
5725
5726         * clutter.symbols: Add new symbols.
5727
5728 2008-03-10  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
5729
5730         * tests/test-shader.c: improved readability of fragment shader
5731         examples by factoring out common bits into FRAGMENT_SHADER_BEGIN and
5732         FRAGMENT_SHADER_END macros.
5733
5734 2008-03-09  Matthew Allum  <mallum@openedhand.com>
5735
5736         * clutter/clutter-id-pool.c: (clutter_id_pool_free):
5737         Use g_slice_free not g_free.
5738         * clutter/clutter-main.c: (_clutter_do_pick):
5739         Dont 'over read' the framebuffer when picking (#839, Neil Roberts)
5740
5741 2008-03-07  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
5742
5743         Refactored the integer id->ClutterActor mapping code to be a self
5744         contained data structure.
5745
5746         * clutter/clutter-id-pool.[ch]: new files.
5747         * clutter/Makefile.am: added clutter-id-pool.[ch]
5748         * clutter/clutter-private.h: use a ClutterIDPool instead of GArray and
5749         GSList to keep track of the reusable ids.
5750         * clutter/clutter-actor.c: moved id pool logic away.
5751         * clutter/clutter-main.c: simplified id pool creation/finalization.
5752
5753 2008-03-07  Robert Bragg  <bob@o-hand.com>
5754
5755         * clutter/clutter-timeline.c:
5756         Timeline changes to fix the issues identified in bugzilla #439
5757
5758         Notably, this includes some tweaks to timeline semantics.
5759         So e.g. for a
5760
5761         10 frame timeline here are some points about the new timeline code:
5762
5763         - When you create a timeline it starts with current_frame_num == 0
5764
5765         - After starting a timeline, the first timeout is for
5766           current_frame_num == 1 (Notably it isn't 0 since there is a delay
5767           before the first timeout signals so re-asserting the starting point
5768           would give a longer than average first frame.)
5769
5770         - For a non looping timeline the last timeout would be for
5771           current_frame_num == 10
5772
5773         - For a looping timeline the timeout for current_frame_num ==
5774           10 would be followed by a timeout for current_frame_num == 1
5775           and frame 0 is considered == frame 10.
5776
5777         - Asking for a timeline of N frames might better be described
5778           as asking for a timeline of _length_ N.
5779
5780         Warning: Although I tried to test things, I guess it's quite
5781         likely that this breaks somthing depending on a specific quirk
5782         of the previous timeline code.
5783
5784 2008-03-06  Emmanuele Bassi  <ebassi@openedhand.com>
5785
5786         * clutter/clutter-actor.c:
5787         (clutter_actor_set_anchor_point_from_gravity): Fix a stupid
5788         conversion from pixels to units that should I not have made.
5789
5790 2008-03-06  Emmanuele Bassi  <ebassi@openedhand.com>
5791
5792         * README: Update the release notes.
5793
5794 2008-03-06  Gwenole Beauchesne  <gbeauchesne@splitted-desktop.org>
5795
5796         Signed off by: Emmanuele Bassi <ebassi@openedhand.com>
5797
5798         * clutter/clutter-group.c (clutter_group_real_lower): Fix to
5799         actually lower the actor under the 'above' actor. (#822)
5800
5801 2008-03-06  Emmanuele Bassi  <ebassi@openedhand.com>
5802
5803         * clutter/clutter-entry.h:
5804         * clutter/clutter-entry.c:
5805         (clutter_entry_handle_key_event_internal),
5806         (clutter_entry_key_press), (clutter_entry_class_init),
5807         (clutter_entry_handle_key_event): Provide a default class handler
5808         for the key-press-event, so that giving key focus to an entry will
5809         automatically make it work. This deprecates the
5810         clutter_entry_handle_key_event() function. (#824)
5811
5812         * tests/test-entry.c (main): Remove the handle_key_event()
5813         machinery, and just give focus to the entry.
5814
5815 2008-03-06  Chris Lord  <chris@openedhand.com>
5816
5817         * clutter/clutter-model.c: (clutter_model_set_sorting_column):
5818         Don't disable sorting on column 0
5819
5820 2008-03-06  Emmanuele Bassi  <ebassi@openedhand.com>
5821
5822         Add support for the anchor point inside ClutterScript (#834,
5823         David Stanczak)
5824
5825         * clutter/clutter-actor.c:
5826         (clutter_actor_set_property),
5827         (clutter_actor_get_property),
5828         (clutter_actor_class_init): Add the :anchor-x and :anchor-y
5829         properties to the ClutterActor class.
5830
5831         (clutter_actor_set_anchor_point),
5832         (clutter_actor_set_anchor_pointu),
5833         (clutter_actor_set_anchor_point_from_gravity): Reimplement
5834         the pixel based and gravity based API using the units based
5835         one. Emit the ::notify signal for the :anchor-x and :anchor-y
5836         properties.
5837
5838         (parse_units),
5839         (clutter_actor_parse_custom_node): Parse the :anchor-x and
5840         :anchor-y properties using the custom units format (mm, px,
5841         pt and %).
5842
5843         * tests/test-script.json: Test the newly added properties.
5844
5845 2008-03-05  Emmanuele Bassi  <ebassi@openedhand.com>
5846
5847         * configure.ac: Add "osx" the the AC_HELP_STRING of the flavour
5848         selection. (#831, Peter Enzerink)
5849
5850 2008-03-04  Emmanuele Bassi  <ebassi@openedhand.com>
5851
5852         * clutter/clutter-main.c (clutter_do_event): Do not throttle the
5853         motion events if the per-actor delivery has been disabled.
5854
5855 2008-03-04  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
5856
5857         * clutter/pango/pangoclutter-render.c: (draw_glyph): use g_slice_new0
5858         instead of g_slice_new when allocating the glyph_info, avoiding a
5859         branch based on uninitialized memory.
5860
5861 2008-03-03  Emmanuele Bassi  <ebassi@openedhand.com>
5862
5863         * Makefile.am: Do not recurse into doc if we did not explicitly
5864         enabled the documentation build; we just recurse into doc if we
5865         are doing a dist or a distcheck.
5866
5867 2008-02-29  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
5868
5869         Reuse the numeric id's used for picking actors to avoid the potential
5870         of overflowing the id numbers when continusly creating and destroying
5871         actors on long running applications for 16bpp.
5872
5873         * clutter/clutter-private.h: replaced hashtable with GArray and a
5874         GSList for available slots in the array.
5875         * clutter/clutter-actor.c: (create_actor_id): function to create an
5876         actor->id mapping, (release_actor_id): function to mark an existing id
5877         as available for reuse.
5878         * clutter/clutter-main.c: (clutter_context_free): added utility
5879         function for cleaning up the context,
5880         (clutter_get_actor_by_gid): use the GArray for looking up actors.
5881
5882 2008-02-26  Emmanuele Bassi  <ebassi@openedhand.com>
5883
5884         * clutter/clutter-alpha.c:
5885         (clutter_exp_inc_func), (clutter_exp_dec_func): Clamp the value
5886         of the alpha function between [0, MAX_ALPHA]. (#800)
5887
5888 2008-02-25  Emmanuele Bassi  <ebassi@openedhand.com>
5889
5890         * clutter/clutter-main.c (emit_event): Fix the last commit
5891         which inverted a condition.
5892
5893 2008-02-25  Emmanuele Bassi  <ebassi@openedhand.com>
5894
5895         * clutter/clutter-actor.c: Remove the usage of g_return_if_fail()
5896         from static functions: either assert or use g_warning() to check
5897         internal state, as g_return_if_fail() can be compiled out.
5898
5899         * clutter/clutter-main.c: Ditto as above.
5900
5901 2008-02-25  Tomas Frydrych  <tf@openedhand.com>
5902
5903         * clutter/clutter-texture.c:
5904         (texture_update_data):
5905         Set alignment based on actual data rowstride, not the texture
5906         width.
5907
5908 2008-02-21  Tomas Frydrych  <tf@openedhand.com>
5909
5910         * clutter/x11/clutter-backend-x11.h:
5911         * clutter/x11/clutter-event-x11.c:
5912         * clutter/x11/clutter-x11.h:
5913         (clutter_x11_handle_event):
5914         (clutter_x11_disable_event_retrieval):
5915         Functions to allow to hook into external XEvent retrieval (for
5916         example when using clutter with gtk); NB: this API is tentative.
5917
5918 2008-02-21  Emmanuele Bassi  <ebassi@openedhand.com>
5919
5920         * clutter/x11/clutter-event-x11.c (event_translate): Ignore
5921         PropertyNotify events if they don't match our window.
5922
5923         * clutter/x11/clutter-stage-x11.c:
5924         (clutter_stage_x11_request_coords): Chain up to the parent's
5925         request coords.
5926
5927 2008-02-21  Emmanuele Bassi  <ebassi@openedhand.com>
5928
5929         * clutter/x11/clutter-event-x11.c (event_translate): Ignore
5930         ConfigureNotify events if we are painting on a foreign window.
5931
5932         * clutter/x11/clutter-stage-x11.c:
5933         (clutter_stage_x11_request_coords): Reliquish control of the
5934         window size, if we are painting on a foreign window. This fixes
5935         the GtkClutterEmbed widget.
5936
5937 2008-02-20  Emmanuele Bassi  <ebassi@openedhand.com>
5938
5939         * clutter/clutter-timeline.c (clutter_timeline_set_delay): Relax
5940         the condition to allow 0 msecs of delay (meaning: no delay).
5941
5942 2008-02-20  Tomas Frydrych  <tf@openedhand.com>
5943
5944         * clutter/Makefile.am:
5945         Added libclutter_ ... _la_DEPENDENCIES to fix dependency tracking.
5946
5947 2008-02-20  Tomas Frydrych  <tf@openedhand.com>
5948
5949         * clutter/x11/clutter-x11.h:
5950         * clutter/x11/clutter-backend-x11.c:
5951         (clutter_x11_set_display):
5952         Function to set X display connection prior to calling
5953         clutter_init(); stripped loads of trailing space.
5954
5955 2008-02-20  Tomas Frydrych  <tf@openedhand.com>
5956
5957         * clutter/clutter-marshal.list:
5958         * clutter/glx/Makefile.am:
5959         * clutter/glx/clutter-backend-glx.c:
5960         * clutter/glx/clutter-backend-glx.h:
5961         * clutter/glx/clutter-glx.h:
5962         * clutter/x11/Makefile.am:
5963         ClutterX11TexturePixmap and ClutterGLXTexturePixmap actors (#713;
5964         patch by Johan Bilien).
5965
5966 2008-02-20  Emmanuele Bassi  <ebassi@openedhand.com>
5967
5968         * clutter/clutter-actor.h:
5969         * clutter/clutter-actor.c:
5970         (clutter_actor_get_abs_opacity): Add function that does what
5971         get_opacity() does now...
5972
5973         (clutter_actor_get_opacity): ... and make get_opacity() do what
5974         it's supposed to be doing. The original get_opacity() returned
5975         a composited value, and there's no way to actually extract the
5976         real opacity value set with set_opacity().
5977
5978         * clutter/clutter-clone-texture.c:
5979         * clutter/clutter-rectangle.c:
5980         * clutter/clutter-texture.c: Update to use get_abs_opacity().
5981
5982         * clutter/clutter-entry.c:
5983         * clutter/clutter-label.c: Ditto. Also, never change the stored
5984         alpha value. (#804)
5985
5986         * tests/Makefile.am:
5987         * tests/test-opacity.c: Test suite for the get_opacity() and
5988         get_abs_opacity() API, and correct opacity handling.
5989
5990         * README: Add note about the change in get_opacity().
5991
5992 2008-02-19  Chris Lord  <chris@openedhand.com>
5993
5994         * clutter/clutter-model.c: (clutter_model_resort):
5995         Don't return when there's no sort function set, leave that to the
5996         model sub-class
5997
5998 2008-02-18  Emmanuele Bassi  <ebassi@openedhand.com>
5999
6000         * configure.ac:
6001         * README: Post stable release bump to 0.7.1
6002
6003 2008-02-18  Emmanuele Bassi  <ebassi@openedhand.com>
6004
6005         * README:
6006         * NEWS: Release 0.6.0
6007
6008 2008-02-18  Emmanuele Bassi  <ebassi@openedhand.com>
6009
6010         * clutter/clutter-list-model.c:
6011         (clutter_list_model_iter_set_value): Fix a typo in the conversion
6012         code.
6013
6014 2008-02-18  Chris Lord  <chris@openedhand.com>
6015
6016         * README:
6017         Fix spelling mistake and a typo
6018
6019 2008-02-18  Emmanuele Bassi  <ebassi@openedhand.com>
6020
6021         * clutter/clutter-actor.c:
6022         (clutter_actor_get_box_from_vertices): Avoid a masking warning
6023         caused by math.h utter braindamage.
6024
6025 2008-02-18  Emmanuele Bassi  <ebassi@openedhand.com>
6026
6027         * clutter/clutter-actor.c: Document the fact that ancestor can
6028         be NULL in the relative transformation API, and what are the
6029         effects.
6030
6031 2008-02-15  Matthew Allum  <mallum@openedhand.com>
6032
6033         * clutter/pango/pangoclutter-render.c: (draw_glyph):
6034         More safety checks (#796, Tero Saarni)
6035
6036 2008-02-15  Chris Lord  <chris@openedhand.com>
6037
6038         * clutter/clutter-entry.c:
6039         * clutter/clutter-group.c:
6040         * clutter/clutter-label.c:
6041         * clutter/clutter-rectangle.c:
6042         * clutter/clutter-texture.c:
6043         More documentation fixes
6044
6045 2008-02-15  Chris Lord  <chris@openedhand.com>
6046
6047         * clutter/clutter-entry.c: (clutter_entry_class_init):
6048         More documentation fixes
6049
6050 2008-02-15  Chris Lord  <chris@openedhand.com>
6051
6052         * clutter/clutter-label.c: (clutter_label_class_init):
6053         More documentation fixes
6054
6055 2008-02-15  Chris Lord  <chris@openedhand.com>
6056
6057         * clutter/clutter-clone-texture.c:
6058         * clutter/clutter-texture.c: (clutter_texture_class_init):
6059         More documentation fixes
6060
6061 2008-02-15  Chris Lord  <chris@openedhand.com>
6062
6063         * clutter/clutter-actor.c:
6064         * clutter/clutter-container.c:
6065         * clutter/clutter-media.c:
6066         * clutter/clutter-rectangle.c:
6067         * clutter/clutter-stage.c: (clutter_stage_class_init):
6068         * clutter/clutter-stage.h:
6069         * clutter/clutter-texture.c:
6070         * doc/reference/clutter-docs.sgml:
6071         Fix more documentation
6072
6073 2008-02-15  Emmanuele Bassi  <ebassi@openedhand.com>
6074
6075         * clutter/clutter-actor.[ch]:
6076         * clutter/clutter-types.h:
6077         * doc/reference/clutter-docs.sgml: Fix a lot of documentation.
6078
6079 2008-02-15  Matthew Allum  <mallum@openedhand.com>
6080
6081         * clutter/cogl/gles/cogl.c: (cogl_paint_init):
6082         Remove depth test getting turned on by default (unlike GL backend)
6083
6084 2008-02-15  Tomas Frydrych  <tf@openedhand.com>
6085
6086         * configure.ac:
6087         * clutter/clutter-version.h.in:
6088         * build/msvc_2k5/clutter-version.h:
6089         Removed unused --without-fpu configure option and CLUTTER_NO_FPU
6090         macro
6091
6092 2008-02-15  Tomas Frydrych  <tf@openedhand.com>
6093
6094         * build/mingw/README:
6095         * build/mingw/mingw-cross-compile.sh:
6096         Script that automates cross compilation with mingw by Neil Roberts
6097         <bpeeluk@yahoo.co.uk>
6098
6099 2008-02-15  Emmanuele Bassi  <ebassi@openedhand.com>
6100
6101         * clutter/clutter-actor.[ch]: Rename
6102         clutter_actor_get_box_from_vertices() to
6103         clutter_actor_box_get_from_vertices().
6104
6105         * clutter/clutter-group.c (clutter_group_query_coords): Fix the
6106         query_coords() implementation.
6107
6108 2008-02-15  Tomas Frydrych  <tf@openedhand.com>
6109
6110         * clutter/clutter-actor.c:
6111         * clutter/clutter-actor.h:
6112         (clutter_group_query_coords):
6113         Added function to translate vertex array to a bounding box.
6114
6115         (clutter_actor_is_scaled):
6116         (clutter_actor_is_rotated):
6117         Fixed documentation.
6118
6119 2008-02-15  Tomas Frydrych  <tf@openedhand.com>
6120
6121         * clutter/clutter-group.c: (clutter_group_query_coords):
6122         Disabled new code taking into account actor scale and rotation.
6123
6124 2008-02-14  Tomas Frydrych  <tf@openedhand.com>
6125
6126         * clutter/clutter-actor.c:
6127         * clutter/clutter-actor.h:
6128         (clutter_actor_is_scaled):
6129         (clutter_actor_is_rotated):
6130         Convenience functions to test whether actor is scaled or rotated.
6131
6132         (clutter_actor_apply_relative_transform_to_point):
6133         Removed unused variable.
6134
6135         * clutter/clutter-group.c:
6136         (clutter_group_query_coords):
6137         Use clutter_actor_get_relative_vertices() to calculate bounding
6138         boxes of children that are scaled or rotated.
6139
6140 2008-02-14  Tomas Frydrych  <tf@openedhand.com>
6141
6142         * clutter/clutter-actor.c:
6143         * clutter/clutter-actor.h:
6144         (clutter_actor_get_relative_vertices):
6145         (clutter_actor_apply_relative_transform_to_point):
6146         Functions to calculate actor vertices in the plane of a given
6147         ancestor.
6148
6149 2008-02-12  Chris Lord  <chris@openedhand.com>
6150
6151         * clutter/clutter-texture.c: (texture_get_tile_pixbuf),
6152         (clutter_texture_get_pixbuf):
6153         Fix copying textures to pixbufs for tiled textures and correct #ifndef
6154         typo
6155
6156         * clutter/clutter-util.c:
6157         Amend documentation
6158
6159 2008-02-12  Matthew Allum  <mallum@openedhand.com>
6160
6161         * clutter/clutter-texture.c: (texture_get_tile_pixbuf):
6162         ifdef out 'leaked' GL only API call.
6163
6164 2008-02-12  Tomas Frydrych  <tf@openedhand.com>
6165
6166         * clutter/clutter-texture.c (texture_update_data):
6167         Fixed incorrect calculation of offset into texture data (needs to
6168         use width of the texture, not of the updated area).
6169
6170 2008-02-12  Tomas Frydrych  <tf@openedhand.com>
6171
6172         * clutter/clutter-texture.c (texture_update_data):
6173         Fixed incorrect aligment of texture data.
6174
6175 2008-02-12  Tomas Frydrych  <tf@openedhand.com>
6176
6177         * clutter/x11/clutter-event-x11.c (event_translate):
6178         Ignore events not directed at the stage window once they have been
6179         passed to the filter functions.
6180
6181 2008-02-11  Matthew Allum  <mallum@openedhand.com>
6182
6183         * clutter/clutter-actor.c:
6184         Minor documentation tweak to class description.
6185
6186         * clutter/clutter-behaviour-scale.c:
6187         'Force' start + end vals of scale behaviour
6188         (#779, Havoc Pennington)
6189
6190 2008-02-11  Emmanuele Bassi  <ebassi@openedhand.com>
6191
6192         * README:
6193         * NEWS: Release 0.5.6
6194
6195         * configure.ac: Post release bump to 0.5.7.
6196
6197         * clutter/clutter-behaviour-scale.c:
6198         * tests/test-fbo.c: Fix compilation warnings.
6199
6200 2008-02-11  Tomas Frydrych  <tf@openedhand.com>
6201
6202         * clutter/clutter-actor.c (clutter_actor_transform_stage_point):
6203         Moved part of the calculation to floating point to avoid overflow
6204         of ClutterFixed range for large actors (bug 613).
6205
6206 2008-02-10  Matthew Allum    <mallum@o-hand.com>
6207
6208         * clutter/osx/clutter-stage-osx.c
6209         Fix up a couple of typos breaking build.
6210
6211 2008-02-08  Emmanuele Bassi  <ebassi@openedhand.com>
6212
6213         * clutter/clutter-actor.c: Add actor box diagram and notes.
6214
6215 2008-02-08  Emmanuele Bassi  <ebassi@openedhand.com>
6216
6217         * clutter/clutter-behaviour-path.c: Move the nice graph and
6218         description from the Path behaviour...
6219
6220         * clutter/clutter-behaviour.c: ... to the main Behaviour class.
6221
6222 2008-02-08  Emmanuele Bassi  <ebassi@openedhand.com>
6223
6224         * clutter/clutter-behaviour-path.c: Add a paragraph describing
6225         the effects of different alpha functions on the path behaviour.
6226
6227 2008-02-08  Emmanuele Bassi  <ebassi@openedhand.com>
6228
6229         * clutter/clutter-actor.c: Reference the newly added event-flow.png
6230
6231         * clutter/clutter-alpha.c: Ditto, with alpha-func.png
6232
6233         * clutter/clutter-texture.c: Fix the XML.
6234
6235 2008-02-08  Emmanuele Bassi  <ebassi@openedhand.com>
6236
6237         * clutter/clutter-behaviour-path.c: Reference the newly
6238         added image showing the effects of different alpha functions
6239         on the same path behaviour.
6240
6241         * configure.ac: Find out the prefix of some of the libraries
6242         we depend upon, so that gtk-doc can fix the references for us.
6243
6244 2008-02-08  Matthew Allum  <mallum@openedhand.com>
6245
6246         * clutter/clutter-texture.c:
6247         Tidy up offscreen code, adding into realize/unrealize.
6248         Add more safety code.
6249         Improve documentation.
6250
6251 2008-02-08  Emmanuele Bassi  <ebassi@openedhand.com>
6252
6253         * clutter/clutter-script.c:
6254         (resolve_alpha_func): Use a whitelist containing the alpha function
6255         provided by Clutter, as a fallback in case g_module_open() does not
6256         work.
6257
6258         (clutter_script_parse_alpha): Add an explicit warning in case we
6259         cannot find the alpha function used inside a UI definition.
6260
6261 2008-02-07  Tomas Frydrych  <tf@openedhand.com>
6262
6263         * clutter/clutter-group.c (clutter_group_query_coords):
6264         Take into account the anchor point when calculating the box size.
6265
6266 2008-02-07  Emmanuele Bassi  <ebassi@openedhand.com>
6267
6268         * clutter/clutter-actor.c: Add a note on clutter_actor_set_size()
6269         reguarding groups.
6270
6271         * clutter/clutter-group.c: Clarify group sizing.
6272
6273 2008-02-07  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
6274
6275         * tests/test-shader.c: (button_release_cb): added simplified
6276         implementation of a box-blur shader from Gwenole Beauchesne that
6277         should work on GLSL implementing low-end IGPs not implementing
6278         dynamic branching. The original code used crashed some of these
6279         due to bugs in drivers or similar. Resolves bug #710.
6280
6281 2008-02-07  Tomas Frydrych  <tf@openedhand.com>
6282
6283         * tests/test-actors.c:
6284         Reverted previous change.
6285
6286 2008-02-07  Tomas Frydrych  <tf@openedhand.com>
6287
6288         * clutter/clutter-actor.c:
6289         (clutter_actor_set_property):
6290         Fixed handling of PROP_ROTATE_CENTER_Y, ROTATE_CENTER_Z
6291
6292         * tests/test-actors.c:
6293         Adjusted to use anchor point for both group and hands.
6294
6295 2008-02-07  Neil J. Patel  <njp@o-hand.com>
6296
6297         * tests/test-actors.c: (frame_cb), (main):
6298         Changed set_anchor to move_anchor.
6299         Changed clutter_actor_rotate x & y values to 0,0.
6300         Switched on scaling because it seems to work without drifting.
6301
6302 2008-02-07  Emmanuele Bassi  <ebassi@openedhand.com>
6303
6304         * clutter/clutter-script-parser.c:
6305         (clutter_script_get_type_from_symbol),
6306         (clutter_script_get_type_from_class): Use BIND_LAZY flag
6307         when looking at the symbols, so we don't load them all up.
6308
6309         * clutter/clutter-script.c (resolve_alpha_func): Ditto as above.
6310
6311 2008-02-07  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
6312
6313         * clutter/clutter-actor.c:
6314         (_clutter_actor_apply_modelview_transform): perform translation as
6315         well as anchor point adjustment based on self not being stage (and
6316         not by self not being an orphan).
6317
6318 2008-02-07  Matthew Allum  <mallum@openedhand.com>
6319
6320         * clutter/clutter-stage.c:
6321         * clutter/clutter-stage.h:
6322         * clutter/eglnative/clutter-stage-egl.c:
6323         * clutter/eglx/clutter-stage-egl.c:
6324         * clutter/osx/clutter-stage-osx.c:
6325         * clutter/sdl/clutter-stage-sdl.c:
6326         * clutter/x11/clutter-stage-x11.c:
6327         Add at least somne basic offscreen handling into all backends.
6328         Remove unused clutter_stage_set_offscreen vfunc. (#549)
6329
6330         * clutter/clutter-texture.c:
6331         Minor API doc tweak, noting rowstride source in set_area
6332
6333 2008-02-07  Emmanuele Bassi  <ebassi@openedhand.com>
6334
6335         * clutter/clutter-score.c (traverse_children): Actually implement
6336         clutter_score_list_timelines().
6337
6338         * tests/test-score.c (main): Test clutter_score_list_timelines().
6339
6340 2008-02-07  Matthew Allum  <mallum@openedhand.com>
6341
6342         * clutter/pango/pangoclutter-render.c:
6343         Warn if requested glyph is too big for underlying texture cache.
6344         (see #666)
6345
6346 2008-02-07  Matthew Allum  <mallum@openedhand.com>
6347
6348         * clutter/clutter-texture.c: (texture_upload_data):
6349         Remove random appearing 'priv->filter_quality =1' (#643)
6350
6351 2008-02-06  Matthew Allum  <mallum@openedhand.com>
6352
6353         * clutter/clutter-texture.c:
6354         Minor clean up from last commit.
6355
6356         * tests/test-fbo.c:
6357         Small tweak (rotate offscreen, rather than resize)
6358
6359 2008-02-06  Matthew Allum  <mallum@openedhand.com>
6360
6361         * clutter/clutter-texture.c:
6362         Initial attempt at handling resizing/tranformed source textures.
6363
6364         * clutter/pango/pangoclutter-render.c: (draw_glyph):
6365         Guards against freetype returning NULL bitmaps and
6366         thus causing device by zeros on NVIDIA drivers. (see ml)
6367
6368 2008-02-05  Matthew Allum  <mallum@openedhand.com>
6369
6370         * clutter/clutter-actor.c: (clutter_actor_get_vertices):
6371         Make sure GL related Matrices are initialised. Fixes #756
6372
6373         * clutter/clutter-texture.c:
6374         Fix up code from Norways answer to Jean-Michel Basquiat.
6375         (warning on tile_get_pixbuf)
6376
6377 2008-02-05  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
6378
6379         * clutter/clutter-texture.c: removed spurious left over debug printf.
6380
6381 2008-02-05  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
6382
6383         * clutter/clutter-texture.c: applied modified patch from Gwenole
6384         Beuchesne adressing bug #635. Adressing a buffer overflow in
6385         clutter_texture_get_pixbuf() when tiling is forced.
6386
6387 2008-02-04  Emmanuele Bassi  <ebassi@openedhand.com>
6388
6389         * clutter/clutter-shader.c (clutter_shader_constructor): Keep the
6390         constructor line under the 80 columns using a variable.
6391
6392 2008-02-04  Emmanuele Bassi  <ebassi@openedhand.com>
6393
6394         * clutter/clutter-actor.c:
6395         * clutter/clutter-shader.c: Small documentation and style fixes
6396
6397         * tests/test-scale.c: Constify the gravities array.
6398
6399 2008-02-04  Chris Lord  <chris@openedhand.com>
6400
6401         * clutter/clutter-actor.c: (clutter_actor_transform_stage_point):
6402         Check that x_out and y_out != NULL before setting their contents
6403
6404 2008-02-04  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
6405
6406         * clutter/clutter-timeline.c: (clutter_timeline_rewind): updated
6407         documentation to take direction into account.
6408
6409 2008-02-04  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
6410
6411         * tests/test-fbo.c: (make_shader):
6412         * tests/test-shader.c: (main): multiply the resulting gl_FragColor
6413         with gl_Color before being done to take opacity into account in the
6414         GLSL fragments.
6415
6416 2008-02-04  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
6417
6418         * clutter/clutter-actor.[ch]: added clutter_actor_get_shader and
6419         renamed clutter_actor_apply_shader to be clutter_actor_set_shader.
6420         Reindented/aligned header.
6421         * clutter/clutter-texture.c: (clutter_texture_paint): temporarily
6422         disable the shader on top of the clutter context's shader stack while
6423         rendering into the FBO.
6424         * tests/test-fbo.c: (main): s/apply_shader/set_shader/
6425         * tests/test-shader.c: (button_release_cb), (main):
6426         s/apply_shader/set_shader/
6427
6428 2008-02-03  Matthew Allum  <mallum@openedhand.com>
6429
6430         * clutter/clutter-actor.c: (clutter_actor_set_rotationx):
6431         Add notify signal for set_rotate
6432
6433         * clutter/clutter-texture.c:
6434         Add basic cleanup code for fbo's
6435
6436         * tests/test-fbo.c: (main):
6437         Minor notes.
6438
6439         * clutter/osx/clutter-stage-osx.c: (clutter_stage_osx_realize):
6440         Turn on vblanking.
6441
6442 2008-02-03  Matthew Allum  <mallum@openedhand.com>
6443
6444         * clutter/clutter-shader.c:
6445         Minor formatting cleanups to fit in 80 cols.
6446
6447         * clutter/clutter-texture.c:
6448         More safety checks, clean ups in clutter_texture_new_from_actor()
6449
6450         * clutter/cogl/gl/cogl.c:
6451         Always clear the FBO initially when rendering
6452
6453         * tests/test-fbo.c:
6454         Overhall the test as to be more useful (and show current issues)
6455
6456 2008-02-02  Matthew Allum  <mallum@openedhand.com>
6457
6458         * clutter/clutter-timeline.c:
6459         Document frame number limits in new-frame signal.
6460
6461         * clutter/x11/clutter-event-x11.c:
6462         Remove uneeded error trap (#751)
6463
6464 2008-02-01  Matthew Allum  <mallum@openedhand.com>
6465
6466         * clutter/cogl/cogl.h:
6467         * clutter/cogl/gl/cogl.c: (cogl_paint_init), (cogl_enable):
6468         * clutter/cogl/gles/cogl.c: (cogl_enable):
6469
6470        Disable the depth test and buffer as has some strange side
6471        effects, mainly on x/y axis rotation with multiple layers at
6472        same depth (eg rotating text on a bg has very strange
6473        effect). Seems no clean 100% effective way to fix without other
6474        odd issues.. So for now move to application to handle and add
6475        cogl_enable_depth_test() as for custom actors (i.e groups) to
6476        enable if need be.
6477
6478 2008-02-01  Matthew Allum  <mallum@openedhand.com>
6479
6480         * clutter/clutter-texture.c: (clutter_texture_new_from_actor):
6481         Fix typo breaking FBO rendering on anything other than a cloned
6482         texture.
6483
6484 2008-02-01  Matthew Allum  <mallum@openedhand.com>
6485
6486         * clutter/clutter-feature.h:
6487         * clutter/clutter-texture.c:
6488         * clutter/clutter-texture.h:
6489         * clutter/cogl/cogl.h:
6490         * clutter/cogl/gl/cogl.c:
6491         * clutter/cogl/gles/cogl.c:
6492         * tests/Makefile.am:
6493         * tests/test.fbo.c:
6494         Add initial support for FBO's in Clutter (OpenGL only so far).
6495         See new clutter_texture_new_from_actor()
6496         Initial implementation, needs work.
6497
6498         * clutter/x11/clutter-stage-x11.c:
6499         (clutter_stage_x11_set_cursor_visible):
6500         Fall back to again not relying on xfixes to hide cursor. *sigh*
6501
6502         * clutter/clutter-deprecated.h:
6503         Add clutter_group_find_child_by_id
6504
6505 2008-02-01  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
6506
6507         * clutter/cogl/gles/cogl.c: (cogl_rectangle_internal): increase size
6508         of GLfixed[] array to make contents fit.
6509
6510 2008-02-01  Emmanuele Bassi  <ebassi@openedhand.com>
6511
6512         * clutter/clutter-actor.h: Clean up a bit the flag-related macros.
6513
6514 2008-02-01  Emmanuele Bassi  <ebassi@openedhand.com>
6515
6516         * clutter/clutter-actor.c:
6517         (clutter_actor_get_property): Use clutter_actor_get_reactive()
6518         instead of the IS_REACTIVE() macro.
6519
6520         (clutter_actor_set_reactive): Emit the notify signal for the
6521         reactive property.
6522
6523         * clutter/clutter-timeline.c:
6524         (timeline_timeout_func),
6525         (clutter_timeline_get_delta): Coding style fixes.
6526
6527 2008-01-31  Rob Bradford  <rob@openedhand.com>
6528
6529         * clutter/glx/clutter-stage-glx.c:
6530         * clutter/glx/clutter-backend-glx.c:
6531         * clutter/glx/clutter-backend-glx.h:
6532         Fix formatting.
6533
6534 2008-01-31  Emmanuele Bassi  <ebassi@sprite>
6535
6536         * clutter/clutter-timeline.c (clutter_timeline_skip): Don't
6537         add the frames outside the direction check. (thanks to benoar
6538         on clutter-list for spotting it)
6539
6540 2007-01-31  Tomas Frydrych  <tf@openedhand.com>
6541
6542         * clutter/clutter-actor.c:
6543         (clutter_actor_transform_vertices):
6544         Call clutter_actor_query_coords() instead of accessing the actor
6545         box, so that actors that calculate their bounding box on the fly
6546         (like ClutterGroup) work.
6547
6548         * (_clutter_actor_apply_modelview_transform_recursive):
6549         Made to work for parentless actors.
6550
6551 2008-01-31  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
6552
6553         * tests/test-depth.c: added a box of cloned hands to further expand
6554         the scope of depth testing scenarios exercised by test-depth.
6555
6556 2008-01-31  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
6557
6558         * tests/test-depth.c: (timeline_completed): make use of
6559         clutter_timeline_set_direction instead of static state.
6560         (raise_top): made rectangle remain at fixed depth and raise
6561         above each other.
6562         (janus_group): added a rectangle with two faces, one red and
6563         one green, that spins around.
6564
6565 2008-01-31  Emmanuele Bassi  <ebassi@openedhand.com>
6566
6567         * clutter/clutter-entry.h:
6568         * clutter/clutter-entry.c:
6569         (clutter_entry_set_cursor_position),
6570         (clutter_entry_get_cursor_position): Rename [gs]et_position()
6571         to [gs]set_cursor_position(), and avoid method name collisions
6572         with bindings for high-level languages.
6573
6574         * clutter/clutter-deprecated.h: Add replacement warnings for the
6575         renamed methods.
6576
6577 2008-01-31  Emmanuele Bassi  <ebassi@openedhand.com>
6578
6579         * clutter/clutter-actor.c (clutter_actor_init): Explicitly
6580         memset() to 0 the clip container, so if you get the clip without
6581         having set it, you won't get garbage.
6582
6583 2008-01-31  Rob Bradford  <rob@openedhand.com>
6584
6585         * clutter/x11/clutter-backend-x11-private.h:
6586         Add missing start to comment
6587
6588         * clutter/x11/clutter-backend-x11.c:
6589         * clutter/x11/clutter-event-x11.c:
6590         * clutter/x11/clutter-stage-x11.c:
6591         * clutter/x11/clutter-x11.h:
6592         Remove tabs.
6593
6594 2008-01-30  Emmanuele Bassi  <ebassi@openedhand.com>
6595
6596         * README: Add the osx flavour, and mark it experimental,
6597         along with the sdl backend. EGL-based backends should not be
6598         considered experimental anymore, even though they might require
6599         tweaking.
6600
6601 2008-01-30  Emmanuele Bassi  <ebassi@openedhand.com>
6602
6603         * HACKING: Expand the "document API" point, and the release
6604         process.
6605
6606         * README: Update the release notes regarding the scale behaviour,
6607         now that the gravity has been removed.
6608
6609 2007-01-30  Tomas Frydrych  <tf@openedhand.com>
6610
6611         * clutter/clutter-actor.c:
6612         * clutter/clutter-actor.h:
6613         Added new clutter_actor_move_anchor_point_ API.
6614
6615         * clutter/clutter-behaviour-scale.c:
6616         * clutter/clutter-behaviour-scale.h:
6617         * clutter/clutter-effect.c:
6618         * clutter/clutter-effect.h:
6619         * tests/test-actors.c:
6620         * tests/test-effects.c:
6621         * tests/test-scale.c:
6622         Removed gravity from ClutterBehaviourScale.
6623
6624 2008-01-27  Emmanuele Bassi  <ebassi@openedhand.com>
6625
6626         * tests/test-depth.c (main): Use a group instead of pushing
6627         the actors on the stage.
6628
6629 2008-01-25  Emmanuele Bassi  <ebassi@openedhand.com>
6630
6631         * clutter/clutter-group.c (sort_z_order): Invert condition to
6632         return to the same as in revision 1976.
6633
6634 2008-01-25  Emmanuele Bassi  <ebassi@openedhand.com>
6635
6636         * clutter/clutter-label.c (clutter_label_query_coords): Check
6637         if the layout logical rectangle size is bigger than the bounding
6638         box; this usually means that the bounding box changed in one
6639         point and the label private allocation needs to be
6640         updated. (#724)
6641
6642 2008-01-25  Emmanuele Bassi  <ebassi@openedhand.com>
6643
6644         * clutter/x11/Makefile.am: Add the generated clutter-x11 pkg-config
6645         file to CLEANFILES, to pass distcheck.
6646
6647         * Makefile.am:
6648         * clutter/Makefile.am: Tweak up the Makefiles.
6649
6650         * README:
6651         * NEWS: Release 0.5.4
6652
6653         * configure.ac: Post-release bump to 0.5.5
6654
6655 2008-01-25  Emmanuele Bassi  <ebassi@openedhand.com>
6656
6657         * clutter/clutter-group.c: Use a shorter Z order sorting function,
6658         avoiding the checks.
6659
6660 2008-01-25  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
6661
6662         * clutter/clutter-shader.c: added documentation strings for
6663         ClutterShader.
6664
6665 2008-01-23  Emmanuele Bassi  <ebassi@openedhand.com>
6666
6667         * Makefile.am: Use variables, instead of substitutions.
6668
6669         * clutter/clutter-private.h:
6670         * clutter/clutter-main.h: Make clutter_do_event() public again,
6671         as we need it in clutter-gtk.
6672
6673         * configure.ac:
6674         * clutter/x11/Makefile.am:
6675         * clutter/x11/clutter-x11.pc.in: Add a clutter-x11 pkg-config
6676         file for clutter-gtk, as it depends on the X11 backend API, as
6677         implemented by the GLX and EGLX backends.
6678
6679         * clutter/x11/clutter-event-x11.c (event_translate): Do not
6680         propagate DestroyNotify events if the stage doesn't own the
6681         window.
6682
6683         * tests/test-scale.c (main): Set values different from the default.
6684
6685 2008-01-21  Emmanuele Bassi  <ebassi@openedhand.com>
6686
6687         * clutter/clutter-behaviour-scale.c:
6688         (clutter_behaviour_scale_set_property),
6689         (clutter_behaviour_scale_class_init): Fix stupid typo in the
6690         y-scale-end property declaration. (#720)
6691
6692 2008-01-21  Emmanuele Bassi  <ebassi@openedhand.com>
6693
6694         * clutter/clutter-behaviour-depth.h:
6695         * clutter/clutter-behaviour-depth.c:
6696         (clutter_behaviour_depth_set_bounds),
6697         (clutter_behaviour_depth_get_bounds): Add the depth-start and
6698         depth-end accessors.
6699
6700         * tests/test-depth.c (timeline_completed): Use set_bounds()
6701         instead of g_object_set().
6702
6703         * clutter.symbols: Add clutter_behaviour_depth_set_bounds()
6704         and clutter_behaviour_opacity_get_bounds() to the list of
6705         public symbols.
6706
6707 2008-01-21  Emmanuele Bassi  <ebassi@openedhand.com>
6708
6709         * clutter/clutter-behaviour-scale.c: Use separate variables for
6710         storing the scale boundaries; apparently, using arrays broke
6711         the python bindings. (#720)
6712
6713 2008-01-21  Matthew Allum  <mallum@openedhand.com>
6714
6715         * clutter/clutter-group.c:
6716         Make sure unrealizing a group also unrealizes children.
6717
6718         * clutter/glx/clutter-stage-glx.c:
6719         Chain up to group unrealize to make sure textures get unrealized
6720         when changing context (see #718)
6721
6722         * clutter/clutter-texture.c:
6723         Formatting cleanups
6724
6725 2008-01-21  Ã˜yvind KolÃ¥s  <pippin@gimp.org>
6726
6727         * tests/test-shader.c: fix incompatible types in shader programs
6728
6729         Apparently floats can't be multiplied or divided with ints without
6730         explicit type casts. Use 2.0 or float(var) where appropriate. Patch
6731         from Tommi Komulainen (#715).
6732
6733 2008-01-19  Emmanuele Bassi  <ebassi@openedhand.com>
6734
6735         * clutter/clutter-main.c (generate_enter_leave_events): Do not
6736         take the explicit reference, and let clutter_event_copy() do it
6737         for us. (#714, Neil Roberts)
6738
6739 2008-01-19  Emmanuele Bassi  <ebassi@openedhand.com>
6740
6741         * clutter/clutter-event.c (clutter_event_copy): Take an extra
6742         reference on the related actor in ClutterEventCrossing that we
6743         explicitly unref in clutter_event_free(). (#714, Neil Roberts)
6744
6745 2008-01-18  Emmanuele Bassi  <ebassi@openedhand.com>
6746
6747         * tests/test-actors.c (input_cb): Fix the callback signature;
6748         hide the clicked actor only if it's a hand.
6749
6750 2008-01-18  Emmanuele Bassi  <ebassi@openedhand.com>
6751
6752         * clutter/clutter-main.c (clutter_do_event): Check the
6753         return value of the ::event signal for the CLUTTER_DELETE
6754         event type.
6755
6756         * clutter/clutter-stage.c (clutter_stage_event): Emit the
6757         ::event signal when receiving the CLUTTER_DELETE event; this
6758         allows to intercept the user's closing of the stage window.
6759
6760 2007-01-18  Tomas Frydrych  <tf@openedhand.com>
6761
6762         * clutter/clutter-fixed.h:
6763         Added missing proto for clutter_fixed_qdivx().
6764
6765 2007-01-18  Tomas Frydrych  <tf@openedhand.com>
6766
6767         * clutter/clutter-fixed.h:
6768         * clutter/clutter-fixed.c:
6769         Added CLUTTER_QDIV() for 64-bit division (bug 564, patch by
6770         Gwenole Beauchesne).
6771
6772 2008-01-18  Emmanuele Bassi  <ebassi@openedhand.com>
6773
6774         * clutter/clutter-event.h: Add a gunichar field for the Unicode
6775         representation of the key. (#555)
6776
6777 2008-01-18  Emmanuele Bassi  <ebassi@openedhand.com>
6778
6779         * clutter/clutter-actor.h:
6780         * clutter/clutter-script.h:
6781         * clutter/clutter-stage.h:
6782         * clutter/clutter-units.h: Documentation fixes and additions.
6783
6784 2008-01-18  Emmanuele Bassi  <ebassi@openedhand.com>
6785
6786         * clutter.symbols: Add ClutterBehaviourOpacity accessors.
6787
6788         * clutter/clutter-behaviour-opacity.h:
6789         * clutter/clutter-behaviour-opacity.c:
6790         (clutter_behaviour_opacity_set_bounds),
6791         (clutter_behaviour_opacity_get_bounds): Add accessors for the
6792         opacity-start and opacity-end properties.
6793
6794         * clutter/clutter-behaviour-scale.h: Fix the argument name to
6795         avoid complaints by gtk-doc.
6796
6797 2008-01-17  Emmanuele Bassi  <ebassi@openedhand.com>
6798
6799         * clutter/clutter-behaviour-scale.c:
6800         (clutter_behaviour_scale_set_gravity): Notify on the right property
6801         name.
6802
6803 2008-01-17  Emmanuele Bassi  <ebassi@openedhand.com>
6804
6805         * clutter.symbols: Add new ClutterBehaviourScale setters.
6806
6807         * clutter/clutter-behaviour-scale.[ch]: Split the scaling factors
6808         on both axis. Add setters for all the behaviour properties.
6809
6810         * clutter/clutter-effect.h:
6811         * clutter/clutter-effect.c (clutter_effect_scale): Split the
6812         final scale factor to match the ClutterBehaviourScale changes. (#709)
6813
6814         * tests/test-actors.c:
6815         * tests/test-effects.c:
6816         * tests/test-rotate.c:
6817         * tests/test-scale.c: Update after API change.
6818
6819 2008-01-16  Emmanuele Bassi  <ebassi@openedhand.com>
6820
6821         * clutter/cogl/cogl.h: Rename COGLhandleARB to COGLhandle.
6822
6823         * clutter/cogl/gl/cogl-defines.h.in:
6824         * clutter/cogl/gl/cogl.c: Update GL implementation of COGL.
6825
6826         * clutter/cogl/gles/cogl-defines.h:
6827         * clutter/cogl/gles/cogl.c: Update GLES implementation of COGL.
6828
6829         * clutter/clutter-shader.c: Fix ClutterShader to use the new
6830         COGLhandle type instead of COGLhandlerARB.
6831
6832 2008-01-16  Emmanuele Bassi  <ebassi@openedhand.com>
6833
6834         Define COGLhandleARB. (patch by Johan Bilien)
6835
6836         * clutter/cogl/gles/cogl-defines.h: Define COGLhandleARB on
6837         GLES as well (using GLuint)
6838
6839         * clutter/cogl/gles/cogl.c: Use COGLhandleARB.
6840
6841 2008-01-14  Tommi Komulainen  <tommi.komulainen@iki.fi>
6842
6843         reviewed by: Emmanuele Bassi  <ebassi@openedhand.com>
6844
6845         * clutter/osx/clutter-event-osx.c (_clutter_event_osx_put):
6846         Initialize ClutterEvent structure with zeroes (#672)
6847
6848         The 'source' member was uninitialized and being referenced in
6849         clutter_do_event leading to crash.
6850
6851 2008-01-14  Emmanuele Bassi  <ebassi@openedhand.com>
6852
6853         * tests/test-scale.c: Improve test case for scaling (#684,
6854         Jaap A. Haitsma)
6855
6856 2008-01-14  Emmanuele Bassi  <ebassi@openedhand.com>
6857
6858         * clutter/clutter-timeline.c (timeline_timeout_func): Fix
6859         check if the last frame was reached by skipping a frame (#654,
6860         Johan Bilien)
6861
6862 2008-01-14  Emmanuele Bassi  <ebassi@openedhand.com>
6863
6864         * clutter/clutter-shader.c: Use correct format string for
6865         gssize. (#695, Tommi Komulainen)
6866
6867 2008-01-14  Emmanuele Bassi  <ebassi@openedhand.com>
6868
6869         * clutter/cogl/gl/cogl.c (cogl_get_proc_address): Implement non-GLX
6870         version using GModule and looking up the symbol from the running
6871         process. It should work when linked to library providing the
6872         requested function. (#696, Tommi Komulainen)
6873
6874 2008-01-14  Emmanuele Bassi  <ebassi@openedhand.com>
6875
6876         * configure.ac: Post-release bump to 0.5.3
6877
6878         * README:
6879         * NEWS: Release 0.5.2
6880
6881 2008-01-14  Emmanuele Bassi  <ebassi@openedhand.com>
6882
6883         * clutter.symbols: Add clutter_model_insertv()
6884
6885         * clutter/clutter-model.[ch] (clutter_model_insertv): Add a vector
6886         based insertion API, for language bindings
6887
6888 2008-01-12  Emmanuele Bassi  <ebassi@openedhand.com>
6889
6890         * clutter/clutter-effect.c (clutter_effect_rotate): Make the
6891         rotate effect work on the passed axis, instead of hardcoding
6892         the X axis. (#700, Neil Roberts)
6893
6894 2008-01-10  Ã˜yvind KolÃ¥s  <pippin@gimp.org>
6895
6896         Added COGLhandleARB since the underlying type on OSX is void*,
6897         patch from Tommi Komulainen <tommi.komulainen@iki.fi>, (#694)
6898
6899         * clutter/cogl/gl/cogl-defines.h.in: Added COGLhandleARB typedef.
6900         * clutter/cogl/cogl.h:
6901         * clutter/cogl/gl/cogl.c:
6902         * clutter/clutter-shader.c: Use COGLhandleARB instead of COGLint when
6903         referring to program or shader handles.
6904
6905 2008-01-09  Emmanuele Bassi  <ebassi@openedhand.com>
6906
6907         * clutter/Makefile.am:
6908         * clutter/clutter.h:
6909         * clutter/clutter-list-model.[ch]: Complete the ClutterModelDefault
6910         to ClutterListModel rename by renaming the source files
6911
6912 2008-01-09  Emmanuele Bassi  <ebassi@openedhand.com>
6913
6914         * clutter/clutter-model-default.[ch]: Rename ClutterModelDefault
6915         into ClutterListModel, to make it clear that the default
6916         ClutterModel implementation is list-based
6917
6918         * tests/test-model.c: Update call
6919
6920 2008-01-09  Emmanuele Bassi  <ebassi@openedhand.com>
6921
6922         * clutter/clutter-model-default.c:
6923         (clutter_model_default_new),
6924         (clutter_model_default_newv): Move the constructors in the
6925         right file
6926
6927         * clutter/clutter-model-private.h: Add a private header for
6928         the ClutterModel implementations
6929
6930         * clutter/clutter-model.c:
6931         (clutter_model_check_type),
6932         (clutter_model_set_n_columns),
6933         (clutter_model_set_column_type): Mark as private to Clutter,
6934         not static to ClutterModel
6935
6936         * clutter/Makefile.am: Add clutter-model-private.h
6937
6938 2008-01-09  Emmanuele Bassi  <ebassi@openedhand.com>
6939
6940         * clutter/clutter-label.c:
6941         (clutter_label_ensure_layout): Fix the ClutterUnits to Pango
6942         scale conversion.
6943
6944 2008-01-08  Emmanuele Bassi  <ebassi@openedhand.com>
6945
6946         * clutter/clutter-model.c:
6947         (clutter_model_appendv),
6948         (clutter_model_prependv): Fix the columns length pre-condition
6949
6950 2008-01-07  Emmanuele Bassi  <ebassi@openedhand.com>
6951
6952         * clutter/clutter-model-default.[ch]: Remove the ClutterModelDefault
6953         iterator symbols from the public API; the iterator implementation
6954         is a detail of the default ClutterModel class
6955
6956         * clutter.symbols: Update
6957
6958 2008-01-07  Emmanuele Bassi  <ebassi@openedhand.com>
6959
6960         * clutter/clutter-model.h:
6961         * clutter/clutter-model.c:
6962         (clutter_model_appendv),
6963         (clutter_model_prependv): Add vector based API for bindings.
6964
6965         (clutter_model_get_column_name),
6966         (clutter_model_get_column_type),
6967         (clutter_model_set_sorting_column): Fix the check in the condition
6968         on the column index.
6969
6970         * tests/test-scale.c (on_timeline_completed), (main): Fix spelling
6971
6972         * clutter.symbols: Update public symbols
6973
6974 2008-01-04  Emmanuele Bassi  <ebassi@openedhand.com>
6975
6976         * clutter.symbols: Add clutter_actor_move_byu()
6977
6978         * clutter/clutter-actor.h:
6979         * clutter/clutter-actor.c:
6980         (clutter_actor_move_by),
6981         (clutter_actor_move_byu): Add a units-based variant of the
6982         clutter_actor_move_by() function
6983
6984 2008-01-02  Johan Bilien  <jobi@via.ecp.fr>
6985
6986         reviewed by: Emmanuele Bassi  <ebassi@openedhand.com>
6987
6988         * configure.ac: Use AC_DEFINE_UNQUOTED to expand the
6989         variable. Fixes EGL backend build
6990
6991 2008-01-02  Emmanuele Bassi  <ebassi@openedhand.com>
6992
6993         * configure.ac: Post release bump to 0.5.1
6994
6995 2008-01-02  Emmanuele Bassi  <ebassi@openedhand.com>
6996
6997         * README:
6998         * NEWS: Release 0.5.0
6999
7000 2008-01-02  Emmanuele Bassi  <ebassi@openedhand.com>
7001
7002         * clutter/clutter-model-default.c:
7003         (clutter_model_default_get_iter_at_row),
7004         (clutter_model_default_insert_row): Fix off-by-one errors
7005
7006         (clutter_model_default_class_init):
7007         (clutter_model_default_remove_row): Move the actual removal of the
7008         row to...
7009
7010         (clutter_model_default_row_removed): ... the signal class handler
7011         of ::row-removed; this way, signal handlers connected to
7012         ::row-removed will get a valid iterator, while signal handlers
7013         connected to ::row-removed with the AFTER flag will get an updated
7014         model
7015
7016 2007-12-31  Tomas Frydrych  <tf@openedhand.com>
7017
7018         * configure.ac:
7019         * clutter/Makefile.am:
7020         Added -no-undefined to libtool LDFLAGS for mingw/SDL backend, to
7021         allow building of shared libraries for win32.
7022
7023 2007-12-31  Tomas Frydrych  <tf@openedhand.com>
7024
7025         * configure.ac:
7026         * clutter.pc.in:
7027         Added CLUTTER_REQUIRES automake var to allow deps in clutter.pc to
7028         be backend-specific.
7029
7030 2007-12-28  Emmanuele Bassi  <ebassi@openedhand.com>
7031
7032         * clutter/clutter-texture.c:
7033         (clutter_texture_unrealize): Do not read the pixels back if the
7034         texture is being destroyed
7035
7036 2007-12-28  Emmanuele Bassi  <ebassi@openedhand.com>
7037
7038         * clutter/clutter-model.c:
7039         (clutter_model_real_get_n_rows), (clutter_model_class_init),
7040         (clutter_model_get_n_rows): Provide a default implementation of
7041         the get_n_rows() method, so that subclasses do not strictly need
7042         to override it
7043
7044 2007-12-25  Emmanuele Bassi  <ebassi@openedhand.com>
7045
7046         * clutter/clutter-actor.c:
7047         (parse_rotation_array): Inline, and get the JsonArray as a parameter
7048
7049         (parse_rotation): Update
7050
7051         * clutter/clutter-script.c:
7052         (warn_missing_attribute): Fix for emacs-style warnings
7053
7054         (clutter_script_parse_node): Remove an ifdeffed out section
7055
7056         (clutter_script_construct_parameters),
7057         (clutter_script_construct_object): Rename get_parameters, so
7058         it's obvious what it does
7059
7060 2007-12-25  Emmanuele Bassi  <ebassi@openedhand.com>
7061
7062         * tests/test-script.json: Fix the JSON syntax
7063
7064 2007-12-25  Emmanuele Bassi  <ebassi@openedhand.com>
7065
7066         * clutter/clutter-enum-types.c.in: Fix the template
7067
7068 2007-12-24  Emmanuele Bassi  <ebassi@openedhand.com>
7069
7070         * clutter/clutter-stage.c:
7071         * clutter/clutter-stage.h:
7072         * clutter/clutter-texture.c: Remove some of the remaining FIXMEs
7073         in the API documentation
7074
7075 2007-12-24  Emmanuele Bassi  <ebassi@openedhand.com>
7076
7077         * clutter/clutter-color.c:
7078         * clutter/clutter-event.c:
7079         * clutter/clutter-stage.c: Intern more strings using the I_() macro
7080
7081         * clutter/clutter-enum-types.c.in: Call g_intern_static_string()
7082         in the enum types template
7083
7084 2007-12-24  Emmanuele Bassi  <ebassi@openedhand.com>
7085
7086         * clutter.symbols: Add clutter_actor_set_clipu() and
7087         clutter_actor_get_clipu()
7088
7089         * clutter/clutter-actor.h:
7090         * clutter/clutter-actor.c:
7091         (clutter_actor_set_clipu), (clutter_actor_get_clipu): Add the
7092         new units-based versions of the clip accessors
7093
7094         (clutter_actor_set_clip), (clutter_actor_get_clip): Reimplement
7095         the pixels-based clip accessors as proxies for the units-based
7096         ones
7097
7098 2007-12-24  Emmanuele Bassi  <ebassi@openedhand.com>
7099
7100         * clutter/cogl/cogl.h: Update cogl_clip_set() to accept the
7101         clip components as ClutterFixed values
7102
7103         * clutter/cogl/gl/cogl.c (cogl_clip_set): Update the GL implementation
7104         of cogl_clip_set()
7105
7106         * clutter/cogl/gles/cogl.c:
7107         (cogl_rectangle_internal): Provide an internal, inlined rectangle
7108         drawing function using fixed point values, to be shared by
7109         cogl_clip_set() and cogl_rectangle()
7110
7111         (cogl_clip_set), (cogl_rectangle): Update the GLES implementation
7112         of cogl_clip_set() and cogl_rectangle() to use the new internal
7113         rectangle drawing function
7114
7115         * clutter/clutter-actor.c: Make the clip an array of ClutterUnit
7116         values instead of pixel-based; this allows higher precision and
7117         device independence
7118
7119         (_clutter_actor_apply_modelview_transform): Pass the clip
7120         components converting from units to fixed point values, using
7121         the new cogl_clip_set() signature
7122
7123         (clutter_actor_get_property), (clutter_actor_set_clip),
7124         (clutter_actor_get_clip): Update the accessors of the clip
7125         property
7126
7127 2007-12-21  Emmanuele Bassi  <ebassi@openedhand.com>
7128
7129         * clutter/clutter-actor.h: Remove the unused ::set_depth() and
7130         ::get_depth() virtual functions. (#674, Murray Cumming)
7131
7132 2007-12-21  Emmanuele Bassi  <ebassi@openedhand.com>
7133
7134         * clutter/clutter-group.c:
7135         * clutter/clutter-group.h: Add the clutter_group_add() convenience
7136         function; it's now "undeprecated" and implemented as a macro
7137
7138         * clutter/clutter-stage.h: Add clutter_stage_add() as a convenience
7139         macro
7140
7141         * clutter/cogl/cogl.h: Include just the needed headers instead
7142         of the whole clutter.h; this avoids rebuild cogl when not needed
7143
7144 2007-12-21  Emmanuele Bassi  <ebassi@openedhand.com>
7145
7146         * Makefile.am: Move tests build before docs, to cut down the
7147         distcheck failure discovery
7148
7149         * clutter.symbols: Add clutter_texture_set_area_from_rgb_data()
7150
7151         * clutter/clutter-actor.c:
7152         * clutter/clutter-script.c:
7153         * clutter/clutter-texture.c:
7154         * clutter/json/json-generator.c:
7155         * clutter/json/json-parser.c: Compilation fixes for passing distcheck
7156
7157         * tests/test-grab.c:
7158         * tests/test-score.c:
7159         * tests/test-script.c:
7160         * tests/test-shader.c:
7161         * tests/test-unproject.c: Ditto as above
7162
7163 2007-12-21  Emmanuele Bassi  <ebassi@openedhand.com>
7164
7165         * clutter/clutter-label.c:
7166         (clutter_label_ensure_layout): Avoid rounding errors in the layout
7167         computing when switching between Clutter units and Pango units.
7168
7169 2007-12-19  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
7170
7171         * clutter/clutter-texture.[ch]: (bug #675) added
7172         clutter_texture_set_area_from_rgb_data, sharing some of the
7173         initialization infrastructure with clutter_texture_set_from_rgb_data.
7174
7175 2007-12-20  Emmanuele Bassi  <ebassi@openedhand.com>
7176
7177         * clutter/clutter-container.c:
7178         (clutter_container_lower_child): Fix interface method call
7179         to actually call ClutterContainer::lower. (#670, Gwenole
7180         Beauchesne)
7181
7182 2007-12-20  Emmanuele Bassi  <ebassi@openedhand.com>
7183
7184         * clutter/clutter-label.c:
7185         (clutter_label_query_coords): Return the bounding box set inside
7186         request_coords(), if any; otherwise, return the natural allocation
7187         of the label. (#678, reported by Gwenole Beauchesne)
7188
7189         * tests/test-rotate.c: Align the label
7190
7191 2007-12-19  Tomas Frydrych  <tf@openedhand.com>
7192
7193         * clutter/Makefile.am:
7194         * clutter/cogl/gl/cogl-defines.h.in:
7195         * clutter/pango/pangoclutter-render.c:
7196         * configure.ac:
7197         Fixes to allow cross-compilation with mingw (patch by Neil
7198         Roberts).
7199         Removed trailing whitespace.
7200
7201 2007-12-18  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
7202
7203         * clutter/clutter-main.c: (generate_enter_leave_events): synthesize
7204         enter event (without related) and corresponding leave event when the
7205         actor the cursor is over has been destroyed.
7206         * clutter/clutter-event.c: (clutter_event_free): only unref the
7207         related_actor when it actually is set.
7208
7209 2007-12-18  Emmanuele Bassi  <ebassi@openedhand.com>
7210
7211         * clutter/clutter-main.c:
7212         (unset_motion_last_actor),
7213         (generate_enter_leave_events): Attach a callback to the destroy
7214         signal on the last motion actor, so if it goes away while the
7215         pointer is in the middle of it we can unset the pointer.
7216
7217         * clutter/clutter-private.h: Store the last motion actor inside
7218         the global context.
7219
7220 2007-12-17  Emmanuele Bassi <ebassi@openedhand.com>
7221
7222         * clutter/clutter-actor.c:
7223         (clutter_actor_should_pick_paint),
7224         (clutter_actor_apply_transform_to_point): Fix the whitespace.
7225
7226         (clutter_actor_set_rotation): Clarify that the coordinates of
7227         the centre of rotation are relative to the anchor point or,
7228         if not set, to the upper left corner of the bounding box.
7229
7230 2007-12-17  Tomas Frydrych  <tf@openedhand.com>
7231
7232         * clutter/clutter-behaviour-ellipse.c:
7233         * clutter/clutter-behaviour-rotate.c:
7234         Clamping of start and end angles to <0, 360).
7235
7236 2007-12-17  Emmanuele Bassi  <ebassi@openedhand.com>
7237
7238         * clutter/clutter-behaviour-path.c: Clarify the equivalence
7239         between the upper and lower bounds of the ClutterAlpha and
7240         the position in the path. (#634)
7241
7242 2007-12-17  Emmanuele Bassi  <ebassi@openedhand.com>
7243
7244         * clutter/clutter-texture.c: Mention the fact that a ClutterTexture
7245         will scale its contents to fit inside the requested bounding
7246         box. (#661)
7247
7248 2007-12-17  Emmanuele Bassi  <ebassi@openedhand.com>
7249
7250         * clutter/clutter-actor.c: Fix documentation for
7251         the ::captured-event signal. (#673)
7252
7253 2007-12-17  Emmanuele Bassi  <ebassi@openedhand.com>
7254
7255         * clutter/clutter-actor.c: Clarify the set_clip() method
7256         documentation, pointing out that the clip area origin is
7257         always the top-left corner of an actor.
7258
7259 2007-12-15  Emmanuele Bassi  <ebassi@openedhand.com>
7260
7261         * clutter/clutter-actor.c:
7262         * clutter/clutter-alpha.h:
7263         * clutter/clutter-event.h:
7264         * clutter/clutter-fixed.[ch]:
7265         * clutter/clutter-model.h:
7266         * clutter/clutter-shader.[ch]:
7267         * clutter/clutter-stage.c: Documentation fixes.
7268
7269 2007-12-15  Emmanuele Bassi <ebassi@openedhand.com>
7270
7271         * clutter/clutter-model-default.c:
7272         (clutter_model_default_iter_next),
7273         (clutter_model_default_iter_prev): Do not instantiate a new
7274         iterator, and update the passed one instead, as we say we do
7275         in the documentation. This avoid leaking tons of iterators.
7276
7277         * clutter/clutter-model.[ch]: Update the documentation.
7278
7279         * tests/test-model.c: Prettify some output.
7280
7281 2007-12-14  Emmanuele Bassi  <ebassi@openedhand.com>
7282
7283         * clutter/clutter-behaviour.c:
7284         (clutter_knot_get_type): Use the I_() macro.
7285
7286         * clutter/clutter-model.[ch]: Make ClutterModel and ClutterModelIter
7287         abstract classes; also, provide more virtual functions inside the
7288         ClutterModel vtable, to allow subclasses and language bindings to
7289         override the entire ClutterModel using other/native data types
7290         to store the rows.
7291
7292         * clutter/clutter-model-default.[ch]: ClutterModelDefault is a
7293         default implementation of ClutterModel and ClutterModelIter using
7294         GSequence.
7295
7296         * clutter/Makefile.am:
7297         * clutter/clutter.h: Build glue for ClutterModelDefault.
7298
7299         * tests/test-model.c: Update for constructor changes.
7300
7301         * tests/test-shader.c: Fix a typo.
7302
7303 2007-12-14  Matthew Allum  <mallum@openedhand.com>
7304
7305         * clutter/cogl/gl/cogl-defines.h.in:
7306         * clutter/cogl/gles/cogl-defines.h:
7307         Add CLUTTER_COGL_HAS_GL/GLES defines
7308
7309 2007-12-11  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
7310
7311         Refined the ClutterShader API based on a patch from Emmanuele Bassi.
7312
7313         * clutter/clutter-actor.c: (clutter_actor_paint),
7314         (clutter_actor_apply_shader): queue a redraw of actor when shader is
7315         set.
7316         * clutter/clutter-actor.h: indentation.
7317         * clutter/clutter-shader.[ch]: made the fragment and vertex shader
7318         sources properties. Report error through GError when binding shaders.
7319         * tests/test-shader.c: modified to use newer API.
7320
7321 2007-12-10  Emmanuele Bassi  <ebassi@openedhand.com>
7322
7323         * clutter/clutter-model.c:
7324         (clutter_model_get_sorting_column): Fix wrong type check.
7325
7326 2007-12-10  Emmanuele Bassi  <ebassi@openedhand.com>
7327
7328         * clutter/clutter-model.[ch]: Allow unsorting the model (passing
7329         -1 as the sorting column)
7330
7331         (clutter_model_iter_get_valist): Do not initialise twice che
7332         return value.
7333
7334 2007-12-10  Emmanuele Bassi  <ebassi@openedhand.com>
7335
7336         * clutter/clutter-model.c (clutter_model_iter_get_value): Initialise
7337         the passed GValue like the other getters do.
7338
7339 2007-12-10  Emmanuele Bassi  <ebassi@openedhand.com>
7340
7341         * clutter/clutter-model.h:
7342         * clutter/clutter-model.c:
7343         (clutter_model_append_value),
7344         (clutter_model_prepend_value),
7345         (clutter_model_insert_value): Add a _value() variant for the
7346         insertion methods, for use of the language bindings.
7347
7348         (clutter_model_append),
7349         (clutter_model_prepend),
7350         (clutter_model_insert): Do not return a boolean: insertion should
7351         never fail unless for a programming error, in which case we have
7352         plenty of warnings.
7353
7354 2007-12-10  Emmanuele Bassi  <ebassi@openedhand.com>
7355
7356         * clutter/clutter-behaviour-ellipse.c:
7357         (clutter_behaviour_ellipse_get_angle_tilt),
7358         (clutter_behaviour_ellipse_get_angle_tiltx),
7359         (clutter_behaviour_ellipse_set_tilt): Fix a double conversion
7360         that was messing up the returned results. (#665)
7361
7362 2007-12-10  Emmanuele Bassi  <ebassi@openedhand.com>
7363
7364         * clutter/clutter-actor.c:
7365         (clutter_actor_set_property),
7366         (clutter_actor_get_property),
7367         (clutter_actor_class_init): Add the rotation-* properties,
7368         controlling the rotation angle and center on each axis. (#614)
7369
7370         (parse_rotation_array), (parse_rotation),
7371         (clutter_actor_parse_custom_node),
7372         (clutter_actor_set_custom_property),
7373         (clutter_scriptable_iface_init): Add a new "rotation" custom
7374         property for expressing the rotation along each axis in a
7375         compact way:
7376
7377           "rotation" : [
7378             { "x-axis" : [ <angle>, [ <y>, <z> ] ] },
7379             { "y-axis" : [ <angle>, [ <x>, <z> ] ] },
7380             { "z-axis" : [ <angle>, [ <x>, <y> ] ] }
7381           ]
7382
7383         (clutter_geometry_get_type),(clutter_vertex_get_type),
7384         (clutter_actor_box_get_type): Use the I_() macro instead of
7385         directly calling g_intern_static_string().
7386
7387         * clutter/clutter-entry.c (clutter_entry_request_coords):
7388         * clutter/clutter-label.c (clutter_label_ensure_layout),
7389         (clutter_label_request_coords): Use CLUTTER_UNITS_FROM_DEVICE()
7390         instead of CLUTTER_UNITS_FROM_INT(), as "device" means "pixels".
7391
7392         * clutter/clutter-private.h: Add the I_() macro for intern
7393         static strings.
7394
7395         * tests/test-script.json: Test the newly added "rotation"
7396         custom property.
7397
7398 2007-12-10  Tomas Frydrych  <tf@openedhand.com>
7399
7400         * tests/Makefile.am:
7401         Fixed a typo.
7402
7403 2007-12-10  Tomas Frydrych  <tf@openedhand.com>
7404
7405         * tests/test-viewport.c:
7406         * tests/Makefile.am:
7407         Added a simple viewport test.
7408
7409 2007-12-10  Tomas Frydrych  <tf@openedhand.com>
7410
7411         * clutter/clutter-actor.c:
7412         (_clutter_actor_apply_modelview_transform):
7413         Moved offset translation after rotation so that rotation coords
7414         are also relative to the offset point.
7415
7416 2007-12-09  Emmanuele Bassi  <ebassi@openedhand.com>
7417
7418         * tests/test-events.c (input_cb):
7419         * tests/test-text.c (main): Fix compiler errors. (#592,
7420         Gwenole Beauchesne)
7421
7422 2007-12-09  Emmanuele Bassi  <ebassi@openedhand.com>
7423
7424         * clutter/clutter-actor.c: Document the values for full
7425         transparency and full opacity in the set_opacity()
7426         method. (#662)
7427
7428         * clutter/clutter-behaviour-ellipse.c: Improve consistency
7429         in the apidoc.
7430
7431 2007-12-08  Emmanuele Bassi  <ebassi@openedhand.com>
7432
7433         * configure.ac: Make libtool respect the -s switch of make
7434         and be quiet.
7435
7436 2007-12-07  Emmanuele Bassi  <ebassi@openedhand.com>
7437
7438         * clutter/clutter-actor.h:
7439         * clutter/clutter-actor.c:
7440         (clutter_actor_get_sizeu),
7441         (clutter_actor_get_positionu): Add unit-based accessors to
7442         the size and position.
7443
7444 2007-12-07  Tomas Frydrych  <tf@openedhand.com>
7445
7446         * clutter/clutter-behaviour-ellipse.c:
7447         (clutter_behaviour_ellipse_set_angle_start):
7448         (clutter_behaviour_ellipse_set_angle_end):
7449         (clutter_behaviour_ellipse_set_angle_tilt):
7450         (clutter_behaviour_ellipse_set_tilt):
7451         Removed strayed degree -> ClutterAngle conversions left over from
7452         API changes.
7453
7454         (clutter_behaviour_ellipse_set_angle_tiltx):
7455         Removed stray printf.
7456
7457 2007-12-07  Tomas Frydrych  <tf@openedhand.com>
7458
7459         * clutter/clutter-behaviour-ellipse.c:
7460         Fixed tilt setters and getters.
7461
7462 2007-12-06  Tomas Frydrych  <tf@openedhand.com>
7463
7464         * clutter/clutter-fixed.c:
7465         * clutter/clutter-fixed.h:
7466         (clutter_sqrti):
7467         Added extra iteration to the Newton-Rapson algorithm for arguments
7468         lesser than 342 to improve precission.
7469
7470 2007-12-06  Emmanuele Bassi  <ebassi@openedhand.com>
7471
7472         * clutter/clutter-main.c:
7473         (clutter_set_motion_events_frequency): Never allow the motion
7474         events devlivery frequency to exceed the default frame rate.
7475
7476 2007-12-06  Emmanuele Bassi  <ebassi@openedhand.com>
7477
7478         * clutter/json/json-parser.[ch]: Use gssize, size we allow -1
7479         as a length (meaning "use the whole string").
7480
7481         (json_parser_load_from_data): Use the passed length instead of
7482         using strlen() all the time.
7483
7484         * clutter/clutter-script.[ch]: Ditto as above.
7485
7486 2007-12-06  Emmanuele Bassi  <ebassi@openedhand.com>
7487
7488         * clutter/pango/pangoclutter-render.c: Hush a compiler warning
7489         by removing a unused variable.
7490
7491 2007-12-06  Emmanuele Bassi  <ebassi@openedhand.com>
7492
7493         * clutter/clutter-label.c (clutter_label_ensure_layout): If the
7494         label has a requested size, force it when ensuring the layout.
7495
7496 2007-12-06  Emmanuele Bassi  <ebassi@openedhand.com>
7497
7498         * tests/test-unproject.c: Fix type comparison.
7499
7500         * tests/test-score.c: Save the returned ids.
7501
7502 2007-12-05  Matthew Allum  <mallum@openedhand.com>
7503
7504         reviewed by: <delete if not using a buddy>
7505
7506         * clutter/pango/pangoclutter-render.c: (tc_get), (free_glyph_info),
7507         (draw_glyph), (draw_trapezoid), (pango_clutter_render_layout),
7508         (pango_clutter_render_layout_line),
7509         (pango_clutter_render_clear_caches), (prepare_run), (draw_begin):
7510
7511 2007-12-05  Emmanuele Bassi  <ebassi@openedhand.com>
7512
7513         * clutter/clutter-score.h: Rearrange declarations.
7514
7515         * clutter/clutter-score.c: More documentation in the long
7516         description of the ClutterScore section.
7517
7518         * clutter/clutter-debug.h:
7519         * clutter/clutter-main.c: Add the CLUTTER_DEBUG_SHADER flag,
7520         for debugging the shader calls.
7521
7522         * clutter/clutter-feature.h: Fix the documentation of the
7523         feature flags.
7524
7525         * clutter/Makefile.am: Remove trailing whitespace.
7526
7527 2007-12-05  Tomas Frydrych  <tf@openedhand.com>
7528
7529         * clutter/clutter-actor.c:
7530         * clutter/clutter-actor.h:
7531         * tests/Makefile.am:
7532         * tests/test-unproject:
7533         (clutter_actor_transform_stage_point):
7534         Added new function for translating stage coordinates into local
7535         actor coordinates.
7536
7537 2007-12-04  Emmanuele Bassi  <ebassi@openedhand.com>
7538
7539         * clutter/clutter-score.c: Better document ClutterScore
7540         and its API.
7541
7542 2007-12-04  Emmanuele Bassi  <ebassi@openedhand.com>
7543
7544         * clutter/clutter-score.[ch]: Reimplement ClutterScore using
7545         a N-ary tree to store the timelines. Remove clutter_score_add():
7546         the same functionality can be achieved by passing a NULL
7547         parent to clutter_score_append().
7548
7549         * tests/test-score.c: Update ClutterScore test unit, and add
7550         debug printouts.
7551
7552 2007-12-04  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
7553
7554         * clutter/clutter-shader.c: (bind_glsl_shader): use gchar instead of
7555         GLcharARB.
7556
7557 2007-12-03  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
7558
7559         * clutter/clutter-shader.[ch]: do not include GL.h.
7560
7561 2007-12-03  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
7562
7563         Support for shaders in clutter. At the moment limited to drivers
7564         providing GLSL support.
7565
7566         * clutter/cogl/cogl.h: added rather direct binding of needed for glsl
7567         shaders.
7568         * clutter/cogl/gl/cogl-defines.h.in:
7569         * clutter/cogl/gl/cogl.c:
7570         * clutter/cogl/gles/cogl-defines.h: added stubs.
7571         * clutter/cogl/gles/cogl.c: added stubs.
7572
7573         * clutter/glx/clutter-stage-glx.c:
7574         (clutter_stage_glx_realize): unrelated memory management sanity fix.
7575         (clutter_stage_glx_unrealize): unbind all shaders on stage unrealize.
7576
7577         * clutter/Makefile.am: added clutter-shader.[ch]
7578         * clutter/clutter-actor.[ch]: adding shader capability to
7579         actors.
7580         * clutter/clutter-feature.h: added CLUTTER_FEATURE_SHADERS_GLSL
7581         * clutter/clutter-private.h: added stack of shaders to context.
7582         * clutter/clutter-shader.[ch]: new.
7583
7584         * tests/Makefile.am: added shader test.
7585         * tests/test-shader.c: (frame_cb), (main): simple shader test,
7586         cycle through the inline shader with right/left mouse buttons.
7587
7588 2007-12-03  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
7589
7590         * clutter/glx/clutter-stage-glx.c: for extra sanity, set
7591         stage_x11->xvisinfo = NULL after XFree. Makes using the root window
7592         as foreign window possible.
7593
7594 2007-11-30  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
7595
7596         * clutter/clutter-timeline.c: (clutter_timeline_get_delta): return the
7597         number of milliseconds passed between new-frame events instead of
7598         since new-frame events, thus making sure that the sum of _get_delta's
7599         returned for all new-frame events is equal to total time elapsed.
7600
7601 2007-11-30  Emmanuele Bassi  <ebassi@openedhand.com>
7602
7603         * clutter/clutter-actor.c (parse_units),
7604         (clutter_actor_parse_custom_node): Do not allow using percentages
7605         of the stage on the stage itself, as it makes little to no
7606         sense.
7607
7608         * clutter/clutter-script.c:
7609         (clutter_script_construct_object): Rearrange code.
7610
7611         * tests/test-script.json: Do not set the size of the stage, to
7612         test for the stage size percentage.
7613
7614 2007-11-30  Emmanuele Bassi  <ebassi@openedhand.com>
7615
7616         * clutter/clutter-model.h: Complete the documentation of
7617         the ClutterModelClass structure members.
7618
7619 2007-11-30  Emmanuele Bassi  <ebassi@openedhand.com>
7620
7621         * clutter/clutter-timeline.h:
7622         * clutter/clutter-timeline.c
7623         (timeline_timeout_func),
7624         (clutter_timeline_get_delta): Add a function for retrieving
7625         the number of frames and the time (in milliseconds) elapsed
7626         since the last timeline ::new-frame signal. This can be useful
7627         for implementing a physics engine or just for knowing how if
7628         and how many frames have been skipped.
7629
7630 2007-11-30  Emmanuele Bassi  <ebassi@openedhand.com>
7631
7632         * clutter/clutter-actor.c (parse_units),
7633         (clutter_actor_parse_custom_node),
7634         (clutter_scriptable_iface_init): Override the parsing code
7635         for the x, y, width and height properties of ClutterActor,
7636         to allow strings with modifiers when defining the position
7637         and/or the dimensions of an actor. Bare integers are assumed
7638         as pixels; floating point values in the [0, 1] interval are
7639         assumed as percentages; strings can have these modifiers:
7640
7641           - px - pixels
7642           - mm - millimeters
7643           - pt - points (at the current resolution)
7644           - %  - percentage of the stage
7645
7646         * clutter/clutter-units.h: Fix the conversion macros
7647
7648         * tests/test-script.json: Test the new values.
7649
7650 2007-11-29  Emmanuele Bassi  <ebassi@openedhand.com>
7651
7652         * clutter/clutter-model.[ch]: Slight API change in the constructor
7653         functions for ClutterModel: clutter_model_new() now takes a list
7654         of GType/string pairs for both the column type and the column name.
7655
7656         (clutter_model_set_n_columns),
7657         (clutter_model_set_names),
7658         (clutter_model_set_types): Subclasses of ClutterModel will be able
7659         to call clutter_model_set_types() and clutter_model_set_names() in
7660         any order, provided that they don't call each function more than
7661         once.
7662
7663         * tests/test-model.c: Update the test case.
7664
7665 2007-11-29  Tomas Frydrych  <tf@openedhand.com>
7666
7667         * clutter/clutter-actor.h:
7668         * clutter/clutter-actor.c:
7669         Converted depth and rotation offsets to ClutterUnit.
7670
7671         (clutter_actor_set_depthu):
7672         (clutter_actor_get_depthu):
7673         Additional ClutterUnit API.
7674
7675         (_clutter_actor_apply_modelview_transform):
7676         Use cogl_translatex() in place of cogl_translate().
7677
7678 2007-11-29  Emmanuele Bassi  <ebassi@openedhand.com>
7679
7680         * *: Add svn:ignore property to every directory, so that
7681         svn status starts being useful.
7682
7683 2007-11-29  Matthew Allum  <mallum@openedhand.com>
7684
7685         * clutter/clutter-main.c: (generate_enter_leave_events):
7686         Minor formatting tweak.
7687         * configure.ac:
7688         Typo fix from Damien Lespiau (via mailing list)
7689
7690 2007-11-28  Emmanuele Bassi  <ebassi@openedhand.com>
7691
7692         Add more introspection capabilities to the base model class
7693
7694         * clutter/clutter-model.h:
7695         * clutter/clutter-model.c:
7696         (clutter_model_finalize): Do no leak the column types array.
7697
7698         (clutter_model_get_n_columns): Function for getting the number
7699         of columns inside a model.
7700
7701         (clutter_model_set_names): Add API for setting the names of the
7702         columns.
7703
7704         (clutter_model_get_column_name),
7705         (_model_get_column_type): Add API for getting each column's name,
7706         and the default implementation for ClutterModel.
7707
7708         (clutter_model_get_column_type),
7709         (_model_get_iter_at_row): Add API for getting each column's type,
7710         and the default implementation for ClutterModel.
7711
7712         * clutter.symbols: Add ClutterModel and ClutterModelIter symbols,
7713         and keep the symbols file sorted.
7714
7715 2007-11-28  Tomas Frydrych  <tf@openedhand.com>
7716
7717         * clutter/clutter-actor.c:
7718         * clutter/clutter-actor.h:
7719         (clutter_actor_set_positionu):
7720         (clutter_actor_set_sizeu):
7721         (clutter_actor_get_widthu):
7722         (clutter_actor_get_heightu):
7723         (clutter_actor_set_widthu):
7724         (clutter_actor_set_heightu):
7725         (clutter_actor_get_xu):
7726         (clutter_actor_get_yu):
7727         (clutter_actor_set_xu):
7728         (clutter_actor_set_yu):
7729         Expanded ClutterActor API with new ClutterUnit-base functions.
7730
7731         * clutter/clutter-stage.c:
7732         * clutter/clutter-stage.h:
7733         (clutter_stage_get_resolution):
7734         (clutter_stage_get_resolutionx):
7735         New function to query stage resolution (floating and fixed point
7736         versions).
7737
7738         * clutter/clutter-units.h:
7739         (CLUTTER_UNITS_FROM_STAGE_WIDTH_PERCENTAGE):
7740         (CLUTTER_UNITS_FROM_STAGE_HEIGHT_PERCENTAGE):
7741         (CLUTTER_UNITS_FROM_PARENT_WIDTH_PERCENTAGE):
7742         (CLUTTER_UNITS_FROM_PARENT_HEIGHT_PERCENTAGE):
7743         (CLUTTER_UNITS_FROM_MM):
7744         (CLUTTER_UNITS_FROM_MMX):
7745         (CLUTTER_UNITS_FROM_POINTS):
7746         (CLUTTER_UNITS_FROM_POINTSX):
7747         New macros for conversions to ClutterUnits.
7748
7749         * clutter.symbols:
7750         Added:
7751                 ClutterActor anchor_point functions,
7752                 clutter_stage_get_resolution functions.
7753
7754         Removed:
7755                 clutter_actor_scale_with_gravity functions.
7756
7757 2007-11-28  Emmanuele Bassi  <ebassi@openedhand.com>
7758
7759         * clutter/clutter-actor.[ch]: Documentation fixes.
7760
7761 2007-11-28  Emmanuele Bassi  <ebassi@openedhand.com>
7762
7763         Remove the layout containers: they will be moved to a
7764         high-level library.
7765
7766         * clutter/clutter.h:
7767         * clutter/Makefile.am: Remove layout and boxes from the
7768         build.
7769
7770         * clutter/clutter-layout.[ch]: Remove the ClutterLayout
7771         interface.
7772
7773         * clutter/clutter-box.[ch]:
7774         * clutter/clutter-hbox.[ch]:
7775         * clutter/clutter-vbox.[ch]: Remove ClutterBox and its
7776         subclasses.
7777
7778         * clutter/clutter-label.c: Remove ClutterLayout implementation
7779
7780         * clutter/clutter-script-private.h:
7781         * clutter/clutter-script-parser.c:
7782         * clutter/clutter-script.c:
7783         (clutter_script_parse_node): Remove special parsing for
7784         ClutterMargin and ClutterPadding.
7785
7786         * clutter/clutter-types.h: Remove ClutterPadding and ClutterMargin.
7787
7788         * tests/Makefile.am:
7789         * tests/test-boxes.c: Remove the boxes test case.
7790
7791 2007-11-28  Tomas Frydrych  <tf@openedhand.com>
7792
7793         * clutter/NEWS:
7794         Started 0.6.0 section with comment on actor anchor point.
7795
7796         * clutter/clutter/clutter-actor.c:
7797         * clutter/clutter/clutter-actor.h:
7798         * clutter/clutter/clutter-behaviour-scale.c:
7799         * clutter/clutter/clutter-deprecated.h:
7800         (clutter_actor_set_anchor_point):
7801         (clutter_actor_set_anchor_pointu):
7802         (clutter_actor_get_anchor_point):
7803         (clutter_actor_get_anchor_pointu):
7804         (clutter_actor_set_anchor_point_from_gravity):
7805         New anchor point API deprecating old gravity scaling, added
7806         comments on modelview matrix construction to ClutterActor
7807         documentation.
7808
7809         (clutter_actor_set_scale_with_gravity):
7810         (clutter_actor_set_scale_with_gravityx):
7811         Deprecated; use clutter_actor_set_anchor_point_from_gravity() instead.
7812
7813 2007-11-28  Emmanuele Bassi  <ebassi@openedhand.com>
7814
7815         * clutter/clutter-effect.[ch]: Add clutter_effect_template_construct()
7816         function, for language bindings that need to set the alpha function
7817         but cannot call the clutter_effect_template_new() ctor themselves.
7818
7819 2007-11-27  Tomas Frydrych  <tf@openedhand.com>
7820
7821         * clutter/clutter-behaviour-ellipse.c:
7822         * clutter/clutter-behaviour-ellipse.h:
7823         (clutter_behaviour_ellipse_get_angle_startx):
7824         (clutter_behaviour_ellipse_set_angle_startx):
7825         (clutter_behaviour_ellipse_get_angle_endx):
7826         (clutter_behaviour_ellipse_set_angle_endx):
7827         (clutter_behaviour_ellipse_get_angle_tiltx):
7828         (clutter_behaviour_ellipse_set_angle_tiltx):
7829         Changed to take and return angles in degrees represented as
7830         ClutterFixed.
7831
7832 2007-11-27  Emmanuele Bassi  <ebassi@openedhand.com>
7833
7834         * clutter/clutter-actor.c (clutter_actor_destroy): Remove the
7835         reference we hold on the actor, as it was preventing the finalization
7836         of every child on the stage.
7837
7838 2007-11-26  Emmanuele Bassi  <ebassi@openedhand.com>
7839
7840         * clutter/x11/clutter-stage-x11.c:
7841         (clutter_stage_x11_set_cursor_visible): Restore the XFixes usage,
7842         as it now seems to be have been fixed.
7843
7844 2007-11-26  Emmanuele Bassi  <ebassi@openedhand.com>
7845
7846         * clutter/clutter-actor.c:
7847         (clutter_actor_real_show),
7848         (clutter_actor_real_hide): Do not set the MAPPED flag on the actor
7849         if it is a top-level one (like ClutterStage); the backends are
7850         responsible for setting that flag, as it might be the result of an
7851         asynchronous operation (e.g. on X11).
7852
7853         * clutter/eglnative/clutter-stage-egl.c:
7854         (clutter_stage_egl_show),
7855         (clutter_stage_egl_hide): Set/unset the CLUTTER_ACTOR_MAPPED flag
7856         on show and hide respectively.
7857
7858         * clutter/osx/clutter-stage-osx.c:
7859         (clutter_stage_osx_show),
7860         (clutter_stage_osx_hide): Ditto as above.
7861
7862         * clutter/sdl/clutter-stage-sdl.c:
7863         (clutter_stage_sdl_show),
7864         (clutter_stage_sdl_hide): Ditto as above, plus chain up to the
7865         parent class show/hide virtual functions.
7866
7867         * clutter/x11/clutter-event-x11.c (event_translate): Use the MapNotify
7868         and UnmapNotify events to call the X11 stage map/unmap functions.
7869
7870         * clutter/x11/clutter-stage-x11.[ch]:
7871         (clutter_stage_x11_set_fullscreen): Set the fullscreen_on_map flag
7872         with the fullscreen value.
7873
7874         (clutter_stage_x11_map), (clutter_stage_x11_unmap): Set the MAPPED
7875         flag on the stage actor and redraw; also, if the fullscreen_on_map
7876         flag was set, call clutter_stage_fullscreen() as well. (#648)
7877
7878         * tests/Makefile.am:
7879         * tests/test-fullscreen.c: Add a fullscreen test case for checking
7880         whether fullscreen works on every backend/platform.
7881
7882 2007-11-23  Emmanuele Bassi  <ebassi@openedhand.com>
7883
7884         * clutter/clutter-actor.c:
7885         (clutter_actor_real_request_coords),
7886         (clutter_actor_request_coords),
7887         (clutter_actor_class_init): Provide a default ::request_coords()
7888         implementation in ClutterActor and use it to store the bounding
7889         box passed to clutter_actor_request_coords(). This makes the code
7890         more reliable and clean, and avoids a call to the subclass
7891         request_coords() method if the bounding box did not change. Now,
7892         every class overriding ClutterActor::request_coords() *must* chain
7893         up to the parent class method or the bounding box will not be
7894         saved inside the ClutterActor structure.
7895
7896         * clutter/clutter-entry.c:
7897         * clutter/clutter-group.c:
7898         * clutter/clutter-hbox.c:
7899         * clutter/clutter-label.c:
7900         * clutter/clutter-texture.c:
7901         * clutter/clutter-vbox.c: Chain up to the parent class
7902         request_coords() method.
7903
7904 2007-11-23  Emmanuele Bassi  <ebassi@openedhand.com>
7905
7906         * clutter/clutter-event.h: Add more documentation.
7907
7908 2007-11-23  Emmanuele Bassi  <ebassi@openedhand.com>
7909
7910         * tests/test-event.c: Back out an accidental commit.
7911
7912 2007-11-23  Emmanuele Bassi  <ebassi@openedhand.com>
7913
7914         * clutter/clutter-actor.c:
7915         * clutter/clutter-alpha.c:
7916         * clutter/clutter-effect.c:
7917         * clutter/clutter-event.c:
7918         * clutter/clutter-event.h:
7919         * clutter/clutter-group.h:
7920         * clutter/clutter-model.c:,
7921         * clutter/clutter-script.c:
7922         * clutter/clutter-scriptable.h:
7923         * clutter/clutter-stage.c: Documentation fixes.
7924
7925         * clutter/clutter-score.c: Fix implementation.
7926
7927 2007-11-23  Emmanuele Bassi  <ebassi@openedhand.com>
7928
7929         * clutter/x11/clutter-stage-x11.c: Chain up the hide and show
7930         to the parent's implementation.
7931
7932 2007-11-23  Emmanuele Bassi  <ebassi@openedhand.com>
7933
7934         * clutter/clutter-effect.[ch]: Update the effects API to remove
7935         the start value for most of them.
7936
7937         (clutter_effect_move): Make it a simple "move from current
7938         position to new coordinates" effect.
7939
7940         (clutter_effect_path): Rename from clutter_effect_move().
7941
7942         (clutter_effect_rotate): Sync up with the new actor rotation API.
7943
7944         * tests/test-effects.c: Regression test for the effects.
7945
7946         * tests/Makefile.am: Build glue for test-effects
7947
7948         * tests/test-behave.c: Emulate a full ramp by using a looping
7949         timeline changing its direction when reaching the last frame.
7950
7951 2007-11-23  Emmanuele Bassi  <ebassi@openedhand.com>
7952
7953         * clutter/clutter-actor.c (clutter_actor_destroy): Bail out
7954         if clutter_actor_destroy() was called on the stage: the stage
7955         is not for the user to destroy.
7956
7957         * clutter/x11/clutter-backend-x11.c:
7958         * clutter/eglnative/clutter-backend-egl.c:
7959         * clutter/sdl/clutter-backend-sdl.c:
7960         * clutter/osx/clutter-backend-osx.c: Unset the top-level private
7961         flag on the stage when disposing it, so the backends can safely
7962         call clutter_actor_destroy().
7963
7964         * clutter/clutter-private.h: Tweak the private flags accessors,
7965         to avoid the typecheck.
7966
7967 2007-11-22  Emmanuele Bassi  <ebassi@openedhand.com>
7968
7969         * clutter/clutter-label.c (clutter_label_new_full): Set the
7970         terminating NULL which was removed when applying patch for
7971         fixing #606. (#645, Gwenole Beauchesne)
7972
7973 2007-11-22  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
7974
7975         * clutter/clutter-actor.c: mended a couple of typos in documentation.
7976
7977 2007-11-21  Matthew Allum  <mallum@openedhand.com>
7978
7979         * clutter/cogl/gles/cogl.c: (cogl_fog_set):
7980         Minor fixes for fog on GLES.
7981
7982 2007-11-21  Emmanuele Bassi  <ebassi@openedhand.com>
7983
7984         * clutter/cogl/cogl.h: Add cogl_fog_set() abstracting the
7985         glFog() functions and enabling the GL_FOG flag.
7986
7987         * clutter/cogl/gl/cogl.c: Add GL implementation of cogl_fog_set().
7988
7989         * clutter/cogl/gles/cogl.c: Add GL/ES implementation of
7990         cogl_fog_set().
7991
7992         * clutter.symbols: Add new symbols.
7993
7994         * clutter/clutter-stage.h: Add API to enable depth cueing on
7995         the stage using a linear GL fog, and to set the parameters
7996         for it (#637).
7997
7998         * clutter/clutter-stage.c (clutter_stage_paint): Enable the
7999         GL fog if the ClutterStage:use-fog property is true.
8000
8001         * tests/test-depth.c: Test the new stage API.
8002
8003 2007-11-20  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
8004
8005         * clutter/clutter-main.c: (event_click_count_generate): generalized
8006         click_count generation code.
8007         * tests/test-events.c: (input_cb): extended test to report click_count
8008         for release and scroll events as well as press events.
8009
8010 2007-11-20  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
8011
8012         * clutter/clutter-main.c: (clutter_do_event): avoid computing source
8013         of events if it is already set (for synthetic events.)
8014         * clutter/clutter-event.c: Add more information to the documentation
8015         of clutter_event_put.
8016
8017 2007-11-20  Emmanuele Bassi  <ebassi@openedhand.com>
8018
8019         * README: Add diff example command lines for submitting patches.
8020
8021 2007-11-20  Emmanuele Bassi  <ebassi@openedhand.com>
8022
8023         * clutter/clutter-actor.c::
8024         * clutter/clutter-behaviour-opacity.c:
8025         * clutter/clutter-clone-texture.c:
8026         * clutter/clutter-effect.c:
8027         * clutter/clutter-label.c: Remove the usage of G_PARAM_CONSTRUCT
8028         without an override for the ::construct virtual function; using
8029         G_PARAM_CONSTRUCT to set the default value of a property is not
8030         the recommended approach; default values are set inside the
8031         instance init function.
8032
8033 2007-11-20  Emmanuele Bassi  <ebassi@openedhand.com>
8034
8035         * clutter/clutter-texture.c (clutter_texture_init): Set filter-quality
8036         value to 1, to fix the regression caused when applying the patch for
8037         buf #616.
8038
8039 2007-11-19  Emmanuele Bassi  <ebassi@openedhand.com>
8040
8041         * clutter/clutter-label.[ch]: Fix ClutterLabel size allocation when
8042         no bounding box has been provided, and store the box set by the
8043         user so that it can be reused when recomputing the layout. (#600)
8044
8045         (clutter_label_class_init),
8046         (clutter_label_init): Set the :wrap property default to FALSE.
8047
8048         * clutter/clutter-units.h: Add ClutterUnit-to-PangoUnit conversion
8049         macro.
8050
8051         * tests/test-rotate.c: Fix string.
8052
8053 2007-11-19  Emmanuele Bassi  <ebassi@openedhand.com>
8054
8055         * clutter/clutter-behaviour-bspline.c:
8056         * clutter/clutter-behaviour-depth.c:
8057         * clutter/clutter-behaviour-ellipse.c:
8058         * clutter/clutter-behaviour-opacity.c:
8059         * clutter/clutter-behaviour-path.c:
8060         * clutter/clutter-behaviour-rotate.c:
8061         * clutter/clutter-behaviour-scale.c: Fix gtk-doc short description.
8062
8063 2007-11-19  Emmanuele Bassi  <ebassi@openedhand.com>
8064
8065         * clutter.symbols: Update
8066
8067         * clutter/clutter-actor.h: Rename the angle argument for
8068         set_rotationx() to avoid gtk-doc complaining
8069
8070         * clutter/clutter-main.h:
8071         * clutter/clutter-main.c:
8072         (clutter_set_motion_events_enabled): Rename for consistency
8073
8074         (clutter_get_motion_events_frequency),
8075         (clutter_set_motion_events_frequency): Add accessors for the default
8076         motion events deliver frequency.
8077
8078         (clutter_do_event): Throttle down motion events delivery using the
8079         motion events frequency setting, to avoid excessive redraws. (#608)
8080
8081         (clutter_context_get_default): Enable per-actor motion events, at
8082         least for now.
8083
8084         * tests/test-events.c (red_button_cb):
8085         * tests/test-grab.c (green_press_cb): Update.
8086
8087 2007-11-19  Emmanuele Bassi  <ebassi@openedhand.com>
8088
8089         * clutter/clutter-timeline.c (timeline_timeout_func): Do not emit the
8090         ::new-frame signal twice for the last frame. (#531)
8091
8092 2007-11-19  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
8093
8094         * clutter/clutter-actor.[ch]: (clutter_actor_set_rotationx),
8095         (clutter_actor_set_rotation): swapped axis and angle around,
8096         the new argument order is: (axis, angle, x, y, z). Also removed
8097         deprecated rotation functions from header.
8098
8099         Updated use of clutter_actor_set_rotation? in the following files:
8100
8101         * clutter/clutter-behaviour-rotate.c:
8102         * clutter/clutter-effect.c:
8103         * tests/test-actors.c:
8104         * tests/test-project.c:
8105
8106 2007-11-19  Emmanuele Bassi  <ebassi@openedhand.com>
8107
8108         * clutter/clutter-label.[ch]: Constify the color argument
8109         for the ClutterLabel ctor. (#604)
8110
8111 2007-11-18  Matthew Allum  <mallum@openedhand.com>
8112
8113         * clutter/clutter-actor.c:
8114         * clutter/clutter-actor.h:
8115         * clutter/clutter-group.c:
8116         * clutter/clutter-main.c:
8117         * clutter/clutter-stage.c:
8118         * tests/test-events.c:
8119         Parent Actors no longer need to be set reactive for reactive
8120         children to get events. Also makes groups now pickable.
8121         (#597, #423)
8122
8123         * clutter/clutter-texture.c:
8124         Handle case when 1x1 tiled texture is created,
8125         falling 'back' to being non tiled. (#596)
8126
8127         * clutter/eglx/clutter-backend-egl.c:
8128         Call EglTerminate on backend shutdown.
8129
8130 2007-11-18  Emmanuele Bassi  <ebassi@openedhand.com>
8131
8132         * clutter.pc.in: Bump up glib-2.0 dependency.
8133
8134 2007-11-18  Emmanuele Bassi  <ebassi@openedhand.com>
8135
8136         * clutter/clutter-model.c: Add gtk-doc section for
8137         ClutterModelIter
8138
8139         * clutter/clutter-script.h: Fix argument name.
8140
8141         * clutter/x11/clutter-x11.h:
8142         * clutter/x11/clutter-event-x11.c:
8143         * clutter/x11/clutter-backend-x11.c: Document functions and
8144         types.
8145
8146 2007-11-18  Emmanuele Bassi  <ebassi@openedhand.com>
8147
8148         * clutter.symbols: Update exported symbols.
8149
8150         * clutter/clutter-actor.[ch]: Remove clutter_actor_rotate_*
8151         and clutter_actor_get_rx* and provide a simpler rotation API:
8152         clutter_actor_set_rotation() and clutter_actor_get_rotation().
8153
8154         * clutter/clutter-deprecated.h: Deprecate the old rotation API.
8155
8156         * clutter/clutter-behaviour-bspline.c:
8157         * clutter/clutter-behaviour-rotate.c:
8158         * clutter/clutter-effect.c: Update internal usage of the
8159         rotation API.
8160
8161         * tests/test-project.c: Ditto as above.
8162
8163 2007-11-17  Emmanuele Bassi  <ebassi@openedhand.com>
8164
8165         Optimise Atoms usage in the X11 and X11-based backends.
8166
8167         * clutter/x11/clutter-backend-x11.c:
8168         (clutter_backend_x11_post_parse): Call XInternAtoms() here and
8169         get all the atoms from X in one call.
8170
8171         * clutter/x11/clutter-backend-x11.h: Store all the atoms inside
8172         the ClutterBackendX11 structure.
8173
8174         * clutter/x11/clutter-event-x11.c:
8175         (xembed_send_message), (xembed_set_info),
8176         (_clutter_backend_x11_events_init),
8177         (set_user_time), (handle_wm_protocols_event),
8178         (handle_xembed_event), (event_translate): Do not cache atoms
8179         or call XInternAtom() directly, and use the atoms off the X11
8180         backend structure instead.
8181
8182         * clutter/x11/clutter-stage-x11.c:
8183         (send_wmspec_change_state), (clutter_stage_x11_set_wm_protocols),
8184         (clutter_stage_x11_set_fullscreen),
8185         (clutter_stage_x11_set_title): Ditto as above.
8186
8187         * clutter/x11/clutter-stage-x11.h: Update the set_wm_protocols()
8188         method to take the X11 stage implementation.
8189
8190         * clutter/glx/clutter-stage-glx.c:
8191         (clutter_stage_glx_realize): Update for the set_wm_protocols()
8192         change.
8193
8194         * tests/test-project.c: (main): Test clutter_stage_set_title().
8195
8196 2007-11-17  Emmanuele Bassi  <ebassi@openedhand.com>
8197
8198         * configure.ac: Depend on GLib >= 2.14 because of ClutterModel
8199         usage of GSequence.
8200
8201 2007-11-16  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
8202
8203         * clutter/clutter-main.c: (emit_event): renamed from deliver_event,
8204         (emit_pointer_event): utility function to emit pointer event signals
8205         (which takes pointer grab into account).
8206         (emit_keyboard_event): utility function to emit keyboard event signals
8207         (which takes keyboard grab into account).
8208         (clutter_do_event): use the above utility functions, also reindented
8209         the source.
8210
8211 2007-11-16  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
8212
8213         * tests/test-grab.c: (main): fix use of clutter_actor_set_reactive
8214
8215 2007-11-15  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
8216
8217         * clutter/clutter-main.[ch]: added clutter_grab_keyboard,
8218         clutter_ungrab_keyboard and clutter_get_keyboard_grab, in
8219         clutter_do_event deliver keyboard related events only to the
8220         actor with the keyboard grab if a grab exists.
8221         * clutter/clutter-private.h: added keyboard_grab_actor to context.
8222         * tests/test-grab.c: added testing for testing the keyboard grab.
8223
8224 2007-11-15  Emmanuele Bassi  <ebassi@openedhand.com>
8225
8226         * clutter/clutter-texture.c:
8227         (clutter_texture_request_coords), (clutter_texture_class_init),
8228         (clutter_texture_init): Unset :sync-size if explicitly setting
8229         the texture size. (#616)
8230
8231 2007-11-15  Emmanuele Bassi  <ebassi@openedhand.com>
8232
8233         * clutter/clutter-actor.[ch]: Massive API clean-ups. Initial
8234         fixes for bugs #614 and #628.
8235
8236         * clutter/clutter-main.c:
8237         * clutter/clutter-stage.c: Update internal usage of the actor
8238         API.
8239
8240         * tests/test-events.c: Update test suite.
8241
8242 2007-11-15  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
8243
8244         * clutter/clutter-main.c: (generate_enter_leave_events),
8245         (clutter_do_event): moved the generation of enter/leave events
8246         to a utility function.
8247
8248 2007-11-15  Neil J. Patel  <njp@o-hand.com>
8249
8250         * clutter/clutter-model.c:
8251         Added some more examples to the documentation, plus explained how the
8252         iters work internally.
8253
8254 2007-11-15  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
8255
8256         * clutter/clutter-main.[ch]: added clutter_grab_pointer,
8257         clutter_ungrab_pointer and clutter_get_pointer_grab, in
8258         clutter_do_event deliver pointer related events only to the
8259         actor with the pointer grab if a grab exists.
8260         * clutter/clutter-private.h: added pointer_grab_actor to context.
8261         * tests/Makefile.am:
8262         * tests/test-grab.c: added test for testing the pointer grab.
8263
8264 2007-11-15  Emmanuele Bassi  <ebassi@openedhand.com>
8265
8266         * clutter/clutter-timeline.[ch]: Add ClutterTimeline:direction
8267         property, defining the direction (forward or backward) of the
8268         timeline.
8269
8270         * tests/test-timeline.c: Test the direction property.
8271
8272         * clutter.symbols: Update exported symbols
8273
8274 2007-11-15  Emmanuele Bassi  <ebassi@openedhand.com>
8275
8276         * clutter/clutter-effect.h:
8277         * clutter/clutter-effect.c:
8278         (clutter_effect_template_new_for_duration): Add a simple constructor
8279         for implicitly creating a ClutterTimeline with a given duration.
8280
8281 2007-11-15  Emmanuele Bassi  <ebassi@openedhand.com>
8282
8283         * clutter.symbols: Update with the new public symbols
8284
8285         * clutter/clutter-script.h:
8286         * clutter/clutter-script-private.h:
8287         * clutter/clutter-script.c:
8288         (parse_signals), (json_object_end),
8289         (signal_info_free), (object_info_free): Parse the "signals"
8290         member for GObjects.
8291
8292         (clutter_script_connect_signals),
8293         (clutter_script_connect_signals_full): Add new API for autoconnecting
8294         signal handlers using the UI definition files.
8295
8296         * tests/test-script.c:
8297         * tests/test-script.json: Test signal autoconnection.
8298
8299 2007-11-15  Matthew Allum  <mallum@openedhand.com>
8300
8301         * clutter/Makefile.am:
8302         * clutter/eglx/Makefile.am:
8303         * clutter/eglx/clutter-backend-egl.c:
8304         * clutter/eglx/clutter-backend-egl.h:
8305         * clutter/eglx/clutter-eglx.h:
8306         * clutter/eglx/clutter-event-egl.c:
8307         * clutter/eglx/clutter-stage-egl.c:
8308         * clutter/eglx/clutter-stage-egl.h:
8309         * clutter/glx/Makefile.am:
8310         * clutter/glx/clutter-backend-glx.c:
8311         * clutter/glx/clutter-backend-glx.h:
8312         * clutter/glx/clutter-event-glx.c:
8313         * clutter/glx/clutter-glx.h:
8314         * clutter/glx/clutter-stage-glx.c:
8315         * clutter/glx/clutter-stage-glx.h:
8316         * clutter/x11/Makefile.am:
8317         * clutter/x11/clutter-backend-x11-private.h:
8318         * clutter/x11/clutter-backend-x11.c:
8319         * clutter/x11/clutter-backend-x11.h:
8320         * clutter/x11/clutter-event-x11.c:
8321         * clutter/x11/clutter-stage-x11.c:
8322         * clutter/x11/clutter-stage-x11.h:
8323         * clutter/x11/clutter-x11.h:
8324         Create a new X11 backend class of which EGL and GLX 'real' backends
8325         then subclass. Effectively shares all X11 code between both backends
8326         avoids code duplication and brings many missing features to EGL X
8327         backend. Requires some cleanup and testing. (#518)
8328
8329         * clutter/cogl/gles/cogl.c: (cogl_color):
8330         Add define to use color4ub only if configure finds it.
8331         If not fall back to old code.
8332
8333         * configure.ac:
8334         Drop support for vincent checks.
8335         Drop sdles backend.
8336         Specifically check for color4ub call.
8337
8338 2007-11-15  Neil J. Patel  <njp@o-hand.com>
8339
8340         * clutter/Makefile.am:
8341         * clutter/clutter-model.c:
8342         * clutter/clutter-model.h:
8343         * clutter/clutter.h:
8344         * tests/Makefile.am:
8345         * tests/test-model.c:
8346         Merged ClutterModel, which closes #443.
8347
8348 2007-11-14  Emmanuele Bassi  <ebassi@openedhand.com>
8349
8350         * clutter/clutter-clone-texture.c (set_parent_texture): Hide the
8351         clone texture only if it was visible, and show it again if we
8352         are adding a visible texture.
8353
8354         * tests/test-script.json: Test the CloneTexture actor.
8355
8356 2007-11-14  Emmanuele Bassi  <ebassi@openedhand.com>
8357
8358         * clutter/clutter-actor.[ch]: Rename clutter_actor_get_id() to
8359         clutter_actor_get_gid().
8360
8361         (clutter_actor_set_parent): Use GUINT_TO_POINTER().
8362
8363         * clutter/clutter-deprecated.h: Add a replacement warning for
8364         clutter_actor_get_id().
8365
8366         * clutter/clutter-texture.c (texture_upload_data): Use
8367         clutter_actor_get_gid(), and don't leak the filename string.
8368
8369 2007-11-14  Emmanuele Bassi  <ebassi@openedhand.com>
8370
8371         * clutter/clutter-scriptable.[ch]: Rename ::set_name and ::get_name
8372         to ::set_id and ::get_id, to avoid potential confusion with the
8373         ClutterActor:name property.
8374
8375         * clutter/clutter-script.h:
8376         * clutter/clutter-script.c (clutter_script_construct_object): Use
8377         clutter_scriptable_set_id().
8378
8379         (clutter_get_script_id): Add a public function to retrieve the ID
8380         used in the UI definition files from an object.
8381
8382         * clutter/clutter-actor.c: Do not set the name of the actor with
8383         the ID set in the UI definition files.
8384
8385         * tests/test-script.c: Test clutter_get_script_id().
8386
8387         * clutter.symbols: Update with the new symbols.
8388
8389 2007-11-14  Emmanuele Bassi  <ebassi@openedhand.com>
8390
8391         * clutter/cutter-deprecated.h: Don't let everyone know from where
8392         we have stolen^Wtaken inspiration for the deprecation warnings.
8393
8394 2007-11-13  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
8395
8396         * clutter/clutter-behaviour-bspline.[ch]:
8397         Replaced clutter_behaviour_bspline_append with
8398         clutter_behaviour_bspline_append_knots. Fixes bug #582.
8399         * clutter/clutter-deprecated.h: added deprecation macro reflecting the
8400         API change.
8401
8402 2007-11-13  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
8403
8404         * clutter/Makefile.am:
8405         * clutter/clutter.h: include clutter-deprecated.h
8406         * clutter/clutter-deprecated.h: added file containing macros that
8407         provides more meaningful errors when compiling clutter using code that
8408         uses deprecated functions.
8409
8410 2007-11-13  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
8411
8412         Renamed all properties of behaviours (and related
8413         functions/variables/parameters)
8414         to match the pattern something-start, something-end. Fixes bug #577.
8415
8416         * clutter/clutter-behaviour-depth.c:
8417         * clutter/clutter-behaviour-depth.h:
8418         * clutter/clutter-behaviour-ellipse.c:
8419         * clutter/clutter-behaviour-ellipse.h:
8420         * clutter/clutter-behaviour-path.c:
8421         * clutter/clutter-behaviour-rotate.c:
8422         * clutter/clutter-behaviour-rotate.h:
8423         * clutter/clutter-behaviour-scale.c:
8424         * clutter/clutter-behaviour-scale.h:
8425         * clutter/clutter-effect.c:
8426         * clutter/clutter-effect.h:
8427         * clutter/clutter-script.c:
8428         * tests/test-depth.c:
8429         * tests/test-script.c:
8430
8431 2007-11-06  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
8432
8433         * clutter/clutter-event.h: made ClutterEventAny have a source field,
8434         rearanged other structs to have source in the same position.
8435         * clutter/clutter-event.c: (clutter_event_get_source): modified to use
8436         the any event.
8437         (clutter_event_free): removed unused variable.
8438         * clutter/clutter-main.c: (deliver_event), (clutter_do_event): reduced
8439         amount of code. As well as deliver button-release events to the stage.
8440
8441 2007-11-08  Rob Bradford  <rob@openedhand.com>
8442
8443         * clutter/glx/clutter-glx.h:
8444         Include <X11/Xutil.h> needed for the definition of XVisualInfo.
8445
8446 2007-11-08  Rob Bradford  <rob@openedhand.com>
8447
8448         * clutter/cogl/gles/cogl.c: (cogl_color):
8449         Switch over to using glColor4ub in the GLES backend. It's available in
8450         the header file but missing in the reference manual.
8451
8452 2007-11-07  Emmanuele Bassi  <ebassi@openedhand.com>
8453
8454         * clutter/clutter-actor.[ch]: Fix the declaration of the
8455         class handlers for the ::captured-event, ::enter-event and
8456         ::leave-event signals; the function signatures were missing
8457         the return value the signals marshallers were expecting, and
8458         their names weren't respecting the convention for event-related
8459         signals.
8460
8461 2007-11-06  Tomas Frydrych  <tf@o-hand.com>
8462
8463         * clutter/clutter-fixed.h:
8464         Added CLUTTER_SQRTI_ARG_MAX, CLUTTER_SQRTI_5_PERCENT,
8465         CLUTTER_SQRTI_10_PERCENT expressing clutter_sqrti limits.
8466         Stripped trailing whitespace.
8467
8468         * clutter/clutter-fixed.c:
8469         (clutter_sqrti):
8470         Updated documentation, stripped trailing whitespace.
8471
8472         * clutter/clutter-behaviour-path.c:
8473         (node_distance):
8474         Use clib sqrt if clutter_sqrti() precission would be worse than
8475         10%.
8476         Stripped trailing whitespace.
8477
8478 2007-11-06  Emmanuele Bassi  <ebassi@openedhand.com>
8479
8480         * clutter/clutter-layout.h: Add commodity macros to test for
8481         a specific layout flag in one line.
8482
8483 2007-11-06  Emmanuele Bassi  <ebassi@openedhand.com>
8484
8485         * clutter/clutter-box.c (clutter_box_dispose): Call unparent()
8486         on the children, instead of destroy(), to avoid a double free
8487         and a crash when destroying a ClutterBox.
8488
8489 2007-11-06  Emmanuele Bassi  <ebassi@openedhand.com>
8490
8491         * clutter/clutter-label.c: Break the references in ::dispose,
8492         and free the resources in ::finalize.
8493
8494 2007-11-05  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
8495
8496         * clutter/clutter-container.[ch]: removed find_child_by_id method
8497         from interface (and all implementations of it) since this
8498         functionality is now implemented using a global hash.
8499         * clutter/clutter-box.c:
8500         * clutter/clutter-group.c:
8501
8502 2007-11-01  Emmanuele Bassi  <ebassi@openedhand.com>
8503
8504         * clutter/clutter-script.c: Do not keep ownership of the
8505         pixbufs we load.
8506
8507 2007-10-31  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
8508
8509         * clutter/clutter-main.c: (_clutter_do_pick): disable dithering
8510         when painting in pick mode.
8511
8512 2007-10-31  Matthew Allum  <mallum@openedhand.com>
8513
8514         * clutter/clutter-score.c:
8515         Various minor improvements to ClutterScore.
8516
8517 2007-10-30  Emmanuele Bassi  <ebassi@openedhand.com>
8518
8519         * clutter/clutter-layout.c: Fix documentation, with regards to
8520         the containers handling of the children implementing the
8521         ClutterLayout interface.
8522
8523 2007-10-29  Emmanuele Bassi  <ebassi@openedhand.com>
8524
8525         * configure.ac:
8526         * clutter/cogl/gl/cogl-defines.h.in: The OS X backend has a funny
8527         OpenGL header location, so it basically did break every application
8528         including clutter/cogl.h because the GL header inclusion depended
8529         on symbols defined into Clutter's config.h. Now, we define the
8530         GL header into the configure template and use it to create the
8531         cogl-defines.h file cogl.h includes.
8532
8533 2007-10-29  Emmanuele Bassi  <ebassi@openedhand.com>
8534
8535         * clutter/json/json-parser.c: Enable parsing of negative numbers;
8536         GScanner splits negative numbers into two tokens, so we need to
8537         special case them.
8538
8539 2007-10-29  Emmanuele Bassi  <ebassi@openedhand.com>
8540
8541         * clutter/clutter-script.c: Add the :filename and :filename-set
8542         properties, to retrieve the path of the currently parsed file (if
8543         :filename-set is TRUE) from the ClutterScriptable implementations.
8544
8545 2007-10-28  Matthew Allum  <mallum@openedhand.com>
8546
8547         * clutter/clutter-effect.c:
8548         Small doc fix (#584)
8549
8550 2007-10-27  Emmanuele Bassi  <ebassi@openedhand.com>
8551
8552         * clutter/json/json-parser.c:
8553         (json_scanner_msg_handler): Set the GError to be returned by
8554         the parsing functions into the GScanner error message handler.
8555
8556         (json_parser_object): Return the symbol token in case we have
8557         a parse error after the member name.
8558
8559         (json_parser_load_from_data): Propagate the error set in the
8560         message handler, if any.
8561
8562         * clutter/json/json-node.c (json_node_free): Unref the objects
8563         only if are set, to avoid a couple of needless criticals we
8564         get on error.
8565
8566         * tests/test-script.json: More properties.
8567
8568 2007-10-27  Emmanuele Bassi  <ebassi@openedhand.com>
8569
8570         * clutter/clutter-script.[ch]: Slight API change in the
8571         clutter_script_get_objects() function: now it takes
8572         object name/object return location pairs and returns the
8573         number of objects found and returned.
8574
8575         * tests/test-script.c: Exercise the clutter_script_get_objects()
8576         function.
8577
8578 2007-10-27  Emmanuele Bassi  <ebassi@openedhand.com>
8579
8580         * clutter/clutter-rectangle.c (clutter_rectangle_paint): Use
8581         CGL_ENABLE_BLEND flag instead of CGL_BLEND value. (#580,
8582         Gwenole Beauchesne)
8583
8584 2007-10-27  Emmanuele Bassi  <ebassi@openedhand.com>
8585
8586         * clutter/clutter-color.c (clutter_color_to_string): Update the
8587         documentation for the format of the returned string, and remove
8588         the note: now clutter_color_parse() can parse the string this
8589         function returns.
8590
8591 2007-10-27  Emmanuele Bassi  <ebassi@openedhand.com>
8592
8593         * clutter/pango/pangoclutter-render.c: Last usage of guint
8594         replaced with COGLuint. (Tommi Komulainen)
8595
8596 2007-10-26  Matthew Allum  <mallum@openedhand.com>
8597
8598         * clutter/clutter-texture.c:
8599         * clutter/cogl/cogl.h:
8600         * clutter/cogl/gl/cogl-defines.h:
8601         * clutter/cogl/gles/cogl-defines.h:
8602         * clutter/cogl/gl/cogl.c:
8603         * clutter/cogl/gles/cogl.c:
8604         Switch from use of guint to COGLuint. Avoids problems when
8605         guint != GLuint on some platforms, i.e OSX.
8606         (Tommi Komulainen, #525, #523)
8607
8608         * clutter/Makefile.am:
8609         * clutter/osx/Makefile.am:
8610         * clutter/osx/clutter-backend-osx.c:
8611         * clutter/osx/clutter-backend-osx.h:
8612         * clutter/osx/clutter-event-osx.c:
8613         * clutter/osx/clutter-osx.h:
8614         * clutter/osx/clutter-stage-osx.c:
8615         * clutter/osx/clutter-stage-osx.h:
8616         * configure.ac:
8617         Add initial Cocoa/OSX Backend (by Tommi Komulainen, see #526)
8618
8619 2007-10-26  Emmanuele Bassi  <ebassi@openedhand.com>
8620
8621         * clutter/clutter-entry.c: Add a :x-align property for aligning
8622         the text in the entry, in case the actor is wider than the
8623         text it shows.
8624
8625 2007-10-26  Emmanuele Bassi  <ebassi@openedhand.com>
8626
8627         * clutter/clutter-main.c: Add a --clutter-default-fps run-time
8628         switch and CLUTTER_DEFAULT_FPS environment variable support for
8629         setting the default frame-rate at run-time.
8630
8631 2007-10-26  Emmanuele Bassi  <ebassi@openedhand.com>
8632
8633         * clutter/clutter-script.h:
8634         * clutter/clutter-script.c: Add a ::get_type_from_name() virtual
8635         function for bindings to override. The current implementation
8636         calls g_type_from_name() and our lazy class resolver.
8637
8638         * clutter.symbols: Update.
8639
8640         * doc/reference/clutter-sections.txt: Update.
8641
8642 2007-10-25  Emmanuele Bassi  <ebassi@openedhand.com>
8643
8644         * clutter/clutter-behaviour-path.c: Reverse the list of
8645         parsed knots, to preserve the real ordering after prepending
8646         them (thanks to Ã˜yvind for spotting this).
8647
8648         * clutter/clutter-behaviour-bspline.c: Ditto as above.
8649
8650 2007-10-25  Emmanuele Bassi  <ebassi@openedhand.com>
8651
8652         * clutter/clutter-script-parser.c: Unset the GValue when
8653         getting a ClutterUnit from a JSON node.
8654
8655 2007-10-25  Emmanuele Bassi  <ebassi@openedhand.com>
8656
8657         * clutter/clutter-behaviour-bspline.c: Implement the
8658         ClutterScriptableIface to parse the custom "knots" property.
8659
8660 2007-10-25  Emmanuele Bassi  <ebassi@openedhand.com>
8661
8662         * tests/test-script.c:
8663         * tests/test-script.json: Rejig the test case and add a
8664         path behaviour to test the knot parsing code.
8665
8666 2007-10-25  Emmanuele Bassi  <ebassi@openedhand.com>
8667
8668         * clutter/cogl/cogl.h: Do not include <clutter/clutter.h>.
8669
8670 2007-10-25  Emmanuele Bassi  <ebassi@openedhand.com>
8671
8672         * clutter/clutter-behaviour-path.c: Implement the
8673         ClutterScriptableIface to parse the custom "knots" property.
8674
8675 2007-10-25  Emmanuele Bassi  <ebassi@openedhand.com>
8676
8677         * clutter/clutter-texture.c (clutter_texture_set_property): Do
8678         not try to set NULL pixbufs.
8679
8680 2007-10-25  Emmanuele Bassi  <ebassi@openedhand.com>
8681
8682         * clutter/clutter-actor.c: Implement part of the ClutterScriptable
8683         interface, using the ClutterActor API to set and get the name
8684         of an actor.
8685
8686         (clutter_geometry_copy), (clutter_geometry_free): Use
8687         the slice allocator to avoid fragmentation when setting
8688         properties and emitting signals (that is: when packing
8689         boxed types into GValues).
8690
8691         (clutter_actor_box_copy), (clutter_actor_box_free),
8692         (clutter_vertex_copy), (clutter_vertex_free): Ditto.
8693
8694         * clutter/clutter-actor.h:
8695         * clutter/clutter-actor.c:
8696         (clutter_actor_push_transform_child),
8697         (clutter_actor_pop_transfomr_child): Simple wrappers around
8698         COGL API, which avoid including clutter/cogl.h when writing
8699         container actors outside Clutter.
8700
8701 2007-10-25  Emmanuele Bassi  <ebassi@openedhand.com>
8702
8703         * clutter/Makefile.am:
8704         * clutter/clutter.h:
8705         * clutter/clutter-scriptable.[ch]: Add the ClutterScriptable
8706         interface; by implementing this interface, a class can
8707         override the UI definition parsing and transform complex data
8708         types into GObject properties, or allow custom properties.
8709
8710         * clutter/clutter-script.c:
8711         * clutter/clutter-script-parser.c:
8712         * clutter/clutter-script-private.h: Rearrange the code and
8713         use the ClutterScriptable interface to parse and build the
8714         custom properties. This cleans up the code and also it makes
8715         it more reliable (the complex type parsing is now done using
8716         the target type and not just the name of the property).
8717
8718 2007-10-25  Emmanuele Bassi  <ebassi@openedhand.com>
8719
8720         * clutter/clutter-json.h: Header for including the JSON
8721         parsing and data types.
8722
8723         * clutter/json/json-types.h: Add JSON_NODE_VALUE_TYPE() macro.
8724
8725         * clutter/json/Makefile.am: Install the JSON headers into a
8726         private location. This might change in the future, and might
8727         also cause collisions if you're using JSON-GLib and Clutter
8728         at the same time, so be warned.
8729
8730 2007-10-22  Emmanuele Bassi  <ebassi@openedhand.com>
8731
8732         * clutter/clutter-label.c (clutter_label_request_coords): If
8733         we get a size requisition, and we have ellipsization active,
8734         check if we are getting less space than what the layout needs
8735         and recompute the width.
8736
8737 2007-10-22  Emmanuele Bassi  <ebassi@openedhand.com>
8738
8739         * clutter/clutter-color.c (clutter_color_to_string): Change
8740         the print format to "%02x%02x%02x%02x" because we use guint8
8741         for each component, not guint16.
8742
8743 2007-10-19  Emmanuele Bassi  <ebassi@openedhand.com>
8744
8745         * clutter/clutter-entry.c (clutter_entry_paint): Fixed off by
8746         one error. (#566, Gwenole Beauchesne)
8747
8748 2007-10-18  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
8749
8750         * clutter/clutter-timeline.c: (clutter_timeline_set_duration):
8751         rearranged arithemetic to allow specifying duration with sub second
8752         precision (also enables durations smaller than one second).
8753
8754 2007-10-18  Emmanuele Bassi  <ebassi@openedhand.com>
8755
8756         * clutter/clutter-script-private.h:
8757         * clutter/clutter-script.h:
8758         * clutter/clutter-script.c: Allow id-less objects: as long
8759         as they have a "type" member, a unique id will be provided.
8760
8761         (json_object_end): Add merge id to the object information
8762         structure.
8763
8764         (apply_behaviours), (add_children): Keep the unresolved
8765         objects around.
8766
8767         (construct_stage), (clutter_script_construct_object): If an
8768         object has unresolved children or behaviours try resolving
8769         them when we ask for it.
8770
8771         (json_parse_end), (clutter_script_ensure_objects): Ensure
8772         that the objects are fully constructed as best as we can when
8773         finished parsing.
8774
8775         (object_info_free), (remove_by_merge_id):
8776         (clutter_script_unmerge_objects): Remove objects under the
8777         same merge id returned by the loading functions. (Fixes
8778         bug #558)
8779
8780         * test/test-script.c:
8781         * test/test-script.json: Test unresolved merging and unmerging
8782         in ClutterScript.
8783
8784 2007-10-18  Matthew Allum  <mallum@openedhand.com>
8785
8786         * clutter/clutter-score.c:
8787         * clutter/clutter-score.h:
8788         * tests/test-score.c:
8789         Implement more ClutterScore functionality.
8790
8791 2007-10-17  Emmanuele Bassi  <ebassi@openedhand.com>
8792
8793         * clutter/clutter-actor.c:
8794         (clutter_actor_set_property), (clutter_actor_get_property),
8795         (clutter_actor_class_init): Add the :reactive property, to
8796         control reactiveness using the UI definition files.
8797
8798         (clutter_actor_reparent): Do not assume the parent is a
8799         ClutterContainer, and call the container API only if needed.
8800
8801         (clutter_actor_destroy): Remove from the parent if needed,
8802         just like the documentation says.
8803
8804 2007-10-16  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
8805
8806         * clutter/pango/pangoclutter-render.c: (tc_get): Provide for blank
8807         rows/columns of pixels between adjecant glyphs in the texture cache to
8808         avoid bilinear interpolation spillage at edges of glyphs.
8809
8810 2007-10-16  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
8811
8812         * clutter/clutter-main.c: (clutter_do_event): allow motion events
8813         only delivered to stage to be caught in the capture phase as well
8814         as the bubbling phase.
8815
8816 2007-10-16  Emmanuele Bassi  <ebassi@openedhand.com>
8817
8818         * clutter/json/json-object.c: Automatically transform every
8819         delimiter into an underscore.
8820
8821         * clutter/clutter-script.c: Implement the "parent_texture"
8822         property translation for ClutterCloneTextures, using the
8823         passed id of the parent texture.
8824
8825 2007-10-16  Emmanuele Bassi  <ebassi@openedhand.com>
8826
8827         * clutter/clutter-timeline.[ch]: Added ClutterTimeline:duration,
8828         a property for setting the duration of a timeline in milliseconds.
8829         The property comes with accessors and a new constructor. The
8830         frame rate used is the default value.
8831
8832         * clutter/clutter-private.h:
8833         * clutter/clutter-main.[ch]: Add clutter_get_default_frame_rate()
8834         and clutter_set_default_frame_rate(); these two functions control
8835         the default frame rate to be used when creating timelines. Currently
8836         is set to 60 frames-per-second.
8837
8838 2007-10-16  Tomas Frydrych  <tf@o-hand.com>
8839
8840         * build/msvc_2k5:
8841         Added MSVC project files.
8842
8843 2007-10-16  Emmanuele bassi  <ebassi@openedhand.com>
8844
8845         * clutter/clutter-color.c: Copy the alpha when shading.
8846
8847 2007-10-16  Tomas Frydrych  <tf@o-hand.com>
8848
8849         * clutter.symbols:
8850         Added a bunch of missing symbols.
8851
8852         * clutter/clutter-script.c:
8853         * json/json-node.c:
8854         Use g_slice_new0 instead of g_slice_new to avoid passing
8855         garbage to functions.
8856
8857         * tests/test-threads.c:
8858         Replaced non-portable sleep() with g_usleep().
8859
8860 2007-10-15  Tomas Frydrych  <tf@o-hand.com>
8861
8862         * clutter/cogl/gl/cogl-defines.h:
8863         * clutter/cogl/gl/cogl.c:
8864         Fixup GL include for windows.
8865
8866 2007-10-15  Matthew Allum  <mallum@openedhand.com>
8867
8868         * clutter/clutter-actor.c:
8869         More events documentation.
8870
8871         * clutter/clutter-event.c:
8872         * clutter/clutter-event.h:
8873         Add synthetic flag and make put_event use it
8874         (via modded patch from pippin)
8875
8876         * clutter/clutter-main.c: (clutter_do_event):
8877         dont use put event anymore when pushing enter/leave events.
8878
8879 2007-10-15  Emmanuele Bassi  <ebassi@openedhand.com>
8880
8881         * clutter/pango/Makefile.am: Compile with the debug flags, if
8882         set.
8883
8884 2007-10-12  Emmanuele Bassi  <ebassi@openedhand.com>
8885
8886         * clutter.symbols: Remove non-public symbols.
8887
8888 2007-10-12  Tomas Frydrych  <tf@o-hand.com>
8889
8890         * clutter.symbols:
8891         A list of public symbols, one per line; semi-autogenerated, so
8892         might not be complete -- PLEASE when adding new public APIs, add
8893         the function name to this file.
8894
8895 2007-10-12  Emmanuele Bassi  <ebassi@openedhand.com>
8896
8897         * clutter/clutter-actor.c: Add a :depth property, so we can
8898         set the initial depth of an actor inside the UI definition
8899         files.
8900
8901 2007-10-12  Tomas Frydrych  <tf@o-hand.com>
8902
8903         * tests/test-actors.c:
8904         When using MSVC, define _USE_MATH_DEFINES before including
8905         math.h, otherwise constants like M_PI will not be defined.
8906
8907 2007-10-12  Emmanuele Bassi  <ebassi@openedhand.com>
8908
8909         * clutter/clutter-script.c (construct_timline),
8910         (parse_member_to_property): Transfer ownership of the
8911         implicit timelines to the behaviour, so that they get
8912         unreferenced when the behaviour is destroyed.
8913
8914         (parse_member_to_property): Reverse the list of children
8915         and behaviours.
8916
8917 2007-10-12  Tomas Frydrych  <tf@o-hand.com>
8918
8919         Portability fixes:
8920
8921         * clutter/clutter-private.h:
8922         Bracket #include "unistd.h" with #ifdef HAVE_UNISTD_H
8923
8924         * clutter/clutter-fixed.c:
8925         Use "", not <> for inclusion of local files.
8926
8927         (clutter_sqrtx): forward declare local variables.
8928
8929         * clutter/clutter-debug.h:
8930         Added non-gcc (c99) implementation of variadic debug macros for
8931         when not compiling with gcc.
8932
8933         * clutter/pango/pangoclutter-render.c:
8934         Fixed some strange uses of CLUTTER_NOTE() + stripped trailing
8935         whitespace.
8936
8937 2007-10-12  Tomas Frydrych  <tf@o-hand.com>
8938
8939         * clutter/clutter-actor.c:
8940         * clutter/clutter-backend.c:
8941         * clutter/clutter-behaviour-depth.c:
8942         * clutter/clutter-box.c:
8943         * clutter/clutter-clone-texture.c:
8944         * clutter/clutter-container.c:
8945         * clutter/clutter-entry.c:
8946         * clutter/clutter-feature.c:
8947         * clutter/clutter-fixed.c:
8948         * clutter/clutter-group.c:
8949         * clutter/clutter-hbox.c:
8950         * clutter/clutter-label.c:
8951         * clutter/clutter-layout.c:
8952         * clutter/clutter-media.c:
8953         * clutter/clutter-rectangle.c:
8954         * clutter/clutter-score.c:
8955         * clutter/clutter-script.c:
8956         * clutter/clutter-stage.c:
8957         * clutter/clutter-texture.c:
8958         * clutter/clutter-timeline.c:
8959         * clutter/clutter-timeout-pool.c:
8960         * clutter/clutter-vbox.c:
8961         * clutter/cogl/gl/cogl.c:
8962         * clutter/cogl/gles/cogl.c:
8963         * clutter/eglnative/clutter-backend-egl.c:
8964         * clutter/eglnative/clutter-event-egl.c:
8965         * clutter/eglnative/clutter-stage-egl.c:
8966         * clutter/eglx/clutter-backend-egl.c:
8967         * clutter/eglx/clutter-event-egl.c:
8968         * clutter/eglx/clutter-stage-egl.c:
8969         * clutter/glx/clutter-event-glx.c:
8970         * clutter/json/json-array.c:
8971         * clutter/json/json-generator.c:
8972         * clutter/json/json-node.c:
8973         * clutter/json/json-object.c:
8974         * clutter/json/json-parser.c:
8975         * clutter/sdl/clutter-backend-sdl.c:
8976         * clutter/sdl/clutter-event-sdl.c:
8977         * clutter/sdl/clutter-stage-sdl.c:
8978
8979         Fixedup config.h inclusion (must always be bracketed with #ifdef
8980         HAVE_CONFIG_H).
8981
8982 2007-10-11  Tomas Frydrych  <tf@o-hand.com>
8983
8984         * clutter/clutter-entry.c:
8985         Avoid using C++ reserverd words to name variables.
8986
8987 2007-10-11  Ã˜yvind KolÃ¥s  <pippin@o-hand.com>
8988
8989         Improve the quality of text when the scale it is shown at screen is
8990         smaller than the original, seems to work well down to about a scale
8991         of 50%.
8992
8993         * clutter/pango/pangoclutter-fontmap.c:
8994         (pango_clutter_font_map_default_substitute): turn off hinting.
8995         * clutter/pango/pangoclutter-render.c: request linear filtering
8996         instead of nearest neighbour when scaling down.
8997         * tests/test-text.c: replaced test with a a test that renders a sample
8998         grid with various pixel sizes and scales for visual inspection of
8999         text rendering quality.
9000
9001 2007-10-10  Emmanuele Bassi  <ebassi@openedhand.com>
9002
9003         * clutter/glx/clutter-backend-glx.c: Fix documentation of the
9004         filter function API.
9005
9006         * clutter/clutter-score.c:
9007         * clutter/clutter-effect.c:
9008         * clutter/clutter-actor.c: Documentation fixes.
9009
9010         * clutter/clutter-actor.h: Automatically typecast to ClutterActor
9011         when setting/checking flags.
9012
9013 2007-10-10  Emmanuele Bassi  <ebassi@openedhand.com>
9014
9015         * clutter/clutter-actor.c: Beautify the ClutterActor documentation.
9016
9017 2007-10-10  Emmanuele Bassi  <ebassi@openedhand.com>
9018
9019         * clutter/clutter-actor.c: Remove the ::event-after signal:
9020         three event layers to connect to seems a bit overkill.
9021
9022         (clutter_actor_event): Return FALSE, not TRUE by default,
9023         as g_signal_emit() will change the return value if no
9024         handlers are connected
9025
9026         * clutter/clutter-stage.c: Emit ::notify when we change
9027         the fullscreen property.
9028
9029         * clutter/clutter-script.c: Add more documentation for the
9030         definition format and keywords.
9031
9032         (translate_property): Collapse the G_TYPE_ENUM and G_TYPE_FLAGS
9033         cases into one, to simplify the code.
9034
9035         * tests/test-script.c: Test enumeration conversion by using
9036         a value different from the default.
9037
9038 2007-10-10  Matthew Allum  <mallum@openedhand.com>
9039
9040         * clutter/clutter-actor.c:
9041         * clutter/clutter-actor.h:
9042         * clutter/clutter-event.c:
9043         * clutter/clutter-main.c:
9044         * tests/test-events.c:
9045         Add basic W3 DOM  event 'capture' like functionality.
9046
9047 2007-10-10  Emmanuele Bassi  <ebassi@openedhand.com>
9048
9049         * clutter/clutter-script-private.h:
9050         * clutter/clutter-script.c: Parse flags like we parse enums.
9051
9052 2007-10-10  Emmanuele Bassi  <ebassi@openedhand.com>
9053
9054         * clutter/json/json-types.h:
9055         * clutter/json/json-array.c:
9056         * clutter/json/json-object.c: Resync with the upstream copy
9057         of JSON-GLib; add json_object_remove_member() and
9058         json_array_remove_element() and fix the g_hash_table_get_keys()
9059         replacement for GLib 2.12.
9060
9061         * clutter/clutter-script.c: Clean up the complex properties
9062         parsing code.
9063
9064 2007-10-10  Emmanuele Bassi  <ebassi@openedhand.com>
9065
9066         * clutter/clutter-script.c (json_object_end): Add "type_func"
9067         to the list of attributes we skip.
9068
9069 2007-10-10  Emmanuele Bassi  <ebassi@openedhand.com>
9070
9071         * clutter/json/json-parser.c: Use the commodity JsonNode API
9072         and accept bare values as root nodes.
9073
9074         * clutter/clutter-script-private.h:
9075         * clutter/clutter-script.c: Unreference the created objects
9076         only if they are top-levels, like ClutterBehaviour and
9077         ClutterTimelines. Actors have floating references, so we
9078         just transfer ownership to their containers, and the stage
9079         is owned by the backend. Add the "type_func" key to the
9080         object definition, so the user can supply its own GType
9081         function if the class name doesn't follow the GObject rules.
9082         Document the ClutterScript public API.
9083
9084 2007-10-10  Matthew Allum  <mallum@openedhand.com>
9085
9086         * clutter/clutter-actor.c:
9087         * clutter/clutter-actor.h:
9088         Add missing enter/leave event signals
9089
9090         * clutter/clutter-main.c: (clutter_do_event):
9091         Set time in crossing events.
9092         Protect against do_pick() failing.
9093
9094 2007-10-09  Emmanuele Bassi  <ebassi@openedhand.com>
9095
9096         * clutter/clutter-script.c (resolve_alpha_func): Fix the
9097         ClutterAlphaFunc resolution function.
9098
9099 2007-10-09  Emmanuele Bassi  <ebassi@openedhand.com>
9100
9101         * tests/Makefile.am:
9102         * tests/test-script.c:
9103         * tests/test-script.json: Move part of the UI definition into
9104         its own file and exercise clutter_script_load_from_file().
9105
9106 2007-10-09  Emmanuele Bassi  <ebassi@openedhand.com>
9107
9108         * clutter/clutter-script.c (clutter_script_get_object): Construct
9109         the requested object if it hasn't been already. This allows
9110         referencing objects within the same snippet.
9111
9112         * tests/test-script.c: Declare a timeline and use it inside
9113         multiple behaviours; apply multiple behaviours to various
9114         actors, then retrieve the timeline to start it when the test
9115         runs.
9116
9117 2007-10-09  Emmanuele Bassi  <ebassi@openedhand.com>
9118
9119         * clutter/clutter-script-private.h:
9120         * clutter/clutter-script.c: Allow applying behaviours directly
9121         inside the UI definition data.
9122
9123         * tests/test-script.c: Test the "behaviours" member.
9124
9125 2007-10-09  Rob Bradford  <rob@openedhand.com>
9126
9127         * clutter/eglnative/clutter-backend-egl.c:
9128         (clutter_backend_egl_dispose):
9129         Call eglTerminate() on the display when the backend is disposed of.
9130
9131         * clutter/eglnative/clutter-stage-egl.c:
9132         (clutter_stage_egl_realize):
9133         Don't use the createNativeWindow() call, it's not generic EGL.
9134
9135 2007-10-09  Emmanuele Bassi  <ebassi@openedhand.com>
9136
9137         * clutter/clutter-script-private.h:
9138         * clutter/clutter-script.h:
9139         * clutter/clutter-script.c: Add licensing information to
9140         the newly added files.
9141
9142         * clutter/clutter-script.c: Support creating behaviours with
9143         ClutterScript. ClutterAlpha objects are implicit, but
9144         timelines can be both explicit objects using their id or
9145         implicit objects. Make the property resolution and translation
9146         more robust. Support the pixbuf property.
9147
9148         * tests/test-script.c: Test the newly added features.
9149
9150         * docs/reference/clutter-docs.sgml:
9151         * docs/reference/clutter-sections.txt: Add ClutterScript.
9152
9153 2007-10-09  Emmanuele Bassi  <ebassi@openedhand.com>
9154
9155         * clutter/clutter-fixed.h: Add deprecation guards around
9156         CLUTTER_FIXED_INT().
9157
9158 2007-10-08  Emmanuele Bassi  <ebassi@openedhand.com>
9159
9160         * clutter/clutter-script.c: Parse ClutterMargin and ClutterPadding
9161         properties from arrays or integers (assume pixels).
9162
9163 2007-10-08  Emmanuele Bassi  <ebassi@openedhand.com>
9164
9165         * clutter/clutter-script-private.h:
9166         * clutter/clutter-script.c: Allow defining childrens for every
9167         container actor inside the UI definition files.
9168
9169 2007-10-08  Matthew Allum  <mallum@openedhand.com>
9170
9171         * clutter/clutter-actor.c:
9172         * clutter/clutter-actor.h:
9173         * clutter/clutter-private.h:
9174         * clutter/clutter-main.c:
9175         Add a hash to global clutter context mapping all parented actor
9176         id's to actors.
9177         Add clutter_get_actor_by_id() call.
9178         Convert picking machinery to use above.
9179         (performance/simpler composite actor creation)
9180
9181         * clutter/clutter-stage.c: (clutter_stage_fullscreen),
9182         (clutter_stage_unfullscreen), (clutter_stage_event):
9183         Only set the fullscreen property on stage state fullscreen event(#545)
9184         Experimental as could be painful to implement on non X backends.
9185
9186 2007-10-08  Emmanuele Bassi  <ebassi@openedhand.com>
9187
9188         * clutter/clutter-script.c (json_parse_end):
9189         * clutter/json/json-object.c (json_object_get_members): Replace
9190         the GLib 2.14 API with the equivalent code for GLib < 2.14.
9191
9192         * configure.ac: Revert the dependency bump.
9193
9194 2007-10-08  Emmanuele Bassi  <ebassi@openedhand.com>
9195
9196         Initial implementation of the UI definition files. (#424)
9197
9198         * clutter/json/Makefile.am:
9199         * clutter/json/*.[ch]: In-tree copy of JSON-GLib, a GLib-based
9200         JSON parser/generator library. We use it in-tree because we might
9201         need to change the API. Ideally, we'd depend on it.
9202
9203         * clutter/clutter.h:
9204         * clutter/clutter-script-private.h:
9205         * clutter/clutter-script.[ch]: ClutterScript, the scenegraph
9206         generator class. It parses JSON streams in form of buffers and
9207         files and builds the scene.
9208
9209         * clutter/clutter-debug.h:
9210         * clutter/clutter-main.c: Add a "script" debug flag
9211
9212         * clutter/Makefile.am: Build glue.
9213
9214         * tests/Makefile.am:
9215         * tests/test-script.c: Add a test case for the ClutterScript.
9216
9217         * configure.ac: Depend on GLib 2.14, so we can use the
9218         g_hash_table_get_key() and g_hash_table_get_values() functions
9219         for the time being; we can probably reimplement those, but we
9220         are going to need 2.14 anyway if we are going to implement a
9221         list model using GSequence.
9222
9223 2007-10-08  Emmanuele Bassi  <ebassi@openedhand.com>
9224
9225         * tests/test-behave.c: Use the right return type for the
9226         event callbacks.
9227
9228 2007-10-03  Matthew Allum  <mallum@openedhand.com>
9229
9230         * clutter/clutter-actor.c:
9231         * clutter/clutter-event.c:
9232         * clutter/clutter-event.h:
9233         * clutter/clutter-main.c:
9234         * clutter/clutter-private.h:
9235         * clutter/eglnative/clutter-event-egl.c:
9236         * clutter/eglx/clutter-event-egl.c:
9237         * clutter/glx/clutter-event-glx.c:
9238         * clutter/sdl/clutter-event-sdl.c:
9239         Remove seperate double/triple click events and replace with
9240         a click_count member.
9241         Move calculating click counts from backend to do_event()
9242         Initial implementation of ENTER/LEAVE events.
9243
9244         * tests/test-events.c:
9245         Add code to test above.
9246
9247         * tests/test-behave.c:
9248         Sync with newer API.
9249
9250         * clutter/clutter-score.c:
9251         Silence a warning.
9252
9253 2007-10-01  Emmanuele Bassi  <ebassi@openedhand.com>
9254
9255         * clutter/clutter-fixed.h: Add CLUTTER_FIXED_TO_INT() and
9256         deprecate CLUTTER_FIXED_INT(), for symmetry with
9257         CLUTTER_FIXED_FROM_INT().
9258
9259         * clutter/clutter-alpha.c:
9260         * clutter/clutter-behaviour-depth.c:
9261         * clutter/clutter-behaviour-ellipse.c:
9262         * clutter/clutter-behaviour-path.c:
9263         * clutter/clutter-fixed.h: Use CLUTTER_FIXED_TO_INT().
9264
9265 2007-10-01  Emmanuele Bassi  <ebassi@openedhand.com>
9266
9267         * clutter/clutter-actor.c (clutter_actor_get_size): Implement
9268         get_size() as a wrapper around clutter_actor_query_coords()
9269         instead of calling g_object_get() twice.
9270
9271         (clutter_actor_init): Initialise the box in one call.
9272
9273 2007-10-01  Emmanuele Bassi  <ebassi@openedhand.com>
9274
9275         * clutter/clutter-actor.[ch]: Remove the ::event-after signal
9276         class handler, as it's not meant to be overridden by sub-classes.
9277
9278         (clutter_actor_class_init):
9279         Make every event-related signal return a boolean: return TRUE
9280         in a signal handler to block the emission. The value is accumulated
9281         automatically by the signal API.
9282
9283         (clutter_actor_event): If ::event returns TRUE, skip to emitting
9284         ::event-after. Return the value accumulated by the signal emission
9285         chain.
9286
9287         * clutter/clutter-private.h: Rename _clutter_boolean_accumlator().
9288
9289         * clutter/clutter-main.c (clutter_do_event): If clutter_actor_event()
9290         returns TRUE then stop the event emission chain from child to parent.
9291
9292         * clutter/clutter-stage.c (clutter_stage_event): Behave like
9293         clutter_actor_event().
9294
9295         (clutter_stage_get_key_focus),
9296         (clutter_stage_set_key_focus): Avoid a nasty circular reference
9297         issue: if the actor passed to set_key_focus is NULL then the stage
9298         has the key focus.
9299
9300         * tests/test-events.c: Update the events test with the API
9301         changes.
9302
9303 2007-10-01  Tomas Frydrych  <tf@openedhand.com>
9304
9305         * clutter/clutter-actor.c:
9306         (clutter_actor_set_scale_with_gravityx):
9307         Use CLUTTER_QMUL for better precission (#532, patch by Gwenole
9308         Beauchesne).
9309
9310         * clutter/clutter-color.c:
9311         (clutter_color_to_hlsx):
9312         Added missing CLUTTER_INT_TO_FIXED conversion (#544, patch by Neil
9313         Roberts).
9314
9315 2007-10-01  Neil J. Patel  <njp@o-hand.com>
9316
9317         Patch by: Tommi Komulainen <tommi.komulainen@iki.fi>
9318
9319         * clutter/clutter-entry.c: (clutter_entry_delete_text):
9320         Fix characters vs. bytes inconsistency (#520).
9321
9322 2007-09-30  Matthew Allum  <mallum@openedhand.com>
9323
9324         * clutter/clutter-event.h:
9325         Removed unused POINTER_ENTER and POINTER_LEAVE states. (#546)
9326         * clutter/clutter-stage.c: (clutter_stage_fullscreen),
9327         (clutter_stage_unfullscreen):
9328         Only Change fullscreen prop if the backend implements fullscreen
9329         methods. (#545)
9330
9331 2007-09-28  Ã˜yvind KolÃ¥s  <pippin@openedhand.com>
9332
9333         * clutter/clutter-container.[ch]: added
9334         clutter_container_find_child_by_name.
9335
9336 2007-09-28  Ã˜yvind KolÃ¥s  <pippin@openedhand.com>
9337
9338         * clutter/glx/clutter-stage-glx.c: (clutter_stage_glx_realize):
9339         removed unused variable perspective.
9340         * tests/test-events.c: (main): added CLUTTER_STAGE() cast.
9341         * tests/test-threads.c: include unistd.h for sleep().
9342
9343 2007-09-28  Ã˜yvind KolÃ¥s  <pippin@openedhand.com>
9344
9345         * clutter/clutter-label.c: (clutter_label_ensure_layout): avoid
9346         calling pango_layout_set_text|markup before we've got any text.
9347
9348 2007-09-27  Matthew Allum  <mallum@openedhand.com>
9349
9350         * tests/test-scale.c:
9351         Fix out of about array addressing (#522, Tommi Komulainen)
9352
9353 2007-09-27  Matthew Allum  <mallum@openedhand.com>
9354
9355         * clutter/clutter-clone-texture.c:
9356         * clutter/clutter-rectangle.c:
9357         Include "config.h" in all c files (#524, Tommi Komulainen)
9358
9359 2007-09-27  Matthew Allum  <mallum@openedhand.com>
9360
9361         Merge from stable.
9362
9363         * clutter/clutter-behaviour-path.c: (path_alpha_to_position)
9364         Fix uninitialized variable (#480, Gwenole Beauchesne)
9365
9366 2007-09-27  Matthew Allum  <mallum@openedhand.com>
9367
9368         * clutter/clutter-event.c:
9369         * clutter/clutter-event.h:
9370         * clutter/clutter-main.c:
9371         Further event tweaks;
9372         - Ref the event actor source
9373         - Protect against off stage events (button releases) (#511)
9374         - Move more into ClutterEventAny
9375         - Add a click count to button event (as yet unused)
9376         - Minor cleanups
9377
9378         * clutter/clutter-actor.c:
9379         Make scale x/y a property.
9380
9381         * clutter/clutter-private.h:
9382         Remove _clutter_actor_apply_modelview*
9383
9384         * clutter/eglx/clutter-backend-egl.c:
9385         Warning cleanup
9386
9387         * clutter/eglx/clutter-stage-egl.c:
9388         * clutter/glx/clutter-stage-glx.c:
9389         * clutter/sdl/clutter-stage-sdl.c:
9390         Avoid setting viewport directly, but set sync flag.
9391
9392         * clutter/pango/pangoclutter-render.c: (draw_glyph):
9393         Minor cleanups.
9394
9395         * clutter/Makefile.am:
9396         * tests/Makefile.am:
9397         * tests/test-score.c
9398         * clutter/clutter.h:
9399         * clutter/clutter-score.h:
9400         * clutter/clutter-score.c:
9401         Add very initial (broken) ClutterScore implementation.
9402
9403 2007-09-25  Ross Burton  <ross@openedhand.com>
9404
9405         Merge from stable.
9406
9407         * clutter/clutter-group.c:
9408         Optimise sort_z_order.
9409
9410 2007-09-17  Emmanuele Bassi  <ebassi@openedhand.com>
9411
9412         Merge from stable
9413
9414         * clutter/eglnative/clutter-event-egl.c:
9415         Flag every device click after the first as motion events
9416         instead of button presses. (#505, Shreyas Srinivasan)
9417
9418 2007-09-10  Matthew Allum  <mallum@openedhand.com>
9419
9420         Port from stable branch.
9421
9422         * clutter/eglnative/clutter-event-egl.c: (clutter_event_dispatch):
9423         Only declare tsevent if we have tslib (#498, Robert Bragg)
9424
9425 2007-09-06  Emmanuele Bassi  <ebassi@openedhand.com>
9426
9427         * clutter/clutter-stage.c: Remove stray include <gdk-pixbuf-xlib.h>
9428         in ClutterStage: the code requesting it was moved in the backends.
9429
9430 2007-08-31  Emmanuele Bassi  <ebassi@openedhand.com>
9431
9432         * clutter/clutter-rectangle.c: Fix the border drawing: do not
9433         overdraw the rectangle on the border and fix the check for
9434         different border colour. (#488, Neil Roberts)
9435
9436 2007-08-29  Matthew Allum  <mallum@openedhand.com>
9437
9438         * clutter/clutter-effect.c: (clutter_effect_template_set_property):
9439         Add missing break statement. Whoops.
9440
9441 2007-08-29  Matthew Allum  <mallum@openedhand.com>
9442
9443         * clutter/clutter-main.c: (_clutter_do_pick):
9444         Call glFinish before reading pixels
9445         * clutter/eglx/clutter-stage-egl.c: (clutter_stage_egl_realize):
9446         Add missing read surface in making context current.
9447         Above fixes via Kate Alhola.
9448
9449         * clutter/glx/clutter-glx.h:
9450         Add missing filter funcs so there actually exported
9451
9452 2007-08-24  Matthew Allum  <mallum@openedhand.com>
9453
9454         * clutter/clutter-actor.c:
9455         * clutter/clutter-event.h:
9456         * clutter/clutter-main.c:
9457         * clutter/clutter-stage.c:
9458         * clutter/clutter-stage.h:
9459         * clutter/glx/clutter-backend-glx.c:
9460         * clutter/glx/clutter-backend-glx.h:
9461         * clutter/glx/clutter-event-glx.c:
9462         * clutter/glx/clutter-stage-glx.c:
9463         * clutter/glx/clutter-stage-glx.h:
9464         Add initial support for stage state events.
9465         Fix fullscreening for an already mapped stage.
9466
9467         * tests/test-events.c:
9468         Print out info from the above. Blue button now toggles
9469         fullscreen.
9470
9471         * clutter/clutter-effect.c:
9472         * clutter/clutter-effect.h:
9473         Add a setting for templates to ref or clone underlying
9474         timelines. (As to improve sync issues like those in foofone)
9475
9476         * tests/test-timeline.c:
9477         Also add completed signals.
9478
9479         * clutter/cogl/gles/cogl.c: (cogl_texture_image_2d):
9480         * configure.ac:
9481         Forward port from stable branch. RGB Image fixes gles
9482         and check for lower case libgles_cm.
9483
9484 2007-08-24  Tomas Frydrych  <tf@openedhand.com>
9485
9486         * clutter/clutter-actor.c:
9487         (_clutter_actor_apply_modelview_transform):
9488
9489         Fixed rotation around x axis (bug 486).
9490
9491 2007-08-23  Emmanuele Bassi  <ebassi@openedhand.com>
9492
9493         * clutter/clutter-private.h:
9494         * clutter/clutter-event.c: Revert the event queue ordering
9495         commit.
9496
9497         * clutter/eglx/clutter-event-egl.c:
9498         * clutter/glx/clutter-event-glx.c:
9499         * clutter/sdl/clutter-event-sdl.c: Update backends.
9500
9501 2007-08-22  Tomas Frydrych  <tf@openedhand.com>
9502
9503         * clutter/clutter-behaviour-rotate.c:
9504         * clutter/clutter-behaviour-ellipse.c:
9505
9506         Fixed CCW rotation in rotate behaviour (bug 483); fixed overall
9507         path length calculation for angles > 360 in rotate and ellipse.
9508
9509 2007-08-22  Emmanuele Bassi  <ebassi@openedhand.com>
9510
9511         * clutter/clutter-main.c (clutter_threads_dispatch_free): Remove
9512         the main threads locking calls: the main loop might remove the
9513         source while dispatching it, so whether or not we are already
9514         holding the lock is unpredictable for the library. Leave a comment
9515         with the relevant bug number in GNOME's Bugzilla and wait for a
9516         fix in GLib.
9517
9518 2007-08-21  Emmanuele Bassi  <ebassi@openedhand.com>
9519
9520         * clutter/clutter-event.c: Correctly initialise the state
9521         variables used to detect multiple clicks.
9522
9523         (clutter_event_get_coords): Return the coordinates for
9524         CLUTTER_3BUTTON_PRESS events.
9525
9526         (clutter_events_pending): Check from the tail of the queue backward,
9527         like we do in clutter_event_get() and clutter_event_peek().
9528
9529 2007-08-21  Emmanuele Bassi  <ebassi@openedhand.com>
9530
9531         Preserve the ordering of the events in the queue when sythesising
9532         new events in the event translation sequence. (#481)
9533
9534         * clutter/clutter-event.c:
9535         * clutter/clutter-private.h: Allow flagging new events on the
9536         events queue without breaking ClutterEvent using a masked type.
9537
9538         (clutter_event_get), (clutter_event_put),
9539         (clutter_event_pending): Ignore events with the CLUTTER_EVENT_PENDING
9540         flag set when walking the events queue.
9541
9542         * clutter/eglx/clutter-event-egl.c:
9543         * clutter/glx/clutter-event-glx.c:
9544         * clutter/sdl/clutter-event-sdl.c: Push the new events straight
9545         on the queue, with the CLUTTER_EVENT_PENDING flag set; remove the
9546         flag if the event translation was succesful, or remove the event
9547         altogether.
9548
9549 2007-08-21  Emmanuele Bassi  <ebassi@openedhand.com>
9550
9551         * clutter/clutter-stage.c: Add missing documentation for the
9552         ClutterStage properties.
9553
9554 2007-08-21  Tomas Frydrych  <tf@openedhand.com>
9555
9556         * clutter/clutter-fixed.c:
9557         (clutter_sqrti):
9558
9559         Fixes for 64-bit platforms; use of SSE builtin when available
9560         (bugs 478, 479, patches by Gwenole Beauchesne).
9561
9562 2007-08-20  Emmanuele Bassi  <ebassi@openedhand.com>
9563
9564         * clutter/Makefile.am:
9565         * clutter/clutter-enum-types.h.in:
9566         * clutter/clutter-enum-types.c.in: Use template files for
9567         glib-mkenums; this makes the Makefile template a bit more
9568         clean and the enum types generation more customisable (e.g.
9569         when GLib 2.14 has been released, we can use g_once_init_enter()
9570         and g_once_init_leave() to have thread-safe GType functions
9571         for the enum types as well).
9572
9573 2007-08-20  Emmanuele Bassi  <ebassi@openedhand.com>
9574
9575         * clutter/clutter-version.h.in: Fix CLUTTER_CHECK_VERSION()
9576         macro to accept micro versions. (#477, Neil Roberts)
9577
9578 2007-08-19  Emmanuele Bassi  <ebassi@openedhand.com>
9579
9580         Various timeline related changes.
9581
9582         * clutter/clutter-timeout-pool.c: Use g_list_insert_sorted() to
9583         fix a timeout pool reversal happening with our homegrown
9584         sorted insertion function. (see #470)
9585
9586         * tests/Makefile.am:
9587         * tests/test-timeline.c: Add a ClutterTimeline test suite, for
9588         finding regressions in the behaviour of the timelines. (#470,
9589         Rob Bradford)
9590
9591         * clutter/clutter-main.c (clutter_do_event): Use an EVENT note,
9592         not a SCHEDULER one; SCHEDULER is for timelines and idle sources
9593         only.
9594
9595         * clutter/clutter-version.h.in: Protect the bare numbers of
9596         the version components.
9597
9598         * clutter/clutter-effect.c: Do not unref the ClutterAlpha, as
9599         the ownership is already of the behaviour used by the effect
9600         closure.
9601
9602         * clutter/clutter-timeline.c: Emit the ::new-frame signal only
9603         if the timeline is still active
9604
9605         Always advance at least of one frame. (#471, Rob Bradford)
9606
9607         Do not rewind the timeline if the user paused it in the ::new-frame
9608         signal handler: either the user has already done it with
9609         clutter_timeline_stop() or it's not what he's expecting if he
9610         called clutter_timeline_pause(). (#372, Johan Bilien)
9611
9612         If we skipped the last frame before emitting the ::complete
9613         signal, emit ::new-frame with the last frame.
9614
9615         Do not call clutter_timeline_stop() at the end of a non-looping
9616         timeline, as it emits the ::pause signal as well. Also, rewind the
9617         timeline *after* emitting ::complete, so that calling
9618         clutter_timeline_get_current_frame() in a signal handler still
9619         works.
9620
9621 2007-08-19  Matthew Allum  <mallum@openedhand.com>
9622
9623         * clutter/eglx/clutter-event-egl.c: (clutter_event_dispatch):
9624         Fix clutter_thread typo (Kate Alhola)
9625
9626 2007-08-18  Emmanuele Bassi  <ebassi@openedhand.com>
9627
9628         * clutter/clutter-effect.c:
9629         * clutter/clutter-main.c: Update the Since: tag for the
9630         backported API.
9631
9632         * clutter/clutter-behaviour-rotate.c: Fix a typo in the get_center()
9633         method. (#468, Neil Roberts)
9634
9635         Freeze and thaw the notification queue when changing multiple
9636         properties in the same method. Fix some coding style issues.
9637
9638 2007-08-15  Emmanuele Bassi  <ebassi@openedhand.com>
9639
9640         * clutter/clutter-actor.c: Add checks for the "reactive" flag
9641         accessors.
9642
9643 2007-08-15  Emmanuele Bassi  <ebassi@openedhand.com>
9644
9645         * clutter/clutter-effect.[ch]: Add clutter_effect_depth(), a
9646         simple wrapper around ClutterBehaviourDepth. (#464, Ali Sabil)
9647
9648 2007-08-15  Emmanuele Bassi  <ebassi@openedhand.com>
9649
9650         * clutter/clutter-alpha.c (clutter_smoothstep_inc): Use the
9651         correct type for parameters, to avoid overflow  (Ali Sabil).
9652
9653         * clutter/clutter-behaviour-opacity.c: Use the right format
9654         when printing the unsigned alpha value and opacity to the
9655         debug output.
9656
9657 2007-08-14  Emmanuele Bassi  <ebassi@openedhand.com>
9658
9659         * clutter/clutter-container.[ch]:
9660         * clutter/clutter-actor.c:
9661         * clutter/clutter-group.c: Rename clutter_container_raise() to
9662         clutter_container_raise_child(), and clutter_container_lower()
9663         to clutter_container_lower_child() to avoid clashing with
9664         ClutterActor raise() and lower() respectively.
9665
9666 2007-08-13  Matthew Allum  <mallum@openedhand.com>
9667
9668         * clutter/clutter-actor.c:
9669         * clutter/clutter-actor.h:
9670         * clutter/clutter-event.c:
9671         * clutter/clutter-event.h:
9672         * clutter/clutter-main.c:
9673         * clutter/clutter-main.h:
9674         * clutter/clutter-private.h:
9675         * clutter/clutter-stage.c:
9676         * clutter/clutter-stage.h:
9677         * clutter/clutter-types.h:
9678         Initial implementation of actors emmitting event signals (423);
9679         - Actors set_reactive() to receive mouse events.
9680           (call clutter_enable_motion_events() for per action motion events)
9681         - clutter_stage_set_key_focus () to direct key events.
9682         - Events bubble up to parents (ending at stage)
9683           (original source identified by clutter_event_get_source())
9684         TODO:
9685         - enter/leave notifys for actors.
9686         - stage specific events - fullscreen
9687         - grabs
9688
9689         * tests/test-events.c:
9690         Extend a little to use new API
9691
9692         * clutter/cogl/gl/cogl.c:
9693         * clutter/glx/clutter-backend-glx.c:
9694         Move get_proc_address into cogl and out of backend.
9695         (shaders will need it)
9696
9697         * clutter/clutter-group.c: (clutter_group_real_lower):
9698         Fix a minor compile warning.
9699
9700         * TODO:
9701         Sync up.
9702
9703 2007-08-13  Emmanuele Bassi  <ebassi@openedhand.com>
9704
9705         * clutter/clutter-container.[ch]: Add find_child_by_id(),
9706         raise(), lower() and sort_depth_order() virtual functions to
9707         ClutterContainer.
9708
9709         * clutter/clutter-group.[ch]: Deprecate the redundant calls
9710         from ClutterGroup, and make ClutterGroup implement them as part
9711         of the ClutterContainer interface implementation.
9712
9713         * clutter/clutter-box.c: Implement the newly added ClutterContainer
9714         methods; now clutter_stage_get_actor_at_pos() works with boxes
9715         as well as groups.
9716
9717         * clutter/clutter-stage.c:
9718         * clutter/clutter-actor.c: Replace calls to ClutterGroup functions
9719         with ClutterContainer ones.
9720
9721 2007-08-12  Emmanuele Bassi  <ebassi@openedhand.com>
9722
9723         * clutter/clutter-timeout-pool.c: Fix removing and adding timeouts
9724         to the timeout pool during a dispatch of a timeout source already
9725         inside the pool. (#456, based on a patch by Neil Roberts)
9726
9727         (clutter_timeout_dispatch), (clutter_timeout_pool_dispatch): Hold
9728         the main Clutter lock in the pool dispatch function, instead of
9729         the per-timeout dispatch; this guarantees that the ref+unref of
9730         the single timeouts are done under the main lock.
9731
9732 2007-08-12  Matthew Allum  <mallum@openedhand.com>
9733
9734         * clutter/clutter-texture.c: (texture_upload_data):
9735         Align texture data correctly for edge tiles.
9736         (#422 - Neil Roberts)
9737
9738 2007-08-11  Matthew Allum  <mallum@openedhand.com>
9739
9740         * clutter/clutter-texture.c:
9741          Fix typo in clutter_texture_get_pixbuf (#458, Neil Roberts).
9742          Use take_object when getting pixbuf prop to avoid ref leak. (Neil
9743          Roberts)
9744
9745 2007-08-09  Emmanuele Bassi  <ebassi@openedhand.com>
9746
9747         * clutter/clutter-box.c: Rename a variable to fix a compiler
9748         warning.
9749
9750 2007-08-08  Emmanuele Bassi  <ebassi@openedhand.com>
9751
9752         * clutter/clutter-behaviour-ellipse:
9753         (clutter_behaviour_ellipse_get_tiltx): Remove useless
9754         "Return" in the API documentation.
9755
9756 2007-08-08  Emmanuele Bassi  <ebassi@openedhand.com>
9757
9758         * clutter/clutter-timeout-pool.c: Fix sorting of the pool
9759         when inserting and removing timeout sources. (#449, Neil
9760         Roberts)
9761
9762 2007-08-08  Emmanuele Bassi  <ebassi@openedhand.com>
9763
9764         * clutter/clutter-main.c (clutter_get_timestamp): Remove
9765         the microseconds remainder, which is mostly useless. (#447)
9766
9767 2007-08-08  Emmanuele Bassi  <ebassi@openedhand.com>
9768
9769         * clutter/clutter-main.c (clutter_get_timestamp): Return the
9770         correct number of microseconds (#447, Neil Roberts)
9771
9772 2007-08-08  Emmanuele Bassi  <ebassi@openedhand.com>
9773
9774         Merge the clutter.git/threading branch.
9775
9776         * clutter/clutter-main.c:
9777         * clutter/clutter-main.h:
9778         * clutter/clutter-private.h: Add threading locking and unlocking
9779         functions, to mark a critical section and access the Clutter API
9780         from differen threads. Add an initialisation function and a function
9781         to override the default lock aquisition and release functions, for
9782         bindings and application-specific locking handling. Add MT-safe
9783         versions of g_idle_add() and g_timeout_add() which will call the
9784         functions under the main Clutter lock and without races. The
9785         Clutter thread-safe implementation is basically the same used by
9786         GDK, so the same caveats apply.
9787
9788         * clutter/clutter-actor.c:
9789         * clutter/clutter-timeline.c:
9790         * clutter/clutter-timeout-pool.c: Use the new threading API when
9791         invoking idle and timeouts.
9792
9793         * clutter/eglnative/clutter-event-egl.c:
9794         * clutter/eglx/clutter-event-egl.c:
9795         * clutter/glx/clutter-event-glx.c:
9796         * clutter/sdl/clutter-event-sdl.c: Acquire and release the main
9797         Clutter lock when preparing, checking and dispatching the events
9798         on the queue in every backend.
9799
9800         * tests/Makefile.am:
9801         * tests/test-threads.c: Add a test case, showing how to use the
9802         threading API and write thread-safe Clutter applications.
9803
9804 2007-08-08  Emmanuele Bassi  <ebassi@openedhand.com>
9805
9806         * configure.ac: Bump up to 0.5.0 and start the new development
9807         branch.
9808
9809 2007-08-07  Emmanuele Bassi  <ebassi@openedhand.com>
9810
9811         * configure.ac: Bump up to 0.4.0.
9812
9813 2007-08-07  Emmanuele Bassi  <ebassi@openedhand.com>
9814
9815         * clutter/clutter-entry.c:
9816         * clutter/clutter-fixed.c:
9817         * clutter/pango/pangoclutter.h: Small fixes for passing the
9818         distcheck phase with extra-strict compiler flags.
9819
9820 2007-08-07  Emmanuele Bassi  <ebassi@openedhand.com>
9821
9822         * clutter/clutter-actor.h:
9823         * clutter/clutter-alpha.h:
9824         * clutter/clutter-behaviour-ellipse.[ch]:
9825         * clutter/clutter-behaviour-path.h:
9826         * clutter/clutter-behaviour-rotate.c:
9827         * clutter/clutter-behaviour.h:
9828         * clutter/clutter-box.h:
9829         * clutter/clutter-color.h:
9830         * clutter/clutter-container.h:
9831         * clutter/clutter-effect.h:
9832         * clutter/clutter-entry.h:
9833         * clutter/clutter-fixed.h:
9834         * clutter/clutter-layout.h:
9835         * clutter/clutter-main.h:
9836         * clutter/clutter-stage.h:
9837         * clutter/clutter-texture.h:
9838         * clutter/clutter-units.h:
9839         * clutter/clutter-version.h.in:
9840         * clutter/glx/clutter-glx.h: Documentation additions and
9841         various fixes.
9842
9843 2007-08-07  Matthew Allum  <mallum@openedhand.com>
9844
9845         * clutter/clutter-behaviour-ellipse.c:
9846         Add a documentation note regarding ellipse setting
9847         the applied actors position.
9848
9849 2007-08-07  Matthew Allum  <mallum@openedhand.com>
9850
9851         * NEWS:
9852         * README:
9853         More updates ready for 0.4.0
9854
9855 2007-08-07  Matthew Allum  <mallum@openedhand.com>
9856
9857         * clutter/clutter-fixed.c:
9858         * clutter/clutter-fixed.h:
9859         Add documentation.
9860
9861         * clutter/cogl/gl/cogl.c: (cogl_perspective):
9862         Remove CFX_* shortened macros
9863
9864 2007-08-06  Emmanuele Bassi  <ebassi@openedhand.com>
9865
9866         * clutter/clutter-main.[ch]: Remove clutter_threads_enter()
9867         and clutter_threads_leave(); both are no-ops and they just
9868         confuse things. The thread-awareness in Clutter is planned
9869         for 0.4.1/0.5.0.
9870
9871         * README:
9872         * NEWS: Update.
9873
9874 2007-08-06  Emmanuele Bassi  <ebassi@openedhand.com>
9875
9876         * clutter/clutter-box.[ch]: Implement margin, color and default
9877         padding for ClutterBox. Provide API to pack a child by specifying
9878         every packing detail or just pack with the defaults. ClutterBox
9879         works like the HTML boxing model, API-wise: a box with margins
9880         and padding around each child. Needs work, still.
9881
9882         * clutter/clutter-hbox.c:
9883         * clutter/clutter-vbox.c: Update with the new API and new attributes.
9884
9885         * clutter/clutter-types.h: Add ClutterMargin and ClutterPadding.
9886
9887         * test/test-boxes.c: Exercise the new API.
9888
9889 2007-08-06  Matthew Allum  <mallum@openedhand.com>
9890
9891         * clutter/clutter-texture.c:
9892         Correct set pixbuf property as GDK_TYPE_PIXBUF
9893         (fix via Neil Roberts)
9894
9895 2007-08-06  Matthew Allum  <mallum@openedhand.com>
9896
9897         * clutter/clutter-behaviour-depth.c:
9898         Modify to work like all other behvaiours in not forcing
9899         increasing order in behaviour 'limits'. (#436)
9900         Rename limit min/max props to start/end.
9901
9902         * tests/test-depth.c:
9903         Simplify test-case to work with above change and
9904         without multiple ramps
9905
9906         * clutter/clutter-behaviour-rotate.c:
9907         Handle CW rotation when end > start and similar for CCW just
9908         like ellipse behaviour.
9909
9910 2007-08-05  Matthew Allum  <mallum@openedhand.com>
9911
9912         * README:
9913         * clutter/clutter-actor.c:
9914         Document show/hide_all behaviour correctly.
9915
9916 2007-08-05  Emmanuele Bassi  <ebassi@openedhand.com>
9917
9918         * clutter/clutter-behaviour-depth.c: Fix typo in the description.
9919
9920 2007-08-04  Emmanuele Bassi  <ebassi@openedhand.com>
9921
9922         * clutter/clutter-behaviour-depth.c: Clarify the depth behaviour
9923         even more in the description used by the API reference.
9924
9925 2007-08-04  Emmanuele Bassi  <ebassi@openedhand.com>
9926
9927         * clutter/clutter-behaviour-depth.[ch]: Clarify that what drives
9928         the movement along the Z axis is the ClutterAlpha object (we
9929         don't have the luxury of a rollover like the opacity does);
9930         so, if you want to go from 0 to -100 you have to use a
9931         decreasing function, just as well if you want to go from 100
9932         to 0. Using a min-depth of 100 and a max-depth of 0 and an
9933         increasing function is undefined behaviour.
9934
9935         * tests/Makefile.am:
9936         * tests/test-depth.c: Add a test case for the depth behaviour.
9937
9938 2007-08-04  Emmanuele Bassi  <ebassi@openedhand.com>
9939
9940         * clutter/clutter-actor.c (clutter_actor_set_opacity): Queue
9941         a redraw when setting the opacity of an actor.
9942
9943 2007-08-03  Emmanuele Bassi  <ebassi@openedhand.com>
9944
9945         * clutter/clutter-behaviour-ellipse.c:
9946         (clutter_behaviour_ellipse_get_angle_tilt): Avoid recursion
9947         by fixing a typo.
9948
9949         (clutter_behaviour_ellipse_get_angle_begin),
9950         (clutter_behaviour_ellipse_get_angle_end): Correct the angles
9951         here too.
9952
9953 2007-08-03  Emmanuele Bassi  <ebassi@openedhand.com>
9954
9955         * clutter/clutter-behaviour-ellipse.c:
9956         (clutter_behaviour_ellipse_get_property): Do not forget to
9957         correct the angles when returning them.
9958
9959 2007-08-03  Tomas Frydrych  <tf@openedhand.com>
9960
9961         * clutter/clutter-behaviour-ellipse.c:
9962         * clutter/clutter-behaviour-ellipse.h:
9963         (clutter_behaviour_ellipse_new):
9964         (clutter_behaviour_ellipse_newx):
9965
9966         Added direction parameter; made behaviour to respect direction
9967         parameter; unclumped angle_begin and angle_end values.
9968
9969 2007-08-02  Matthew Allum  <mallum@openedhand.com>
9970
9971         * NEWS:
9972         * README:
9973         Initial updating ready for release.
9974
9975 2007-08-02  Emmanuele Bassi  <ebassi@openedhand.com>
9976
9977         * clutter/eglnative/clutter-backend-egl.c:
9978         * clutter/eglx/clutter-backend-egl.c:
9979         * clutter/sdl/clutter-backend-sdl.c: Set the default resolution
9980         as 96.0 dpi for every backend (we already were under this
9981         assumption anyway, and this makes it easier to change this
9982         setting per-backend).
9983
9984         * clutter/pango/pangoclutter-fontmap.c:
9985         * clutter/pango/pangoclutter.h: Allow setting the resolution
9986         for the PangoClutterFontMap object and provide the implementation
9987         for the PangoFcFontMap::get_resolution() virtual function. This
9988         allows to set the resolution of the PangoContext when retrieving
9989         it.
9990
9991         * clutter/clutter-label.c (clutter_label_init): Set the
9992         resolution of the font map with the one the backend gives us.
9993
9994         * clutter/clutter-entry.c (clutter_entry_init): Ditto.
9995
9996 2007-08-02  Emmanuele Bassi  <ebassi@openedhand.com>
9997
9998         * clutter/clutter-color.c (clutter_color_subtract): Invert the
9999         operands and match what the function says it does. (#435)
10000
10001 2007-08-01  Matthew Allum  <mallum@openedhand.com>
10002
10003         * clutter/clutter-color.c: (clutter_color_from_pixel):
10004         Fix typo in alpha channel extraction (#434)
10005
10006 2007-08-01  Emmanuele Bassi  <ebassi@openedhand.com>
10007
10008         * clutter/clutter-actor.[ch]: Add floating-point variant of the
10009         clutter_actor_get_r[xyz]angx() functions.
10010
10011 2007-07-31  Emmanuele Bassi  <ebassi@openedhand.com>
10012
10013         * clutter/clutter-stage.[ch]: Fix clutter_stage_set_user_resizable()
10014         name, and add a getter for the property.
10015
10016         * clutter/glx/clutter-stage-glx.c: Use the accessor, not
10017         g_object_get() to retrieve the value of the resizable property.
10018
10019 2007-07-31  Emmanuele Bassi  <ebassi@openedhand.com>
10020
10021         * clutter/clutter-backend.[ch]: Add clutter_backend_set_resolution()
10022         and clutter_backend_get_resolution(); backends should use the former
10023         to set the resolution of the display when initialising, while actors
10024         should use the latter when sizing themselves depending on the
10025         resolution or the font size.
10026
10027         * clutter/glx/clutter-backend-glx.c: Set the resolution as 96 dpi
10028         as a default and query the X server when opening the display.
10029
10030         * clutter/clutter-entry.c: Drop the hardcoded dpi value and use
10031         clutter_backend_get_resolution() to compute the default size.
10032
10033 2007-07-31  Emmanuele Bassi  <ebassi@openedhand.com>
10034
10035         * clutter/clutter-entry.c (clutter_entry_init): Set the default
10036         size of the entry based on the size of the default font. (#414).
10037
10038 2007-07-31  Emmanuele Bassi  <ebassi@openedhand.com>
10039
10040         * clutter/sdl/clutter-backend-sdl.c: Fix a typo in
10041         clutter_backend_sdl_get_features() (#426, Pan Bohui)
10042
10043 2007-07-30  Matthew Allum  <mallum@openedhand.com>
10044
10045         * AUTHORS:
10046         * HACKING:
10047         * README:
10048         Various updates and improvements.
10049
10050         * configure.ac:
10051         Remove --disable-fast-fp-conversions
10052
10053 2007-07-30  Tomas Frydrych  <tf@openedhand.com>
10054
10055         * clutter/clutter-behaviour-ellipse:
10056         (clutter_behaviour_ellipse_advance):
10057
10058         Fixed invalid assumption about z cooordiance in calculation of
10059         tilt in y axis.
10060
10061 2007-07-30  Tomas Frydrych  <tf@openedhand.com>
10062
10063         * clutter/clutter-actor.c:
10064
10065         Fixed incorrect order of modelview matrix stack in calculating
10066         actor vertices.
10067
10068 2007-07-30  Matthew Allum  <mallum@openedhand.com>
10069
10070         * clutter/clutter-backend.h:
10071         Remove #if 0's old backend_api
10072         (generating uneeded documentation)
10073
10074 2007-07-30  Matthew Allum  <mallum@openedhand.com>
10075
10076         * clutter/clutter-texture.c:
10077         Fix re-relisation for large tiled textures.
10078         * tests/test-textures.c: (main):
10079         Add a show/hide to trigger above (see #442)
10080
10081 2007-07-29  Emmanuele Bassi  <ebassi@openedhand.com>
10082
10083         * clutter/clutter-types.h: Document ClutterGravity enumeration
10084         and remove the only incomplete symbol of the api reference. Now
10085         we are up to 79% documented symbols.
10086
10087 2007-07-29  Emmanuele Bassi  <ebassi@openedhand.com>
10088
10089         * clutter/clutter-media.c: Document ClutterMedia signals;
10090         replace the implementation of clutter_media_set_filename() with
10091         something a wee bit more robust (and portable) than a sprintf().
10092
10093 2007-07-29  Emmanuele Bassi  <ebassi@openedhand.com>
10094
10095         * clutter/clutter-behaviour-ellipse.c: Documentation
10096         fixes; kill some indirections; freeze the notification
10097         queue when (potentially) emitting multiple notify
10098         signals.
10099
10100         * clutter/clutter-alpha.h: Remove the unused macro
10101         CLUTTER_TYPE_SMOOTHSTEP.
10102
10103 2007-07-28  Emmanuele Bassi  <ebassi@openedhand.com>
10104
10105         * clutter/clutter-actor.[ch]: Use GInitiallyUnowned
10106         as the parent structure in the ClutterActor structure
10107         definition; somehow, this has escaped everyone attention
10108         in one year and a half. Luckily, GInitiallyUnowned is
10109         as big as GObject.
10110
10111          (clutter_actor_get_abs_position_units),
10112          (clutter_actor_get_abs_position): Check parameters.
10113
10114          * clutter/clutter-texture.h: Unmangle the flags enum
10115          type declaration, so that dumb parsers like h2defs.py
10116          are not fooled.
10117
10118          * clutter/clutter-behaviour-ellipse.[ch]:
10119          * clutter/clutter-effect.c: Fix some documentation
10120          issues and make gtk-doc happy.
10121
10122 2007-07-27  Tomas Frydrych  <tf@openedhand.com>
10123
10124         * clutter/clutter-behaviour-ellipse.h:
10125         * clutter/clutter-behaviour-ellipse.c:
10126         * tests/test-behave.c:
10127         (clutter_behaviour_ellipse_get_angle_tilt):
10128         (clutter_behaviour_ellipse_set_angle_tilt):
10129
10130         Pruned ClutterBehaviourEllipse api.
10131
10132 2007-07-27  Tomas Frydrych  <tf@openedhand.com>
10133
10134         * clutter/clutter-behaviour-ellipse.h:
10135         * clutter/clutter-behaviour-ellipse.c:
10136         (clutter_behaviour_ellipse_set_angle_tilt_x):
10137         (clutter_behaviour_ellipse_set_angle_tilt_xx):
10138         (clutter_behaviour_ellipse_get_angle_tilt_x):
10139         (clutter_behaviour_ellipse_get_angle_tilt_xx):
10140         (clutter_behaviour_ellipse_set_angle_tilt_y):
10141         (clutter_behaviour_ellipse_set_angle_tilt_yx):
10142         (clutter_behaviour_ellipse_get_angle_tilt_y):
10143         (clutter_behaviour_ellipse_get_angle_tilt_yx):
10144         (clutter_behaviour_ellipse_set_angle_tilt_z):
10145         (clutter_behaviour_ellipse_set_angle_tilt_zx):
10146         (clutter_behaviour_ellipse_get_angle_tilt_z):
10147         (clutter_behaviour_ellipse_get_angle_tilt_zx):
10148         (clutter_behaviour_ellipse_set_tilt):
10149         (clutter_behaviour_ellipse_set_tiltx):
10150         (clutter_behaviour_ellipse_get_tilt):
10151         (clutter_behaviour_ellipse_get_tiltx):
10152
10153         * tests/test-behave.c:
10154
10155         Allow tilting ClutterBehaviourEllipse in all three axis; affects
10156         any code using the previous tilt api.
10157
10158 2007-07-26  Matthew Allum  <mallum@openedhand.com>
10159
10160         * clutter/clutter-feature.h:
10161         Add new stage feature flags and document.
10162
10163         * clutter/eglnative/clutter-backend-egl.c:
10164         * clutter/eglx/clutter-backend-egl.c:
10165         * clutter/sdl/clutter-backend-sdl.c:
10166         Set new feature flags.
10167
10168         * clutter/glx/clutter-backend-glx.c:
10169         * clutter/glx/clutter-stage-glx.c:
10170         * clutter/clutter-stage.c:
10171         * clutter/clutter-stage.h:
10172         Add a 'user_resizeable' setting to the backend and implement
10173         for glx backend.
10174
10175 2007-07-26  Emmanuele Bassi  <ebassi@openedhand.com>
10176
10177         * clutter/clutter-behaviour-ellipse.c:
10178         * clutter/clutter-behaviour.h:
10179         * clutter/clutter-event.c:
10180         * clutter/clutter-texture.h:
10181         * clutter/clutter-types.h: Add missing documentation and fix
10182         parameters names to make gtk-doc happy.
10183
10184 2007-07-26  Tomas Frydrych  <tf@openedhand.com>
10185
10186         * clutter/clutter-behaviour-ellipse.h:
10187         * clutter/clutter-behaviour-ellipse.c:
10188         * tests/test-behave.c:
10189
10190         Removed tilt paramter from ClutterBehaviourEllipse constructors;
10191         Made angles to be relative to 12 o'clock;
10192         Added direction property;
10193
10194 2007-07-26  Emmanuele Bassi  <ebassi@openedhand.com>
10195
10196         * clutter/clutter-types.h:
10197         * clutter/Makefile.am: Add a header for common types, to avoid
10198         inclusion hell.
10199
10200         * clutter/clutter-actor.h:
10201         * clutter/clutter-behaviour.h:
10202         * clutter/clutter-behaviour-rotate.h:
10203         * clutter/clutter-behaviour-scale.h: Move some boxed types and som
10204         enums to clutter-types.h.
10205
10206 2007-07-26  Neil J. Patel  <njp@o-hand.com>
10207
10208         * clutter/clutter-entry.c: (offset_to_bytes),
10209         (clutter_entry_ensure_cursor_position),
10210         (clutter_entry_new_with_text), (clutter_entry_new),
10211         (clutter_entry_insert_unichar), (clutter_entry_delete_chars):
10212
10213         Fixed utf8 support so it actually works now, for both
10214         inserting and deleting chars.  Fixed positioning of cursor for
10215         utf8 chars. Both GString and Pnago need bytes (not
10216         documented!) for string manipulation, so making sure all
10217         values were bytes and not char positions fixed the issue.  Set
10218         a default size of 50x50 for the entry, otherwise no chars can
10219         be seen if the size is not set after creation (which confuses
10220         the developer).
10221
10222 2007-07-26  Emmanuele Bassi  <ebassi@openedhand.com>
10223
10224         * clutter/clutter-timeline.c:
10225         Do not accept zero as a value for the num-frames and fps properties
10226         in both the constructor and the setter functions.
10227
10228 2007-07-26  Emmanuele Bassi  <ebassi@openedhand.com>
10229
10230         * clutter/clutter-actor.[ch]:
10231         * clutter/clutter-behaviour-bspline.c:
10232         * clutter/clutter-behaviour.c:
10233         * clutter/clutter-box.[ch]:
10234         * clutter/clutter-clone-texture.c:
10235         * clutter/clutter-entry.c:
10236         * clutter/clutter-group.[ch]:
10237         * clutter/clutter-texture.c:
10238         * clutter/pango/pangoclutter-render.c:
10239         * tests/test-actors.c:
10240         * tests/test-behave.c:
10241         * tests/test-entry.c:
10242         * tests/test-events.c:
10243         * tests/test-project.c:
10244         * tests/test-rotate.c:
10245         * tests/test-scale.c:
10246         * tests/test-text.c:
10247         * tests/test-textures.c: Miscellaneous compiler warning fixes.
10248
10249 2007-07-26  Emmanuele Bassi  <ebassi@openedhand.com>
10250
10251         * configure.ac:
10252         * Makefile.am: Add a configure switch to enable strict
10253         compiler flags, and turn it on when we are doing a distcheck.
10254
10255 2007-07-25  Matthew Allum  <mallum@openedhand.com>
10256
10257         * Makefile.am:
10258         * HACKING:
10259         Add with initial notes on coding bits and bobs.
10260
10261         * clutter/clutter-behaviour-scale.c:
10262         Doc fixes.
10263
10264         * clutter/clutter-event.c: (clutter_event_put):
10265         Doc fixes.
10266
10267         * clutter/glx/clutter-stage-glx.c:
10268         Disable wm user resizing of stage (At least for now)
10269         Doc fixes.
10270
10271 2007-07-25  Tomas Frydrych  <tf@openedhand.com>
10272
10273         * clutter/clutter-fixed.c:
10274
10275         Fixed endianness issue in fast fp conversions.
10276
10277 2007-07-25  Tomas Frydrych  <tf@openedhand.com>
10278
10279         * configure.ac:
10280         * clutter/clutter-fixed.c:
10281
10282         Added --disable-fast-fp-conversion option.
10283
10284 2007-07-25  Emmanuele Bassi  <ebassi@openedhand.com>
10285
10286         * clutter/clutter-label.[ch]: Ouch, clutter_label_get_alignment()
10287         returns a PangoAlignment, not a boolean.
10288
10289 2007-07-25  Emmanuele Bassi  <ebassi@openedhand.com>
10290
10291         * clutter/clutter-behaviour.h:
10292         * clutter/clutter-behaviour.c: Rename clutter_behaviour_clear()
10293         to clutter_behaviour_remove_all() to avoid method clashes in
10294         bindings.
10295
10296 2007-07-25  Tomas Frydrych  <tf@openedhand.com>
10297
10298         * tests/test-rotate.c:
10299         * tests/Makefile.am:
10300
10301         Added test-rotate.
10302
10303 2007-07-25  Emmanuele Bassi  <ebassi@openedhand.com>
10304
10305         * clutter/clutter-behaviour-bspline.c: Kill off some deep pointer
10306         indirections; use CLUTTER_NOTE() instead of ifdeffed out g_debug();
10307         add checks in every public entry point; move some initialisations
10308         of private data structures out of the constructor and into the
10309         init function, where they belong.
10310
10311 2007-07-25  Matthew Allum  <mallum@openedhand.com>
10312
10313         * clutter/clutter-behaviour-rotate.c:
10314         * clutter/clutter-behaviour-rotate.h:
10315         Split 'center' prop into 3 seperate props for each axis.
10316         Use clutter_behaviour_actors_foreach() rather than
10317         clutter_behaviour_get_actors() to avoid copying list.
10318         Call fixed point rotation funcs internally.
10319
10320         * clutter/clutter-effect.c:
10321         * clutter/clutter-effect.h:
10322         Add new simple rotation based effect funcs.
10323
10324 2007-07-25  Emmanuele Bassi  <ebassi@openedhand.com>
10325
10326         * clutter/clutter.h: Include clutter-behaviour-depth.h
10327
10328 2007-07-24  Emmanuele Bassi  <ebassi@openedhand.com>
10329
10330         * clutter/clutter-behaviour-rotate.[ch]: Add a center property
10331         for the center or rotation; implement the set_bounds() methods.
10332
10333 2007-07-24  Emmanuele Bassi  <ebassi@openedhand.com>
10334
10335         * clutter/eglx/clutter-backend-egl.c:
10336         * clutter/eglnative/clutter-backend-egl.c:
10337         * clutter/sdl/clutter-backend-sdl.c: Destroy the stage in every
10338         backend.
10339
10340 2007-07-24  Emmanuele Bassi  <ebassi@openedhand.com>
10341
10342         * clutter/glx/clutter-backend-glx.c: Destroy the stage, don't
10343         just unref it.
10344
10345 2007-07-24  Emmanuele Bassi  <ebassi@openedhand.com>
10346
10347         * clutter/clutter-main.c: Add debug markers.
10348
10349 2007-07-24  Emmanuele Bassi  <ebassi@openedhand.com>
10350
10351         * clutter/clutter-texture.[ch]: Add a ClutterTextureError
10352         to be returned by the loader functions; use the GObject API
10353         to allocate the private data structure instead of managing it
10354         ourselves; add documentation.
10355
10356 2007-07-24  Emmanuele Bassi  <ebassi@openedhand.com>
10357
10358         * clutter/clutter-actor.c:
10359         * clutter/clutter-box.h:
10360         * clutter/clutter-stage.c: Documentation fixes.
10361
10362 2007-07-24  Matthew Allum  <mallum@openedhand.com>
10363
10364         * clutter/cogl/gl/cogl-defines.h:
10365         Add  CGL_UNSIGNED_INT_8_8_8_8_REV (for big endian machines)
10366
10367 2007-07-24  Matthew Allum  <mallum@openedhand.com>
10368
10369         * clutter/cogl/gl/cogl-defines.h:
10370         Another GL_TEXTURE_RECTANGLE_ARB related fix (#404)
10371
10372 2007-07-24  Matthew Allum  <mallum@openedhand.com>
10373
10374         * clutter/clutter-backend.c:
10375         Minor build fixes (#413)
10376
10377 2007-07-24  Emmanuele Bassi  <ebassi@openedhand.com>
10378
10379         * clutter/clutter-effect.h:
10380         * clutter/clutter-effect.c: Add a secondary constructor for
10381         ClutterEffectTemplate, for use of the bindings.
10382
10383 2007-07-24  Matthew Allum  <mallum@openedhand.com>
10384
10385         * clutter/cogl/gles/cogl.c: (cogl_get_bitmasks):
10386         Fix typo calling glGetIntegerv rather than glGetInteger
10387
10388 2007-07-24  Matthew Allum  <mallum@openedhand.com>
10389
10390         * clutter/cogl/gl/cogl.c: (cogl_get_features):
10391         learn to use cpp properly.
10392
10393 2007-07-24  Matthew Allum  <mallum@openedhand.com>
10394
10395         * clutter/clutter-media.c: (clutter_media_base_init):
10396         Remove #if 0! signal - assume causing issues with binding generation.
10397         (#407)
10398
10399         * clutter/cogl/gl/cogl.c:
10400         Check GL_TEXTURE_RECTANGLE_ARB and GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB
10401         are defined in gl.h (#404)
10402
10403 2007-07-24  Matthew Allum  <mallum@openedhand.com>
10404
10405         * clutter/glx/clutter-stage-glx.c: (clutter_stage_glx_realize):
10406         Create stage window with correct depth/visual. Via patch from
10407         Robert Bragg (#409).
10408
10409 2007-07-23  Matthew Allum  <mallum@openedhand.com>
10410
10411         * clutter/clutter-texture.c: (texture_render_to_gl_quad),
10412         (clutter_texture_paint):
10413         Dont be over aggressive in throwing criticals for unrealized
10414         textures. Doesn't make sense for sub classes. (#403)
10415
10416 2007-07-22  Emmanuele Bassi  <ebassi@openedhand.com>
10417
10418         Two small fixes for correctly debugging the deinitialisation
10419         phase of the backend:
10420
10421         * clutter/glx/clutter-backend-glx.c: Remove the event source
10422         after we unref the main stage.
10423
10424         * clutter/glx/clutter-stage-glx.c: Add a mark at the end of the
10425         unrealize call (the perl bindings seem to crash before we reach
10426         this point).
10427
10428 2007-07-22  Emmanuele Bassi  <ebassi@openedhand.com>
10429
10430         * clutter/clutter-behaviour-ellipse.c: Remove pointer indirections;
10431         add sanity checks on the public entry points; make all the public
10432         properties floating point (where needed) andconvert them to fixed
10433         point internally. (Partial fix for #389)
10434
10435 2007-07-22  Emmanuele Bassi  <ebassi@openedhand.com>
10436
10437         * clutter/clutter-behaviour.[ch]: Rename ClutterBehaviour::apply
10438         and ClutterBehaviour::remove to ClutterBehaviour::applied and
10439         ClutterBehaviour::removed respectively, and emit them when the
10440         behaviour has been applied (or does no longer apply) to an actor.
10441
10442         (clutter_behaviour_dispose), (clutter_behaviour_finalize),
10443         (clutter_behaviour_class_init): Move the actor removal to the
10444         ::dispose virtual function, and remove the ::finalize one;
10445         document the missing properties and signals.
10446
10447         (clutter_behaviour_clear): Add function to clear a behaviour:
10448         every actor will be unreffed and the ClutterBehaviour::removed
10449         signal will be emitted.
10450
10451 2007-07-21  Matthew Allum  <mallum@openedhand.com>
10452
10453         * clutter/clutter-event.c:
10454         Correct  clutter_event_get_state () return type. Fixes #398
10455
10456         * clutter/glx/clutter-stage-glx.c:
10457         Disable use XFixes cursor visibility funcs. Appears to have issues
10458         on feisty X Server at least. Fallback should work generally better.
10459
10460         Fix non offscreen clutter_stage_snapshot to also rotate read pixel
10461         data to correct orientation.
10462
10463 2007-07-12  Matthew Allum  <mallum@openedhand.com>
10464
10465         * clutter/eglnative/clutter-event-egl.c: (clutter_event_dispatch):
10466         Avoid sending too many events which are just pressure changes.
10467
10468 2007-07-12  Matthew Allum  <mallum@openedhand.com>
10469
10470         * clutter/clutter-actor.c: (clutter_actor_paint):
10471         * clutter/clutter-stage.c: (clutter_stage_get_actor_at_pos):
10472         * clutter/cogl/cogl.h:
10473         * clutter/cogl/gl/cogl.c: (cogl_get_viewport):
10474         * clutter/cogl/gles/cogl.c: (cogl_get_viewport):
10475         Hopefully fix clutter_actor_at_pos on !32bpp displays.
10476         Based on patch from Pan Bohui, See;
10477         http://bugzilla.openedhand.com/show_bug.cgi?id=390
10478
10479         * TODO:
10480         More misc updates.
10481
10482 2007-07-11  Emmanuele Bassi  <ebassi@openedhand.com>
10483
10484         * clutter/clutter-behaviour-opacity.c:
10485         Don't check direction in opacity.
10486
10487 2007-07-11  Tomas Frydrych  <tf@openedhand.com>
10488
10489         * clutter/clutter-fixed.h:
10490         Fixed CLUTTER_ANGLE_ macros.
10491
10492         * clutter/clutter-behaviour-ellipse.h:
10493         * clutter/clutter-behaviour-ellipse.c:
10494         Implemented "apply" signal closer to position actor on the start
10495         of the elliptic path.
10496
10497         (clutter_behaviour_ellipse_get_angle_begin):
10498         (clutter_behaviour_ellipse_set_angle_begin):
10499         (clutter_behaviour_ellipse_get_angle_end):
10500         (clutter_behaviour_ellipse_set_angle_end):
10501         (clutter_behaviour_ellipse_get_angle_tilt):
10502         (clutter_behaviour_ellipse_set_angle_tilt):
10503         Renamed with an x suffix; added versions for angles in degrees.
10504
10505 2007-07-09  Matthew Allum  <mallum@openedhand.com>
10506
10507         * TODO:
10508         Updates.
10509         * clutter/clutter-stage.c:
10510         * clutter/glx/clutter-stage-glx.c:
10511         Fix cursor visibility property.
10512         Force a repaint before mapping to attempt to avoid flicker.
10513
10514 2007-07-09  Richard Purdie  <rpurdie@openedhand.com>
10515
10516         * clutter/eglnative/clutter-event-egl.c:
10517         * configure.ac:
10518         Add tslib support to eglnative backend.
10519
10520 2007-07-09  Richard Purdie  <rpurdie@openedhand.com>
10521
10522         * clutter/eglnative/clutter-backend-egl.c:
10523         Tweaks to the eglnative backend.
10524
10525 2007-07-09  Richard Purdie  <rpurdie@openedhand.com>
10526
10527         * clutter/clutter-backend.c:
10528         Make the backend add_option function optional.
10529
10530 2007-07-09  Emmanuele Bassi  <ebassi@openedhand.com>
10531
10532         * clutter/clutter-behaviour-depth.h:
10533         * clutter/clutter-behaviour-depth.c:
10534         * clutter/Makefile.am: Add ClutterBehaviourDepth, a simple
10535         behaviour controlling the depth of a set of actors.
10536
10537         * clutter/clutter-behaviour-opacity.c: Always make sure that
10538         the opacity applied to the actors is a positive integer, even
10539         in case where the start and end opacity are reversed; use the
10540         correct cast macros for passing the opacity as a pointer.
10541
10542 2007-07-06  ====================== 0.3.1 Release ========================
10543
10544 2007-07-06  Matthew Allum  <mallum@openedhand.com>
10545
10546         * NEWS:
10547         * configure.ac:
10548         Update for 0.3.1
10549
10550 2007-07-06  Matthew Allum  <mallum@openedhand.com>
10551
10552         * clutter/eglx/Makefile.am:
10553         * clutter/eglx/clutter-egl.h:
10554         * clutter/eglx/clutter-event-egl.c:
10555         * clutter/eglx/clutter-stage-egl.c:
10556         Rename clutter-egl.h -> clutter-eglx.h
10557
10558         * NEWS:
10559         * README:
10560         Add info re EGL split.
10561
10562 2007-07-06  Matthew Allum  <mallum@openedhand.com>
10563
10564         * clutter/Makefile.am:
10565         * clutter/eglnative/Makefile.am:
10566         * clutter/eglnative/clutter-backend-egl.c:
10567         * clutter/eglnative/clutter-backend-egl.h:
10568         * clutter/eglnative/clutter-egl.h:
10569         * clutter/eglnative/clutter-event-egl.c:
10570         * clutter/eglnative/clutter-stage-egl.c:
10571         * clutter/eglnative/clutter-stage-egl.h:
10572         * clutter/eglx/Makefile.am:
10573         * clutter/eglx/clutter-backend-egl.c:
10574         * clutter/eglx/clutter-egl.h:
10575         * clutter/eglx/clutter-event-egl.c:
10576         * clutter/eglx/clutter-stage-egl.c:
10577         * configure.ac:
10578         Add a new 'native' EGL backend for non X based EGL's
10579         (i.e on framebuffer).
10580         Rename old backend to 'eglx' and namespace public funcs with this.
10581
10582         * clutter/pango/pangoclutter-private.h:
10583         Add extra checks for expected defines.
10584
10585 2007-07-06  Matthew Allum  <mallum@openedhand.com>
10586
10587         * NEWS:
10588         * README:
10589         Updates for upcoming 0.3.1 release.
10590         * clutter/egl/Makefile.am:
10591         * clutter/egl/clutter-backend-egl.c:
10592         * clutter/egl/clutter-backend-egl.h:
10593         * clutter/egl/clutter-egl.h:
10594         * clutter/egl/clutter-event-egl.c:
10595         * clutter/egl/clutter-stage-egl.c:
10596         * clutter/egl/clutter-stage-egl.h:
10597         * configure.ac:
10598         Move egl -> eglx
10599
10600 2007-07-06  Matthew Allum  <mallum@openedhand.com>
10601
10602         * clutter/clutter-box.c: (clutter_box_pick):
10603         Call clutter_box_paint rather than actor paint method avoiding
10604         infinte loop (Fixes test-boxes crasher).
10605
10606         * clutter/glx/clutter-stage-glx.c: (clutter_stage_glx_unrealize):
10607         Trap the X calls to avoid potential X errors.
10608
10609 2007-07-06  Ross Burton  <ross@openedhand.com>
10610
10611         * tests/Makefile.am:
10612         Dist redhand.png.
10613
10614 2007-07-05  Tomas Frydrych  <tf@openedhand.com>
10615
10616         * cluter/clutter-group.c:
10617         (clutter_group_query_coords:)
10618         Reset box size to zero width and height to report correct size if
10619         the contents of the group shrink.
10620
10621 2007-07-05  Emmanuele Bassi  <ebassi@openedhand.com>
10622
10623         * clutter/clutter-rectangle.c: Fix off-by-border-width bug
10624         in the border creation of a ClutterRectangle.
10625
10626 2007-07-05  Tomas Frydrych  <tf@openedhand.com>
10627
10628         * clutter/clutter-fixed.h:
10629         * clutter/clutter-fixed.c:
10630         Added CLUTTER_FLOAT_TO_UINT macro;
10631         (clutter_pow2x):
10632         Fixed sign issue.
10633
10634 2007-07-04  Emmanuele Bassi  <ebassi@openedhand.com>
10635
10636         * clutter/*: Loads of fixes for the API reference.
10637
10638 2007-07-04  Emmanuele Bassi  <ebassi@openedhand.com>
10639
10640         Merge from clutter/work
10641
10642         * clutter/clutter-alpha.[ch]: Fix the argument names for
10643         the smoothstep alpha functions, for gtk-doc.
10644
10645         * clutter/clutter-group.c (clutter_group_remove_all): Fix
10646         the iteration on the children list.
10647
10648 2007-07-04  Emmanuele Bassi  <ebassi@openedhand.com>
10649
10650         * clutter/clutter-main.c (clutter_redraw): Move the stage
10651         paint init call from the main redraw function...
10652
10653         * clutter/clutter-stage.c (clutter_stage_paint): ... to the
10654         ClutterActor::paint() overridden method in ClutterStage.
10655
10656 2007-07-04  Emmanuele Bassi  <ebassi@openedhand.com>
10657
10658         * clutter/clutter.h:
10659         * clutter/Makefile.am: ClutterBackend is marked as public API,
10660         so install the clutter-backend.h header and include it when
10661         including clutter.h.
10662
10663 2007-07-04  Emmanuele Bassi  <ebassi@openedhand.com>
10664
10665         * clutter/clutter-entry.[ch]: Various fixes to ClutterEntry:
10666         fix code style issues; add documentation for the various
10667         properties; add ClutterEntry:entry-padding property, for controlling
10668         the text padding (until we have style properties separated from
10669         the object properties); notify property changes; free resources
10670         in the ::finalize method; rename clutter_entry_add() to
10671         clutter_entry_insert_unichar(), and clutter_entry_remove() to
10672         clutter_entry_delete_chars() - for bindings and for matching the
10673         insert_text() and delete_text() existing methods; add a getter
10674         method for the max-length property.
10675
10676 2007-07-04  Emmanuele Bassi  <ebassi@openedhand.com>
10677
10678         * clutter/clutter-actor.[ch]: Use the right get_type() function
10679         name for ClutterVertex, and add the CLUTTER_TYPE_VERTEX macro.
10680
10681 2007-07-03  Ross Burton  <ross@openedhand.com>
10682
10683         * configure.ac:
10684         Check for XFixes 4 and above.
10685
10686 2007-07-02  Tomas Frydrych  <tf@openedhand.com>
10687
10688         * clutter/clutter-actor.h:
10689         * clutter/clutter-actor.c:
10690         * tests/test-project.c:
10691         (clutter_actor_apply_transform_to_point):
10692         Use ClutterVertex for input and output parameters.
10693
10694 2007-07-01  Emmanuele Bassi  <ebassi@openedhand.com>
10695
10696         Merge from clutter.git/work branch
10697
10698         * clutter/clutter-effect.[ch]: Clean up ClutterEffect; use a
10699         pointer to access the private data structure, instead of doing
10700         a type check every time. Add description for the API reference.
10701
10702         * docs/reference/clutter-sections.txt:
10703         * clutter/*.[ch]: Add various documentation fixes.
10704
10705         * clutter/clutter-entry.c: Remove a stray g_print() call.
10706
10707 2007-06-29  Neil J. Patel  <njp@o-hand.com>
10708
10709         * clutter/clutter-entry.c: (clutter_entry_handle_key_event),
10710         (clutter_entry_add), (clutter_entry_remove):
10711         Check if unichar == 0, and if so, return, as it will cause a delete in
10712         the GString.
10713
10714 2007-06-20  ============== 0.3 Release ====================================
10715
10716 2007-06-29  Matthew Allum  <mallum@openedhand.com>
10717
10718         * clutter/clutter-texture.c: (texture_upload_data):
10719         Fix a SEGV for GL ES textures.
10720
10721         * clutter/cogl/gles/cogl.c: (cogl_setup_viewport):
10722         Tweak default z_camera for 60 degrees like GL.
10723
10724         * clutter/egl/clutter-backend-egl.c::
10725         * clutter/egl/clutter-stage-egl.c:
10726         Fix edpy usage (thanks to Kaj Gronholm).
10727
10728 2007-06-29  Tomas Frydrych  <tf@openedhand.com>
10729
10730         * clutter/clutter-group.c:
10731         (clutter_group_query_coords):
10732         Fixed box calculation.
10733
10734 2007-06-28  Tomas Frydrych  <tf@openedhand.com>
10735
10736         * clutter/clutter-group.c:
10737         (clutter_group_raise):
10738         (clutter_group_lower):
10739         Fixed SIGSEGV when attempting to raise / lower an only child.
10740
10741 2007-06-28  Matthew Allum  <mallum@openedhand.com>
10742
10743         * clutter/cogl/gl/cogl.c: (cogl_setup_viewport):
10744         Improve fixed z_camera value for defualt perspective.
10745         Appears pixel perfect on ATI and Intel at least
10746
10747 2007-06-28  Tomas Frydrych  <tf@openedhand.com>
10748
10749         * tests/test-perspective.c:
10750         Moved red dots to be positioned 1px off each corner.
10751
10752 2007-06-28  Matthew Allum  <mallum@openedhand.com>
10753
10754         * tests/Makefile.am:
10755         * tests/test-perspective.c:
10756         Add simple perspective test
10757
10758 2007-06-27  Tomas Frydrych  <tf@openedhand.com>
10759
10760         * clutter/clutter-actor.h:
10761         * clutter/clutter-actor.c:
10762         * tests/test-project.c:
10763         Renamed clutter_actor_project_point() to
10764         clutter_actor_apply_trasform_to_point() and
10765         clutter_actor_project_vertices() to clutter_actor_get_vertices().
10766
10767 2007-06-27  Tomas Frydrych  <tf@openedhand.com>
10768
10769         * clutter/clutter-actor.h:
10770         * clutter/clutter-actor.c:
10771         * tests/test-project.c:
10772         (clutter_actor_project_point):
10773         Separated input from output parameters.
10774
10775 2007-06-27  Matthew Allum  <mallum@openedhand.com>
10776
10777         * Makefile.am:
10778         Dont remove README on make clean
10779
10780 2007-06-27  Tomas Frydrych  <tf@openedhand.com>
10781
10782         * clutter/clutter-actor.c:
10783         (_clutter_actor_apply_modelview_transform):
10784         Fixed incorrect order of scaling an rotation that was causing
10785         objects that were both rotated and scaled to change position.
10786
10787 2007-06-27  Tomas Frydrych  <tf@openedhand.com>
10788
10789         * clutter/clutter-actor.c:
10790         (clutter_actor_scale_with_gravityx):
10791         Made to work after changes to the behavivour of
10792         clutter_actor_get_absolute_size() for rotated actors.
10793
10794 2007-06-26  Tomas Frydrych  <tf@openedhand.com>
10795
10796         * clutter/cogl/gl/cogl.c:
10797         * clutter/cogl/gles/cogl.c:
10798         (cogl_setup_viewport):
10799         For default perspective angle of 60 degrees, use a hardcoded
10800         z_camera constant that provides minimal artefacts when rendering
10801         text; for other angles we calculate.
10802
10803 2007-06-26  Tomas Frydrych  <tf@openedhand.com>
10804
10805         * clutter/clutter-actor.h:
10806         * clutter/clutter-actor.c:
10807         Added fixed point version of clutter_actor_rotate_*() functions
10808         and accessors for rotation angles.
10809
10810 2007-06-25  Matthew Allum  <mallum@openedhand.com>
10811
10812         * README:
10813         Update a little more.
10814         * clutter/clutter-effect.c:
10815         Add missing func documentation
10816         * clutter/clutter-rectangle.c:
10817         Fix border drawing.
10818
10819 2007-06-25  Tomas Frydrych  <tf@openedhand.com>
10820
10821         * clutter/clutter-fixed.h:
10822         Fixed definition of clutter_cosx() macro.
10823
10824         * clutter/clutter-stage.c:
10825         * clutter/cogl/cogl.h:
10826         * clutter/cogl/gl/cogl.c:
10827         * clutter/cogl/gles/cogl.c:
10828         Changed ClutterPerspective.fovy from ClutterAngle to degrees to
10829         improve precission in Z-camera calculations.
10830
10831 2007-06-22  Matthew Allum  <mallum@openedhand.com>
10832
10833         * README:
10834         * README.in:
10835         * autogen.sh:
10836         * configure.ac:
10837         Move back to regular README naming at least for now.
10838
10839 2007-06-22  Matthew Allum  <mallum@openedhand.com>
10840
10841         * NEWS:
10842         * README.in:
10843         * TODO:
10844         Update for 0.3 release.
10845
10846         * clutter/clutter-actor.c:
10847         Minor doc fixups
10848
10849         * clutter/clutter-texture.c:
10850         Various minor additions for handling non RGBA data.
10851         Fix a typo breaking clutter_texture_get_pixbuf() on tiled textures.
10852
10853         * tests/test-actors.c:
10854         Disable scaling to avoid drifting (temporary till API is fixed)
10855
10856 2007-06-21  Emmanuele Bassi  <ebassi@openedhand.com>
10857
10858         * clutter/clutter-timeline.c: Allow disabling the timeline pool
10859         by using the CLUTTER_TIMELINE environment variable set to
10860         "no-pool".
10861
10862 2007-06-19  Emmanuele Bassi  <ebassi@openedhand.com>
10863
10864         * README.in: Update release notes.
10865
10866 2007-06-19  Matthew Allum  <mallum@openedhand.com>
10867
10868         * clutter/clutter-main.c: (clutter_init_with_args), (clutter_init):
10869         Safer checks for setting progname if NULL is passed in init.
10870
10871 2007-06-19  Emmanuele Bassi  <ebassi@openedhand.com>
10872
10873         * autogen.sh: autoreconf needs a README.
10874
10875 2007-06-19  Matthew Allum  <mallum@openedhand.com>
10876
10877         * TODO:
10878         Sync up a little.
10879         * clutter/clutter-main.c:
10880         Set a default window title based on g_prgname().
10881
10882         * clutter/clutter-stage.c:
10883         * clutter/clutter-stage.h:
10884         * clutter/egl/clutter-stage-egl.c:
10885         * clutter/glx/clutter-stage-glx.c:
10886         * clutter/sdl/clutter-stage-sdl.c:
10887         Alter draw_to_pixbuf to return a pixbuf
10888
10889         * configure.ac:
10890         Only full in gdk-pixbuf-xlib as a GLX backend dep.
10891
10892         * tests/test-entry.c:
10893         Fix a couple of warnings.
10894
10895 2007-06-19  Emmanuele Bassi  <ebassi@openedhand.com>
10896
10897         * Makefile.am: Add README.in to the EXTRA_DIST.
10898
10899 2007-06-19  Emmanuele Bassi  <ebassi@openedhand.com>
10900
10901         * configure.ac:
10902         * README.in: Use a template for the README file, so that
10903         it gets the right version number.
10904
10905 2007-06-19  Matthew Allum  <mallum@openedhand.com>
10906
10907         * clutter/clutter-stage.c:
10908         * clutter/clutter-stage.h:
10909         * clutter/glx/clutter-stage-glx.c:
10910         * clutter/sdl/clutter-stage-sdl.c:
10911         Add window title setting/getting functionality.
10912
10913         * clutter/clutter-event.c: (clutter_key_event_unicode):
10914         Remove uneeded convert case call.
10915
10916         * clutter/cogl/gl/cogl.c: (cogl_rectangle)
10917         Use parameters correctly for underlying GL rect call.
10918
10919         * tests/test-entry.c:
10920         Add a window title.
10921
10922 2007-06-18  Matthew Allum  <mallum@openedhand.com>
10923
10924         * clutter/sdl/clutter-event-sdl.c:
10925         Seemingly fix SDL Event source.
10926         Add some very basic SDL keysym translation.
10927         (Thanks to Thomas Van Machelen for initial translation code)
10928
10929         * tests/test-events.c:
10930         Dump some info on keysyms pressed.
10931
10932 2007-06-16  Emmanuele Bassi  <ebassi@openedhand.com>
10933
10934         * clutter/clutter-actor.h:
10935         * clutter/clutter-stage.h: Add 32 padding slots; when we
10936         reach 1.0 it'll be a long road until the following ABI
10937         break.
10938
10939         * tests/test-behave.c: Don't forget to include headers.
10940
10941 2007-06-16  Emmanuele Bassi  <ebassi@openedhand.com>
10942
10943         * clutter/clutter-container.h:
10944         * clutter/clutter-layout.h: Interfaces are not checked
10945         at compile-time, so there's not need to add padding to
10946         avoid ABI breaks.
10947
10948 2007-06-16  Emmanuele Bassi  <ebassi@openedhand.com>
10949
10950         * configure.ac: Partially revert last commit, and fail
10951         with AC_MSG_ERROR() instead of disabling the manual build
10952         if no jw and xmlto were found.
10953
10954 2007-06-16  Emmanuele Bassi  <ebassi@openedhand.com>
10955
10956         * configure.ac: If the programs required to build the manual
10957         are not found and --enable-manual was passed, then just print
10958         a warning and disable the manual build instead of aborting the
10959         configure.
10960
10961         * doc/manual/Makefile.am: Use the full path gathered by the
10962         configure script when invoking jw and xmlto.
10963
10964 2007-06-16  Matthew Allum  <mallum@openedhand.com>
10965
10966         * clutter/clutter-actor.c:
10967         Fix typo in x rotation transform (Thanks to Johan Billen #138)
10968
10969         * configure.ac:
10970         * doc/manual/Makefile.am:
10971         Fix manual build and required program check.
10972
10973         * tests/Makefile.am:
10974         Another typo fix.
10975
10976 2007-06-15  Tomas Frydrych  <tf@openedhand.com>
10977
10978         * clutter/clutter-actor.c:
10979         Added some comments; renamed MTX_GL_SCALE to MTX_GL_SCALE_X for
10980         consistency; removed some debug output.
10981
10982 2007-06-14  Tomas Frydrych  <tf@openedhand.com>
10983
10984         * clutter/clutter-vbox.c:
10985         * clutter/clutter-hbox.c:
10986         (clutter_vbox_pack_child):
10987         (clutter_hbox_pack_child):
10988         Fixed child coords.
10989
10990 2007-06-14  Emmanuele Bassi  <ebassi@openedhand.com>
10991
10992         * clutter/clutter-box.[ch]: Base class for layout containers.
10993
10994         * clutter/clutter-hbox.[ch]: Horizontal box actor.
10995
10996         * clutter/clutter-vbox.[ch]: Vertical box actor.
10997
10998         * clutter/clutter.h:
10999         * clutter/Makefile.am: Build glue
11000
11001         * tests/Makefile.am:
11002         * tests/test-boxes.c: Test suite for ClutterBox API and
11003         implementations.
11004
11005 2007-06-14  Matthew Allum  <mallum@openedhand.com>
11006
11007         * clutter/cogl/gl/cogl.c: (cogl_check_extension):
11008         Actually populate this func and remove the static alternate
11009         named one. Means GLX actually checks for available extensions.
11010         Other minor tidy ups.
11011
11012         * clutter/glx/clutter-backend-glx.c:
11013         * clutter/glx/clutter-backend-glx.h:
11014         Add support for GLX_SGI_swap_control to do vblanking prefering
11015         over glXGetVideoSyncSGI. Should fix issues on Intel chips with
11016         very slow frame rates due to vblank problems.
11017         Thanks to  Michel Danzer for tips, see;
11018         http://bugs.freedesktop.org/show_bug.cgi?id=10542
11019
11020         * test/test-actors.c:
11021         Change FPS to 60.
11022
11023 2007-06-14  Emmanuele Bassi  <ebassi@openedhand.com>
11024
11025         * clutter/clutter-timeout-pool.c: Make ClutterTimeoutPool
11026         more thread-safe, using a static lock.
11027
11028         (clutter_timeout_pool_dispatch), (clutter_timeout_pool_remove): Fix
11029         a race condition-turned-in-memory corruption bug, triggered by
11030         removing a timeout from the pool while still spinning the pool
11031         source.
11032
11033 2007-06-14  Emmanuele Bassi  <ebassi@openedhand.com>
11034
11035         * configure.ac:
11036         * doc/manual/Makefile.am: Find xmlto and jw in the path and
11037         use the symbolic names when building the manual.
11038
11039 2007-06-14  Tomas Frydrych  <tf@openedhand.com>
11040
11041         * clutter/clutter-actor.c:
11042         (clutter_actor_get_abs_position):
11043         (clutter_actor_get_abs_size):
11044         Reimplement using clutter_actor_project_point() and
11045         clutter_actor_project_vertices().
11046
11047         * tests/test-project.c:
11048         Rename clutter_actor_allocate_coords -> clutter_actor_query_coords
11049
11050 2007-06-14  Matthew Allum  <mallum@openedhand.com>
11051
11052         * clutter/clutter-actor.c:
11053         * clutter/clutter-actor.h:
11054         * clutter/clutter-group.c:
11055         * clutter/clutter-label.c:
11056         * clutter/egl/clutter-stage-egl.c:
11057         * clutter/glx/clutter-stage-glx.c:
11058         * clutter/sdl/clutter-stage-sdl.c:
11059         Rename clutter_actor_allocate_coords -> clutter_actor_query_coords
11060
11061         Change repaints to G_PRIORITY_DEFAULT + 10.
11062         (timelines are G_PRIORITY_DEFAULT + 30, events G_PRIORITY_DEFAULT)
11063
11064         * clutter/glx/clutter-event-glx.c:
11065         Handle shift modifier in keycode -> keysym translation.
11066
11067         * tests/test-actors.c:
11068         Remove (broken) screen saver code.
11069         Add scaling behaviour, clean code a little.
11070
11071 2007-06-13  Tomas Frydrych  <tf@openedhand.com>
11072
11073         * clutter/clutter-actor.c:
11074         (clutter_actor_project_vertices):
11075         (clutter_actor_project_proint):
11076         Fixed translation of Y coords to match the windowing system.
11077
11078         * clutter/egl/clutter-stage-egl.c:
11079         * clutter/glx/clutter-stage-glx.c:
11080         * clutter/sdl/clutter-stage-sdl.c:
11081         (clutter_stage_*_request_size):
11082         Initialize viewport when setting/resetting stage side.
11083
11084         * tests/Makefile.am
11085         * tests/test-project.c:
11086         An interactive test of the projection stuff.
11087
11088 2007-06-12  Tomas Frydrych  <tf@openedhand.com>
11089
11090         * clutter/clutter-main.c:
11091         (clutter_redraw):
11092         Clear CLUTTER_ACTOR_SYNC_MATRICES flag after setting up viewport.
11093
11094 2007-06-12  Matthew Allum  <mallum@openedhand.com>
11095
11096         * doc/manual/Makefile.am:
11097         Fix typo in Makefile so PDF's actually get built.
11098
11099         * doc/manual/clutter-manual.xml.in:
11100         Add an FAQ section with initial entry.
11101
11102 2007-06-12  Tomas Frydrych  <tf@openedhand.com>
11103
11104         * clutter/clutter-fixed.h:
11105         Added shorthand CFX_QMUL macro.
11106
11107         * clutter/clutter-private.h:
11108         * clutter/clutter-actor.h:
11109         * clutter/clutter-actor.c:
11110         Replaced ClutterVertices with ClutterVertex;
11111
11112         (clutter_actor_get_transformed_vertices):
11113         (clutter_actor_get_transformed_point):
11114         Replaced with clutter_actor_projected_vertices and
11115         clutter_actor_projected_point.
11116
11117         (_clutter_actor_apply_modelview_transform):
11118         (_clutter_actor_apply_modelview_transform_recursive):
11119         Private functions to push actor modelview transforms on OpenGL
11120         stack.
11121
11122         * clutter/cogl/cogl.h:
11123         * clutter/cogl/gl/cogl.c:
11124         * clutter/cogl/gles/cogl.c:
11125         (cogl_get_viewport):
11126         (cogl_get_modelview_matrix):
11127         (cogl_get_projection_matrix):
11128         Functions to access OpenGL transforms.
11129
11130 2007-06-12  Matthew Allum  <mallum@openedhand.com>
11131
11132         * clutter/clutter-alpha.c:
11133         Remove stray g_debug.
11134
11135         * clutter/clutter-behaviour-rotate.c:
11136         Register private class member.
11137
11138         * clutter/clutter-behaviour.c:
11139         * clutter/clutter-behaviour.h:
11140         Add applied and removed signals.
11141
11142         * Makefile.am:
11143         * configure.ac:
11144         * examples/Makefile.am:
11145         * examples/README:
11146         * examples/behave.c:
11147         * examples/slider.c:
11148         * examples/super-oh.c:
11149         * examples/test-entry.c:
11150         * examples/test-text.c:
11151         * examples/test.c:
11152         * tests/Makefile.am:
11153         Remove examples, moving applicable code into tests.
11154
11155 2007-06-11  Tomas Frydrych  <tf@openedhand.com>
11156
11157         * clutter/clutter-alpha.c:
11158         (clutter_alpha_sine_inc):
11159         (clutter_alpha_sine_dec):
11160         (clutter_alpha_sine_half):
11161         Fixed unsigned overflow.
11162
11163 2007-06-11  Emmanuele Bassi  <ebassi@openedhand.com>
11164
11165         * clutter/clutter-event.h: Add full modifier masks enums.
11166
11167         * clutter/glx/clutter-event-glx.c: Copy the modifier masks from
11168         the native X event structure.
11169
11170         * clutter/clutter-event.c: Convert to upper case if the
11171         shift or the lock masks are applied.
11172
11173 2007-06-09  Emmanuele Bassi  <ebassi@openedhand.com>
11174
11175         * clutter/clutter.h:
11176         * clutter/clutter-timeout-pool.[ch]: Add a timeout pool source;
11177         every timeout added to this pool will use a single slice of the
11178         main loop.
11179
11180         * clutter/clutter-timelince.c: Use a per-class timeout pool for
11181         every timeline.
11182
11183 2007-06-08  Matthew Allum  <mallum@openedhand.com>
11184
11185         * clutter/clutter-texture.c: (clutter_texture_get_pixbuf):
11186         Remove stray printf.
11187
11188 2007-06-08  Matthew Allum  <mallum@openedhand.com>
11189
11190         * clutter/clutter-actor.c:
11191         * clutter/clutter-debug.h:
11192         * clutter/clutter-main.c:
11193         * clutter/clutter-main.h:
11194         * clutter/clutter-private.h:
11195         * clutter/clutter-timeline.c:
11196         Add 'schedule' debug flag and new CLUTTER_TIMESTAMP macro.
11197
11198         * clutter/clutter-texture.c:
11199         * clutter/clutter-texture.h:
11200         * clutter/cogl/cogl.h:
11201         * clutter/cogl/gl/cogl-defines.h:
11202         * clutter/cogl/gles/cogl-defines.h:
11203         * clutter/cogl/gl/cogl.c:
11204         * clutter/cogl/gles/cogl.c:
11205         Add initial experiemental YUV texture support.
11206         Move texture rect size checks into cogl.
11207         Better handle moving texture data from video -> system memory
11208         (if support available).
11209
11210 2007-06-07  Neil J. Patel  <njp@o-hand.com>
11211
11212         * clutter/clutter-entry.c: (clutter_entry_class_init),
11213         (clutter_entry_handle_key_event):
11214         * clutter/clutter-entry.h:
11215         Added an 'activated' signal, which is emitted when the 'Enter' key is
11216         pressed.
11217
11218         * examples/test-entry.c: (on_entry_activated), (main):
11219         Added a test handler for the activated signal.
11220
11221 2007-06-07  Emmanuele Bassi  <ebassi@openedhand.com>
11222
11223         * clutter/*: Move documentation from the templates into the
11224         source code.
11225
11226 2007-06-07  Emmanuele Bassi  <ebassi@openedhand.com>
11227
11228         * clutter/clutter-container.[ch]: Add a generic actor container
11229         interface, for actors to implement without subclassing ClutterGroup.
11230
11231         * clutter/clutter-group.[ch]: Make ClutterGroup implement the
11232         ClutterContainer interface, and deprecate the colliding methods.
11233
11234         * clutter/clutter-layout.[ch]: Add extended layout interface.
11235         Actors and containers requiring or honouring complex layout
11236         management should implement this interface and provide at least
11237         one of the available layout types: width for height, height for
11238         width, natural size, iterative size request.
11239
11240         * clutter/clutter-label.c: A ClutterLabel requires height for
11241         width layout management, so it implements the ClutterLayout
11242         interface.
11243
11244         * clutter/Makefile.am: Add new files to the build.
11245
11246         * tests/*.c:
11247         * examples/*.c: Update tests and examples code to use the
11248         new ClutterContainer API instead of ClutterGroup.
11249
11250 2007-06-07  Emmanuele Bassi  <ebassi@o-hand.com>
11251
11252         * clutter/clutter-timeline.[ch]: Add a "delay" property, which
11253         delays the real start of the timeline by a number of milliseconds.
11254
11255         (clutter_timeline_clone): Rename clutter_timeline_copy() to
11256         clutter_timeline_clone(), for consistency.
11257
11258 2007-06-01  Neil J. Patel  <njp@o-hand.com>
11259
11260         * clutter/clutter-entry.c: (clutter_entry_set_property),
11261         (clutter_entry_get_property), (clutter_entry_class_init),
11262         (clutter_entry_init), (clutter_entry_set_text),
11263         (clutter_entry_set_max_length):
11264         * clutter/clutter-entry.h:
11265         * examples/test-entry.c: (main):
11266         Added a max-length property whihc limits the length of the text in the
11267         entry.
11268
11269 2007-06-01  Neil J. Patel  <njp@o-hand.com>
11270
11271         * clutter/clutter-entry.c: (clutter_entry_ensure_cursor_position),
11272         (clutter_entry_paint), (clutter_entry_init),
11273         (clutter_entry_handle_key_event):
11274         Clipping within the entry class to stop it over-slipping its
11275         boundries.
11276         Text will move within the clip region to keep the cursor always
11277         visible.
11278         Added some padding to the left and right to make sure cursor is
11279         always show.
11280
11281 2007-06-01  Tomas Frydrych  <tf@openedhand.com>
11282
11283         * clutter/clutter-actor.c:
11284         * clutter/clutter-stage.c:
11285         * clutter/clutter-private.h:
11286         Removed perspective matrix caching from ClutterStage.
11287
11288 2007-06-01  Neil J. Patel  <njp@o-hand.com>
11289
11290         * clutter/clutter-entry.c: (clutter_entry_set_property),
11291         (clutter_entry_get_property), (clutter_entry_ensure_layout),
11292         (clutter_entry_class_init), (clutter_entry_init),
11293         (clutter_entry_set_visibility), (clutter_entry_get_visibility),
11294         (clutter_entry_set_invisible_char),
11295         (clutter_entry_get_invisible_char):
11296         * clutter/clutter-entry.h:
11297         Added text-visibility, which will allow you to show all entered text
11298         as a nominated charaecter ('*' is default).
11299
11300         * examples/test-entry.c: (main):
11301
11302 2007-06-01  Neil J. Patel  <njp@o-hand.com>
11303
11304         * clutter/clutter-entry.c: (clutter_entry_ensure_cursor_position),
11305         (clutter_entry_clear_cursor_position),
11306         (clutter_entry_paint_cursor), (clutter_entry_paint),
11307         (clutter_entry_class_init), (clutter_entry_set_text),
11308         (clutter_entry_set_position):
11309         * clutter/clutter-entry.h:
11310         Added a signla to track cursor movements.
11311         Moved the sursor painting function so it can be subclassed.
11312
11313 2007-06-01  Tomas Frydrych  <tf@openedhand.com>
11314
11315         * clutter/clutter-actor.c:
11316         (clutter_actor_get_transformed_point):
11317         Make input again relative to the actor; feed depth into transform.
11318
11319 2007-06-01  Neil J. Patel  <njp@o-hand.com>
11320
11321         * clutter/clutter-entry.c: (clutter_entry_class_init),
11322         (clutter_entry_set_text):
11323         * clutter/clutter-entry.h:
11324         * examples/test-entry.c: (on_entry_text_changed), (main):
11325         Added a text-changed signal to the entry.
11326
11327 2007-06-01  Neil J. Patel  <njp@o-hand.com>
11328
11329         * clutter/clutter-effect.h:
11330         Removed extra G_END_DECLS outside the #endif
11331
11332         * clutter/clutter-entry.c: (clutter_entry_handle_key_event),
11333         (clutter_entry_add):
11334         * clutter/clutter-entry.h:
11335         * examples/test-entry.c: (on_key_release_cb):
11336         Added a function to deal with ClutterKeyEvents. Handles the majority
11337         of entry-related keyboard keys. However modifiers still need to be
11338         implemented.
11339
11340 2007-06-01  Tomas Frydrych  <tf@openedhand.com>
11341
11342         * clutter/clutter-actor.c:
11343         (mtx_create):
11344         Apply perspective transform before all other transforms.
11345
11346 2007-06-01  Tomas Frydrych  <tf@openedhand.com>
11347
11348         * clutter/clutter-stage.c:
11349         (clutter_stage_init):
11350         Call _clutter_stage_refresh_perspective_matrix to initialize the
11351         matrix for default values.
11352
11353 2007-06-01  Tomas Frydrych  <tf@openedhand.com>
11354
11355         * clutter/clutter-fixed.h:
11356         * clutter/clutter-behaviour-ellipse.h:
11357         * clutter/clutter-behaviour-ellipse.c:
11358         * clutter/clutter-behaviour-bspline.h:
11359         * clutter/clutter-behaviour-bspline.c:
11360         Documentation fixes.
11361
11362 2007-05-31  Tomas Frydrych  <tf@openedhand.com>
11363
11364         * clutter/clutter-stage.c:
11365         * clutter/clutter-private.h:
11366         (_clutter_stage_get_perspective_matrix):
11367         New function.
11368
11369         * clutter/clutter-actor.c:
11370         (clutter_actor_get_tranformed_vertices):
11371         (clutter_actor_get_tranformed_point):
11372         Apply perspective matrix on the top of actor transform matrix.
11373
11374 2007-05-31  Neil J Patel  <njp@o-hand.com>
11375
11376         * clutter/Makefile.am:
11377         * clutter/clutter-entry.c: (clutter_entry_set_property),
11378         (clutter_entry_get_property), (clutter_entry_ensure_layout),
11379         (clutter_entry_clear_layout),
11380         (clutter_entry_ensure_cursor_position), (clutter_entry_paint),
11381         (clutter_entry_request_coords), (clutter_entry_dispose),
11382         (clutter_entry_finalize), (clutter_entry_class_init),
11383         (clutter_entry_init), (clutter_entry_new_with_text),
11384         (clutter_entry_new_full), (clutter_entry_new),
11385         (clutter_entry_get_text), (clutter_entry_set_text),
11386         (clutter_entry_get_font_name), (clutter_entry_set_font_name),
11387         (clutter_entry_set_color), (clutter_entry_get_color),
11388         (clutter_entry_get_layout), (clutter_entry_set_alignment),
11389         (clutter_entry_get_alignment), (clutter_entry_set_position),
11390         (clutter_entry_get_position), (clutter_entry_add),
11391         (clutter_entry_remove), (clutter_entry_insert_text),
11392         (clutter_entry_delete_text), (clutter_entry_set_visible_cursor),
11393         (clutter_entry_get_visible_cursor):
11394         * clutter/clutter-entry.h:
11395         * clutter/clutter.h:
11396         * examples/Makefile.am:
11397         Initial import of ClutterEntry actor.
11398
11399         * examples/test-entry.c: (on_key_release_cb), (main):
11400         A basic test for ClutterEntry
11401
11402 2007-05-31  Tomas Frydrych  <tf@openedhand.com>
11403
11404         * clutter/clutter-actor.c:
11405         (clutter_actor_get_transformed_point):
11406         Fixed coordinance translation.
11407
11408 2007-05-31  Matthew Allum  <mallum@openedhand.com>
11409
11410         * clutter/clutter-actor.c:
11411         * clutter/clutter-actor.h:
11412         Add clutter_actor_get_transformed_point()
11413
11414         * clutter/clutter-main.c:
11415         Plug in perspective setup to redraw
11416
11417         * clutter/clutter-stage.c:
11418         * clutter/clutter-stage.h:
11419         Remove audience code for now.
11420
11421 2007-05-31  Matthew Allum  <mallum@openedhand.com>
11422
11423         * clutter/egl/clutter-backend-egl.c:
11424         * clutter/egl/clutter-backend-egl.h:
11425         * clutter/egl/clutter-event-egl.c:
11426         * clutter/egl/clutter-stage-egl.c:
11427         * clutter/egl/clutter-stage-egl.h:
11428         Rename Egl -> EGL
11429
11430 2007-05-31  Matthew Allum  <mallum@openedhand.com>
11431
11432         * clutter/glx/clutter-backend-glx.c:
11433         * clutter/glx/clutter-backend-glx.h:
11434         * clutter/glx/clutter-event-glx.c:
11435         * clutter/glx/clutter-glx.h:
11436         * clutter/glx/clutter-stage-glx.c:
11437         * clutter/glx/clutter-stage-glx.h:
11438         Change type nameing from Glx -> GLX.
11439         Add basic event filtering functionality
11440
11441 2007-05-31  Tomas Frydrych  <tf@openedhand.com>
11442
11443         * clutter/clutter-behaviour-ellipse.c:
11444         Changed behaviour so that a beginning angle of 0 would correspond
11445         to 12 o'clock.
11446
11447 2007-05-31  Tomas Frydrych  <tf@openedhand.com>
11448
11449         * clutter/clutter-fixed.h:
11450         * clutter/clutter-fixed.c:
11451         (_clutter_double_to_int):
11452         Fixed return value to gint; added missing cast that broke negative
11453         number conversions.
11454
11455         (CLUTTER_ANGLE_FROM_DEGX):
11456         Swapped division and multiplication around to avoid overflows.
11457
11458         * clutter/clutter-behaviour-ellipse.c:
11459         Fixed incorrectly set lower bounds for angle properties.
11460
11461         * clutter/clutter-actor.h:
11462         * clutter/clutter-actor.c:
11463         Added ClutterVertices type.
11464         (clutter_actor_get_transformed_vertices):
11465         New function.
11466
11467 2007-05-31  Matthew Allum  <mallum@openedhand.com>
11468         * TODO:
11469         Sync up for whats left for 0.4 release (and 0.6 ideas)
11470
11471 2007-05-31  Matthew Allum  <mallum@openedhand.com>
11472
11473         * clutter/clutter-behaviour-ellipse.c:
11474         Remove uneeded knot signal
11475
11476         * clutter/clutter-behaviour-path.c:
11477         Fix so knot signal is emitted only when a knot is reached.
11478
11479         * clutter/clutter-effect.c:
11480         * clutter/clutter-effect.h:
11481         Add a scale effect.
11482
11483         * configure.ac:
11484         * doc/manual/Makefile.am:
11485         * doc/manual/clutter-manual.xml.in:
11486         * doc/manual/manual.xsl:
11487         * doc/manual/style.css:
11488         Add various bits for application developers manual.
11489
11490 2007-05-30  Tomas Frydrych  <tf@openedhand.com>
11491
11492         * clutter/clutter-alpha.h:
11493         * clutter/clutter-alpha.c:
11494         Removed ClutterSmoothstep struct
11495         (clutter_smoothstep_inc_func):
11496         Renamed to clutter_smoothstep_func.
11497         (clutter_smoothstep_added_func):
11498         Added.
11499
11500 2007-05-29  Tomas Frydrych  <tf@openedhand.com>
11501
11502         * clutter/clutter-fixed.h:
11503         (clutter_cosx):
11504         (clutter_cosi):
11505         Fixed wrong sign in cos -> sin tranformation.
11506
11507         * clutter/clutter-behaviour-ellipse.c:
11508         (clutter_behaviour_ellipse_advance):
11509         Replaced coordinace calculation for tilted ellipse with a sane
11510         algorithm.
11511
11512         * examples/behave.c:
11513         Added tilt parameter to the example ellptic path.
11514
11515 2007-05-29  Tomas Frydrych  <tf@openedhand.com>
11516
11517         * clutter/cogl/gles/cogl.c:
11518         (cogl_setup_viewport):
11519         Fixed z_camera calculation.
11520
11521 2007-05-28  Matthew Allum  <mallum@openedhand.com>
11522
11523         * clutter/clutter-texture.c: (clutter_texture_unrealize):
11524         Dont even try to move texture pixels from video -> system
11525         ram on unrealisation for GL/ES
11526
11527 2007-05-28  Matthew Allum  <mallum@openedhand.com>
11528
11529         * clutter/clutter-stage.c: (clutter_stage_get_actor_at_pos):
11530         Fix for GL/ES. Barring texture reads this means all clutter
11531         functionality now works on GL/ES! (no doubt with a few yet to
11532         be discovered bugs)
11533
11534 2007-05-28  Matthew Allum  <mallum@openedhand.com>
11535
11536         * clutter/clutter-backend.c:
11537         * clutter/clutter-backend.h:
11538         * clutter/glx/clutter-stage-glx.c:
11539         * clutter/glx/clutter-backend-glx.c:
11540         Fix up rendering pipeline removing clutter_backend_XXX_stage_paint
11541         and adding clutter_backend_XXX_redraw instead. Duplicates less
11542         code in backends, avoids clutter_actor_paint() getting called
11543         before stage is set up (viewport wise) and unbreaks things like
11544         picking.
11545
11546         * clutter/clutter-actor.c:
11547         * clutter/clutter-actor.h:
11548         * clutter/clutter-main.c:
11549         * clutter/clutter-private.h:
11550         * clutter/clutter-stage.c: (clutter_stage_get_actor_at_pos):
11551         Redo picking functionality a different way (via color indexing)
11552         as to provide more flexibility, possibly speed and more likely
11553         work with GL/ES (doesn't currently however - not sure why).
11554
11555         * clutter/clutter-group.c:
11556         Add groups own 'pick' method.
11557
11558         * clutter/cogl/cogl.h:
11559         * clutter/cogl/gl/cogl.c:
11560         * clutter/cogl/gles/cogl.c:
11561         Move clipping funtionality into cogl.
11562
11563         * clutter/cogl/gles/cogl-defines.h:
11564         Hack around missing BGR format in GL/ES.
11565
11566         * clutter/egl/clutter-backend-egl.c:
11567         * clutter/egl/clutter-backend-egl.h:
11568         * clutter/egl/clutter-stage-egl.c:
11569         * clutter/sdl/clutter-backend-sdl.c:
11570         * clutter/sdl/clutter-backend-sdl.h:
11571         * clutter/sdl/clutter-event-sdl.c:
11572         * clutter/sdl/clutter-stage-sdl.c:
11573         Update backends to newer API.
11574         Add basic mouse event translation to SDL.
11575
11576 2007-05-25  Matthew Allum  <mallum@openedhand.com>
11577
11578         * clutter/clutter-color.c: (clutter_color_parse):
11579         Handle #rrggbbaa color setting strings (i.e with alpha).
11580         Set alpha to 0xff if it is not specified.
11581
11582         * clutter/clutter-stage.c: (clutter_stage_get_actor_at_pos)
11583         Increase select buffer.
11584
11585         * examples/super-oh.c:
11586         Fix up use of clutter_group_show_all()
11587
11588 2007-05-25  Tomas Frydrych  <tf@openedhand.com>
11589
11590         * clutter/clutter-actor.c:
11591         * clutter/clutter-actor.h:
11592         Renamed clutter_actor_scalex() to clutter_actor_set_scale_with_gravityx
11593         Added floating point version clutter_actor_set_scale_with_gravity.
11594
11595         * clutter/clutter-units.h:
11596         * clutter/clutter-actor.h:
11597         typedef ClutterUnit
11598
11599         * clutter/clutter-fixed.h:
11600         * clutter/clutter-stage.c:
11601         CLUTTER_ANGLE_FROM_DEG(), CLUTTER_ANGLE_FROM_DEGX()
11602         renamed CLUTTER_DEGF_TO_CLUTTER_ANGLE to CLUTTER_ANGLE_FROM_DEGF
11603
11604         * clutter/clutter-behaviour-ellipse.h:
11605         * clutter/clutter-behaviour-ellipse.c:
11606         * examples/behave.c:
11607         (clutter_behaviour_ellipse_new):
11608         Changed signature to take angles in degrees, and x,y offsets.
11609         (clutter_behaviour_ellipse_newx):
11610         Fixed version clutter_behaviour_ellipse_new.
11611         (clutter_behaviour_ellipse_set_center):
11612         (clutter_behaviour_ellipse_get_center):
11613         Changed signature to take x,y coords instead of ClutterKnot.
11614
11615         clutter/cogl/gl/cogl.c:
11616         clutter/cogl/gles/cogl.c:
11617         (cogl_setup_viewport):
11618         Added z_camera calculation.
11619
11620 2007-05-25  Matthew Allum  <mallum@openedhand.com>
11621
11622         * Makefile.am:
11623         Install a default flavour .pc file.
11624
11625         * clutter/clutter-actor.c:
11626         Translate units correctly for translate()
11627
11628         * clutter/clutter-feature.h:
11629         Add new texture features.
11630
11631         * clutter/clutter-fixed.h:
11632         Add clutter angle conversion defines.
11633
11634         * clutter/clutter-group.c:
11635         Use cogl not GL. Dont recurse on show all.
11636
11637         * clutter/clutter-private.h:
11638         Remove sync_viewport.
11639
11640         * clutter/clutter-rectangle.c:
11641         Fix cogl typo.
11642
11643         * clutter/clutter-stage.c:
11644         * clutter/clutter-stage.h:
11645         Add perspective settings. Remove viewport_sync.
11646         Add audience stubs. Fix up actor_at_pos a little (still broken)
11647
11648         * clutter/clutter-texture.h:
11649         * clutter/clutter-texture.c:
11650         Redo pixel uploading. Add initial (disabled) YUV support.
11651
11652         * clutter/clutter-timeline.c:
11653         Fire 'completed' signal when looping.
11654
11655         * clutter/cogl/gl/cogl.c:
11656         Move some backend checks here.
11657
11658         * clutter/glx/clutter-backend-glx.c:
11659         Actually check target display has GLX ext.
11660
11661         * clutter/glx/clutter-stage-glx.c:
11662         Handle offscreen failing more gracefully.
11663
11664         * examples/Makefile.am:
11665         Use AM_LDFLAGS.
11666
11667         * clutter/clutter-main.c:
11668         * clutter/clutter-feature.c:
11669         * clutter/clutter-backend.c:
11670         * clutter/clutter-alpha.c:
11671         Fix a compile warnings.
11672
11673         * tests/Makefile.am:
11674         * tests/test-offscreen.c:
11675         * tests/test-scale.c:
11676         More tests.
11677
11678 2007-05-23  Tomas Frydrych  <tf@openedhand.com>
11679
11680         * clutter/clutter-actor.c:
11681         * clutter/clutter-actor.h:
11682         (clutter_actor_get_abs_size_units):
11683         (clutter_actor_get_abs_position_units):
11684         removed from public api
11685
11686 2007-05-22  Tomas Frydrych  <tf@openedhand.com>
11687
11688         * configure.ac:
11689         * Makefile.am:
11690         * clutter.pc.in:
11691         * clutter/Makefile.am:
11692         * clutter/clutter-actor.c:
11693         * clutter/clutter-actor.h:
11694         * clutter/clutter-group.c:
11695         * clutter/clutter-label.c:
11696         * clutter/clutter-real.h:
11697         * clutter/clutter-units.h:
11698         * clutter/clutter.h:
11699         * clutter/egl/clutter-stage-egl.c:
11700         * clutter/glx/clutter-stage-glx.c:
11701         * clutter/sdl/clutter-stage-sdl.c:
11702         * examples/Makefile.am:
11703         * tests/Makefile.am:
11704         Removed ClutterReal; added clutter-units.
11705
11706 2007-05-18  Tomas Frydrych  <tf@openedhand.com>
11707
11708         * configure.ac:
11709         * Makefile.am:
11710         * clutter.pc.in:
11711         * clutter/Makefile.am:
11712         * clutter/clutter-actor.c:
11713         * clutter/clutter-actor.h:
11714         * clutter/clutter-behaviour-scale.c:
11715         * clutter/clutter-behaviour-scale.h:
11716         * clutter/clutter-group.c:
11717         * clutter/clutter-label.c:
11718         * clutter/clutter-real.h:
11719         * clutter/egl/clutter-stage-egl.c:
11720         * clutter/glx/clutter-stage-glx.c:
11721         * examples/Makefile.am:
11722         * tests/Makefile.am:
11723         ClutterReal type.
11724
11725 2007-05-17  Emmanuele Bassi  <ebassi@openedhand.com>
11726
11727         * clutter/clutter-main.c: Use clutter_base_init() inside the
11728         initialisation process, instead of calling g_type_init() directly.
11729
11730         * clutter/clutter-alpha.c:
11731         * clutter/clutter-behaviour-bspline.c:
11732         * clutter/clutter-behaviour-ellipse.c: Fix API documentation.
11733
11734 2007-05-17  Matthew Allum  <mallum@openedhand.com>
11735
11736         * configure.ac:
11737         Fix CLUTTER_NO_FPU typo.
11738
11739 2007-05-17  Tomas Frydrych  <tf@openedhand.com>
11740
11741         * clutter/clutter-alpha.h:
11742         * clutter/clutter-alpha.c:
11743         * doc/reference/clutter-sections.txt:
11744         Added clutter_exp_inc_func() and clutter_exp_dec_func().
11745
11746 2007-05-16  Emmanuele Bassi  <ebassi@openedhand.com>
11747
11748         * clutter/clutter-main.[ch]: Add clutter_base_init(), semi-private
11749         function to initialise just the base Clutter functionalities; it's
11750         only used by gtk-doc to introspect the classes.
11751
11752         * clutter/clutter-feature.c: Do not access the private features
11753         data structure unless it has been initialised.
11754
11755 2007-05-16  Tomas Frydrych  <tf@openedhand.com>
11756
11757         * clutter/clutter-alpha.h:
11758         * clutter/clutter-alpha.c:
11759         * doc/reference/clutter-sections.txt:
11760         Added clutter_sine_half().
11761
11762 2007-05-16  Tomas Frydrych  <tf@openedhand.com>
11763
11764         * clutter/clutter-alpha.h:
11765         * clutter/clutter-alpha.c:
11766         * doc/reference/clutter-sections.txt:
11767         Fixed clutter_sine_inc(), added clutter_sine_dec().
11768
11769 2007-05-16  Tomas Frydrych  <tf@openedhand.com>
11770
11771         * clutter/clutter-alpha.h:
11772         * clutter/clutter-alpha.c:
11773         * doc/reference/clutter-sections.txt:
11774         * doc/rererence/clutter.types:
11775         * doc/reference/tmpl/clutter-alpha.sgml:
11776         clutter_smoothstep_func alpha function,
11777         ClutterSmoothstep struct for smoothstep function data.
11778
11779 2007-05-16  Matthew Allum  <mallum@openedhand.com>
11780
11781         * clutter/clutter-backend.c:
11782         * clutter/clutter-backend.h:
11783         * clutter/clutter-feature.c:
11784         * clutter/clutter-feature.h:
11785         * clutter/clutter-main.c:
11786         * clutter/clutter-main.h:
11787         * clutter/clutter-private.h:
11788         * clutter/clutter-stage.c:
11789         * clutter/cogl/cogl.h:
11790         * clutter/cogl/gl/cogl.c:
11791         * clutter/cogl/gles/cogl.c:
11792         * clutter/glx/clutter-backend-glx.c:
11793         * clutter/glx/clutter-backend-glx.h:
11794         * clutter/glx/clutter-glx.h:
11795         * clutter/glx/clutter-stage-glx.c:
11796         * clutter/glx/clutter-stage-glx.h:
11797         Rejig the features() foo, moving mostly into backends/cogl.
11798
11799 2007-05-15  Tomas Frydrych  <tf@openedhand.com>
11800
11801         * clutter/clutter-actor.c:
11802         (clutter_actor_get_abs_position):
11803         Removed unnecessary CFX_MUL().
11804
11805 2007-05-15  Tomas Frydrych  <tf@openedhand.com>
11806
11807         * clutter/clutter-behaviour-ellipse.h:
11808         * clutter/clutter-behaviour-ellipse.c:
11809         (clutter_behaviour_ellipse_new):
11810         Added a tilt parameter.
11811
11812 2007-05-14  Matthew Allum  <mallum@openedhand.com>
11813
11814         * clutter/clutter-behaviour-path.c:
11815         Fix bug where last knot position wouldn't get reached.
11816
11817         * clutter/clutter-group.c:
11818         Add some docs
11819
11820         * clutter/clutter-timeline.h:
11821         * clutter/clutter-timeline.c:
11822         Add clutter_timeline_copy (needed for ClutterEffect)
11823
11824         * clutter/clutter-version.h.in:
11825         Export windowing system / GL backend etc defines.
11826
11827         * clutter/Makefile.am:
11828         * clutter/clutter-effect.c:
11829         * clutter/clutter-effect.h:
11830         * clutter/clutter.h:
11831
11832         * clutter/glx/clutter-backend-glx.c:
11833         Minor clean ups.
11834
11835         * clutter/clutter-alpha.h:
11836         Add a fixme.
11837
11838         * configure.ac:
11839         Add FPU define.
11840
11841         * examples/Makefile.am:
11842         * examples/slider.c:
11843         Add Robs slider game.
11844
11845 2007-05-10  Matthew Allum  <mallum@openedhand.com>
11846
11847         * clutter/egl/clutter-backend-egl.c:
11848         * clutter/egl/clutter-event-egl.c:
11849         * clutter/sdl/clutter-backend-sdl.c:
11850         * clutter/sdl/clutter-event-sdl.c:
11851         Fix SDL & EGL backends to work with newer backend code.
11852
11853 2007-05-10  Tomas Frydrych  <tf@openedhand.com>
11854
11855         * clutter/clutter-color.h:
11856         * clutter/clutter-color.c:
11857         Added clutter_color_to/from_hlsx()
11858         (clutter_color_to/from_hls):
11859         Clobber hue to 0 .. 250
11860
11861 2007-05-10  Matthew Allum  <mallum@openedhand.com>
11862
11863         * clutter/clutter-backend.c:
11864         * clutter/clutter-backend.h:
11865         * clutter/clutter-event.c:
11866         * clutter/clutter-main.c:
11867         * clutter/clutter-private.h:
11868         * clutter/glx/clutter-backend-glx.c:
11869         * clutter/glx/clutter-backend-glx.h:
11870         * clutter/glx/clutter-event-glx.c:
11871         Rejig backend event code as to simplify a little.
11872         NOTE: This breaks non glx backends.
11873
11874         * tests/Makefile.am:
11875         * tests/test-events.c:
11876         Add a very simple event test.
11877
11878         * tests/test-textures.c: (main):
11879         Add some more sizes to the test.
11880
11881 2007-05-05  Matthew Allum  <mallum@openedhand.com>
11882
11883         * clutter/clutter-texture.c:
11884         Fix typos with new cogl using texture code. Fixes tiled textures.
11885         Add a check for max npots size.
11886
11887         * configure.ac:
11888         * Makefile.am:
11889         * tests/Makefile.am:
11890         * tests/test-textures.c:
11891         Add a simple texture test.
11892
11893 2007-05-02  Matthew Allum  <mallum@openedhand.com>
11894
11895         * clutter/Makefile.am:
11896         * clutter/clutter-stage.c:
11897         * clutter/sdl/Makefile.am:
11898         * clutter/sdl/clutter-backend-sdl.c:
11899         * clutter/sdl/clutter-backend-sdl.h:
11900         * clutter/sdl/clutter-event-sdl.c:
11901         * clutter/sdl/clutter-sdl.h:
11902         * clutter/sdl/clutter-stage-sdl.c:
11903         * clutter/sdl/clutter-stage-sdl.h:
11904         * configure.ac:
11905         Add a basic SDL based backend. Lacks real input event handling
11906         (translation) as yet.
11907         Also allows for clutter to be built against dgles.
11908
11909 2007-05-02  Matthew Allum  <mallum@openedhand.com>
11910
11911         * clutter/clutter-actor.c:
11912         * clutter/cogl/gles/cogl.c:
11913         Fix rotation + other fixed point cleanups.
11914
11915         * clutter/clutter-texture.h:
11916         Sketch out an updated API.
11917
11918 2007-05-01  Matthew Allum  <mallum@openedhand.com>
11919
11920         * clutter/clutter-rectangle.c:
11921         Comment out color match check for now as appears to be causing
11922         borders to always get pained.
11923
11924         * clutter/clutter-texture.h:
11925         Add some format defines (unused as yet)
11926
11927         * clutter/cogl/gles/cogl.c:
11928         * clutter/egl/clutter-stage-egl.c:
11929         * configure.ac:
11930         Various OpenGL ES backend related fixes and tweaks.
11931
11932 2007-04-30  Tomas Frydrych  <tf@openedhand.com>
11933
11934         * clutter/clutter-fixed.c (clutter_sini):
11935         Fixed bug in reducing angle to 0-2pi.
11936
11937         * clutter/clutter-behaviour-ellipse.h:
11938         * clutter/clutter-behaviour-ellipse.c:
11939         * clutter/clutter.h:
11940         * clutter/Makefile.am:
11941         * doc/clutter.types:
11942         * doc/clutter-docs.sgml:
11943         Added ClutterBehaviourEllipse for movement along
11944         elliptic paths.
11945
11946         * examples/bspline.c:
11947         * examples/behave.c:
11948         * examples/Makefile.am:
11949         Added --path commandline option to behave to choose different
11950         path types (poly, ellipse, bspline) and dropped bspline example.
11951
11952 2007-04-28  Matthew Allum  <mallum@openedhand.com>
11953
11954         * clutter/Makefile.am:
11955         * clutter/clutter-debug.h:
11956         * clutter/clutter-fixed.h:
11957         * clutter/clutter-main.c:
11958         * clutter/cogl/gles/Makefile.am:
11959         * clutter/cogl/gles/cogl-defines.h:
11960         * clutter/cogl/gles/cogl.c:
11961         * clutter/egl/clutter-backend-egl.c:
11962         * clutter/egl/clutter-backend-egl.h:
11963         * clutter/egl/clutter-stage-egl.c:
11964         * configure.ac:
11965         Populate most stubs for cogl GL/ES implementation.
11966         (against vincent - see http://svn.o-hand.com/repos/misc/ogles)
11967         Add various fixups to EGL backend.
11968         Code builds and runs (on 16bpp) but yet displays much (is close!)
11969
11970         * clutter/pango/pangoclutter-render.c:
11971         comment out some rouge glBegin/end calls.
11972
11973 2007-04-27  Matthew Allum  <mallum@openedhand.com>
11974
11975         * clutter/Makefile.am:
11976         * clutter/clutter-actor.c:
11977         * clutter/clutter-clone-texture.c:
11978         * clutter/clutter-rectangle.c:
11979         * clutter/clutter-stage.c:
11980         * clutter/clutter-texture.c:
11981         * clutter/cogl/cogl.h:
11982         * clutter/cogl/gl/Makefile.am:
11983         * clutter/cogl/gl/cogl-defines.h:
11984         * clutter/cogl/gl/cogl.c:
11985         * clutter/cogl/gles/Makefile.am:
11986         * clutter/cogl/gles/cogl-defines.h:
11987         * clutter/cogl/gles/cogl.c:
11988         * clutter/glx/Makefile.am:
11989         * clutter/glx/clutter-stage-glx.c:
11990         * clutter/pango/Makefile.am:
11991         * clutter/pango/pangoclutter-render.c:
11992         * configure.ac:
11993         Add initial 'cogl' implementation. 'cogl' is a simple abstration
11994         layer over GL and GL/ES used by clutter internally. It should
11995         eventually allow clutter applications to be run on both GL and GL/ES
11996         with just a recompile as well as provide more debugging and potentially
11997         profiling information for GL and GL/ES usage.
11998
11999         This commit contains the initial GL implementation.
12000
12001 2007-04-26  Emmanuele Bassi  <ebassi@openedhand.com>
12002
12003         Merge from clutter-0-2
12004
12005         * clutter/clutter-label.c: Unbreak the "use-markup" property
12006         by actually passing the markup to pango_layout_set_markup().
12007
12008 2007-04-25  Emmanuele Bassi  <ebassi@openedhand.com>
12009
12010         Merge from clutter.git/master
12011
12012         * clutter/glx/clutter-event-glx.c:
12013         * clutter/glx/clutter-stage-glx.c: Implement the _NET_WM_PING
12014         protocol handling on the main stage window.
12015
12016         * clutter/clutter-stage.h:
12017         * clutter/clutter-stage.c:
12018         * clutter/clutter-main.c: Handle CLUTTER_DELETE events internally,
12019         by calling clutter_main_quit(), and remove the ::delete-event
12020         signal from ClutterStage; clean up the signal emission sequence
12021         for the events: emit the ::event signal before emitting any signal
12022         and the ::event-after signal after the signal has been emitted; move
12023         the signal emission calls inside ClutterStage so we can call
12024         g_signal_emit() instead of g_signal_emit_by_name(), thus sparing us
12025         a lookup for each event.
12026
12027         * examples/test.c: Remove ::delete-event signal handling.
12028
12029 2007-04-19  Emmanuele Bassi  <ebassi@openedhand.com>
12030
12031         Merge from clutter.git/master
12032
12033         * clutter/clutter-backend.h:
12034         * clutter/clutter-backend.c: Add API for getting screen/display
12035         properties from the backend.
12036
12037         * clutter/glx/clutter-backend-glx.c:
12038         * clutter/glx/clutter-backend-egl.c: Retrieve screen/display
12039         properties inside the backends init function.
12040
12041         * clutter/glx/clutter-event-glx.c: Handle the WM_PROTOCOLS
12042         ClientMessage events.
12043
12044         * clutter/glx/clutter-stage-glx.c: Use XSetWMProtocols to enable
12045         the WM_PROTOCOLS ClientMessage events on the stage window.
12046
12047         * clutter/glx/clutter-glx.h: Return the Screen pointer and not
12048         the screen number in clutter_glx_get_default_screen(). The screen
12049         number is returned by clutter_backend_get_screen_number(), or
12050         by calling XScreenNumberOfScreen on the returned pointer.
12051
12052         * clutter/clutter-event.h: Add CLUTTER_DELETE to the event types.
12053
12054         * clutter/clutter-main.c: Emit the ClutterStage::delete-event
12055         when receiving a CLUTTER_DELETE event; if the signal handlers
12056         return FALSE, call clutter_main_quit().
12057
12058         * clutter/clutter-marshal.list:
12059         * clutter/clutter-stage.c: Use the right marshaller function
12060         for the delete-event closure.
12061
12062         * examples/test.c: Test the "delete-event" signal handler.
12063
12064 2007-04-16  Emmanuele Bassi  <ebassi@openedhand.com>
12065
12066         Merge from clutter.git/merge-from-stable
12067
12068         * clutter/clutter-event.h:
12069         * clutter/glx/clutter-event-glx.c: Add the XEMBED protocol support
12070         in the GLX backend, for embedding the stage window into another
12071         X window. This allows cross-toolkit inclusion and makes clutter-gtk
12072         possible.
12073
12074         * clutter/clutter-behaviour-scale.c: Implement every ClutterGravity
12075         value inside the scale behaviour and make the actors anchor to a
12076         gravity when scaling up and down.
12077
12078         * clutter/clutter-texture.c: Revert to copying GdkPixbuf areas to
12079         correctly implement the texture tiling. This fixes segmentation
12080         faults occurring with cards with a small texture memory area.
12081
12082         * clutter/clutter-actor.c: Call g_object_freeze_notify() (and take
12083         a reference on the actor) inside clutter_actor_request_size() so
12084         that the notifications get unqueued at the end of the size request.
12085
12086 2007-04-16  Emmanuele Bassi  <ebassi@openedhand.com>
12087
12088         Merge from clutter.git/work
12089
12090         * clutter/clutter-behaviour-bspline.[ch]: Return a ClutterBehaviour
12091         when splicing the b-spline; fix the header and the API documentation;
12092         hush the compiler warnings; kill of some pointer indirections.
12093
12094         * clutter/clutter-behaviour-rotate.[ch]: Add a rotate behaviour,
12095         with user defined axis, direction and sweep angle.
12096
12097         * clutter/clutter-behaviour.c (clutter_behaviour_is_applied): Add
12098         a parameter ISA check and return FALSE if it fails.
12099
12100 2007-04-12  Tomas Frydrych  <tf@openedhand.com>
12101
12102         * clutter/clutter-behaviour.h:
12103         * clutter/clutter-behaviour.c:
12104         * clutter/clutter-behaviour-path.h:
12105         * clutter/clutter-behaviour-path.c:
12106         Moved declaration of ClutterKnot from clutter-behaviour path
12107         into clutter-behaviour.
12108
12109         * clutter/clutter-fixed.h
12110         * clutter/clutter-fixed.c
12111         Added myself as an author.
12112
12113         * clutter/Makefile.am:
12114         * clutter/clutter.h:
12115         * clutter/clutter-behaviour-bspline.h:
12116         * clutter/clutter-behaviour-bspline.c:
12117         Added new bezier spline behaviour.
12118
12119         * examples/bspline.c:
12120         * examples/Makefile.am:
12121         An example of using bspline path.
12122
12123 2007-04-07  Matthew Allum  <mallum@openedhand.com>
12124
12125         * clutter/glx/clutter-backend-glx.c:
12126         Fix version check.
12127
12128 2007-03-29  Tomas Frydrych  <tf@openedhand.com>
12129
12130         * clutter/clutter-stage.c:
12131         (perspective): fixed degree -> rad conversion for fovy angle
12132         (perspectivex): fixed degree -> rad conversion for fovy angle,
12133         added code for gle glMultMatrixx().
12134
12135 2007-03-29  Tomas Frydrych  <tf@openedhand.com>
12136
12137         * configure.ac: fixed typo
12138
12139         * clutter/clutter-fixed.c:
12140         * clutter/clutter-fixed.h:
12141         (clutter_tani): fast implementation of tan()
12142         (clutter_qmulx): improved-precission fixed point multiply
12143
12144         * clutter/clutter-stage.c:
12145         (perspectivex): fixed point implementaiton of perspective()
12146         (_clutter_stage_sync_viewport):
12147         (clutter_stage_get_actor_at_pos):
12148         use perspectivex() instead of perspective()
12149
12150 2007-03-27  Matthew Allum  <mallum@openedhand.com>
12151
12152         * clutter/cogl/Makefile.am:
12153         * clutter/cogl/cogl.h:
12154         * clutter/cogl/gles/Makefile.am:
12155         * clutter/cogl/gles/cogl.c:
12156         Begin poplulating cogl GLES code.
12157
12158         * configure.ac:
12159         * clutter/egl/clutter-event-egl.c:
12160         * clutter/egl/clutter-stage-egl.c:
12161         * clutter/egl/clutter-stage-egl.h:
12162         * clutter/egl/clutter-backend-egl.c:
12163         * clutter/egl/clutter-backend-egl.h:
12164         * clutter/egl/clutter-egl.h:
12165         Add initial EGL/X backend work mostly ported from backend branch.
12166         Builds but untested as yet.
12167
12168         * clutter/glx/clutter-stage-glx.c:
12169         Only include XFixes Header if we have have it.
12170
12171         * clutter/clutter-behaviour.c: (clutter_behaviour_apply):
12172         * clutter/clutter-behaviour.h:
12173         Add clutter_behaviour_is_applied()
12174
12175 2007-03-27  Emmanuele Bassi  <ebassi@openedhand.com>
12176
12177         * clutter/clutter-stage.h: Remove unused clutter_stage_flush()
12178         declaration.
12179
12180 2007-03-27  Emmanuele Bassi  <ebassi@openedhand.com>
12181
12182         * clutter/glx/clutter-glx.h:
12183         * clutter/glx/clutter-stage-glx.c: (Re-)Implement the foreign
12184         window setting function for the stage in the GLX backend.
12185
12186 2007-03-27  Emmanuele Bassi  <ebassi@openedhand.com>
12187
12188         * clutter/clutter-stage.h: Declare the clutter_perspective_get_type()
12189         function in the header.
12190
12191 2007-03-27  Emmanuele Bassi  <ebassi@openedhand.com>
12192
12193         * clutter/cogl/cogl.h: Add header and compiler guards.
12194
12195 2007-03-27  Emmanuele Bassi  <ebassi@openedhand.com>
12196
12197         * clutter/glx/clutter-stage-glx.c: Remove the check in the
12198         paint chain up: we know for sure that the parent's paint
12199         vfunc is present.
12200
12201 2007-03-27  Matthew Allum  <mallum@openedhand.com>
12202
12203         * clutter/clutter-feature.c:
12204         Rejig ifdef's a little. Make drm vblanking Linux only.
12205
12206         * clutter/clutter-stage.c:
12207         * clutter/clutter-stage.h:
12208         Add a perspective boxed type.
12209
12210         * clutter/glx/clutter-stage-glx.c:
12211         Add some FIXMEs
12212
12213         * clutter/Makefile.am:
12214         * clutter/cogl/Makefile.am:
12215         * clutter/cogl/cogl.h:
12216         * clutter/cogl/gl/Makefile.am:
12217         * clutter/cogl/gl/cogl.c:
12218         * configure.ac:
12219         Very initial work on 'cogl' GL/GLES abstraction/utility code.
12220
12221 2007-03-26  Emmanuele Bassi  <ebassi@openedhand.com>
12222
12223         * clutter/clutter-behaviour-scale.[ch]: Add API for getting
12224         the scale bounds and the gravity from a scale behaviour instance.
12225
12226 2007-03-26  Emmanuele Bassi  <ebassi@openedhand.com>
12227
12228         * clutter/clutter-timeline.c: Fix last commit.
12229
12230 2007-03-25  Emmanuele Bassi  <ebassi@openedhand.com>
12231
12232         * clutter/clutter-timeline.c: Slightly lower the proiority
12233         of the ClutterTimeline tick, so that events get a higher
12234         priority in the main loop.
12235
12236 2007-03-25  Emmanuele Bassi  <ebassi@openedhand.com>
12237
12238         * clutter/clutter-event.[ch]: Remove the flags member from
12239         the ClutterEvent structure; remove the ClutterEventFlags
12240         enum.
12241
12242 2007-03-25  Emmanuele Bassi  <ebassi@openedhand.com>
12243
12244         * clutter/clutter-stage.h: Remove the ::get_actor_at_pos()
12245         and ::flush() vfuncs.
12246
12247         * clutter/glx/clutter-stage-glx.c: Remove the implementations
12248         of those vfuncs from the backend specific code, as they are
12249         pure GL calls.
12250
12251         * clutter/clutter-stage.c: Add back the actor hit detection
12252         code in the base stage class, along with the viewport
12253         synchronisation function.
12254
12255         * clutter/clutter-private.h: Declare the private function
12256         _clutter_stage_sync_viewport().
12257
12258 2007-03-23  Emmanuele Bassi  <ebassi@openedhand.com>
12259
12260         * clutter/clutter-backend.c: Clear the event queue when
12261         disposing the backend object; remove the initialisation
12262         of the backend structure members...
12263
12264         * clutter/glx/clutter-backend-glx.c: ... and keep it here
12265         in the backends where it belongs.
12266
12267 2007-03-23  Emmanuele Bassi  <ebassi@openedhand.com>
12268
12269         * clutter/clutter-private.h:
12270         * clutter/clutter-backend.h: Move the backend functions
12271         into the private header.
12272
12273         * clutter/glx/clutter-stage-glx.c:
12274         * clutter/glx/clutter-event-glx.c:
12275         * clutter/clutter-main.c:
12276         * clutter/clutter-stage.c: Update the calls to the private
12277         backend functions.
12278
12279         * clutter/clutter-backend.[ch]: Add an ::init_features
12280         vfunc to ClutterBackend.
12281
12282 2007-03-23  Emmanuele Bassi  <ebassi@openedhand.com>
12283
12284         * clutter/glx/clutter-stage-glx.c:
12285         Make sure the top-left corner of the box is our origin,
12286         when returning the allocation.
12287
12288         * clutter/clutter-stage.c:
12289         * clutter/clutter-group.c: Add tracing for the paint
12290         method.
12291
12292 2007-03-23  Matthew Allum  <mallum@openedhand.com>
12293
12294         * clutter/glx/clutter-stage-glx.c:
12295         (clutter_stage_glx_allocate_coords):
12296         Make new stage return correct width & height.
12297
12298 2007-03-23  Emmanuele Bassi  <ebassi@openedhand.com>
12299
12300         Assorted build fixes to pass distcheck.
12301
12302         * clutter/glx/Makefile.am: Install the clutter-glx.h header.
12303
12304         * clutter/Makefile.am: Actually apply linker flags.
12305
12306         * configure.ac: Use a more readable CLUTTER_API_VERSION instead
12307         of CLUTTER_MAJORMINOR; require gobject-2.0 with glib-2.0 >= 2.10,
12308         as we are using GObject and the slice allocator from glib 2.10.
12309
12310         * clutter.pc.in: Add the apiversion variable.
12311
12312 2007-03-23  Emmanuele Bassi  <ebassi@openedhand.com>
12313
12314         * clutter/clutter-event.c: Pop and peek the event queue
12315         from the tail - it's a queue, not a stack.
12316
12317         * clutter/clutter-private.h:
12318         * clutter/clutter-main.c: Add a boolean signal accumulator.
12319
12320         * clutter/clutter-stage.[ch]: Add an event argument to
12321         the 'delete-event' signal; rename the 'input-event' signal
12322         to 'event'; add the static scope flag to all the stage
12323         events.
12324
12325         * examples/*.c: Update.
12326
12327 2007-03-22  Emmanuele Bassi  <ebassi@openedhand.com>
12328
12329         * clutter.pc.in: Require gobject-2.0 too.
12330
12331         * ChangeLog: Fix the previous commit log.
12332
12333 2007-03-22  Emmanuele Bassi  <ebassi@openedhand.com>
12334
12335         * clutter/clutter-private.h: Remove inclusion of backend-specific
12336         headers; update the main context object; add the declarations for
12337         the event queue functions.
12338
12339         * clutter/clutter-backend.[ch]: Add the abstract ClutterBackend
12340         object, which holds backend-specific settings, the main stage,
12341         and the event queue. Every backend must implement a subclass of
12342         ClutterBackend and ClutterStage.
12343
12344         * clutter/clutter-feature.c: Protect the GLX specific calls
12345         behing #ifdef HAVE_CLUTTER_GLX.
12346
12347         * clutter/clutter-actor.c:
12348         * clutter/clutter-group.c:
12349         * clutter/clutter-clone-texture.c: Include GL/gl.h
12350
12351         * clutter/clutter-event.[ch]: Update public API and implement the
12352         event queue private API; hold a reference on the event objects;
12353         move out the keysym-to-unicode table; add the new event types.
12354
12355         * clutter/clutter-color.h: Include clutter-fixed.h
12356
12357         * clutter/clutter-main.c: Update API; get the main stage
12358         from the backend object; process the event received from the
12359         queue; lock/unlock the main mutex if we have one; move the
12360         initialisation process sooner in the init sequence, in order to
12361         have the backend object when we check for options; call the
12362         backed vfuncs in the pre/post parse hooks.
12363
12364         * clutter/clutter-stage.c: Make ClutterStage and abstract class,
12365         implemented by the backends.
12366
12367         * clutter/clutter/glx/clutter-glx.h:
12368         * clutter/clutter/glx/clutter-backend-glx.[ch]:
12369         * clutter/clutter/glx/clutter-event-glx.c:
12370         * clutter/clutter/glx/clutter-stage-glx.[ch]:
12371         * clutter/clutter/glx/Makefile.am: Add the GLX backend.
12372
12373         * clutter/clutter/egl/clutter-backend-egl.[ch]:
12374         * clutter/clutter/egl/clutter-event-egl.c:
12375         * clutter/clutter/egl/clutter-stage-egl.[ch]:
12376         * clutter/clutter/egl/Makefile.am: Add the stub for a EGL backend.
12377
12378         * examples/*.c: Update for the new API.
12379
12380         * configure.ac: Check for the XFixes X extension; add a configure
12381         switch for choosing the backend; show the backend we are building
12382         in the summary.
12383
12384         * clutter.pc.in: Add the backend to the exported variables.
12385
12386         * clutter/Makefile.am: Install the headers in the
12387         clutter-$api_version/clutter directory, as usual; call the shared
12388         object libclutter-$backend-$api_version; build glue for the
12389         backend static library.
12390
12391 2007-03-19  Matthew Allum  <mallum@openedhand.com>
12392
12393         * clutter/clutter-label.c:
12394         Simple doc fix.
12395         * clutter/clutter-texture.c: (clutter_texture_get_pixbuf):
12396         Backport of fix to get_pixbuf on non alpha textures from 0_2 branch.
12397
12398 2007-03-19  Emmanuele Bassi  <ebassi@openedhand.com>
12399
12400         * clutter/clutter-texture.c: Clean up code; add checks
12401         in public API.
12402
12403 2007-02-18  Matthew Allum  <mallum@openedhand.com>
12404
12405         * clutter/clutter-actor.c: (clutter_actor_reparent):
12406         Add a FIXME re calling clutter_group here.
12407         * clutter/clutter-group.c:
12408         Fix clutter_group_remove_all
12409
12410 2007-02-15  Matthew Allum  <mallum@openedhand.com>
12411
12412         * clutter/clutter-group.h:
12413         Add missing clutter_group_remove_all declaration.
12414
12415 2007-02-14  Matthew Allum  <mallum@openedhand.com>
12416
12417         * clutter/Makefile.am:
12418         * clutter/clutter-main.c:
12419         * clutter/clutter-stage.c:
12420         * clutter/clutter-version.h.in:
12421         * configure.ac:
12422         * examples/super-oh.c:
12423         Add CLUTTER_FLAVOUR define.
12424
12425 2007-02-13  Matthew Allum  <mallum@openedhand.com>
12426
12427         * examples/super-oh.c: (screensaver_setup):
12428         Fix example to build with new glx api
12429
12430 2007-02-07  Emmanuele Bassi  <ebassi@openedhand.com>
12431
12432         * clutter/clutter-debug.h: Define the CLUTTER_MARK()
12433         macro even when CLUTTER_ENABLE_DEBUG is not
12434         defined. (#215)
12435
12436 2007-01-30  Tomas Frydrych  <tf@openedhand.com>
12437
12438         * clutter/clutter-alpha.c:
12439         (sincx1024_func):
12440         (clutter_sine_func):
12441         (clutter_sine_inc_func):
12442         fixed the fixed point math.
12443
12444 2007-01-30  Emmanuele Bassi  <ebassi@openedhand.com>
12445
12446         * clutter/clutter-alpha.h:
12447         * clutter/clutter-alpha.c: Add the square waveform
12448         function clutter_square_func() to the precooked
12449         alpha functions.
12450
12451 2007-01-23  Matthew Allum  <mallum@openedhand.com>
12452
12453         * Makefile.am:
12454         * clutter.pc.in:
12455         * clutter/Makefile.am:
12456         * clutter/clutter-backend-glx.c:
12457         * clutter/clutter-backend-glx.h:
12458         * clutter/clutter-event.c:
12459         * clutter/clutter-feature.c:
12460         * clutter/clutter-group.c:
12461         * clutter/clutter-main.c:
12462         * clutter/clutter-main.h:
12463         * clutter/clutter-private.h:
12464         * clutter/clutter-stage-glx.c:
12465         * clutter/clutter-stage-glx.h:
12466         * clutter/clutter-stage.c:
12467         * clutter/clutter-stage.h:
12468         * clutter/clutter-util.c:
12469         * clutter/clutter-util.h:
12470         * clutter/pango/pangoclutter-render.c:
12471         * configure.ac:
12472         * examples/Makefile.am:
12473         Initial work in supporting different GL backends (ie. GLX/EGL/DirectFB etc).
12474         Currently just GLX supported and now mostly self contained.
12475
12476         * TODO:
12477         Add a note about caching glenables
12478
12479 2007-01-23  Tomas Frydrych  <tf@openedhand.com>
12480
12481         * clutter/clutter-fixed.c:
12482         (_clutter_double_to_fixed):
12483         (_clutter_double_to_int):
12484         Fixed to avoid problems with punned pointers and gcc
12485         optimatisation.
12486
12487         * clutter/pango/pangoclutter-private.h:
12488         Simplified PANGO_PIXELS_26_6 macro.
12489
12490         * clutter/pango/pangoclutter-font.c:
12491         (_pango_clutter_font_new):
12492         Replace floating with fixed point math.
12493
12494 2007-01-19  Tomas Frydrych  <tf@openedhand.com>
12495
12496         * clutter/clutter-fixed.c: (clutter_sqrti):
12497         Use union instead of casting int <-> float to get rid of
12498         punned-pointer warning and avoid gcc optimatisation breaking
12499         the function on arm.
12500
12501 2007-01-19  Emmanuele Bassi  <ebassi@openedhand.com>
12502
12503         Allow the ClutterGroup subclasses to override the add and
12504         remove operations.
12505
12506         * clutter/clutter-group.c: Move the add and remove code from
12507         clutter_group_add() and clutter_group_remove() to the signal
12508         class closures; make the "add" and "remove" signals as
12509         RUN_FIRST.
12510
12511 2007-01-19  Tomas Frydrych  <tf@openedhand.com>
12512
12513         * clutter/clutter-fixed.h.:
12514         * clutter/clutter-fixed.c:
12515         Added fast double to int and double to fixed point conversion
12516         routines; changed CLUTTER_FLOAT_TO_FIXED to use it.
12517         Replaced clutter_sqrti with fixed point implementation of the QIII
12518         algorithm.
12519
12520         * clutter/clutter-behavior-path.c: use clutter_sqrti always
12521
12522         * clutter/clutter-alpha.c:
12523         (sinc_func): replaced double -> int cast with CLUTTER_FLOAT_TO_INT
12524
12525 2007-01-18  Emmanuele Bassi  <ebassi@openedhand.com>
12526
12527         * configure.ac: Post release bump to 0.3.0.
12528
12529 2007-01-18 =============== 0.2 Release ================================
12530
12531 2007-01-18  Matthew Allum  <mallum@openedhand.com>
12532
12533         * clutter.doap:
12534         Update for 0.2 release
12535
12536 2007-01-18  Emmanuele Bassi  <ebassi@openedhand.com>
12537
12538         * clutter/clutter-group.h: Add public functions
12539         clutter_group_get_n_children() and clutter_group_get_nth_child().
12540
12541         * clutter/clutter-behaviour.h:
12542         * clutter/clutter-behaviour.c: Fix header alignment; fix argument
12543         name for apidoc.
12544
12545 2007-01-18  Emmanuele Bassi  <ebassi@openedhand.com>
12546
12547         * clutter/Makefile.am: Use the build dir when linking to the
12548         internal pango clutter renderer.
12549
12550 2007-01-18  Tomas Frydrych  <tf@openedhand.com>
12551
12552         * clutter/clutter-fixed.h: fixed a typo in comment
12553
12554 2007-01-18  Emmanuele Bassi  <ebassi@openedhand.com>
12555
12556         * clutter/clutter-fixed.h: Remove some inline documentation to
12557         make the header more readable.
12558
12559         * clutter/clutter-behaviour.c: The actors are store inside a
12560         GSList and not in a GList, so change the list operations to
12561         use the right API.
12562
12563 2007-01-18  Tomas Frydrych  <tf@openedhand.com>
12564
12565         * clutter/clutter-color.c:
12566         (clutter_color_darken):
12567         (clutter_color_lighten):
12568         Changed calls to clutter_color_shade calls to clutter_color_shadex
12569
12570 2007-01-17  Matthew Allum  <mallum@openedhand.com>
12571
12572         * configure.ac:
12573         Bump up version to 0.2.0
12574
12575 2007-01-17  Tomas Frydrych  <tf@openedhand.com>
12576         * configure.ac:
12577         * clutter/clutter-behavior-path.c:
12578         Added --without-fpu option.
12579
12580         * doc/refrence/tmpl/clutter-fixed.sgml:
12581         * clutter/clutter-fixed.c:
12582         * clutter/clutter-fixed.h:
12583         Documentation for fixed point API.
12584
12585         * AUTHORS: added self.
12586
12587 2007-01-17  Emmanuele Bassi  <ebassi@openedhand.com>
12588
12589         * clutter/clutter-feature.h:
12590         * clutter/clutter-feature.c: Move the GL headers from the
12591         header file to the body.
12592
12593         * clutter/clutter-fixed.h:
12594         * clutter/clutter-fixed.c: Fix apidoc.
12595
12596         * clutter/clutter-color.h:
12597         * clutter/clutter-color.c: Ditto.
12598
12599 2007-01-17  Tomas Frydrych  <tf@openedhand.com>
12600
12601         * clutter/clutter-fixed.h:
12602         * clutter/clutter-fixed.c:
12603         * clutter/clutter-alpha.c:
12604         Renamed clutter_fixed_sin() to clutter_sinx() and
12605         clutter_angle_sin() to clutter_sini(); added clutter_sqrtx()
12606         and clutter_sqrti(); added missing copyright.
12607
12608         * clutter/clutter-behavior.c:
12609         replaced call to sqrt() with clutter_sqrti()
12610
12611         * clutter/clutter-behavior-scale.c:
12612         (clutter_behaviour_scale_alpha_notify):
12613         Replaced floating point math with fixed point.
12614
12615 2007-01-16  Emmanuele Bassi  <ebassi@openedhand.com>
12616
12617         * clutter/clutter-feature.c: Use clutter_vblank_method() to
12618         get the VBlank method name from the environment variable OR
12619         the command line switch.
12620
12621         (clutter_feature_do_init): Move the check on the features
12622         state here, to avoid an expensive function call, and inline
12623         the function.
12624
12625         * clutter/clutter-fixed.c: Fix gtk-doc.
12626
12627         * clutter/clutter-main.c: Add a --clutter-vblank command line
12628         switch controlling the VBlank method to be used: it overrides
12629         the CLUTTER_VBLANK environment variable.
12630
12631         (pre_parse_hook), (clutter_init),
12632         (clutter_init_with_args): Move thread initialisation before
12633         type init, to avoid the warning that comes with newer GLib
12634         versions.
12635
12636         * clutter/clutter-group.h:
12637         * clutter/clutter-group.c: Mark clutter_group_show_all() and
12638         clutter_group_hide_all() as deprecated.
12639
12640 2007-01-16  Matthew Allum  <mallum@openedhand.com>
12641
12642         * NEWS:
12643         Minor tweaks
12644
12645         * TODO:
12646         Sync up, mainly with 0.3 todo items
12647
12648         * clutter/clutter-behaviour.c:
12649         * clutter/clutter-behaviour.h:
12650         clutter_behaviour_get_n_actors() / clutter_behaviour_get_nth_actor()
12651         Additions.
12652
12653         * clutter/clutter-stage.c: (clutter_stage_realize):
12654         Experimental (disabled) visual setting code.
12655
12656         * clutter/clutter-feature.c:
12657         Check for GL_EXT_texture_rectangle (#198  - Frederick Riss)
12658
12659         * clutter/clutter-group.c: (clutter_group_allocate_coords):
12660         Fix for group size allocation (#199 -  Frederick Riss)
12661
12662         * clutter/clutter-texture.c: (texture_upload_data):
12663         Fix texture unpacking row length (#197 Frederick Riss)
12664
12665         * examples/Makefile.am:
12666         Fix LDADD in build (#196 - Frederick Riss)
12667
12668 2007-01-16  Tomas Frydrych  <tf@openedhand.com>
12669
12670         * clutter/clutter-fixed.h:
12671         Added integer ClutterAngle type, protype of clutter_angle_sin,
12672         convenience macros clutter_fixed_cos and clutter_angle_cos, plus
12673         other convenience macros for commonly used constants and ops.
12674         * clutter/clutter-fixed.c:
12675         (clutter_fixed_sin):
12676         Fixed to work for negative angles.
12677         (clutter_angle_sin):
12678         Fast fixed point sin function for ClutterAngle angles.
12679         * clutter/clutter-alpha.c:
12680         (clutter_sin_func, clutter_sin_inc_func):
12681         Changed to use clutter_angle_sin function.
12682         * clutter-behavior-path.c:
12683         replaced floating point with fixed point operations
12684         * clutter/clutter-color.c:
12685         * clutter/clutter-color.h:
12686         Added (clutter_color_shadex), replaced floating point operations
12687         with fixed point
12688
12689 2007-01-15  Tomas Frydrych  <tf@openedhand.com>
12690
12691         * clutter/clutter-fixed.h: (CLUTTER_FIXED_TO_DOUBLE/FLOAT):
12692         Fixed macro so it works for negative values.
12693         * clutter/clutter-fixed.c: (clutter_fixed_sin):
12694         Implemented fixed point sin function.
12695         * clutter/clutter-alpha.c: (clutter_sin_func, clutter_sin_inc_func):
12696         Pluged in fixed point sin function.
12697
12698 2007-01-07  Matthew Allum  <mallum@openedhand.com>
12699
12700         * clutter/clutter-actor.c: (clutter_actor_allocate_coords):
12701         Fix an amazingly not noticed until now typo.
12702         Minor doc tweaks.
12703
12704         * clutter/clutter-behaviour-opacity.c:
12705         (clutter_behaviour_alpha_notify):
12706         Take into account initial opacity value when calculating from alpha.
12707
12708         * clutter/clutter-group.c:
12709         Add new get_nth_child() and get_n_children() api calls.
12710
12711 2007-01-04  Matthew Allum  <mallum@openedhand.com>
12712
12713         * clutter/clutter-actor.c:
12714         * clutter/clutter-actor.h:
12715         Add new set_width/height API calls.
12716         Tweak scaling by reseting matrix.
12717         Make set_opactiy() take parent opacity into account.
12718         Fix clipping.
12719
12720         * clutter/clutter-alpha.c:
12721         Add more sine functionality.
12722
12723         * clutter/clutter-behaviour-opacity.c:
12724         Dont make a copy of all applied actors but use a foreach()
12725
12726         * clutter/clutter-behaviour-scale.c:
12727         Give correct limits to propertys.
12728         Tweak gravity a little more.
12729         Update docs.
12730 :
12731         * clutter/clutter-behaviour.c: (clutter_behaviour_remove):
12732         Minor warning text change.
12733
12734         * clutter/clutter-feature.c: (clutter_feature_wait_for_vblank):
12735         Minor dri ioctl tweak.
12736
12737         * clutter/clutter-label.c:
12738         * clutter/clutter-label.h:
12739         Add new label_full api call.
12740
12741 2006-12-27  Emmanuele Bassi  <ebassi@openedhand.com>
12742
12743         * clutter/clutter-stage.[ch]:
12744         * clutter/clutter-event.[ch]: Revert changes; this is what
12745         happens when you keep old tree around.
12746
12747 2006-12-27  Emmanuele Bassi  <ebassi@openedhand.com>
12748
12749         * clutter/clutter-color.h:
12750         * clutter/clutter-color.c: Add clutter_color_to_string(),
12751         which creates a hex-encoded color string from a ClutterColor.
12752
12753 2006-12-20  Matthew Allum  <mallum@openedhand.com>
12754
12755         * NEWS:
12756         Add some missing improvements.
12757
12758 2006-12-17  Emmanuele Bassi  <ebassi@openedhand.com>
12759
12760         * clutter/clutter-label.c: Remove some gtk-isms; always take
12761         a reference before calling g_object_notify(), as the object
12762         might get disposed while calling the closures inside the
12763         notify queue; notify the changes of the ellipsize property.
12764
12765 2006-12-14  Emmanuele Bassi  <ebassi@openedhand.com>
12766
12767         * clutter/clutter-color.h:
12768         * clutter/clutter-color.c: Expose clutter_color_copy()
12769         and clutter_color_free() for the python bindings, so that
12770         they can manager the conversion automatically; use the
12771         slice allocator when copying/freeing a ClutterColor.
12772
12773 2006-12-13  Emmanuele Bassi  <ebassi@openedhand.com>
12774
12775         * clutter/clutter-color.h:
12776         * clutter/clutter-color.c: Add clutter_color_equal(),
12777         a function for comparing two colors.
12778
12779         * clutter/clutter-rectangle.c:
12780         (clutter_rectangle_set_color),
12781         (clutter_rectangle_set_border_color): Unset the border if
12782         the color of the rectangle and the color of the border are
12783         the same.
12784
12785 2006-12-13  Emmanuele Bassi  <ebassi@openedhand.com>
12786
12787         * clutter/clutter-actor.c:
12788         * clutter/clutter-clone-texture.c:
12789         * clutter/clutter-event.h:
12790         * clutter/clutter-stage.c:
12791         * clutter/clutter-texture.c:
12792         * clutter/clutter-timeline.c: Update the inline apidoc.
12793
12794 2006-12-13  Matthew Allum  <mallum@openedhand.com>
12795
12796         * clutter/clutter-actor.c: (clutter_actor_class_init):
12797         Allow actor x,y props to be negative.
12798
12799 2006-12-12  Emmanuele Bassi  <ebassi@openedhand.com>
12800
12801         Rework part of the show/hide machinery.  Allow groups sub-classes
12802         and composite actors to override show_all/hide_all in order to
12803         decide which children they wish to show/hide.  This means that
12804         if an actor overrides the default show/hide virtual methods, it'll
12805         have to chain up to the parent class show/hide.  While we're at it,
12806         provide the fully recursive clutter_actor_show_all() and
12807         clutter_actor_hide_all() methods.
12808
12809         * clutter/clutter-behaviour-path.c: Add apidoc for the ClutterKnot
12810         functions; add pathological equality case for clutter_knot_equal().
12811
12812         * clutter/clutter-event.h:
12813         * clutter/clutter-feature.h:
12814         * clutter/clutter-behaviour.c:
12815         * clutter/clutter-behaviour-scale.c:Fix parameters name so that
12816         gtk-doc doesn't complain.
12817
12818         * clutter/clutter-actor.c:
12819         * clutter/clutter-event.c: Add apidoc
12820
12821         * clutter/clutter-actor.h:
12822         * clutter/clutter-actor.c: Add a clutter_actor_show_all() and a
12823         clutter_actor_hide_all() functions; provide a mechanism for
12824         groups and composited actors to programmatically select what to
12825         show/hide when clutter_actor_show_all() and clutter_actor_hide_all()
12826         are called.  If you are overriding the ClutterActor::show or
12827         the ClutterActor::hide virtual methods you should chain up with
12828         the parent class.
12829
12830         * clutter/clutter-group.c: Override show_all and hide_all and
12831         recursively show/hide every child inside the group;
12832         clutter_group_show_all() and clutter_group_hide_all() remain as non
12833         recursive versions of clutter_actor_show_all() and
12834         clutter_actor_hide_all() (maybe we should rename them in order
12835         to avoid name clashes with the bindings).
12836
12837         * clutter/clutter-stage.c:
12838         * clutter/clutter-texture.c: Chain up with parent class show
12839         and hide vfuncs.
12840
12841         * clutter/clutter-clone-texture.h:
12842         * clutter/clutter-clone-texture.c: Provide API for changing the
12843         parent texture of a clone texture actor.
12844
12845         * examples/behave.c:
12846         * examples/super-oh.c:
12847         * examples/test.c: Use clutter_actor_show_all() instead of
12848         clutter_group_show_all().
12849
12850 2006-12-08  Matthew Allum  <mallum@openedhand.com>
12851
12852         * clutter.doap:
12853         Put release date in correct format.
12854
12855 2006-12-08  Emmanuele Bassi  <ebassi@openedhand.com>
12856
12857         * clutter/clutter-behaviour.h: Add a function prototype
12858         for the foreach function: we need something more specific
12859         than GFunc; add clutter_behaviour_get_actors(), used to
12860         get a list of the actors.
12861
12862         * clutter/clutter-behaviour.c: Add debugging notes; add
12863         a warning for behaviour implementations missing the
12864         alpha_notify vfunc; add api documentation
12865
12866         * clutter/clutter-behaviour-opacity.c:
12867         * clutter/clutter-behaviour-path.c:
12868         * clutter/clutter-behaviour-scale.c: Reimplement the
12869         alpha_notify functions using the new foreach function
12870         and, where possible, by directly iterating on the
12871         actors: this shaves off the number of recalculations
12872         of the property/alpha values, and the number of
12873         functions.
12874
12875 2006-12-05  Emmanuele Bassi  <ebassi@openedhand.com>
12876
12877         * clutter/clutter-rectangle.c: Forgot to set the
12878         pencil color.
12879
12880 2006-12-05  Emmanuele Bassi  <ebassi@openedhand.com>
12881
12882         * behave.c: Add test for clutter_color_parse().
12883
12884 2006-12-05  Emmanuele Bassi  <ebassi@openedhand.com>
12885
12886         * clutter/clutter-event.c: Move the apidoc out.
12887
12888 2006-12-05  Emmanuele Bassi  <ebassi@openedhand.com>
12889
12890         * clutter/clutter-color.h:
12891         * clutter/clutter-color.c: Add clutter_color_parse(),
12892         which parses a string containing a color definition as
12893         understood by XParseColor() (or pango_color_parse()).
12894
12895 2006-12-04  Emmanuele Bassi  <ebassi@openedhand.com>
12896
12897         Avoid clutter segfaulting when used without invoking
12898         clutter_init().  This is needed when using api documentation
12899         tools and every other tool relying on the GObject
12900         introspection API (esp. on a headless box).  see the
12901         note in clutter/clutter-feature.c:clutter_feature_init
12902         for a full explanation.
12903
12904         * clutter/clutter-feature.c: Call clutter_feature_init()
12905         when needed by one of the accessors of the features
12906         structure.
12907
12908         * clutter/clutter-main.c:
12909         * clutter/clutter-private.h: Remove clutter_feature_init()
12910         public declaration: the features support check is done the
12911         first time a feature is needed.
12912
12913         * clutter/clutter-main.c: Do not ever access the clutter
12914         main context pointer directly; instead, obtain a pointer
12915         to it via clutter_context_get_default(), which will always
12916         return something valid.
12917
12918 2006-12-04  Emmanuele Bassi  <ebassi@openedhand.com>
12919
12920         * clutter/clutter-private.h: Add our own READABLE,
12921         WRITABLE and READWRITE paramspec flags, declaring the
12922         string components of the properties GParamSpec as static;
12923         this should shave off some bytes in the memory footprint
12924         and avoid relocations.
12925
12926         * clutter/clutter-actor.c:
12927         * clutter/clutter-behaviour.c:
12928         * clutter/clutter-behaviour-opacity.c:
12929         * clutter/clutter-behaviour-path.c:
12930         * clutter/clutter-behavuour-scale.c:
12931         * clutter/clutter-clone-texture.c:
12932         * clutter/clutter-label.c:
12933         * clutter/clutter-rectangle.c:
12934         * clutter/clutter-stage.c:
12935         * clutter/clutter-texture.c:
12936         * clutter/clutter-timeline.c: Use the CLUTTER_PARAM_*
12937         macros we just added.
12938
12939         * clutter/clutter-behaviour-scale.c: Add properties for
12940         the scale begin, scale end and gravity parameters.
12941
12942         * clutter/clutter-behaviour-path.h: Mark the ClutterKnot
12943         memory management functions as public (for the bindings),
12944         since we use the slice allocator for copying knots around;
12945         add a clutter_knot_equal() function.
12946
12947         * clutter/clutter-behaviour-path.c:
12948         (node_distance): Use clutter_knot_equal() as a fast path
12949         to avoid the sqrt() in case the nodes we are using are
12950         at the same position.
12951         (path_total_length): Additional check on the existence
12952         of the next node.
12953
12954         * examples/behave.c: Do not leak the ClutterBehaviour
12955         objects around.
12956
12957 2006-12-03  Emmanuele Bassi  <ebassi@openedhand.com>
12958
12959         * clutter/clutter-texture.h: Clean up.
12960
12961         * clutter/clutter-texture.c: Typo fix in the name
12962         of ClutterTextureTileDimension.
12963
12964         * clutter/clutter-behaviour.c: Allow passing NULL
12965         to clutter_behaviour_set_alpha() (as we pass NULL
12966         in the finalize process).
12967
12968 2006-12-02  Emmanuele Bassi  <ebassi@openedhand.com>
12969
12970         * clutter/clutter-version.h.in: Fix a stupid logic
12971         error in the CHECK_VERSION macro.
12972
12973 2006-11-30  Matthew Allum  <mallum@openedhand.com>
12974
12975         * clutter.doap:
12976         Updates
12977
12978 2006-11-30  Emmanuele Bassi  <ebassi@openedhand.com>
12979
12980         * clutter/clutter-stage.h:
12981         * clutter/clutter-stage.c:
12982         (clutter_stage_swap_buffers): Remove, as the same is done
12983         via clutter_redraw() and clutter_actor_queue_redraw().
12984
12985         (clutter_stage_unrealize), (clutter_stage_init),
12986         (clutter_stage_set_xwindow_foreign): Do not call
12987         XDestroyWindow() on the stage Window if we are using a
12988         foreign Window, as we don't control its lifetime.
12989
12990 2006-11-30  Emmanuele Bassi  <ebassi@openedhand.com>
12991
12992         * Makefile.am: Remove the gtk directory from the SUBDIRS.
12993
12994         * clutter/clutter-stage.h:
12995         * clutter/clutter-stage.c: Add clutter_stage_swap_buffers(),
12996         which swaps the GL buffers.  This fixes the redraw in the
12997         GTK widget.
12998
12999 2006-11-29  Emmanuele Bassi  <ebassi@openedhand.com>
13000
13001         * clutter/clutter-stage.c:
13002         (clutter_stage_set_xwindow_foreign): Add checks;
13003         remove an indirection to the private data.
13004
13005 2006-11-29  Emmanuele Bassi  <ebassi@openedhand.com>
13006
13007         * gtk/*
13008         * configure.ac:
13009         * Makfile.am: Remove the GTK+ widget from the
13010         main tree; now Clutter depends just on GLib,
13011         XLibs, GdkPixbuf and OpenGL.
13012
13013 2006-11-29  Matthew Allum  <mallum@openedhand.com>
13014
13015         * clutter/clutter-stage.c: (clutter_stage_realize):
13016         Set colormap on stage window - should fix issues
13017         with indirect rendering.
13018
13019 2006-11-23  Matthew Allum  <mallum@openedhand.com>
13020
13021         * clutter/clutter-debug.h:
13022         Fix small macro typo.
13023
13024 2006-11-22  Matthew Allum  <mallum@openedhand.com>
13025
13026         * clutter/clutter-actor.c:
13027         * clutter/clutter-alpha.c:
13028         * clutter/clutter-behaviour-opacity.c:
13029         * clutter/clutter-behaviour-scale.c:
13030         * clutter/clutter-clone-texture.c:
13031         * clutter/clutter-feature.c:
13032         * clutter/clutter-label.c:
13033         * clutter/clutter-main.c:
13034         * clutter/clutter-stage.c:
13035         * clutter/clutter-texture.c
13036         * clutter/clutter-timeline.c:
13037         * clutter/clutter-debug.h:
13038         Make CLUTTER_NOTE() just take a string rather than a func.
13039         Add more default context to output.
13040
13041         * configure.ac:
13042         Fix flag and add more help docs for --ebable-debug option.
13043
13044 2006-11-21  Emmanuele Bassi  <ebassi@openedhand.com>
13045
13046         * clutter/clutter-main.c: Add a --g-fatal-warnings switch
13047         for abort()-ing on warnings and criticals.
13048
13049 2006-11-21  Emmanuele Bassi  <ebassi@openedhand.com>
13050
13051         * configure.ac: Enable debug messages also when
13052         --enable-debug is set to "minimum".
13053
13054         * clutter/Makefile.am:
13055         * clutter/clutter-debug.h: Move all debugging macros inside
13056         this private header; make all debug macros depend on the
13057         CLUTTER_ENABLE_DEBUG compile time define, controlled by
13058         the --enable-debug configure switch; add G_LOG_DOMAIN define.
13059
13060         * clutter/clutter-main.c: Clean up the debug stuff; add
13061         command line argument parsing using GOption; the debug
13062         messages now are triggered like this:
13063
13064           CLUTTER_DEBUG=section:section:... clutter-app
13065
13066         or like this:
13067
13068           clutter-app --clutter-debug=section:section:...
13069
13070         where "section" is one of the sections listed in clutter-main.c,
13071         or "all", for all sections; each section is bound to a flag,
13072         which can be used to define a domain when adding a debug note
13073         using the CLUTTER_NOTE() macro; the old CLUTTER_DBG() macro is
13074         just a wrapper around that, under the CLUTTER_DEBUG_MISC domain;
13075         CLUTTER_NOTE() is used like this:
13076
13077           CLUTTER_NOTE (DOMAIN, log-function);
13078
13079         where log function is g_printerr(), g_message(), g_warning(),
13080         g_critical() or directly g_log() - for instance:
13081
13082           CLUTTER_NOTE (PANGO, g_warning ("Cache miss: %d", glyph));
13083
13084         will print the warning only if the "pango" flag has been
13085         set to the CLUTTER_DEBUG envvar or passed to the --clutter-debug
13086         command line argument.
13087
13088         similar to CLUTTER_SHOW_FPS, there's also the --clutter-show-fps
13089         command line switch; also, the --display and --screen command
13090         line switches have been added: the first overrides the DISPLAY
13091         envvar and the second controls the X screen used by Clutter to
13092         get the root window on the display.
13093
13094         * clutter/clutter-main.h:
13095         * clutter/clutter-main.c: Add extended support for GOption
13096         in Clutter; use clutter_init_with_args() to let Clutter
13097         parse your own command line arguments; use instead
13098         clutter_get_option_group() to get the GOptionGroup used by
13099         Clutter if you want to do the parsing yourself with
13100         g_option_context_parse(). The init sequence has been verified,
13101         updated and moved into common functions where possible.
13102
13103         * clutter/pango/pangoclutter-render.c:
13104         * clutter/*.c: Include "clutter-debug.h" where needed; use
13105         CLUTTER_NOTE() instead of CLUTTER_DBG().
13106
13107         * examples/super-oh.c: Use the new clutter_init_with_args()
13108         function, and add a --num-hands command line switch to
13109         the SuperOH example code controlling the number of hands at
13110         runtime.
13111
13112 2006-11-21  Emmanuele Bassi  <ebassi@openedhand.com>
13113
13114         * configure.ac: Rename G_ENABLE_DEBUG to CLUTTER_ENABLE_DEBUG.
13115
13116 2006-11-20  Emmanuele Bassi  <ebassi@openedhand.com>
13117
13118         * clutter/clutter-rectangle.h:
13119         * clutter/clutter-rectangle.c: Add border to the ClutterRectangle
13120         actor; add "border-width", "border-color" and "has-border"
13121         properties, plus their accessors.  The border generation code is
13122         pretty lame, at the moment.
13123
13124         * examples/behave.c: Add code to test the new rectangle properties.
13125
13126 2006-11-20  Matthew Allum  <mallum@openedhand.com>
13127
13128         * clutter.doap:
13129         Add an initial DOAP file to project
13130
13131 2006-11-20  Emmanuele Bassi  <ebassi@openedhand.com>
13132
13133         * clutter/Makefile.am:
13134         * clutter/clutter.h:
13135         * clutter/clutter-version.h.in: Auto-generated versioning macros.
13136
13137         * clutter/clutter-actor.h:
13138         * clutter/clutter-actor.c: Add a ClutterActor::parent-set signal,
13139         for notificating changes of an actor's parent; add api-doc for
13140         the actor's properties; add the ClutterActor "name" property; clean
13141         up a bit some functions; emit the "parent-set" signal when setting
13142         te parent and when unparenting; better warnings when lowering
13143         and raising an actor.
13144
13145         * configure.ac:
13146         * clutter/Makefile.am: Add a --enable-debug configure option,
13147         with three levels of debugging: no, minimum and yes; default
13148         for development releases (odd minor version) is "yes"; update
13149         the version m4 defines; update the libtool macros: now just
13150         changed the clutter_interface_age when releasing will update
13151         everything else.
13152
13153 2006-11-17  Emmanuele Bassi  <ebassi@openedhand.com>
13154
13155         * clutter/clutter-behaviour-path.h:
13156         * clutter/clutter-behaviour-path.c: Add "since" strings; add
13157         a "knot" property which can be used to append a knot to the path;
13158         fix apidoc.
13159
13160         * clutter/clutter-alpha.c: Add "since" strings.
13161
13162         * clutter/clutter-feature.c: Add apidoc.
13163
13164         * clutter/clutter-behaviour-opacity.c: Add the "opacity-start"
13165         and "opacity-end" properties; rewrite constructor to use them.
13166
13167 2006-11-17  Emmanuele Bassi  <ebassi@openedhand.com>
13168
13169         * clutter/clutter-behaviour-path.h:
13170         * clutter/clutter-behaviour-path.c: Add a "knot-reached" signal,
13171         which is emitted when the path reaches a node in the nodes list;
13172         flesh out the documentation a bit; sync the parameters names
13173         so that gtk-doc doesn't complain about missing stuff.
13174
13175         * clutter/clutter-behaviour.h:
13176         * clutter/clutter-behaviour.c: Add the alpha value to the
13177         ClutterBehaviour::alpha_notify vfunc, so you don't have to
13178         get the value from the alpha inside the behaviour implementations;
13179         add more documentation.
13180
13181         * clutter/clutter-alpha.c: Flesh out the description.
13182
13183         * clutter/clutter-actor.h: Update the header.
13184
13185         * clutter/clutter-behaviour-opacity.c:
13186         * clutter/clutter-behaviour-scale.c: Update docs.
13187
13188 2006-11-17  Matthew Allum  <mallum@openedhand.com>
13189
13190         * clutter/clutter-alpha.c:
13191         * clutter/clutter-behaviour-opacity.c:
13192         More docs.
13193
13194         * clutter/clutter-behaviour-path.h:
13195         * clutter/clutter-behaviour-path.c:
13196         More docs, add clutter_behaviour_path_insert_knot(),
13197         clutter_behaviour_path_remove_knot()
13198
13199         * clutter/clutter-behaviour-scale.h:
13200         * clutter/clutter-behaviour-scale.c:
13201         More docs, add clutter_behaviour_scale_newx() taking fixed values.
13202
13203         * clutter/Makefile.am:
13204         * clutter/pango/Makefile.am:
13205         Fix linking warning.
13206
13207 2006-11-15  Matthew Allum  <mallum@openedhand.com>
13208
13209         * clutter/clutter-actor.h:
13210         * clutter/clutter-actor.c:
13211         Add new API clutter_actor_move_by(), clutter_actor_get_size()
13212
13213         * clutter/clutter-alpha.c:
13214         * clutter/clutter-alpha.h:
13215         Add clutter alpha sine func
13216
13217         * clutter/clutter-behaviours.h:
13218         * clutter/clutter-behaviours.c:
13219         Add a basic scale behaviour (needs work)
13220
13221         * examples/behave.c: (main):
13222         More playing with new behaviour functionality
13223
13224         * clutter/clutter-feature.c:
13225         * clutter/clutter-feature.h:
13226         * clutter/clutter-main.c:
13227         Add new experimental sync to vblank code
13228         Set env CLUTTER_VBLANK=none to disable.
13229
13230 2006-11-16  Emmanuele Bassi  <ebassi@openedhand.com>
13231
13232         * clutter/clutter-private.h:
13233         * clutter/clutter-actor.c: Implement the defined
13234         clutter_actor_reparent() method; call unrealize
13235         when unparenting an actor.
13236
13237 2006-11-15  Emmanuele Bassi  <ebassi@openedhand.com>
13238
13239         * clutter/clutter-alpha.h:
13240         * clutter/clutter-alpha.c: Add a data parameter to
13241         the ClutterAlphaFunc; add a data+destroy parameter
13242         to clutter_alpha_set_func() and to clutter_alpha_new(),
13243         and turned the latter into clutter_alpha_new_full();
13244         add a simple, empty constructor clutter_alpha_new().
13245
13246         These changes makes writing bindings a tad more easy,
13247         as bindings require passing their own functions in
13248         order to call the real alpha function.
13249
13250         * clutter/clutter-behaviour.h: Clean up the header.
13251
13252         * clutter/clutter-behaviours.[ch]:
13253         * clutter/clutter-behaviour-opacity.[ch]:
13254         * clutter/clutter-behaviour-path.[ch]:
13255         * clutter/clutter-behaviour-scale.[ch]: Split the
13256         ClutterBehaviourPath, ClutterBehaviourOpacity and
13257         ClutterBehaviourScale into their own files as they
13258         have been growing a bit. Fix ClutterBehaviourPath
13259         API.
13260
13261         * clutter/clutter-media.h: Remove the commented
13262         "metadata_available" signal: gtk-doc chokes up on that.
13263
13264         * clutter/clutter-timeline.h:
13265         * clutter/clutter-timeline.c: Remove the useless
13266         ClutterTimelineAlphaFunc signature; add missing accessor
13267         methods for the properties; clean up a bit.
13268
13269         * clutter/clutter-util.h:
13270         * clutter/clutter-util.c: Remove unneeded function
13271         clutter_util_can_create_texture().
13272
13273         * clutter/clutter-feature.h: Sync the name of
13274         clutter_feature_get_all() with the name declared
13275         in clutter-feature.h.
13276
13277         * clutter/Makefile.am:
13278         * clutter/clutter.h: Update.
13279
13280         * examples/behave.c: Update to the new ClutterAlpha
13281         constructor.
13282
13283         * examples/super-oh.c: Use the right pointer and avoid
13284         the compiler making a fuss about it.
13285
13286 2006-11-15  Matthew Allum  <mallum@openedhand.com>
13287
13288         * clutter/clutter-actor.h:
13289         * clutter/clutter-actor.c:
13290         Add new API clutter_actor_move_by(), clutter_actor_get_size()
13291
13292         * clutter/clutter-alpha.c:
13293         * clutter/clutter-alpha.h:
13294         Add clutter alpha sine func
13295
13296         * clutter/clutter-behaviours.h:
13297         * clutter/clutter-behaviours.c:
13298         Add a basic scale behaviour (needs work)
13299
13300         * examples/behave.c: (main):
13301         More playing with new behaviour functionality
13302
13303         * clutter/clutter-feature.c:
13304         * clutter/clutter-feature.h:
13305         * clutter/clutter-main.c:
13306         Add new experimental sync to vblank code
13307         Set env CLUTTER_VBLANK=none to disable.
13308
13309 2006-11-15  Emmanuele Bassi  <ebassi@openedhand.com>
13310
13311         * clutter/clutter-alpha.h:
13312         * clutter/clutter-alpha.c: ClutterAlpha is an initially
13313         floating object, as it makes sense only when bound to
13314         a ClutterBehaviour; add checks for public API.
13315
13316         * clutter/clutter-behaviour.h:
13317         * clutter/clutter-behaviour.c: Remove the ClutterBehaviour
13318         constructor: ClutterBehaviour is an abstract class which
13319         must be implemented by subclassing; add checks for public
13320         API; unref the actors on finalize; sink the ClutterAlpha
13321         object.
13322
13323         * clutter/clutter-behaviours.h: ClutterKnot is a boxed
13324         type: add the _get_type() function declaration and the
13325         type macro.
13326
13327 2006-10-23  Matthew Allum  <mallum@openedhand.com>
13328
13329         * clutter/clutter-alpha.h:
13330         * clutter/clutter-behaviour.c:
13331         * clutter/clutter-behaviour.h:
13332         * clutter/clutter-behaviours.c:
13333         * clutter/clutter-behaviours.h:
13334         * examples/behave.c:
13335         Behaviours now only 'driven' by ClutterAlpha, not any object/prop.
13336         Add simple Clutter path behaviour.
13337
13338 2006-10-03  Matthew Allum  <mallum@openedhand.com>
13339
13340         * configure.ac:
13341         * clutter/Makefile.am:
13342         * clutter/clutter-actor.c:
13343         * clutter/clutter-label.c:
13344         * clutter/clutter-label.h:
13345         * clutter/pango/Makefile.am:
13346         * clutter/pango/pangoclutter-font.c:
13347         * clutter/pango/pangoclutter-fontmap.c:
13348         * clutter/pango/pangoclutter-private.h:
13349         * clutter/pango/pangoclutter-render.c:
13350         * clutter/pango/pangoclutter.h:
13351         Add initial rough new pango renderer and clutter-label.
13352
13353         * examples/super-oh.c:
13354         * examples/test.c:
13355         Minor fixups
13356
13357 2006-09-20  Matthew Allum  <mallum@openedhand.com>
13358
13359         * clutter/clutter-actor.c: (clutter_actor_paint):
13360         * clutter/clutter-clone-texture.c: (clutter_clone_texture_paint):
13361         * clutter/clutter-group.c: (clutter_group_paint):
13362         * clutter/clutter-rectangle.c: (clutter_rectangle_paint):
13363         * clutter/clutter-texture.c: (clutter_texture_paint):
13364         Fix for #156.
13365         clutter_actor_paint() now translates to actor position as
13366         to not fix scaled groups positioning. Sub classes now paint
13367         at 0,0.
13368
13369 2006-09-19  Matthew Allum  <mallum@openedhand.com>
13370
13371         * clutter/clutter-actor.c: (redraw_update_idle),
13372         (clutter_actor_queue_redraw):
13373         * clutter/clutter-main.c: (clutter_redraw):
13374         Remove now uneeded locks
13375         ( new gst and texture code makes redundant )
13376
13377         * clutter/clutter-texture.c:
13378         * clutter/clutter-texture.h:
13379         Redo clutter texture as to not keep a reference
13380         to underlying texture.
13381
13382 2006-09-15  Matthew Allum  <mallum@openedhand.com>
13383
13384         More fixes from Bastien Nocera (#155):
13385
13386         * clutter/clutter-main.c: (clutter_init):
13387         * clutter/clutter-main.h:
13388         Add an enum for clutter init to return an error code.
13389         * configure.ac:
13390         Dont check for XInitThreads, there is no need, its part of xlib.
13391
13392 2006-09-14  Matthew Allum  <mallum@openedhand.com>
13393
13394         Various fixes from Bastien Nocera:
13395
13396         * clutter/clutter-event.h:
13397         * clutter/clutter-stage.c: (clutter_stage_unrealize),
13398         (clutter_stage_realize), (clutter_stage_request_coords),
13399         (clutter_stage_dispose), (clutter_stage_init):
13400         * clutter/clutter-stage.h:
13401         * gtk/gtk-clutter-test.c: (input_cb), (frame_cb), (main):
13402         * gtk/gtk-clutter.c: (realize):
13403         Misc fixes (#152)
13404
13405         * clutter/clutter-group.c: (clutter_group_remove):
13406         Remove uneeded ref count (#143)
13407
13408         * examples/super-oh.c: (input_cb):
13409         Handle key release rather than presses (#154)
13410
13411         * configure.ac:
13412         Add old style X libs check when x11.pc unavailable (#101)
13413
13414 2006-09-01  Matthew Allum  <mallum@openedhand.com>
13415
13416         * clutter/Makefile.am:
13417         * clutter/clutter-media.c:
13418         * clutter/clutter-media.h:
13419         * clutter/clutter.h:
13420         Re-add clutter media.
13421
13422 2006-08-31  Matthew Allum  <mallum@openedhand.com>
13423
13424         * clutter/clutter-actor.c:
13425         * clutter/clutter-group.c: (clutter_group_paint),
13426         (clutter_group_request_coords), (clutter_group_allocate_coords),
13427         (clutter_group_add):
13428         Fix some group sizing/positioning issues.
13429
13430 2006-08-30  Jorn Baayen  <jorn@openedhand.com>
13431
13432         * clutter.pc.in:
13433
13434         Remove gstreamer deps.
13435
13436 2006-08-30  Jorn Baayen  <jorn@openedhand.com>
13437
13438         * README:
13439         * clutter/Makefile.am:
13440         * clutter/clutter-audio.c:
13441         * clutter/clutter-audio.h:
13442         * clutter/clutter-main.c: (clutter_init):
13443         * clutter/clutter-media.c:
13444         * clutter/clutter-media.h:
13445         * clutter/clutter-video-texture.c:
13446         * clutter/clutter-video-texture.h:
13447         * clutter/clutter.h:
13448         * configure.ac:
13449         * examples/Makefile.am:
13450         * examples/README:
13451         * examples/video-cube.c:
13452         * examples/video-player.c:
13453         * gst/Makefile.am:
13454         * gst/clutterimagesink.:
13455         * gst/clutterimagesink.c:
13456         * gst/clutterimagesink.h:
13457         * gtk/Makefile.am:
13458
13459         Remove gstreamer bits. There live in clutter-gst now.
13460
13461 2006-08-30  Jorn Baayen  <jorn@openedhand.com>
13462
13463         * clutter/Makefile.am:
13464         * clutter/clutter-audio.c:
13465         * clutter/clutter-audio.h:
13466         * clutter/clutter.h:
13467
13468         Added ClutterAudio audio playback object.
13469
13470 2006-08-29  Matthew Allum  <mallum@openedhand.com>
13471
13472         * clutter/clutter-fixed.h:
13473         Add basic fixed point utility defines and type.
13474
13475         * clutter/Makefile.am:
13476         * clutter/clutter-actor.c:
13477         * clutter/clutter-actor.h:
13478         * clutter/clutter-group.c:
13479         * clutter/clutter-stage.c:
13480         * examples/super-oh.c: (main):
13481         Add scale API and functionality.
13482         Rework group sizing. Now group size requests have no effect
13483         but can be scaled.
13484
13485 2006-08-29  Jorn Baayen  <jorn@openedhand.com>
13486
13487         * clutter/clutter-behaviour.c: (_clutter_behaviour_finalize),
13488         (_clutter_behaviour_set_property),
13489         (_clutter_behaviour_get_property), (clutter_behaviour_class_init),
13490         (clutter_behaviour_init), (clutter_behaviour_apply),
13491         (clutter_behaviour_remove), (clutter_behaviour_remove_all),
13492         (clutter_behaviour_actors_foreach):
13493         * clutter/clutter-behaviour.h:
13494         * clutter/clutter-behaviours.c:
13495         (clutter_behaviour_property_change),
13496         (clutter_behaviour_opacity_dispose),
13497         (clutter_behaviour_opacity_finalize),
13498         (clutter_behaviour_opacity_class_init),
13499         (clutter_behaviour_opacity_init):
13500         * clutter/clutter-behaviours.h:
13501         * clutter/clutter-marshal.list:
13502         * examples/behave.c: (main):
13503
13504         Behaviours track generic GObject properties.
13505
13506         * clutter/clutter-video-texture.h:
13507
13508         Remove signal prototypes - they are already specified in
13509         clutter-media.h.
13510
13511 2006-08-28  Jorn Baayen  <jorn@openedhand.com>
13512
13513         * clutter/Makefile.am:
13514         * clutter/clutter-alpha.c:
13515         * clutter/clutter-alpha.h:
13516         * clutter/clutter-behaviours.c:
13517         (clutter_behaviour_opacity_dispose),
13518         (clutter_behaviour_opacity_init),
13519         (clutter_behaviour_opacity_frame_foreach),
13520         (clutter_behaviour_opacity_frame):
13521         * clutter/clutter-behaviours.h:
13522         * clutter/clutter-timeline.c: (clutter_timeline_class_init):
13523         * clutter/clutter-timeline.h:
13524         * clutter/clutter.h:
13525         * examples/behave.c: (main):
13526
13527         Separate alpha calculation into its own class.
13528
13529         * clutter/clutter-behaviour.c: (clutter_behaviour_set_timelime):
13530
13531         Correct NULL check.
13532
13533 2006-08-15  Matthew Allum  <mallum@openedhand.com>
13534
13535         * clutter/clutter-behaviour.h:
13536         Behaviours shouldn't subclass timelines.
13537
13538 2006-08-15  Matthew Allum  <mallum@openedhand.com>
13539
13540         * clutter/clutter-behaviour.c:
13541         * clutter/clutter-behaviour.h:
13542         * clutter/clutter-behaviours.c:
13543         * clutter/clutter-timeline.c:
13544         * clutter/clutter-timeline.h:
13545         * clutter/clutter.h:
13546         Make basic behaviour infrastructure actually work.
13547
13548         * examples/Makefile.am:
13549         * examples/behave.c:
13550         Add a simple behaviour demo/test
13551
13552         * clutter/clutter-media.c: (clutter_media_set_volume):
13553         Actuall set volume rather than position..   (Fixes #141)
13554
13555 2006-08-14  Matthew Allum  <mallum@openedhand.com>
13556
13557         * clutter/Makefile.am:
13558         * clutter/clutter-behaviour.c:
13559         * clutter/clutter-behaviour.h:
13560         * clutter/clutter-behaviours.c:
13561         * clutter/clutter-behaviours.h:
13562         * clutter/clutter-timeline.c:
13563         * clutter/clutter-timeline.h:
13564         Add very initial new behaviour functionality.
13565
13566         * clutter/clutter-stage.c:
13567         * clutter/clutter-main.c:
13568         * clutter/clutter-actor.c:
13569         Improve clipping using stencil test rather than scissor check.
13570         ( Should now handle rotated clips etc ).
13571
13572         * clutter/clutter-group.c: (clutter_group_paint):
13573         Fix typo on position check.
13574
13575 2006-08-07  Matthew Allum  <mallum@openedhand.com>
13576
13577         * clutter/clutter-video-texture.c: (lay_pipeline):
13578         Set quality of service prop on fakesink to TRUE.
13579
13580 2006-08-07  Matthew Allum  <mallum@openedhand.com>
13581
13582         * clutter/clutter-actor.c: (clutter_actor_paint):
13583         Remove relic from old stage behaviour - dont unref
13584         it during a clip.
13585
13586 2006-07-27  Emmanuele Bassi  <ebassi@openedhand.com>
13587
13588         * clutter/clutter-feature.c: No need to call clutter_feature_init()
13589         each time: it's private and should never be seen from the outside;
13590         add a warning, just in case something screws up and calls it more
13591         than once.
13592
13593 2006-07-27  Emmanuele Bassi  <ebassi@openedhand.com>
13594
13595         * clutter/clutter-private.h: Move clutter_feature_init()
13596         declaration here: you shouldn't even need to initialise
13597         features yourself.
13598
13599         * clutter/clutter-feature.c: call clutter_feature_init()
13600         each time you try to access the feature list; add a static
13601         lock around the feature flags container; add api documentation.
13602
13603         * clutter/clutter-feature.h: Add a type for the feature flags
13604         to make bindings happy.
13605
13606 2006-07-24  Matthew Allum  <mallum@openedhand.com>
13607
13608         * clutter/Makefile.am:
13609         * clutter/clutter-feature.c:
13610         * clutter/clutter-feature.h:
13611
13612         Add new funcs for checking for available runtime GL
13613         extensions.
13614
13615         * clutter/clutter-clone-texture.c:
13616         * clutter/clutter-texture.c:
13617
13618         Add support for non power of two textures
13619        if GL_TEXTURE_RECTANGLE_ARB extension available ( at runtime ).
13620        Should lower texture memory needs a little.
13621
13622 2006-07-17  Emmanuele Bassi  <ebassi@openedhand.com>
13623
13624         * clutter/clutter-stage.c (clutter_stage_get_default): Fix
13625         api documentation.
13626
13627 2006-07-15  Emmanuele Bassi  <ebassi@openedhand.com>
13628
13629         * clutter/clutter-main.c:
13630
13631         (clutter_main): Destroy the main stage, instead of unreffing it.
13632
13633         (clutter_init): Ref and sink the main stage, as it is a top
13634         level actor.
13635
13636         * clutter/clutter-stage.c (clutter_stage_unrealize): Access
13637         the Window private member directly, instead of calling the
13638         get_xwindow method.
13639
13640         * examples/test.c (main): Quit on button press.
13641
13642 2006-07-09  Emmanuele Bassi  <ebassi@openedhand.com>
13643
13644         * clutter/clutter-event.h: Change the name of the
13645         ClutterEvent union members to something a little shorter.
13646
13647 2006-07-06  Emmanuele Bassi  <ebassi@openedhand.com>
13648
13649         * configure.ac: Remove the python stuff, now that the bindings
13650         are out of tree.
13651
13652 2006-07-06  Emmanuele Bassi  <ebassi@openedhand.com>
13653
13654         * configure.ac: Mark this as 0.1.1, and change the version info
13655         of the library.
13656
13657         * clutter/clutter-actor.c:
13658         * clutter/clutter-group.c: Fix documentation.
13659
13660 2006-07-06  Emmanuele Bassi  <ebassi@openedhand.com>
13661
13662         * clutter/clutter-actor.h:
13663         * clutter/clutter-actor.c:
13664
13665         (clutter_actor_class_init), (clutter_actor_set_property),
13666         (clutter_actor_get_property): Add the "clip" and "has-clip"
13667         properties.
13668
13669         (clutter_actor_set_clip), (clutter_actor_remove_clip): Emit
13670         the notification for the changed properties.
13671
13672         (clutter_actor_has_clip): Simple accessor to the "has-clip"
13673         property.
13674
13675 2006-07-06  Emmanuele Bassi  <ebassi@openedhand.com>
13676
13677         Big rework of the actor management semantics: now ClutterActor
13678         objects behave like GtkObjects - that is they have an initial
13679         "floating" reference that gets "sunk" when they are added to
13680         a ClutterGroup.  This makes a group responsible of de-allocating
13681         each actor inside it, so you just have to destroy the group to
13682         get every child actor destroyed.  Also, now you can do:
13683
13684           clutter_group_add (group, clutter_video_texture_new ());
13685
13686         without having to care about reference counting and explicit
13687         unreffing.
13688
13689         * clutter/clutter-private.h: Add private flags setter and
13690         getter macros.
13691
13692         * clutter/clutter-actor.h:
13693         * clutter/clutter-actor.c: Clean up; inherit from GInitiallyUnowned;
13694         add a "visible" property; add the "destroy", "show" and "hide"
13695         signals to ClutterActorClass.
13696
13697         (clutter_actor_show), (clutter_actor_hide): Refactor a bit; emit
13698         the "show" and "hide" signals.
13699
13700         (clutter_actor_set_property), (clutter_actor_get_property),
13701         (clutter_actor_class_init): Implement the "visible" property; add
13702         signals.
13703
13704         (clutter_actor_finalize): Do not leak the actor's name, if it is
13705         set.
13706
13707         (clutter_actor_dispose): Emit the "destroy" signal here.
13708
13709         (clutter_actor_init): Sink the initial floating flag if needed.
13710
13711         (clutter_actor_destroy): Add a function to explicitely destroy
13712         a ClutterActor.
13713
13714         (clutter_actor_set_parent), (clutter_actor_get_parent),
13715         (clutter_actor_unparent): Make set_parent require a valid parent;
13716         add unparent; check on get_parent; ref_sink the actor when
13717         setting its parent and unref it when unsetting it.  Probably we'll
13718         need a function that does reparenting as unparent+set_parent in
13719         a single shot.
13720
13721         * clutter/clutter-group.h:
13722         * clutter/clutter-group.c (clutter_group_dispose),
13723         (clutter_group_finalize), (clutter_group_add),
13724         (clutter_group_remove): Make the group destroy its children when
13725         disposing it; clean up, and use the newly-available
13726         clutter_actor_unparent().
13727
13728         * clutter/clutter-stage.h:
13729         * clutter/clutter-stage.c (clutter_stage_init): ClutterStage is
13730         a top-level actor; clean up.
13731
13732         * clutter/clutter-video-texture.h:
13733         * clutter/clutter-video-texture.c: Clean up.
13734
13735         * examples/super-oh.c:
13736         * examples/test.c:
13737         * examples/video-player.c:
13738         * examples/test-text.c:
13739         * examples/video-cube.c: Remove the g_object_unref() call, as the
13740         ClutterStage object is destroyed on clutter_main_quit().
13741
13742 2006-06-23  Matthew Allum  <mallum@openedhand.com>
13743
13744         * examples/super-oh.c:
13745         Remove random stage unref fixing trails. Fixes #98
13746
13747 2006-06-23  Matthew Allum  <mallum@openedhand.com>
13748
13749         * examples/video-player.c: (size_change):
13750         cast stage height to gint avoiding wierdness for when
13751         video height greater than half display height. Fixed #99
13752
13753 2006-06-23  Matthew Allum  <mallum@openedhand.com>
13754
13755         * clutter/clutter-video-texture.c: (clutter_video_texture_new):
13756         Small fix for video playback on Big Endian. See #97
13757
13758 2006-06-23  Iain Holmes  <iain@openedhand.com>
13759
13760         * clutter/clutter-texture.h: Add space :) Sorry.
13761
13762 2006-06-23  Iain Holmes  <iain@openedhand.com>
13763
13764         * clutter/clutter-label.h:
13765         * clutter/clutter-group.h:
13766         * clutter/clutter-rectangle.h:
13767         * clutter/clutter-video-texture.h:
13768         * clutter/clutter-event.h:
13769         * clutter/clutter-texture.h: Fix the header layout so that C# parser
13770         can understand everything.
13771
13772 2006-06-23  Ross Burton  <ross@openedhand.com>
13773
13774         * configure.ac:
13775         * Makefile.am:
13776         Remove references to bindings/, it's moved.
13777
13778 2006-06-23  Emmanuele Bassi  <ebassi@openedhand.com>
13779
13780         * clutter/clutter-group.c
13781         (clutter_group_get_children): Mention that you must free
13782         the returned list otherwise you'll leak stuff all around.
13783
13784 2006-06-23  Ross Burton  <ross@openedhand.com>
13785
13786         * examples/super-oh.c:
13787         Fix build with trails enabled. Still crashes.
13788
13789 2006-06-23  Ross Burton  <ross@openedhand.com>
13790
13791         * configure.ac:
13792         Disable static libraries.
13793
13794 2006-06-22  Matthew Allum  <mallum@openedhand.com>
13795
13796         * web/index.html:
13797         Make OpeneHand link
13798
13799 2006-06-22  Matthew Allum  <mallum@openedhand.com>
13800
13801         * web/index.html:
13802         Add Pango ref, authors info.
13803
13804 ========== 2006-06-22 0.1 Release =====================
13805
13806 2006-06-22  Matthew Allum  <mallum@openedhand.com>
13807
13808         * configure.ac:
13809         * web/index.html:
13810         Correct Bugzilla link. Add debs link
13811         Bump up version to 0.1 !
13812
13813 2006-06-22  Matthew Allum  <mallum@openedhand.com>
13814
13815         * NEWS:
13816         Add an entry for 0.1 release
13817         * web/index.html:
13818         * web/style.css:
13819         Add basic website.
13820
13821 2006-06-22  Iain Holmes  <iain@openedhand.com>
13822
13823         * clutter/clutter-main.c: Guess what...more docs
13824
13825 2006-06-22  Iain Holmes  <iain@openedhand.com>
13826
13827         * clutter/clutter-event.c: Add docs
13828
13829 2006-06-22  Iain Holmes  <iain@openedhand.com>
13830
13831         * clutter/clutter-media.c: Add docs
13832
13833 2006-06-22  Iain Holmes  <iain@openedhand.com>
13834
13835         * clutter/clutter-texture.c: Fix typos.
13836
13837         * clutter/clutter-timeline.c: Fix typos.
13838
13839 2006-06-22  Iain Holmes  <iain@openedhand.com>
13840
13841         * clutter/clutter-video-texture.c: Docs.
13842
13843 2006-06-22  Iain Holmes  <iain@openedhand.com>
13844
13845         * clutter/clutter-group.c: More typo fixes
13846
13847         * clutter/clutter-event.c: Documentation
13848
13849 2006-06-22  Emmanuele Bassi  <ebassi@openedhand.com>
13850
13851         * clutter/clutter-timeline.h:
13852         * clutter/clutter-timeline.c: Add a "started" and a "paused"
13853         signals; add more sanity checks on the public functions.
13854
13855         (clutter_timeline_get_loop): Add a getter function for the
13856         loop property.
13857
13858         * clutter/clutter-marshal.list: Add marshallers.
13859
13860         * clutter/clutter-timeline.h:
13861         * clutter/clutter-actor.h: Add padding for future expansion
13862         without breaking ABI.
13863
13864 2006-06-22  Iain Holmes  <iain@openedhand.com>
13865
13866         * clutter/clutter-actor.c: Fix some typos in the docs.
13867
13868 2006-06-22  Iain Holmes  <iain@openedhand.com>
13869
13870         * clutter/clutter-util.c: And more
13871
13872 2006-06-22  Ross Burton  <ross@openedhand.com>
13873
13874         * clutter/clutter-label.c:
13875         * clutter/clutter-video-texture.c:
13876         * clutter/clutter-texture.c:
13877         * clutter/clutter-timeline.c:
13878         * clutter/clutter-group.c:
13879         Fix gtk-doc problems.
13880
13881 2006-06-22  Iain Holmes  <iain@openedhand.com>
13882
13883         * clutter/clutter-main.c: More documentation
13884
13885 2006-06-22  Matthew Allum  <mallum@openedhand.com>
13886
13887         * clutter/clutter-main.h:
13888         Remove bogus xvisual call.
13889
13890 2006-06-22  Matthew Allum  <mallum@openedhand.com>
13891
13892         * clutter/clutter-actor.c:
13893         * clutter/clutter-actor.h:
13894         Remove mirroring related calls ( unimplemented )
13895         * gtk/gtk-clutter-test.c: 0 -> NULL
13896
13897 2006-06-22  Iain Holmes  <iain@openedhand.com>
13898
13899         * clutter/clutter-actor.c:
13900         * clutter/clutter-stage.c:
13901         * gtk/gtk-clutter.c: More docs
13902
13903 2006-06-22  Iain Holmes  <iain@openedhand.com>
13904
13905         * clutter/clutter-actor.c: Added some more docs.
13906
13907 2006-06-22  Matthew Allum  <mallum@openedhand.com>
13908
13909         * clutter/clutter-actor.c:
13910         * clutter/clutter-clone-texture.c:
13911         * clutter/clutter-color.c:
13912         * clutter/clutter-event.c:
13913         * clutter/clutter-group.c:
13914         * clutter/clutter-label.c:
13915         * clutter/clutter-main.c:
13916         * clutter/clutter-media.c:
13917         * clutter/clutter-rectangle.c:
13918         * clutter/clutter-stage.c:
13919         * clutter/clutter-texture.c:
13920         * clutter/clutter-timeline.c:
13921         * clutter/clutter-util.c:
13922         * clutter/clutter-video-texture.c:
13923         * configure.ac:
13924         Documentation updates - add section headers.
13925
13926 2006-06-22  Iain Holmes  <iain@openedhand.com>
13927
13928         * gtk/gtk-clutter-test.c (main): Don't show the stage.
13929
13930 2006-06-22  Iain Holmes  <iain@openedhand.com>
13931
13932         * gtk/gtk-clutter.[ch]: Rewrite to use
13933         clutter_stage_set_xwindow_foreign rather than GtkSocket.
13934
13935         * gtk/gtk-clutter-test.c: Add fading!1!!!!11! OMGWTFBBQ!!!
13936
13937 2006-06-21  Emmanuele Bassi  <ebassi@openedhand.com>
13938
13939         * examples/video-cube.c (main): Quit on key press.
13940
13941 2006-06-21  Emmanuele Bassi  <ebassi@openedhand.com>
13942
13943         * clutter/Makefile.am: Re-fix distcheck after last commit.
13944
13945 2006-06-21  Matthew Allum  <mallum@openedhand.com>
13946
13947         * clutter/Makefile.am:
13948         Make sure clutter.h included.
13949         * clutter/clutter-stage.c: (clutter_stage_realize),
13950         (clutter_stage_get_actor_at_pos):
13951         Select for motion events on X window.
13952         Return highest rather than lowest found actor for actor_at_pos.
13953         * examples/Makefile.am:
13954         Remove test-text, remane test video.
13955         * examples/README:
13956         Add info about the included examples.
13957         * examples/test-video.c:
13958         * examples/video-player.c:
13959         Redo test-video a little nicer and rename.
13960         * examples/video-cube.c:
13961         Fix so it at least 'works' again.
13962         * examples/test.c:
13963         Clean up a little.
13964
13965 2006-06-21  Ross Burton  <ross@openedhand.com>
13966
13967         * Makefile.am:
13968         * gtk/Makefile.am:
13969         Add gtk widget to distcheck and fix.
13970
13971 2006-06-21  Emmanuele Bassi  <ebassi@openedhand.com>
13972
13973         * clutter/Makefile.am:
13974         * bindings/python/Makefile.am:
13975         * Makefile.am: Fix distcheck
13976
13977 2006-06-21  Ross Burton  <ross@openedhand.com>
13978
13979         * clutter/Makefile.am:
13980         * examples/Makefile.am:
13981         Fix dist.
13982
13983 2006-06-20  Matthew Allum  <mallum@openedhand.com>
13984
13985         * TODO:
13986         Update.
13987         * clutter/clutter-group.c:
13988         Attempt better group sizing code.
13989         * clutter/clutter-label.c:
13990         Minor tweaks.
13991         * clutter/clutter-texture.c:
13992         More debug info, make sure texture is realised for base_size()
13993         * clutter/clutter-video-texture.c:
13994         Seeking fixes
13995         * examples/test.c: (main):
13996         Populate with more randomness.
13997
13998 2006-06-15  Matthew Allum  <mallum@openedhand.com>
13999
14000         * clutter/clutter-stage.c:
14001         * clutter/clutter-stage.h:
14002         Add clutter_stage_set_xwindow_foreign() call
14003         * clutter/clutter-util.c:
14004         * clutter/clutter-util.h:
14005         Add some X error traps
14006         * examples/super-oh.c:
14007         Toy with us of new clutter_stage_set_xwindow_foreign() for
14008         optional screensaver functionality.
14009
14010 2006-06-14  Matthew Allum  <mallum@openedhand.com>
14011
14012         * configure.ac:
14013         Add checks for GL/gl.h and GL/glx.h
14014
14015 2006-06-14  Matthew Allum  <mallum@openedhand.com>
14016
14017         * AUTHORS:
14018         * README:
14019         * TODO:
14020         Update all.
14021
14022 2006-06-13  Matthew Allum  <mallum@openedhand.com>
14023
14024         * clutter/clutter-video-texture.c:
14025         Add missing license.
14026
14027 2006-06-13  Matthew Allum  <mallum@openedhand.com>
14028
14029         * clutter/Makefile.am:
14030         * clutter/clutter-actor.c:
14031         * clutter/clutter-actor.h:
14032         * clutter/clutter-clone-texture.c:
14033         * clutter/clutter-clone-texture.h:
14034         * clutter/clutter-element.c:
14035         * clutter/clutter-element.h:
14036         * clutter/clutter-group.c:
14037         * clutter/clutter-group.h:
14038         * clutter/clutter-label.c:
14039         * clutter/clutter-label.h:
14040         * clutter/clutter-main.c:
14041         * clutter/clutter-main.h:
14042         * clutter/clutter-rectangle.c:
14043         * clutter/clutter-rectangle.h:
14044         * clutter/clutter-stage.c:
14045         * clutter/clutter-stage.h:
14046         * clutter/clutter-texture.c:
14047         * clutter/clutter-texture.h:
14048         * clutter/clutter-video-texture.c:
14049         * clutter/clutter-video-texture.h:
14050         * clutter/clutter.h:
14051         * examples/super-oh.c:
14052         * examples/test-text.c:
14053         * examples/test-video.c:
14054         * examples/test.c:
14055         * examples/video-cube.c:
14056         * gtk/gtk-clutter-test.c:
14057         * gtk/gtk-clutter.c:
14058         * gtk/gtk-clutter.h:
14059         Element to Actor Renaming.
14060
14061 2006-06-12  Matthew Allum  <mallum@openedhand.com>
14062
14063         * clutter/Makefile.am:
14064         * clutter/clutter-media.c:
14065         * clutter/clutter-media.h:
14066         * clutter/clutter-video-texture.c:
14067         * clutter/clutter-video-texture.h:
14068         * clutter/clutter.h:
14069         * examples/test-video.c: (main):
14070         * examples/video-cube.c: (main):
14071         Add new 'media' interface.
14072         Drop Totem based video playback code replace with newly
14073         rewritten supper Jorn based code. Clutter is now fully LGPL.
14074
14075         * clutter/clutter-texture.c: (tile_dimension):
14076         Remove uneeded overlap code.
14077
14078 2006-06-08  Iain Holmes  <iain@openedhand.com>
14079
14080         * clutter/clutter-texture.c:
14081         Opps, undo change I didn't mean to commit
14082
14083 2006-06-08  Iain Holmes  <iain@openedhand.com>
14084
14085         * configure.ac:
14086         Add gdk-pixbuf-xlib cflags/libs to clutter libs
14087         Build the gtk-clutter.pc file.
14088
14089         * clutter.pc.in:
14090         Add the gdk-pixbuf-xlib depends.
14091
14092         * gtk/gtk-clutter.pc.in:
14093         pkg-config stuff for gtk-clutter
14094
14095         * gtk/Makefile.am:
14096         Install gtk-clutter.pc
14097
14098 2006-06-08  Matthew Allum  <mallum@openedhand.com>
14099
14100         * clutter/clutter-main.c:
14101         * clutter/clutter-private.h:
14102         * clutter/clutter-stage.c:
14103         Rework and fix offscreen rendering, also rejig GLX
14104         context handling, moving mostly into stage.
14105         Require at least OpenGL 1.2 ( CLAMP_TO_EDGE )
14106
14107         * clutter/clutter-texture.c:
14108         Explicity set props on _init() as to avoid nasty can_create
14109         bug failing miserably in certain situations.
14110         Switch to CLAMP_TO_EDGE for textures to avoid tile seams.
14111         Add some more GL error checks.
14112
14113         * clutter/clutter-label.c:
14114         Extra debug info
14115
14116         * configure.ac:
14117         Require gdk-pixbuf-xlib-2.0
14118
14119 2006-06-06  Matthew Allum  <mallum@openedhand.com>
14120
14121         * configure.ac:
14122         Use pkg-config to check for X. Really Check for GL libs.
14123         Make gtk binding optional. Cleanup a little.
14124
14125         * Makefile.am:
14126         * gtk/Makefile.am:
14127         Make gtk binding optional
14128
14129         * clutter/clutter-element.c:
14130         Cleanup a little, notify on size change.
14131
14132         * clutter/clutter-texture.c:
14133         Lots of cleanups. Add waste prop. Add filter quality prop.
14134
14135         * clutter/clutter-clone-texture.c:
14136         Make object construction simpler to work better with bindings.
14137
14138         * clutter/clutter-stage.c:
14139         * clutter/clutter-timeline.c:
14140         Minor reformating, cleanups.
14141
14142         * examples/test-text.c: (main):
14143         Random experimentation
14144
14145 2006-06-06  Iain Holmes  <iain@openedhand.com>
14146
14147         * gtk/gtk-clutter.c (size_request): Take the size of the widget from
14148         the ClutterStage.
14149         (gtk_clutter_class_init): Hook up size-request
14150
14151 2006-06-06  Iain Holmes  <iain@openedhand.com>
14152
14153         * gtk/: Add a gtk widget for clutter.
14154
14155         * configure.ac: Add GTK checks
14156
14157         * Makefile.am: Go into gtk/
14158
14159 2006-06-05  Matthew Allum  <mallum@openedhand.com>
14160
14161         * clutter/clutter-group.c: (clutter_group_remove):
14162         Fix parent check.
14163
14164 2006-06-05  Matthew Allum  <mallum@openedhand.com>
14165
14166         * clutter/clutter-event.h:
14167         Remove send_event field. Clutter shouldn't need it.
14168
14169         * clutter/clutter-main.c: (clutter_dispatch_x_event):
14170         Dont malloc a new clutter event for each xevent.
14171
14172         * clutter/clutter-stage.h:
14173         * clutter/clutter-stage.c: (clutter_stage_class_init),
14174         (clutter_stage_get_default):
14175         Dont ref stage from clutter_stage_get_default.
14176
14177         * examples/super-oh.c: (main):
14178         Remove some now uneeded debug g_prints
14179
14180 2006-06-05  Emmanuele Bassi  <ebassi@openedhand.com>
14181
14182         * clutter-color.h:
14183         * clutter-color.c: Reimplement ClutterColor as a boxed type;
14184         add convenience API for color handling, like: add, subtract,
14185         shade, HSL color-space conversion, packing and unpacking.
14186
14187         * clutter-private.h: Update ClutterMainContext, and export the
14188         main context pointer here.
14189
14190         * clutter-rectangle.h:
14191         * clutter-rectangle.c: Update the color-related code; make
14192         clutter_rectangle_new() and empty constructor and provide
14193         clutter_rectangle_new_with_color(); provide color setter
14194         and getter API.
14195
14196         * clutter-label.h:
14197         * clutter-label.c: Rename the "font" property to "font-name";
14198         update the color-related code to the new ClutterColor object;
14199         rename clutter_label_new() to clutter_label_new_with_text(),
14200         and add setters and getters for the properties.
14201
14202         * clutter-marshal.list: Add VOID:OBJECT and VOID:BOXED marshallers
14203         generators.
14204
14205         * clutter-stage.h:
14206         * clutter-stage.c: Rework the API: provide a default constructor
14207         for a singleton object, named clutter_stage_get_default(), which
14208         supercedes the clutter_stage() function in clutter-main; provide
14209         new events: button-press-event, button-release-event,
14210         key-press-event and key-release-event; update the color-related
14211         code;
14212
14213         (clutter_stage_snapshot): Allow negative width and height when
14214         taking a snapshot (meaning: use full width/height).
14215
14216         (clutter_stage_get_element_at_pos): Rename clutter_stage_pick().
14217
14218         * clutter-element.c (clutter_element_paint): Clean up the
14219         stage and color related code.
14220
14221         * clutter-event.h:
14222         * clutter-event.c: Add generic ClutterAnyEvent type; add
14223         clutter_event_new(), clutter_event_copy() and clutter_event_free();
14224         make ClutterEvent a boxed type.
14225
14226         * clutter-main.h:
14227         * clutter-main.c: Remove clutter_stage(); add clutter_main_quit(),
14228         for cleanly quitting from clutter_main(); add multiple mainloops
14229         support; allocate the ClutterCntx instead of adding it to the
14230         stack; re-work the ClutterEvent dispatching.
14231
14232         * clutter-group.c (clutter_group_add), (clutter_group_remove): Keep
14233         a reference on the element when added to a ClutterGroup.
14234
14235         * examples/rects.py
14236         * examples/test.c:
14237         * examples/test-text.c:
14238         * examples/video-cube.c:
14239         * examples/super-oh.c:
14240         * examples/test-video.c: Update.
14241
14242 2006-06-04  Matthew Allum  <mallum@openedhand.com>
14243
14244         * clutter/clutter-element.c:
14245         * clutter/clutter-group.c:
14246         * clutter/clutter-group.h:
14247         Work more on depth ( Z ) setting with sorting.
14248
14249         * clutter/clutter-main.c: (clutter_redraw):
14250         Experiment with glXWaitVideoSyncSGI. Currently disabled.
14251
14252 2006-06-02  Matthew Allum  <mallum@openedhand.com>
14253
14254         * clutter/clutter-element.h:
14255         Add missing _depth() declarations
14256
14257         * clutter/clutter-main.c:
14258         * clutter/clutter-main.h:
14259         * clutter/clutter-private.h:
14260         * clutter/clutter-stage.c:
14261         * clutter/clutter-stage.h:
14262         Rejig GL setup as for stage to support an offscreen property.
14263         Offscreen support is however a little borked.
14264
14265 2006-06-01  Matthew Allum  <mallum@openedhand.com>
14266
14267         * clutter/clutter-element.c:
14268         Fix a snafu in clutter_element_raise ()
14269
14270         * clutter/clutter-timeline.c:
14271         * clutter/clutter-timeline.h:
14272         Add new clutter_timeline_is_playing() method
14273
14274 2006-05-29  Matthew Allum  <mallum@openedhand.com>
14275
14276         * clutter/clutter-color.c: (clutter_color_set):
14277         Fix bit shifts in clutter color setters.
14278
14279 2006-05-29  Matthew Allum  <mallum@openedhand.com>
14280
14281         * clutter/clutter-element.c:
14282         * clutter/clutter-element.h:
14283         Add initial new element depth() getter and setter.
14284
14285         * clutter/clutter-group.c:
14286         * clutter/clutter-group.h:
14287         Add 2 new methods for listing a groups children externally.
14288
14289 2006-05-27  Emmanuele Bassi  <ebassi@openedhand.com>
14290
14291         * clutter/clutter-clone-texture.c (set_parent_texture),
14292         (clutter_clone_texture_set_property),
14293         (clutter_clone_texture_get_property),
14294         (clutter_clone_texture_class_init),
14295         (clutter_clone_texture_new): Add a "parent-texture"
14296         constructor-only property to simplify the constructor code.
14297
14298         * clutter/clutter-rectangle.c (clutter_rectangle_new):
14299         * clutter/clutter-timeline.c (clutter_timeline_new): Simplify
14300         the constructor code.
14301
14302         * examples/rect.py: Use the new method names for clutter.main()
14303         and clutter.stage().
14304
14305 2006-05-26  Emmanuele Bassi  <ebassi@openedhand.com>
14306
14307         * clutter/clutter-element.c: Fix gtk-doc annotations for public
14308         functions; add sanity checks for public API; factor out some
14309         pointer dereferences.
14310
14311 2006-05-26  Emmanuele Bassi  <ebassi@openedhand.com>
14312
14313         Big entry, small changes.
14314
14315         * clutter/clutter-rectangle.c:
14316         * clutter/clutter-clone-texture.c:
14317         * clutter/clutter-group.c:
14318         * clutter/clutter-element.c:
14319         * clutter/clutter-label.c: Use the GObject built-in definition
14320         of a private data structure; it removes the need for managing
14321         the allocation/de-allocation of a private structure ourselves.
14322
14323         * clutter/clutter-group.h:
14324         * clutter/clutter-label.h: Add padding, for adding signals and
14325         other class-wide definitions without breaking ABI.
14326
14327         * clutter/clutter-element.h:
14328         * clutter/clutter-element.c (clutter_element_box_get_type),
14329         (clutter_element_box_copy): Make ClutterElementBox a GBoxed
14330         type; clean up declarations of the enums and flags.
14331
14332         * clutter/clutter-group.h:
14333         * clutter/clutter-group.c (clutter_group_add_many_valist),
14334         (clutter_group_add_many): Add a _valist version of
14335         clutter_group_add_many() function, and re-implement the latter
14336         as a proxy for the former; language bindings do not cope
14337         well with variable argument functions.
14338
14339         * clutter/clutter-video-texture.h:
14340         * clutter/clutter-video-texture.c: Use the right prefix for
14341         the error and for the ratio enumerations.
14342
14343         * clutter/*.c:
14344         * clutter/*.h:
14345         * clutter/Makefile.am: Use the <clutter/...> include path
14346         for parallel installations.
14347
14348         * clutter/Makefile.am:
14349         * clutter/clutter-enum-types.h:
14350         * clutter/clutter-enum-types.c: Register the enumeration types
14351         inside the GObject type system in order to use them as properties
14352         and bindings automagically pick them up.
14353
14354         * bindings/python/ChangeLog: Add a changelog for the bindings...
14355
14356         * doc/reference/ChangeLog: ... and a changelog for the reference.
14357
14358         * examples/test.c:
14359         * examples/video-cube.c:
14360         * examples/test-video.c: Use the <clutter/clutter.h> header.
14361
14362 2006-05-25  Matthew Allum  <mallum@openedhand.com>
14363
14364         * clutter/clutter-clone-texture.c:
14365         (clone_texture_render_to_gl_quad):
14366         Remove uneeded bogus warning. Fix a typo causing large
14367         texture to get incorrectly rendered.
14368         * clutter/clutter-texture.c: (init_tiles),
14369         (texture_render_to_gl_quad), (clutter_texture_sync_pixbuf),
14370         (clutter_texture_realize):
14371         Add some new debug info.
14372         * clutter/clutter-video-texture.c: (fakesink_handoff_cb):
14373         Set the pixbuf from GST_BUFFER_DATA() a little safer.
14374
14375 2006-05-25  Matthew Allum  <mallum@openedhand.com>
14376
14377         * clutter.pc.in:
14378         Fix prefix snafu via Ross.
14379
14380 2006-05-24  Matthew Allum  <mallum@openedhand.com>
14381
14382         * clutter/clutter-element.c: (clutter_element_paint),
14383         (clutter_element_class_init):
14384         * clutter/clutter-label.c: (clutter_label_make_pixbuf):
14385         * clutter/clutter-main.c: (clutter_main):
14386         * clutter/clutter-stage.c: (sync_fullscreen), (sync_gl_viewport):
14387         * clutter/clutter-stage.h:
14388         Various minor tweaks / fixes needed by o.p.t
14389         * clutter/clutter-texture.c: (texture_render_to_gl_quad),
14390         (clutter_texture_sync_pixbuf), (clutter_texture_set_property),
14391         (clutter_texture_get_property), (clutter_texture_class_init):
14392         Experiment adding currently borked repreating textures,
14393         * clutter/clutter-timeline.c: (timeline_timeout_func),
14394         (clutter_timeline_skip):
14395         Fix timeline callback frame counting.
14396         * examples/test-video.c: (main):
14397         Experiment with repeated textures.
14398
14399 2006-05-23  Matthew Allum  <mallum@openedhand.com>
14400
14401         * clutter/clutter-clone-texture.h:
14402         Fix Include.
14403         * clutter/clutter-element.c: (clutter_element_set_parent):
14404         Only unref if parent non NULL
14405         * clutter/clutter-label.c: (clutter_label_class_init),
14406         (clutter_label_set_text), (clutter_label_set_font):
14407         * clutter/clutter-stage.h:
14408         Add some utility defines
14409         * clutter/clutter-texture.c: (init_tiles):
14410         * clutter/clutter-timeline.c: (clutter_timeline_class_init),
14411         (timeline_timeout_func), (clutter_timeline_get_current_frame):
14412         * clutter/clutter-timeline.h:
14413         Add a 'completed' signal
14414         Dont free priv when g_type_class_private used.
14415         * clutter/clutter.h:
14416         Add missing clutter-rectangle.h
14417         * examples/Makefile.am:
14418         * examples/super-oh.c: (main):
14419         * examples/test.c:
14420         * examples/video-cube.c:
14421         Fix includes
14422
14423 2006-05-22  Matthew Allum  <mallum@openedhand.com>
14424
14425         * clutter/clutter-element.c:
14426         * clutter/clutter-element.h:
14427         * clutter/clutter-event.c:
14428         * clutter/clutter-group.c: (clutter_group_remove_all):
14429         * clutter/clutter-group.h:
14430         * clutter/clutter-main.c: (translate_button_event),
14431         (translate_motion_event):
14432         Improve mouse event handling.
14433         Add code to map arbituary ( i.e cursor ) position to
14434         a clutter element using OpenGL 'picking'.
14435         * clutter/clutter-texture.c:
14436         * clutter/clutter-clone-texture.c:
14437         re-realize parent texture if it gets hidden.
14438         * clutter/clutter-stage.c:
14439         * clutter/clutter-stage.h:
14440         Make sure stage sets gl viewport up even if just default size.
14441         (clutter_texture_hide), (clutter_texture_paint):
14442         * doc/reference/Makefile.am:
14443         * examples/super-oh.c: (input_cb), (frame_cb), (main):
14444         Add test for mouse events, click to remove.
14445
14446 2006-05-21  Matthew Allum  <mallum@openedhand.com>
14447
14448         * clutter/clutter-element.c:
14449         * clutter/clutter-element.h:
14450         Add new core sizing methods and more documentation.
14451         * clutter/clutter-group.c:
14452         * clutter/clutter-group.h:
14453         Use the sizing bits and documentation.
14454         * clutter/clutter-main.c:
14455         * clutter/clutter-event.h:
14456         Add FPS display when CLUTTER_SHOW_FPS env var set.
14457         Add initial support for mouse events.
14458         * clutter/clutter-stage.c:
14459         Add 'snapshot' method.
14460         * clutter/clutter-texture.c: (clutter_texture_new_from_pixbuf):
14461         * clutter/clutter-texture.h:
14462         Documentation.
14463         * clutter/clutter-timeline.c:
14464         Add support for changing FPS setting on the fly. Document.
14465         * examples/super-oh.c: (frame_cb), (main):
14466         Add an optional motion trails effect.
14467
14468 2006-05-17  Matthew Allum  <mallum@openedhand.com>
14469
14470         * README:
14471         Add a tiny bit of info
14472         * TODO:
14473         Sync up a little
14474         * clutter/clutter-clone-texture.c:
14475         (clone_texture_render_to_gl_quad):
14476         * clutter/clutter-element.c: (clutter_element_show),
14477         (clutter_element_realize), (clutter_element_unrealize),
14478         (clutter_element_paint), (clutter_element_set_id),
14479         (clutter_element_get_id):
14480         * clutter/clutter-element.h:
14481         Rename REALISE() to REALIZE()
14482
14483         * clutter/clutter-texture.c: (texture_render_to_gl_quad),
14484         (clutter_texture_sync_pixbuf), (clutter_texture_set_pixbuf):
14485         * clutter/clutter-video-texture.c: (query_timeout),
14486         (got_video_size), (caps_set), (parse_stream_info),
14487         (handle_element_message), (bus_message_cb),
14488         (poll_for_state_change_full), (clutter_video_texture_get_property),
14489         (clutter_video_texture_class_init), (clutter_video_texture_init),
14490         (clutter_video_texture_open), (clutter_video_texture_seek_time),
14491         (stop_play_pipeline):
14492         * clutter/clutter-video-texture.h:
14493         Move over using fakesink and handoff instead of custom element
14494         Support 3 channel pixbufs as textures and thus increase efficiency
14495         of video texture ( also avoids byte swapping. )
14496         Clean up video texture code somemore.
14497         Add some metadata support.
14498
14499         * Makefile.am:
14500         * configure.ac:
14501         Disable old custom clutter gst element from build.
14502
14503         * examples/test-video.c: (foo), (size_change), (tick), (main):
14504         * examples/video-cube.c: (clutter_video_texture_cube_paint):
14505         Sink with new API. Pause on key press.
14506
14507 2006-05-13  Matthew Allum  <mallum@openedhand.com>
14508
14509         * clutter/clutter-element.c: (redraw_update_idle),
14510         (clutter_element_show), (clutter_element_hide),
14511         (clutter_element_realize), (clutter_element_unrealize),
14512         (clutter_element_class_init), (clutter_element_init),
14513         (clutter_element_queue_redraw), (clutter_element_set_geometry),
14514         (clutter_element_get_geometry), (clutter_element_get_coords),
14515         (clutter_element_set_position), (clutter_element_set_size),
14516         (clutter_element_get_abs_position), (clutter_element_get_width),
14517         (clutter_element_get_height), (clutter_element_get_x),
14518         (clutter_element_get_y), (clutter_element_set_opacity):
14519         * clutter/clutter-texture.c: (clutter_texture_get_base_size),
14520         (clutter_texture_bind_tile), (clutter_texture_get_n_tiles),
14521         (clutter_texture_get_x_tile_detail),
14522         (clutter_texture_get_y_tile_detail):
14523         * doc/reference/Makefile.am:
14524         * doc/reference/clutter.types:
14525         Documentation updates.
14526
14527 2006-05-13  Matthew Allum  <mallum@openedhand.com>
14528
14529         * clutter.pc.in:
14530         Add @MAJORMINOR@ to installed dirs.
14531         * clutter/clutter-main.c: (clutter_xscreen), (clutter_init):
14532         * clutter/clutter-main.h:
14533         * clutter/clutter-private.h:
14534         Quick fix for debug statements so now only appear
14535         if CLUTTER_DBBUG env var set.
14536
14537 2006-05-12  Matthew Allum  <mallum@openedhand.com>
14538
14539         * configure.ac:
14540         * Makefile.am:
14541         * clutter/Makefile.am:
14542         * bindings/python/Makefile.am:
14543         * examples/Makefile.am:
14544         * gst/Makefile.am:
14545         Clean up autofoo a bit fixing versioning.
14546         * bootstrap-autotools.sh:
14547         * clutter-1.0.pc.in:
14548         Rename.
14549
14550 2006-05-12  Matthew Allum  <mallum@openedhand.com>
14551
14552         * bindings/python/Makefile.am:
14553         * bindings/python/clutter.override:
14554         * clutter/Makefile.am:
14555         * clutter/clutter-bin.c:
14556         * clutter/clutter-bin.h:
14557         * clutter/clutter-element.c: (clutter_element_dispose),
14558         (clutter_element_raise), (clutter_element_lower):
14559         * clutter/clutter-group.c:
14560         * clutter/clutter-group.h:
14561         * clutter/clutter-main.c: (clutter_threads_leave):
14562         * clutter/clutter-main.h:
14563         * clutter/clutter-stage.c: (clutter_stage_class_init):
14564         * clutter/clutter-stage.h:
14565         * clutter/clutter.h:
14566         * examples/super-oh.c: (frame_cb), (main):
14567         * examples/test-text.c: (main):
14568         * examples/test-video.c: (main):
14569         * examples/test.c: (main):
14570         * examples/video-cube.c: (main):
14571         Rename clutter-bin to clutter-group
14572
14573 2006-05-11  Matthew Allum  <mallum@openedhand.com>
14574
14575         * clutter/clutter-clone-texture.c:
14576         (clone_texture_render_to_gl_quad), (clutter_clone_texture_paint),
14577         (clutter_clone_texture_class_init), (clutter_clone_texture_new):
14578         Fix cloning.
14579         * clutter/clutter-element.c: (clutter_element_rotate_z),
14580         (clutter_element_rotate_x), (clutter_element_rotate_y):
14581         Minor tweaks
14582         * examples/Makefile.am:
14583         * examples/super-oh.c:
14584         Add a new demo - unsing rotations and clones.
14585
14586 2006-05-11  Matthew Allum  <mallum@openedhand.com>
14587
14588         * bindings/python/Makefile.am:
14589         * bindings/python/clutter-base-types.defs:
14590         * bindings/python/clutter-base.defs:
14591         * bindings/python/clutter.override:
14592         Python goodiness from ebassi.
14593          - Element geometry handled nicely.
14594          - get_coords(), get_abs_position() added.
14595
14596         * clutter/clutter-element.c: (clutter_element_rotate_x),
14597         (clutter_element_rotate_y), (clutter_element_mirror),
14598         * clutter/clutter-element.h:
14599         Add initial rotation API. Make Geometry boxed ( ebassi )
14600
14601         * clutter/clutter-stage.c: (sync_gl_viewport):
14602         Set depth in main world transform.
14603
14604         * clutter/clutter-timeline.h:
14605         Add missing new() api call.
14606
14607         * examples/test.c: (timeout_text_cb), (frame_cb), (main):
14608         Tou with some rotation
14609
14610 2006-05-11  Matthew Allum  <mallum@openedhand.com>
14611
14612         reviewed by: <delete if not using a buddy>
14613
14614         * bindings/python/Makefile.am:
14615         * bindings/python/clutter-base-types.defs:
14616         * bindings/python/clutter-base.defs:
14617         * bindings/python/clutter.override:
14618         * clutter/clutter-bin.c: (clutter_bin_paint):
14619         * clutter/clutter-element.c: (clutter_element_paint),
14620         (clutter_element_get_height), (clutter_element_get_x),
14621         (clutter_element_get_y), (clutter_element_set_opacity),
14622         (clutter_element_get_opacity), (clutter_element_set_id),
14623         (clutter_element_get_id), (clutter_element_rotate_x),
14624         (clutter_element_rotate_y), (clutter_element_mirror),
14625         (clutter_element_set_clip), (clutter_element_remove_clip),
14626         (clutter_element_set_parent), (clutter_element_get_parent),
14627         (clutter_element_raise), (clutter_element_lower),
14628         (clutter_element_raise_top), (clutter_element_lower_bottom):
14629         * clutter/clutter-element.h:
14630         * clutter/clutter-main.c: (clutter_redraw):
14631         * clutter/clutter-stage.c: (sync_gl_viewport):
14632         * clutter/clutter-timeline.h:
14633         * examples/test.c: (timeout_text_cb), (frame_cb), (main):
14634
14635 2006-05-09  Matthew Allum  <mallum@openedhand.com>
14636
14637         * COPYING:
14638         * clutter/clutter-bin.c:
14639         * clutter/clutter-bin.h:
14640         * clutter/clutter-clone-texture.c:
14641         * clutter/clutter-clone-texture.h:
14642         * clutter/clutter-color.c:
14643         * clutter/clutter-color.h:
14644         * clutter/clutter-element.c:
14645         * clutter/clutter-element.h:
14646         * clutter/clutter-event.c:
14647         * clutter/clutter-event.h:
14648         * clutter/clutter-keysyms.h:
14649         * clutter/clutter-label.c:
14650         * clutter/clutter-label.h:
14651         * clutter/clutter-main.c:
14652         * clutter/clutter-main.h:
14653         * clutter/clutter-private.h:
14654         * clutter/clutter-rectangle.c:
14655         * clutter/clutter-rectangle.h:
14656         * clutter/clutter-stage.c:
14657         * clutter/clutter-stage.h:
14658         * clutter/clutter-texture.c:
14659         * clutter/clutter-texture.h:
14660         * clutter/clutter-timeline.c:
14661         * clutter/clutter-timeline.h:
14662         * clutter/clutter-util.c:
14663         * clutter/clutter-util.h:
14664         Add license info.
14665
14666 2006-05-08  Matthew Allum  <mallum@openedhand.com>
14667
14668         * clutter/Makefile.am:
14669         * clutter/clutter-event.c:
14670         * clutter/clutter-event.h:
14671         * clutter/clutter-keysyms.h:
14672         * clutter/clutter-main.c: (clutter_dispatch_x_event):
14673         * clutter/clutter-stage.c: (clutter_stage_class_init):
14674         * clutter/clutter-stage.h:
14675         * clutter/clutter.h:
14676         * bindings/python/Makefile.am:
14677         * bindings/python/clutter.override:
14678         Add basic input event handling. Keys only atm.
14679
14680 2006-05-08  Matthew Allum  <mallum@openedhand.com>
14681
14682         * TODO:
14683         Sync a little.
14684         * bindings/python/Makefile.am:
14685         * bindings/python/clutter.override:
14686         Fix up so pixbufs now work ( thanks ebassi! )
14687         Add some missing newer headers.
14688         * clutter/clutter-main.h:
14689         Remove unused clutter_queue_redraw();
14690
14691 2006-05-07  Matthew Allum  <mallum@openedhand.com>
14692
14693         * clutter/clutter-element.c: (clutter_element_class_init),
14694         (clutter_element_init), (clutter_element_queue_redraw),
14695         (clutter_element_set_geometry), (clutter_element_get_geometry),
14696         (clutter_element_get_coords), (clutter_element_set_position),
14697         (clutter_element_set_size), (clutter_element_get_abs_position),
14698         (clutter_element_get_width), (clutter_element_get_height),
14699         (clutter_element_get_x), (clutter_element_get_y),
14700         (clutter_element_set_opacity):
14701         * clutter/clutter-main.c: (clutter_dispatch_x_event):
14702         * clutter/clutter-main.h:
14703         * clutter/clutter-private.h:
14704         * clutter/clutter-stage.c: (clutter_stage_set_color):
14705         * clutter/clutter-texture.c: (clutter_texture_set_pixbuf):
14706         Rename clutter_queue_redraw -> clutter_element_queue_redraw
14707
14708         * clutter/clutter-label.c: (clutter_label_make_pixbuf),
14709         (clutter_label_set_property), (clutter_label_set_text_extents):
14710         * clutter/clutter-label.h:
14711         Fixes to extents
14712
14713         * examples/Makefile.am:
14714         * examples/test-text.c:
14715         Add sime test text example.
14716
14717 2006-05-07  Matthew Allum  <mallum@openedhand.com>
14718
14719         * clutter/clutter-label.c: (clutter_label_make_pixbuf),
14720         (clutter_label_get_property), (clutter_label_dispose),
14721         (clutter_label_class_init), (clutter_label_init),
14722         (clutter_label_new_with_text), (clutter_label_new),
14723         (clutter_label_set_text), (clutter_label_set_font),
14724         (clutter_label_set_text_extents), (clutter_label_set_fg_color):
14725         * examples/test.c: (main):
14726         Slight efficiency improvements. Add initial extents API.
14727
14728 2006-05-07  Matthew Allum  <mallum@openedhand.com>
14729
14730         * TODO:
14731         resync.
14732         * clutter/Makefile.am:
14733         * clutter/clutter-clone-texture.c:
14734         * clutter/clutter-clone-texture.h:
14735         Add new texture clone element.
14736         * clutter/clutter-color.c:
14737         * clutter/clutter-color.h:
14738         Add simple color API.
14739         * clutter/clutter-util.c:
14740         * clutter/clutter-util.h:
14741         Move shared texture funcs into shared util code.
14742         * clutter/clutter-texture.c: (can_create), (tile_dimension),
14743         (init_tiles), (texture_render_to_gl_quad),
14744         (clutter_texture_unrealize), (clutter_texture_sync_pixbuf),
14745         (clutter_texture_realize), (clutter_texture_show),
14746         (clutter_texture_hide), (clutter_texture_paint),
14747         (clutter_texture_finalize), (clutter_texture_set_property),
14748         (clutter_texture_get_property), (clutter_texture_class_init),
14749         (clutter_texture_init), (clutter_texture_set_pixbuf),
14750         (clutter_texture_new_from_pixbuf), (clutter_texture_get_base_size),
14751         (clutter_texture_bind_tile):
14752         Changes for clones to work.
14753         * clutter/clutter-element.c: (clutter_element_paint),
14754         (clutter_element_set_property), (clutter_element_get_property),
14755         (clutter_element_set_position), (clutter_element_set_size),
14756         (clutter_element_get_abs_position), (clutter_element_get_width),
14757         (clutter_element_get_height), (clutter_element_get_x),
14758         (clutter_element_get_y), (clutter_element_set_opacity),
14759         (clutter_element_get_opacity), (clutter_element_set_id),
14760         (clutter_element_get_id), (clutter_element_set_clip):
14761         * clutter/clutter-element.h:
14762         Add clipping and other tweaks.
14763         * clutter/clutter-stage.c: (sync_gl_viewport),
14764         (clutter_stage_paint), (clutter_stage_init):
14765         Add psuedo 3D desktop like GL setup.
14766         * clutter/clutter-label.c: (clutter_label_make_pixbuf):
14767         * clutter/clutter-label.h:
14768         * clutter/clutter-main.c: (clutter_redraw):
14769         * clutter/clutter-main.h:
14770         * clutter/clutter-private.h:
14771         * clutter/clutter-rectangle.c: (clutter_rectangle_paint):
14772         * clutter/clutter-stage.h:
14773         * clutter/clutter-texture.h:
14774         * clutter/clutter-timeline.c: (clutter_timeline_class_init):
14775         * clutter/clutter-video-texture.c:
14776         * clutter/clutter.h:
14777         * examples/test-video.c: (foo), (size_change), (tick), (main):
14778         * examples/test.c: (main):
14779         * examples/video-cube.c: (clutter_video_texture_cube_paint),
14780         (clutter_video_texture_cube_class_init),
14781         (clutter_video_texture_cube_init):
14782         Various minor tweaks for API changes, new features etc.
14783
14784 2006-05-03  Matthew Allum  <mallum@openedhand.com>
14785
14786         * clutter/clutter-bin.c: (clutter_bin_paint):
14787         * clutter/clutter-bin.h:
14788         * clutter/clutter-element.c: (clutter_element_unrealize),
14789         (clutter_element_paint), (clutter_element_set_property),
14790         (clutter_element_get_property), (clutter_element_dispose),
14791         (clutter_element_finalize), (clutter_element_class_init),
14792         (clutter_element_init), (clutter_element_queue_redraw),
14793         (clutter_element_set_geometry), (clutter_element_get_geometry),
14794         (clutter_element_get_coords), (clutter_element_set_position),
14795         (clutter_element_set_size), (clutter_element_get_abs_position),
14796         (clutter_element_set_opacity), (clutter_element_get_opacity),
14797         (clutter_element_set_clip), (clutter_element_remove_clip),
14798         (clutter_element_set_parent), (clutter_element_get_parent),
14799         (clutter_element_raise), (clutter_element_lower),
14800         (clutter_element_raise_top), (clutter_element_lower_bottom):
14801         * clutter/clutter-element.h:
14802         * clutter/clutter-label.c: (clutter_label_set_fg_color):
14803         * clutter/clutter-rectangle.c: (clutter_rectangle_paint),
14804         (clutter_rectangle_set_property), (clutter_rectangle_init):
14805         * clutter/clutter-stage.c: (sync_xwindow_size):
14806         * clutter/clutter-texture.c: (clutter_texture_paint),
14807         (clutter_texture_set_pixbuf):
14808         Clean up ClutterElement, removing globals, improving sizing
14809         and initial clipping code.
14810
14811         * clutter/clutter.h:
14812         * clutter/clutter-timeline.c: (clutter_timeline_class_init),
14813         (timeline_timeout_func), (clutter_timeline_start),
14814         (clutter_timeline_pause), (clutter_timeline_rewind),
14815         (clutter_timeline_skip), (clutter_timeline_advance),
14816         (clutter_timeline_get_current_frame), (clutter_timeline_new):
14817         * clutter/clutter-timeline.h:
14818         Various fixes to timelines. Implement frame skipping.
14819
14820         * examples/test.c: (timeout_text_cb), (main):
14821         Update to use timeline.
14822
14823 2006-05-02  Matthew Allum  <mallum@openedhand.com>
14824
14825         * TODO:
14826         Update
14827         * clutter/clutter-element.h:
14828         * clutter/clutter-rectangle.h:
14829         Minor formatting cleanups
14830
14831 2006-05-02  Matthew Allum  <mallum@openedhand.com>
14832
14833         * clutter/Makefile.am:
14834         * clutter/clutter-timeline.c:
14835         * clutter/clutter-timeline.h:
14836         Add initial timeline implementation
14837
14838 2006-05-02  Matthew Allum  <mallum@openedhand.com>
14839
14840         * bindings/python/Makefile.am:
14841         * bindings/python/cluttermodule.c: (initclutter):
14842         Fix python build with new -1.0 naming. Use of GdkPixbufs
14843         still causing crashes.
14844
14845 2006-04-30  Matthew Allum  <mallum@openedhand.com>
14846
14847         * clutter/clutter-main.c: (events_init), (redraw_update_idle),
14848         (clutter_queue_redraw), (clutter_redraw):
14849         Fix repaint queueing, using idle handler now.
14850         Clean up some minor compiler warnings.
14851         * clutter/clutter-main.h:
14852         * clutter/clutter-texture.c: (clutter_texture_unrealize),
14853         (clutter_texture_set_pixbuf):
14854         Rename gl_lock/unlock to threads_enter/leaver
14855
14856 2006-04-30  Matthew Allum  <mallum@openedhand.com>
14857
14858         * Makefile.am:
14859         * clutter-1.0.pc.in:
14860         * clutter/Makefile.am:
14861         * clutter/clutter-bin.h:
14862         * clutter/clutter-label.h:
14863         * clutter/clutter-rectangle.h:
14864         * clutter/clutter-stage.h:
14865         * clutter/clutter-texture.h:
14866         * clutter/clutter-video-texture.h:
14867         * clutter/clutter.h:
14868         * configure.ac:
14869         * examples/Makefile.am:
14870         Add .pc file, tag -1.0 onto lib, includes dir naming.
14871
14872 2006-04-29  Matthew Allum  <mallum@openedhand.com>
14873
14874         * clutter/clutter-main.c: (clutter_dispatch_x_event),
14875         (clutter_queue_redraw), (clutter_redraw):
14876         Simplify paint event queueing. Does not actually queue
14877         anymore (broken), needs wrong to reduce high number of
14878         uneeded paints.
14879
14880         * clutter/clutter-texture.c: (clutter_texture_set_pixbuf):
14881         Remove visible check which broke paints of resized texture pixmaps.
14882
14883 2006-04-19  Matthew Allum  <mallum@openedhand.com>
14884
14885         * clutter/clutter-bin.c: (clutter_bin_paint), (clutter_bin_add):
14886         * clutter/clutter-element.c: (clutter_element_paint):
14887         * clutter/clutter-element.h:
14888         * clutter/clutter-label.c: (clutter_label_set_property),
14889         (clutter_label_get_property), (clutter_label_class_init):
14890         * clutter/clutter-marshal.list:
14891         * clutter/clutter-rectangle.c: (clutter_rectangle_set_property),
14892         (clutter_rectangle_get_property), (clutter_rectangle_class_init):
14893         * clutter/clutter-stage.c: (clutter_stage_dispose),
14894         (clutter_stage_get_property), (clutter_stage_class_init):
14895         * clutter/clutter-texture.c: (clutter_texture_realize),
14896         (clutter_texture_class_init), (clutter_texture_set_pixbuf):
14897         * clutter/clutter-texture.h:
14898         More object cleanups. Add signal to texture size changes.
14899         Fix color props. Adjust element realise flags workings ( broken ).
14900         * examples/test-video.c: (main):
14901         Broken due to realize flag changes.
14902
14903 2006-04-18  Matthew Allum  <mallum@openedhand.com>
14904
14905         * clutter/clutter-bin.c: (clutter_bin_get_property),
14906         (clutter_bin_finalize), (clutter_bin_class_init),
14907         (clutter_bin_new), (clutter_bin_show_all), (clutter_bin_hide_all),
14908         (clutter_bin_add):
14909         * clutter/clutter-bin.h:
14910         * clutter/clutter-element.c: (clutter_element_get_property),
14911         (clutter_element_finalize), (clutter_element_class_init),
14912         (clutter_element_set_parent), (clutter_element_get_parent),
14913         (clutter_element_raise), (clutter_element_lower):
14914         * clutter/clutter-element.h:
14915         * clutter/clutter-label.c: (clutter_label_make_pixbuf),
14916         (clutter_label_get_property), (clutter_label_dispose),
14917         (clutter_label_finalize), (clutter_label_class_init),
14918         (clutter_label_init), (clutter_label_new_with_text),
14919         (clutter_label_new), (clutter_label_set_text),
14920         (clutter_label_set_font), (clutter_label_set_fg_color):
14921         * clutter/clutter-label.h:
14922         * clutter/clutter-rectangle.c: (clutter_rectangle_paint),
14923         (clutter_rectangle_set_property), (clutter_rectangle_get_property),
14924         (clutter_rectangle_finalize), (clutter_rectangle_dispose),
14925         (clutter_rectangle_class_init), (clutter_rectangle_init),
14926         (clutter_rectangle_new):
14927         * clutter/clutter-texture.c: (clutter_texture_paint),
14928         (clutter_texture_dispose), (clutter_texture_finalize),
14929         (clutter_texture_set_property), (clutter_texture_get_property),
14930         (clutter_texture_class_init), (clutter_texture_init),
14931         (clutter_texture_set_pixbuf), (clutter_texture_new_from_pixbuf):
14932         Various GObject usages cleanups, adding properties and
14933         finalize/dispose functions properly.
14934
14935 2006-04-18  Matthew Allum  <mallum@openedhand.com>
14936
14937         * bindings/python/Makefile.am:
14938         * bindings/python/clutter.override:
14939         * bindings/python/cluttermodule.c: (initclutter):
14940         * clutter/clutter-label.h:
14941         * clutter/clutter-rectangle.h:
14942         * clutter/clutter-video-texture.h:
14943         More fixups to now less broken python bindings
14944         * examples/rects.py:
14945         A simple python script using bindings
14946
14947 2006-04-18  Matthew Allum  <mallum@openedhand.com>
14948
14949         * clutter/clutter-marshal.list:
14950         Add missing.
14951
14952 2006-04-17  Matthew Allum  <mallum@openedhand.com>
14953
14954         * Makefile.am:
14955         * bindings/Makefile.am:
14956         * bindings/python/Makefile.am:
14957         * bindings/python/clutter.override:
14958         * bindings/python/cluttermodule.c:
14959         * configure.ac:
14960         First shot at some python bindings ( broken atm )
14961         * clutter/clutter-bin.h:
14962         * clutter/clutter-element.h:
14963         * clutter/clutter-stage.h:
14964         * clutter/clutter-texture.h:
14965         * clutter/clutter.h:
14966         Rejig headers a little so h2def.py happier
14967
14968 2006-04-17  Matthew Allum  <mallum@openedhand.com>
14969
14970         * TODO:
14971         * doc/clutter.types:
14972         * doc/reference/Makefile.am:
14973         Move gtk-doc gubbins to doc/reference
14974
14975 2006-04-16  Matthew Allum  <mallum@openedhand.com>
14976
14977         * TODO:
14978         More updates
14979
14980         * clutter/clutter-bin.c: (clutter_bin_paint):
14981         Add translate call
14982
14983         * clutter/clutter-texture.c: (clutter_texture_dispose),
14984         (clutter_texture_class_init), (clutter_texture_set_pixbuf):
14985         Fixup object finalization a little.
14986
14987         * bootstrap-autotools.sh:
14988         * configure.ac:
14989         * doc/Makefile.am:
14990         * doc/clutter.types:
14991         Add gtk-doc infrastructure
14992
14993 2006-04-15  Matthew Allum  <mallum@openedhand.com>
14994
14995         * TODO:
14996         More ideas.
14997
14998         * clutter/Makefile.am:
14999         * clutter/clutter-rectangle.c: (clutter_rectangle_new):
15000         Sync passed color alpha chan to element opacity,
15001
15002         * clutter/clutter-video-texture.c:
15003         (clutter_video_texture_error_quark), (signal_eos_delayed),
15004         (query_timeout), (got_video_size), (caps_set), (parse_stream_info),
15005         (handle_element_message)
15006         * clutter/clutter-video-texture.h:
15007         Port more of bacon video widget API.
15008
15009         * examples/test-video.c: (foo), (tick), (main):
15010         Add a simple overlay displaying playback time.
15011
15012 2006-04-15  Matthew Allum  <mallum@openedhand.com>
15013
15014         * clutter/clutter-element.c:
15015         * clutter/clutter-label.c: (clutter_label_init),
15016         (clutter_label_new_with_text):
15017         * clutter/clutter-label.h:
15018         * clutter/clutter-main.c: (clutter_redraw), (clutter_gl_unlock):
15019         * clutter/clutter-main.h:
15020         * clutter/clutter-rectangle.c: (clutter_rectangle_init),
15021         (clutter_rectangle_new):
15022         * clutter/clutter-rectangle.h:
15023         * clutter/clutter-texture.c: (clutter_texture_class_init),
15024         (clutter_texture_set_pixbuf), (clutter_texture_new_from_pixbuf):
15025         * clutter/clutter-texture.h:
15026         * clutter/clutter-video-texture.c: (clutter_video_texture_init):
15027         * clutter/clutter-video-texture.h:
15028         * examples/test-video.c: (main):
15029         * examples/test.c: (main):
15030         * examples/video-cube.c: (clutter_video_texture_cube_init), (main):
15031         Make xxx_new() return there type as ClutterElement*
15032
15033 2006-04-15  Matthew Allum  <mallum@openedhand.com>
15034
15035         * TODO:
15036         Update
15037         * clutter/clutter-main.c:
15038         * clutter/clutter-stage.c:
15039         * clutter/clutter-texture.c:
15040         * clutter/clutter-texture.h:
15041         * gst/clutterimagesink.c: (gst_clutterimagesink_clutterimage_put),
15042         (gst_clutterimagesink_context_get):
15043         Various experiments with textures and 3D views.
15044
15045         * clutter/clutter-video-texture.c:
15046         (clutter_video_texture_class_init), (clutter_video_texture_init):
15047         * examples/Makefile.am:
15048         * examples/test-video.c: (main):
15049         * examples/video-cube.c:
15050         Add video-cube example
15051
15052 2006-04-13  Matthew Allum  <mallum@openedhand.com>
15053
15054         * TODO:
15055         Update
15056
15057         * clutter/clutter-bin.c:
15058         * clutter/clutter-bin.h:
15059         New container element
15060
15061         * clutter/clutter-stage.c:
15062         * clutter/clutter-stage.h:
15063         Make stage a proper element
15064
15065         * clutter/Makefile.am:
15066         * clutter/clutter.h:
15067         * clutter/clutter-element.c: (clutter_element_show),
15068         (clutter_element_set_opacity):
15069         * clutter/clutter-element.h:
15070         * clutter/clutter-label.c: (clutter_label_make_pixbuf),
15071         (clutter_label_set_text), (clutter_label_set_font):
15072         * clutter/clutter-private.h:
15073         Various tweaks new api calls.
15074
15075         * clutter/clutter-main.c: (events_init):
15076         * clutter/clutter-main.h:
15077         Make ClutterContex Private to main
15078
15079         * clutter/clutter-texture.c:
15080         * clutter/clutter-texture.h:
15081         * clutter/clutter-video-texture.c:
15082         (clutter_video_texture_finalize):
15083         Fix video crash
15084
15085         * examples/test-video.c: (main):
15086         * examples/test.c: (main):
15087         Fix for API changes.
15088
15089 2006-04-11  Matthew Allum  <mallum@openedhand.com>
15090
15091         * TODO:
15092         Add
15093         * clutter/clutter-video-texture.c:
15094         (clutter_video_texture_finalize):
15095         * clutter/clutter-video-texture.h:
15096         Remove bogus pixbuf attribute
15097
15098 2006-04-10  Matthew Allum  <mallum@openedhand.com>
15099
15100         * clutter/clutter-main.c: (clutter_dispatch_x_event),
15101         (clutter_queue_redraw), (clutter_main), (clutter_set_stage_params),
15102         (clutter_init):
15103         * clutter/clutter-main.h:
15104         * clutter/clutter-private.h:
15105         Make Stage non fullscreen ( for now ). Change event loop to
15106         work better with video.
15107
15108         * clutter/Makefile.am:
15109         * clutter/clutter-label.c: (clutter_label_make_pixbuf),
15110         (clutter_label_class_init), (clutter_label_new_with_text),
15111         (clutter_label_set_text), (clutter_label_set_font):
15112         * clutter/clutter-texture.c: (texture_render_to_gl_quad),
15113         (clutter_texture_unrealize), (clutter_texture_sync_pixbuf),
15114         (clutter_texture_realize), (clutter_texture_show),
15115         (clutter_texture_hide), (clutter_texture_paint),
15116         (clutter_texture_finalize), (clutter_texture_set_property),
15117         (clutter_texture_get_property), (clutter_texture_class_init),
15118         (clutter_texture_init), (clutter_texture_get_pixbuf),
15119         (clutter_texture_set_pixbuf), (clutter_texture_new_from_pixbuf):
15120         * clutter/clutter-texture.h:
15121         * clutter/clutter.h:
15122         Fix leakage. Improve performance. Add support for non tiled
15123         textures.
15124
15125         * examples/Makefile.am:
15126         * examples/test.c: (timeout_text_cb), (main):
15127         Experiments
15128
15129         * examples/test-video.c:
15130         * configure.ac:
15131         * gst/Makefile.am:
15132         * gst/clutterimagesink.c:
15133         * gst/clutterimagesink.h:
15134         * clutter/clutter-video-texture.c:
15135         * clutter/clutter-video-texture.h:
15136         Add initial support for video textures with gst-0.10
15137
15138         * gst/cltrimagesink.c:
15139         * gst/cltrimagesink.h:
15140         Remove old gst-0.8 sink
15141
15142 2006-04-05  Matthew Allum  <mallum@openedhand.com>
15143
15144         * clutter/Makefile.am:
15145         * clutter/clutter-element.c: (clutter_element_show),
15146         (clutter_element_hide), (clutter_element_realize),
15147         (clutter_element_unrealize), (clutter_element_paint),
15148         (clutter_element_finalize), (clutter_element_class_init),
15149         (clutter_element_init), (clutter_element_new):
15150         * clutter/clutter-element.h:
15151         * clutter/clutter.h:
15152         * clutter/clutter-main.c: (clutter_dispatch_x_event),
15153         (events_init), (clutter_redraw), (clutter_main), (clutter_init),
15154         (clutter_show_stage):
15155         * clutter/clutter-main.h:
15156         Various minor tweaks.
15157
15158         * clutter/clutter-private.h:
15159         * clutter/clutter-texture.c: (can_create), (init_tiles),
15160         (clutter_texture_unrealize), (clutter_texture_realize),
15161         (clutter_texture_finalize), (clutter_texture_class_init),
15162         (clutter_texture_init):
15163         * clutter/clutter-texture.h:
15164         Much improve texture class.
15165
15166         * clutter/clutter-label.c:
15167         * clutter/clutter-label.h:
15168         Add new text rendering class
15169
15170         * clutter/clutter-rectangle.c:
15171         * clutter/clutter-rectangle.h:
15172         Add basic rectangle drawing class
15173
15174         * examples/test.c:
15175         Add text rendering and animation to test.
15176
15177 2006-04-04  Matthew Allum  <mallum@openedhand.com>
15178
15179         * clutter/Makefile.am:
15180         * clutter/clutter-element.c: (clutter_element_realize):
15181         * clutter/clutter-element.h:
15182         * clutter/clutter-image.c:
15183         * clutter/clutter-image.h:
15184         * clutter/clutter-main.c: (clutter_dispatch_x_event),
15185         (clutter_main), (clutter_set_stage_params), (clutter_init):
15186         * clutter/clutter-texture.c: (next_p2), (can_create),
15187         (tile_dimension), (init_tiles), (texture_render_to_gl_quad),
15188         (clutter_texture_unrealize), (clutter_texture_realize),
15189         (clutter_texture_get_pixbuf), (clutter_texture_paint),
15190         (clutter_texture_finalize), (clutter_texture_class_init):
15191         * clutter/clutter-texture.h:
15192         * clutter/clutter.h:
15193         * configure.ac:
15194         * examples/test.c:
15195         Implement basic tiled texture painting.
15196
15197 2006-04-03  Matthew Allum  <mallum@openedhand.com>
15198
15199         reviewed by: <delete if not using a buddy>
15200
15201         * clutter/Makefile.am:
15202         * clutter/clutter-element.c:
15203         * clutter/clutter-element.h:
15204         * clutter/clutter-image.c:
15205         * clutter/clutter-image.h:
15206         * clutter/clutter-main.c: (events_init), (stage_realize),
15207         (clutter_queue_redraw), (clutter_redraw), (clutter_add_to_stage),
15208         (clutter_remove_from_stage), (clutter_main),
15209         (clutter_set_stage_params), (clutter_init):
15210         * clutter/clutter-main.h:
15211         * clutter/clutter-private.h:
15212         * clutter/clutter.h:
15213         * examples/test.c:
15214
15215 2006-04-02  Matthew Allum  <mallum@openedhand.com>
15216
15217         * clutter/Makefile.am:
15218         * clutter/cltr-animator.c:
15219         * clutter/cltr-animator.h:
15220         * clutter/cltr-button.c:
15221         * clutter/cltr-button.h:
15222         * clutter/cltr-core.c:
15223         * clutter/cltr-core.h:
15224         * clutter/cltr-events.c:
15225         * clutter/cltr-events.h:
15226         * clutter/cltr-glu.c:
15227         * clutter/cltr-glu.h:
15228         * clutter/cltr-label.c:
15229         * clutter/cltr-label.h:
15230         * clutter/cltr-list.c:
15231         * clutter/cltr-list.h:
15232         * clutter/cltr-overlay.c:
15233         * clutter/cltr-overlay.h:
15234         * clutter/cltr-photo-grid.c:
15235         * clutter/cltr-photo-grid.h:
15236         * clutter/cltr-private.h:
15237         * clutter/cltr-scratch.c:
15238         * clutter/cltr-scratch.h:
15239         * clutter/cltr-texture.c:
15240         * clutter/cltr-texture.h:
15241         * clutter/cltr-video.c:
15242         * clutter/cltr-video.h:
15243         * clutter/cltr-widget.c:
15244         * clutter/cltr-widget.h:
15245         * clutter/cltr-window.c:
15246         * clutter/cltr-window.h:
15247         * clutter/cltr.h:
15248         * clutter/clutter-main.c:
15249         * clutter/clutter-main.h:
15250         * clutter/clutter-private.h:
15251         * clutter/clutter.h:
15252         * clutter/fonts.c:
15253         * clutter/fonts.h:
15254         * clutter/pixbuf.c:
15255         * clutter/pixbuf.h:
15256         * clutter/util.c:
15257         * clutter/util.h:
15258         * configure.ac:
15259         * examples/Makefile.am:
15260         * examples/photos.c:
15261         * examples/player.c:
15262         * examples/scratch.c:
15263         * examples/select.c:
15264         * examples/test.c:
15265         Remove old cltr files replacing with beginnings of
15266         rejigged 'clutter' ones.
15267
15268 2005-05-27  mallum,,,  <mallum@openedhand.com>
15269
15270         * clutter/cltr-animator.c: (cltr_animator_zoom_new),
15271         (cltr_animator_move_new), (cltr_animator_fullzoom_new),
15272         (cltr_animator_new), (cltr_animator_set_args),
15273         (cltr_animator_wrapped_zoom_paint), (cltr_animator_reset),
15274         (cltr_animator_timeout_cb), (cltr_animator_run):
15275         * clutter/cltr-animator.h:
15276         * clutter/cltr-button.c: (cltr_button_set_label),
15277         (cltr_button_paint):
15278         * clutter/cltr-label.c: (cltr_label_new), (cltr_label_set_text),
15279         (cltr_label_get_text), (cltr_label_show),
15280         (cltr_label_handle_xevent), (cltr_label_paint):
15281         * clutter/cltr-label.h:
15282         * clutter/cltr-list.c: (cltr_list_paint):
15283         * clutter/cltr-widget.c:
15284         * examples/select.c: (usage), (video_ctrl_hide),
15285         (video_ctrl_stop_cb), (video_ctrl_play_cb),
15286         (video_ctrl_seek_begin_cb), (init_video_ctrl), (show_video_ctrl),
15287         (populate), (cell_to_item), (zoom_video_out), (init_show_controls),
15288         (handle_xevent), (zoom_out_complete), (zoom_in_complete):
15289         More select hacking ...
15290
15291 2005-05-23  mallum,,,  <mallum@openedhand.com>
15292
15293         * clutter/cltr-button.c: (cltr_button_new_with_label),
15294         (cltr_button_handle_xevent), (cltr_button_paint):
15295         * clutter/cltr-button.h:
15296         * clutter/cltr-events.c: (cltr_main_loop):
15297         * clutter/cltr-list.c: (cltr_list_cell_new),
15298         (cltr_list_append_cell), (cltr_list_update_layout),
15299         (cltr_list_paint):
15300         * clutter/cltr-list.h:
15301         * clutter/cltr-overlay.c: (cltr_overlay_paint):
15302         * clutter/cltr-private.h:
15303         * clutter/cltr-widget.c: (cltr_widget_show),
15304         (cltr_widget_show_all), (cltr_widget_add_child):
15305         * clutter/cltr-widget.h:
15306         * clutter/cltr-window.c: (cltr_window_show), (cltr_window_paint),
15307         (cltr_window_handle_xevent), (cltr_window_post_paint),
15308         (cltr_window_set_paint_funcs), (cltr_window_xwin),
15309         (cltr_window_hide_cursor), (cltr_window_set_fullscreen):
15310         * clutter/cltr-window.h:
15311         * examples/select.c: (usage), (init_video_ctrl), (show_video_ctrl),
15312         (populate), (cell_to_item), (handle_xevent), (zoom_out_complete),
15313         (zoom_in_complete), (cell_activated), (main):
15314         Much Select hacking
15315
15316 2005-05-17  mallum,,,  <mallum@openedhand.com>
15317
15318         * clutter/cltr-video.c: (cltr_video_get_pixbuf):
15319         * gst/cltrimagesink.c: (gst_cltrimagesink_change_state),
15320         (gst_cltrimagesink_chain):
15321         Fix thread related segv's on grabbing video image.
15322         Also pop any unplayed data from sink on stop
15323
15324 2005-05-16  mallum,,,  <mallum@openedhand.com>
15325
15326         * clutter/cltr-animator.c: (cltr_animator_zoom_new),
15327         (cltr_animator_fullzoom_new), (cltr_animator_new),
15328         (cltr_animator_set_args), (cltr_animator_wrapped_paint):
15329         * clutter/cltr-animator.h:
15330         * clutter/cltr-list.c: (cltr_list_cell_new),
15331         (cltr_list_get_active_cell_co_ords), (cltr_list_show),
15332         (cltr_list_on_activate_cell), (cltr_list_update_layout),
15333         (cltr_list_paint):
15334         * clutter/cltr-list.h:
15335         * clutter/cltr-texture.c: (cltr_texture_realize),
15336         (cltr_texture_unref), (cltr_texture_sync_pixbuf),
15337         (cltr_texture_force_rgb_data):
15338         * clutter/cltr-video.c: (got_stream_length), (got_time_tick),
15339         (got_state_change), (parse_stream_info), (cb_iterate),
15340         (cltr_video_play), (cltr_video_set_volume),
15341         (cltr_video_get_volume), (cltr_video_get_pixbuf),
15342         (cltr_video_idler), (cltr_video_set_source),
15343         (cltr_video_handle_xevent), (cltr_video_paint):
15344         * clutter/cltr-video.h:
15345         * clutter/cltr-widget.c:
15346         * clutter/pixbuf.c: (pixbuf_write_png), (load_png_file),
15347         (pixbuf_copy), (pixbuf_fill_rect), (pixbuf_scale_down),
15348         (pixbuf_clone):
15349         * examples/select.c: (usage), (populate), (cell_to_item),
15350         (handle_xevent), (zoom_out_complete), (zoom_in_complete),
15351         (cell_activated), (main):
15352         * gst/cltrimagesink.c: (gst_cltrimagesink_getcaps),
15353         (gst_cltrimagesink_chain):
15354         Far too much hacking. Fix many endian image issues.
15355         Greatly improve select demo
15356
15357 2005-05-16  mallum,,,  <mallum@openedhand.com>
15358
15359         * clutter/Makefile.am:
15360         * clutter/cltr-animator.c:
15361         * clutter/cltr-animator.h:
15362         * clutter/cltr-list.c: (distfunc), (cltr_list_new),
15363         (cltr_list_get_active_cell_co_ords), (cltr_list_show),
15364         (cltr_list_on_activate_cell), (cltr_list_handle_xevent),
15365         (cltr_list_animate), (cltr_list_timeout_cb),
15366         (cltr_list_update_layout), (cltr_list_paint):
15367         * clutter/cltr-list.h:
15368         * clutter/cltr-private.h:
15369         * clutter/cltr.h:
15370         * clutter/pixbuf.c: (load_png_file):
15371         * examples/player.c:
15372         * examples/select.c: (usage), (populate), (cell_activated), (main):
15373         Work on animator zooming. Also build up select.c much
15374
15375 2005-05-14  mallum,,,  <mallum@openedhand.com>
15376
15377         * clutter/cltr-animator.c:
15378         Add initial outline
15379         * clutter/cltr-button.c: (cltr_button_new_with_pixbuf),
15380         (cltr_button_handle_xkeyevent), (cltr_button_handle_xevent),
15381         (cltr_button_paint):
15382         various tweaks/experimentation
15383         * clutter/cltr-core.c: (cltr_init), (cltr_display_height):
15384         * clutter/cltr-glu.c: (cltr_glu_set_color):
15385         * clutter/cltr-glu.h:
15386         Add unfilled rect call.
15387         * clutter/cltr-label.c: (cltr_label_new), (cltr_label_paint):
15388         * clutter/cltr-list.c: (distfunc), (cltr_list_cell_new),
15389         (cltr_list_show), (cltr_list_animate), (cltr_list_paint):
15390         update list a little.
15391         * clutter/cltr-overlay.c: (cltr_overlay_handle_xevent),
15392         (cltr_overlay_paint):
15393         * clutter/cltr-private.h:
15394         * clutter/cltr-texture.c: (cltr_texture_realize):
15395         * clutter/cltr-video.c: (cltr_video_paint):
15396         * clutter/cltr.h:
15397         * clutter/fonts.c: (draw_layout_on_pixbuf):
15398         Fix font alpha blending
15399         * examples/Makefile.am:
15400         * examples/player.c: (main):
15401         * examples/scratch.c: (main):
15402         tweaks.
15403         * examples/select.c:
15404         new example
15405
15406 2005-05-11  mallum,,,  <mallum@openedhand.com>
15407
15408         * clutter/cltr-video.c: (got_buffering), (cltr_video_new),
15409         (cltr_video_play), (cltr_video_idler):
15410         * examples/photos.c: (main):
15411         * examples/player.c: (handle_xevent), (main):
15412         * gst/cltrimagesink.c: (gst_cltrimagesink_chain):
15413         Fix Gl thread related crash on video playback
15414         Make examples less bound to my laptop ;)
15415
15416 2005-05-06  mallum,,,  <mallum@openedhand.com>
15417
15418         * clutter/cltr-button.c: (cltr_button_new_with_label):
15419         * clutter/cltr-overlay.c:
15420         * clutter/cltr-photo-grid.c: (cltr_photo_grid_cell_new),
15421         (cltr_photo_grid_paint), (cltr_photo_grid_new):
15422         * clutter/cltr-video.c: (cltr_video_print_tag), (got_buffering),
15423         (got_error), (caps_set), (parse_stream_info), (cb_iterate),
15424         (cltr_video_new), (cltr_video_play), (cltr_video_seek),
15425         (cltr_video_seek_time), (cltr_video_stop), (cltr_video_close),
15426         (cltr_video_pause), (cltr_video_can_set_volume),
15427         (cltr_video_set_volume), (cltr_video_get_volume),
15428         (cltr_video_idler), (cltr_video_set_source), (cltr_video_show),
15429         (cltr_video_hide), (cltr_video_handle_xevent), (cltr_video_paint):
15430         * clutter/cltr-video.h:
15431         * clutter/cltr-widget.h:
15432         * clutter/cltr-window.c: (cltr_window_show), (cltr_window_paint),
15433         (cltr_window_handle_xevent), (cltr_window_set_fullscreen),
15434         (cltr_window_focus_widget):
15435         * clutter/cltr-window.h:
15436         * clutter/cltr.h:
15437         * clutter/fonts.c: (get_layout_bitmap), (font_draw),
15438         (font_get_pixel_size):
15439         * configure.ac:
15440         * examples/photos.c: (photo_grid_populate):
15441         * examples/player.c: (handle_xevent), (main):
15442         * examples/scratch.c: (main):
15443         Lots more tweaks, mainly updating video widget.
15444
15445 2005-04-29  mallum,,,  <mallum@openedhand.com>
15446
15447         * clutter/cltr-button.c: (cltr_button_new),
15448         (cltr_button_on_activate), (cltr_button_new_with_label),
15449         (cltr_button_show):
15450         * clutter/cltr-button.h:
15451         * clutter/cltr-label.c: (cltr_label_new), (cltr_label_paint):
15452         * clutter/cltr-private.h:
15453         * clutter/cltr-video.c: (cltr_video_play):
15454         * clutter/cltr-widget.c: (cltr_widget_new), (cltr_widget_abs_x),
15455         (cltr_widget_abs_y), (cltr_widget_abs_x2), (cltr_widget_abs_y2),
15456         (cltr_widget_width), (cltr_widget_height), (cltr_widget_show),
15457         (cltr_widget_focus), (cltr_widget_unfocus),
15458         (cltr_widget_set_focus_next), (cltr_widget_get_focus_next),
15459         (cltr_widget_show_all):
15460         * clutter/cltr-widget.h:
15461         * clutter/cltr-window.c: (cltr_window_new),
15462         (cltr_window_focus_widget):
15463         * clutter/cltr.h:
15464         * clutter/fonts.c: (draw_layout_on_pixbuf), (font_get_pixel_size):
15465         * examples/scratch.c: (main):
15466         Hack buttons some more
15467
15468 2005-04-27  mallum,,,  <mallum@openedhand.com>
15469
15470         * clutter/Makefile.am:
15471         * clutter/cltr-button.c: (cltr_button_new):
15472         * clutter/cltr-label.c:
15473         * clutter/cltr-label.h:
15474         * clutter/cltr-photo-grid.c: (cltr_photo_grid_paint):
15475         * clutter/cltr-texture.c: (cltr_texture_realize),
15476         (cltr_texture_new), (cltr_texture_unref),
15477         (cltr_texture_no_tile_new):
15478         * clutter/cltr-texture.h:
15479         * clutter/cltr-video.c: (cltr_video_got_time_tick), (caps_set),
15480         (cltr_video_new), (cltr_video_idler), (cltr_video_set_source),
15481         (cltr_video_play), (cltr_video_pause), (cltr_video_show),
15482         (cltr_video_hide), (cltr_video_handle_xevent), (cltr_video_paint):
15483         * clutter/cltr.h:
15484         * clutter/fonts.c: (font_new), (draw_layout_on_pixbuf),
15485         (font_draw):
15486         * clutter/fonts.h:
15487         * clutter/pixbuf.c: (pixbuf_set_pixel), (pixbuf_get_pixel):
15488         * examples/photos.c: (photo_grid_populate), (main):
15489         * examples/player.c: (main):
15490         Improve video widget, use playbin rather than gst_play
15491         Lots of misc tweaks.
15492
15493 2005-04-26  mallum,,,  <mallum@openedhand.com>
15494
15495         * clutter/Makefile.am:
15496         * clutter/cltr-core.c: (cltr_init):
15497         * clutter/cltr-events.c: (cltr_events_init), (cltr_main_loop):
15498         * clutter/cltr-photo-grid.c:
15499         * clutter/cltr-private.h:
15500         * clutter/cltr-scratch.c: (cltr_scratch_handle_xevent),
15501         (cltr_scratch_paint):
15502         * clutter/cltr-texture.c: (cltr_texture_render_to_gl_quad),
15503         (init_tiles), (cltr_texture_unrealize), (cltr_texture_realize),
15504         (cltr_texture_new), (cltr_texture_no_tile_new),
15505         (cltr_texture_get_pixbuf):
15506         * clutter/cltr-texture.h:
15507         * clutter/cltr-video.c:
15508         * clutter/cltr-video.h:
15509         * clutter/cltr-widget.c: (cltr_widget_queue_paint):
15510         * clutter/cltr.h:
15511         * examples/Makefile.am:
15512         * examples/player.c:
15513         * gst/cltrimagesink.c: (gst_cltrimagesink_fixate),
15514         (gst_cltrimagesink_getcaps), (gst_cltrimagesink_sink_link),
15515         (gst_cltrimagesink_change_state), (gst_cltrimagesink_chain),
15516         (gst_cltrimagesink_set_property), (gst_cltrimagesink_get_property),
15517         (gst_cltrimagesink_finalize), (gst_cltrimagesink_class_init):
15518         * gst/cltrimagesink.h:
15519         Initial go at very hacky gst video widget
15520
15521 2005-04-22  mallum,,,  <mallum@openedhand.com>
15522
15523         * clutter/Makefile.am:
15524         * clutter/cltr-button.c:
15525         * clutter/cltr-button.h:
15526         * clutter/cltr-core.c: (cltr_init):
15527         * clutter/cltr-overlay.c:
15528         * clutter/cltr-overlay.h:
15529         * clutter/cltr-photo-grid.c: (cltr_photo_grid_handle_xevent),
15530         (cltr_photo_grid_cell_new), (ctrl_photo_grid_get_zoomed_coords),
15531         (cell_is_offscreen), (cltr_photo_grid_idle_cb),
15532         (cltr_photo_grid_navigate), (cltr_photo_grid_activate_cell),
15533         (cltr_photo_grid_populate), (cltr_photo_grid_update_visual_state),
15534         (cltr_photo_grid_paint), (cltr_photo_grid_show),
15535         (cltr_photo_grid_set_fps), (cltr_photo_grid_get_fps),
15536         (cltr_photo_grid_set_anim_steps), (cltr_photo_grid_get_anim_steps),
15537         (cltr_photo_grid_new):
15538         Fix up grid so external prog can load images.
15539         * clutter/cltr-photo-grid.h:
15540         * clutter/cltr-texture.c: (cltr_texture_realize),
15541         (cltr_texture_new):
15542         * clutter/cltr-texture.h:
15543         * clutter/cltr-window.c: (cltr_window_set_fullscreen):
15544         * clutter/cltr.h:
15545         * clutter/pixbuf.c: (pixbuf_scale_down), (ConvolveImage),
15546         (GaussianBlurImage):
15547         * clutter/pixbuf.h:
15548         New experimental Methods
15549         * configure.ac:
15550         * examples/Makefile.am:
15551         * examples/photos.c:
15552         * examples/player.c:
15553         Add new examples
15554         * gst/Makefile.am:
15555         * gst/cltrimagesink.c:
15556         * gst/cltrimagesink.h:
15557         Add initial crusty ( broken ) gst stuff
15558
15559 2005-04-13  mallum,,,  <mallum@openedhand.com>
15560
15561         * bootstrap-autotools.sh:
15562         * clutter/Makefile.am:
15563         * clutter/cltr.c:
15564         * configure.ac:
15565         * examples/Makefile.am:
15566         * examples/scratch.c:
15567         Initial autotooling of everything.
15568
15569 2005-04-07  mallum,,,  <mallum@openedhand.com>
15570
15571         * Makefile:
15572         * cltr-events.c: (cltr_main_loop):
15573         * cltr-list.c:
15574         * cltr-list.h:
15575         Add list widget
15576         * cltr-photo-grid.c: (cltr_photo_grid_cell_new),
15577         (cltr_photo_grid_append_cell), (ctrl_photo_grid_cell_to_coords),
15578         (ctrl_photo_grid_get_zoomed_coords), (cltr_photo_grid_idle_cb),
15579         (cltr_photo_grid_navigate), (cltr_photo_grid_activate_cell),
15580         (cltr_photo_grid_update_visual_state), (cltr_photo_grid_paint),
15581         (cltr_photo_grid_show), (cltr_photo_grid_new):
15582         * cltr-texture.c:
15583         * cltr-widget.c:
15584         * cltr-window.c: (cltr_window_new), (cltr_window_show),
15585         (cltr_window_handle_xevent):
15586         * cltr-window.h:
15587         * cltr.c: (main):
15588         * cltr.h:
15589         * pixbuf.c: (pixbuf_copy):
15590         * pixbuf.h:
15591         Cleanups
15592
15593 2005-04-03  mallum,,,  <mallum@openedhand.com>
15594
15595         * Makefile:
15596         * cltr-core.c:
15597         * cltr-core.h:
15598         * cltr-events.c:
15599         * cltr-events.h:
15600         * cltr-photo-grid.c: (cltr_photo_grid_handle_xkeyevent),
15601         (cltr_photo_grid_handle_xevent), (cltr_photo_grid_cell_new),
15602         (cltr_photo_grid_append_cell), (ctrl_photo_grid_cell_to_coords),
15603         (ctrl_photo_grid_get_zoomed_coords), (cell_is_offscreen),
15604         (cltr_photo_grid_idle_cb), (cltr_photo_grid_navigate),
15605         (cltr_photo_grid_activate_cell), (cltr_photo_grid_populate),
15606         (cltr_photo_grid_paint), (cltr_photo_grid_show),
15607         (cltr_photo_grid_new):
15608         * cltr-photo-grid.h:
15609         * cltr-private.h:
15610         * cltr-texture.c:
15611         * cltr-texture.h:
15612         * cltr-widget.c:
15613         * cltr-widget.h:
15614         * cltr-window.c:
15615         * cltr-window.h:
15616         * cltr.c:
15617         * cltr.h:
15618         Add very basic initial toolkit infrastructure
15619
15620 2005-03-31  mallum,,,  <mallum@openedhand.com>
15621
15622         * cltr-photo-grid.c: (cltr_photo_grid_append_cell),
15623         (ctrl_photo_grid_cell_to_coords),
15624         (ctrl_photo_grid_get_zoomed_coords), (cell_is_offscreen),
15625         (cltr_photo_grid_idle_cb), (cltr_photo_grid_navigate),
15626         (cltr_photo_grid_activate_cell), (cltr_photo_grid_populate),
15627         (cltr_photo_grid_redraw), (cltr_photo_grid_new):
15628         * cltr-photo-grid.h:
15629         * cltr-texture.c: (cltr_texture_render_to_gl_quad), (init_tiles),
15630         (cltr_texture_realize):
15631         * cltr-texture.h:
15632         * cltr.c: (main):
15633         Implemented scrolling. Very rough around the edges, needs tidying.
15634
15635 2005-03-30  mallum,,,  <mallum@openedhand.com>
15636
15637         * Makefile:
15638         * cltr-photo-grid.c: (cltr_photo_grid_redraw),
15639         (cltr_photo_grid_new):
15640         * cltr-tex.c:
15641         * cltr-tex.h:
15642         * cltr-texture.c: (cltr_texture_new):
15643         More renaming
15644
15645 2005-03-30  mallum,,,  <mallum@openedhand.com>
15646
15647         * cltr-photo-grid.c: (cltr_photo_grid_populate),
15648         (cltr_photo_grid_redraw), (cltr_photo_grid_new):
15649         * cltr-photo-grid.h:
15650         * cltr-tex.c: (next_p2), (cltr_texture_render_to_gl_quad),
15651         (tile_dimension), (init_tiles), (cltr_texture_new):
15652         * cltr-tex.h:
15653         * cltr.h:
15654         Rename CltrImage -> CltrTexture
15655
15656 2005-03-30  mallum,,,  <mallum@openedhand.com>
15657
15658         * Makefile:
15659         * cltr-photo-grid.c: (cltr_photo_grid_populate),
15660         (cltr_photo_grid_redraw):
15661         * cltr-photo-grid.h:
15662         * cltr-tex.c:
15663         * cltr-tex.h:
15664         * cltr.c: (main):
15665         * cltr.h:
15666         * pixbuf.c: (pixbuf_unref), (pixbuf_copy):
15667         * pixbuf.h:
15668         Add intial new texture tiling code.
15669
15670 2005-03-27  mallum,,,  <mallum@openedhand.com>
15671
15672         * Makefile:
15673         * cltr-photo-grid.c: (cltr_photo_grid_cell_new),
15674         (ctrl_photo_grid_get_zoomed_coords), (cltr_photo_grid_navigate),
15675         (cltr_photo_grid_activate_cell), (cltr_photo_grid_populate),
15676         (cltr_photo_grid_redraw), (cltr_photo_grid_new):
15677         * cltr-photo-grid.h:
15678         * cltr.c: (cltr_dispatch_x_event), (cltr_init), (test_idle_cb),
15679         (main):
15680         * cltr.h:
15681         Add a very hacky threaded image loader.
15682         Make event handling a little more efficient, though still hacky
15683         * pixbuf.c: (pixel_set_vals), pixbuf.h:
15684         Add copy func ( unused as yet )
15685
15686 2005-03-25  mallum,,,  <mallum@openedhand.com>
15687
15688         * cltr-photo-grid.c: (cltr_photo_grid_cell_new),
15689         (ctrl_photo_grid_get_zoomed_coords), (cltr_photo_grid_redraw),
15690         (cltr_photo_grid_new):
15691         * cltr-photo-grid.h:
15692         * cltr.c: (cltr_window_new), (idle_cb), (main):
15693         Use GL matrices in a saner way.
15694         Add random rotation to picts
15695         Random minor tweaks
15696
15697 2005-03-24  mallum,,,  <mallum@openedhand.com>
15698
15699         * Makefile:
15700         * cltr-photo-grid.c:
15701         * cltr-photo-grid.h:
15702         * cltr.c: (cltr_window_new), (cltr_main_loop):
15703         * cltr.h:
15704         Split up cltr.c a bit. start refactoring a bit.
15705
15706 2005-03-23  mallum,,,  <mallum@openedhand.com>
15707
15708         * cltr.c: (cltr_photo_grid_populate), (cltr_photo_grid_redraw),
15709         (cltr_photo_grid_new), (main):
15710         * cltr.h:
15711         Various minor tweaks
15712         * pixbuf.c: (pixbuf_set_pixel), (pixbuf_get_pixel):
15713         Fix RGBA ordering in set/get pixel
15714
15715 2005-03-23  mallum,,,  <mallum@openedhand.com>
15716
15717         * cltr.c: (ctrl_photo_grid_get_trans_coords),
15718         Fix grid co-ords -> translation vals converter
15719         (cltr_photo_grid_navigate), (cltr_photo_grid_redraw),
15720         (cltr_photo_grid_new), (idle_cb):
15721         Fix moving between pictures when zoomed
15722
15723 2005-03-23  mallum,,,  <mallum@openedhand.com>
15724
15725         * cltr.c: (cltr_dispatch_x_event), (cltr_window_new),
15726         (cltr_main_loop), (cltr_photo_grid_navigate),
15727         (cltr_photo_grid_activate_cell), (cltr_photo_grid_populate),
15728         (cltr_photo_grid_redraw), (cltr_photo_grid_new), (idle_cb), (main):
15729         * cltr.h:
15730         Lots, make the grid roughly work.
15731
15732         * fonts.c: (get_layout_bitmap), (font_draw):
15733         remove debug printfs
15734
15735 2005-03-22  mallum,,,  <mallum@openedhand.com>
15736
15737         * cltr.c: (x_event_prepare), (x_event_check), (x_event_dispatch),
15738         (cltr_dispatch_x_event), (cltr_init), (cltr_window_new),
15739         (cltr_photo_grid_append_cell), (cltr_photo_grid_populate),
15740         (cltr_photo_grid_redraw), (cltr_photo_grid_new),
15741         (idle_cb), (main):
15742         * cltr.h:
15743         Add glib event loop