commit 1f3f718a50b8138194057b3827459e402006b0f6 Author: Emmanuele Bassi Date: Fri Sep 24 15:07:17 2010 +0100 Release 1.4.0 (stable) NEWS | 33 +++++++++++++++++++++++++++++++++ configure.ac | 4 ++-- 2 files changed, 35 insertions(+), 2 deletions(-) commit 34407c14b00d35392e70b27e4b579f24f28e023a Author: Elliot Smith Date: Fri Sep 24 14:48:53 2010 +0100 cookbook: Reduce complexity of sample ClutterAnimator code for recipe http://bugzilla.clutter-project.org/show_bug.cgi?id=2341 Signed-off-by: Emmanuele Bassi doc/cookbook/examples/animations-moving-animator.c | 24 ++------------------ 1 file changed, 2 insertions(+), 22 deletions(-) commit 4640dad6afdce4469b64cef3fea9a426afcb0ce8 Author: Øyvind Kolås Date: Fri Sep 24 13:28:08 2010 +0100 animator: fix removal of all keys When removing all keys in a ClutterAnimator, the hash table with object/property name pairs went out of sync. This change makes the animator always clear this hash table upon key-removal; and refreshing it if the animator's timeline is running. Fixes bug #2335 clutter/clutter-animator.c | 23 +++++++---------------- 1 file changed, 7 insertions(+), 16 deletions(-) commit f834b8b138f1f405a7afa7e56560e4014f8bb990 Author: Robert Bragg Date: Thu Sep 23 22:18:42 2010 +0100 material: Don't prune ancestry if it owns some layers Each time a material property changes we look to see if any of its ancestry has become redundant and if so we prune that redundant ancestry. There was a problem with the logic that handles this though because we weren't considering that a material which is a layer state authority may still defer to ancestors to define the state of individual layers. For example a material that derives from a parent with 5 layers can become a STATE_LAYERS authority by simply changing it's ->n_layers count to 4 and in that case it can still defer to its ancestors to define the state of those 4 layers. This patch checks first if a material is a layer state authority and if so only tries to prune its ancestry if it also *owns* all the individual layers it depends on. (I.e. if g_list_length (material->layer_differences) != material->n_layers then it's not safe to try pruning its ancestry!) http://bugzilla-attachments.gnome.org/attachment.cgi?id=170907 clutter/cogl/cogl/cogl-material.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) commit ffd5c32209bc6784c554134dd8c61536191c1e29 Author: Jammy Zhou Date: Tue Sep 21 11:37:52 2010 +0800 cogl-framebuffer.c: GL_DEPTH_STENCIL not supported in gles There is GL_INVALID_ENUM error for GL_DEPTH_STENCIL when call glRenderbufferStorage() with OpenGL ES backend. So enable this only for OpenGL backend. Signed-off-by: Robert Bragg clutter/cogl/cogl/cogl-framebuffer.c | 2 ++ 1 file changed, 2 insertions(+) commit 4533edeef03b452aa79671fd6f80e659b2f09fa9 Author: Emmanuele Bassi Date: Thu Sep 23 17:03:17 2010 +0100 cookbook: Further clarification of the anchor point Make sure to add a note on the behaviour of the anchor point. Ideally, it would be nice to have a recipe about it in the Actor section. doc/cookbook/animations.xml | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) commit ce0bd4e26cd1cff6a9f446b1c54a440751d15fe7 Author: Elliot Smith Date: Thu Sep 23 16:18:29 2010 +0100 cookbook: Recipe for "moving actors" This recipe explains how to use the three animation approaches (implicit, State, Animator) to animate movement of actors. Includes some guidelines about which approach to use when, with a full code example for each approach. The discussion section covers some subtleties around animated movement; namely: moving actors out of their containers; anchor points and movement; moving in the depth axis; interactions between animated movement and constraints. doc/cookbook/Makefile.am | 2 + doc/cookbook/animations.xml | 474 +++++++++++++++++++++ doc/cookbook/videos/animations-moving-anchors.ogv | Bin 0 -> 18806 bytes doc/cookbook/videos/animations-moving-depth.ogv | Bin 0 -> 23536 bytes 4 files changed, 476 insertions(+) commit b8d36a364f6db8cb75eaacf27e7e6c109f4f336e Author: Elliot Smith Date: Thu Sep 23 11:19:00 2010 +0100 cookbook: Fixed markup in animations section Fixed indentation on some mark-up in an unrelated recipe. doc/cookbook/animations.xml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) commit 6307876552c95389c7c41acfa5483dd669d620eb Author: Elliot Smith Date: Wed Sep 22 16:58:08 2010 +0100 cookbook: Example of animated movement with ClutterAnimator Added an example showing how to randomly animate the simultaneous movement on the x axis of three actors, using ClutterAnimator. doc/cookbook/examples/Makefile.am | 2 + doc/cookbook/examples/animations-moving-animator.c | 145 ++++++++++++++++++++ 2 files changed, 147 insertions(+) commit f1b2f1e8c55816753362cd038da18e0e572d9978 Author: Elliot Smith Date: Tue Sep 21 17:45:03 2010 +0100 cookbook: Example of animated movement with ClutterState Added an example showing how to move two actors between two states (one minimised, one maximised) using ClutterState to do the movement. Also shows how movement can be mixed with other animation (in this case, scaling). doc/cookbook/examples/Makefile.am | 2 + doc/cookbook/examples/animations-moving-state.c | 98 +++++++++++++++++++++++ 2 files changed, 100 insertions(+) commit 5bca30300e21338ff8118f41e9f9e449625bc96a Author: Elliot Smith Date: Tue Sep 21 17:44:00 2010 +0100 cookbook: Example of simple movement animation Added example showing how to move an actor in one of the three axes (x,y,z) in response to a button event on the actor. doc/cookbook/examples/Makefile.am | 2 + doc/cookbook/examples/animations-moving-implicit.c | 93 ++++++++++++++++++++ 2 files changed, 95 insertions(+) commit 884ead03e1232b1f35c70098869cf9802f8ef836 Author: Emmanuele Bassi Date: Thu Sep 23 16:17:24 2010 +0100 Add some more argument validation This is all internal, so we shouldn't need it; unfortunately, it seems we're passing invalid data internally, so for the time being catching inconsistencies should at least emit a warning for us to backtrace. clutter/clutter-private.h | 5 +++-- clutter/clutter-stage.c | 15 +++++++++++++-- 2 files changed, 16 insertions(+), 4 deletions(-) commit f66e1de0e35f7e310db919926bbc06d8b03becbf Author: Robert Bragg Date: Thu Sep 23 16:03:06 2010 +0100 actor: don't pass NULL to _stage_set_pick_buffer_valid This adds a check in clutter_actor_real_queue_redraw after calling _clutter_actor_get_stage_internal to check in case the actor doesn't yet have an associated stage so we can avoid passing a NULL stage pointer to _clutter_stage_set_pick_buffer_valid which could cause a crash. clutter/clutter-actor.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit 37d0dbe6b2da3f7747780f638ac39c3f9c0e3818 Author: Robert Bragg Date: Thu Sep 23 15:45:27 2010 +0100 docs: Put deprecated Cogl symbols into new section This adds a "Cogl deprecated API" chapter to the Cogl reference manual so we can group all the documentation for deprecated symbols together instead of having them clutter up the documentation of symbols we would rather developers used. doc/reference/cogl/cogl-docs.xml.in | 28 ++++++++++ doc/reference/cogl/cogl-sections.txt | 99 +++++++++++++++++++++++----------- 2 files changed, 96 insertions(+), 31 deletions(-) commit 779c780500dd263b5bc0244d0e0b5693cdd3cd6c Author: Robert Bragg Date: Wed Aug 25 22:31:30 2010 +0100 docs: update the overview paragraph for Cogl Instead of describing OpenGL as "a low level OpenGL abstraction library" it is now summarised as "modern 3D graphics API". doc/reference/cogl/cogl-docs.xml.in | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) commit 2bc739ab445264b01700bada43755e6ab27d0aec Author: Robert Bragg Date: Wed Aug 25 20:36:20 2010 +0100 docs: cogl-texture-3d wasn't listed as experimental The CoglTexture3D API is only available when defining COGL_ENABLE_EXPERIMENTAL_API so it should be listed in the experimental section of the API reference. doc/reference/cogl/cogl-docs.xml.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit a89b8f430449ea02467aa6d11bd501841ef22756 Author: Robert Bragg Date: Wed Aug 25 20:33:27 2010 +0100 docs: Use "Cogl" not "COGL" in Cogl API reference Cogl isn't an acronym so we should use "Cogl" instead of "COGL" in our documentation. doc/HACKING | 6 +++--- doc/reference/clutter/running-clutter.xml | 6 +++--- doc/reference/clutter/subclassing-ClutterActor.xml | 9 ++++----- doc/reference/cogl/cogl-docs.xml.in | 14 +++++++------- 4 files changed, 17 insertions(+), 18 deletions(-) commit 4c8867ea07cf5ed8d36c0f7a351f91b254d93693 Author: Emmanuele Bassi Date: Thu Sep 23 15:15:37 2010 +0100 table-layout: Invert row/column in arguments *** This is an API change *** The general pattern for axis-aligned arguments is: x argument y argument If we consider columns an x-aligned argument, and row a y-aligned argument, then we need to update the TableLayout functions to be: column row and not: row column clutter/clutter-table-layout.c | 100 ++++++++++++++++----------------- clutter/clutter-table-layout.h | 8 +-- tests/interactive/test-table-layout.c | 22 ++++---- 3 files changed, 65 insertions(+), 65 deletions(-) commit 462d4c832a61731507bf1900d5ed7ec223c1fc57 Author: Emmanuele Bassi Date: Thu Sep 23 13:36:56 2010 +0100 docs: Mention Uncrustify in the coding style document doc/CODING_STYLE | 5 +++++ 1 file changed, 5 insertions(+) commit 5335689340c2748842999b40a43563f1f3be9fad Author: Emmanuele Bassi Date: Thu Sep 23 13:36:41 2010 +0100 Update the uncrustify configuration build/clutter-uncrustify.cfg | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) commit 46357db3898eb28bb07faffb5ea8a0b8841fcaec Author: Emmanuele Bassi Date: Thu Sep 23 13:00:06 2010 +0100 Add uncrustify configuration file Patch submission should include a pass of uncrustify to conform to the coding style. Uncrustify is not perfect - but at least it's a start. build/clutter-uncrustify.cfg | 117 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 117 insertions(+) commit 56929942a81a99105cd11dc4fa5afffcca26429e Author: Robert Bragg Date: Sat Sep 11 00:29:05 2010 +0100 picking: Fix tracking of pick buffer validity We have an optimization to track when there are multiple picks per frame so we can do a full render of the pick buffer to reduce the number of pick renders for a static scene. There was a problem though in that we were tracking this information in the ClutterMainContext, but conceptually this doesn't really make sense because the pick buffer is associated with a stage framebuffer and there can be multiple stages for one context. This patch moves the state tracking to ClutterStage. clutter/clutter-actor.c | 17 +++++------------ clutter/clutter-main.c | 16 ++++++---------- clutter/clutter-private.h | 9 ++++++--- clutter/clutter-stage.c | 46 +++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 63 insertions(+), 25 deletions(-) commit b2a56c9cda148bcca6e9695a488562fa45d66f9a Author: Robert Bragg Date: Thu Sep 23 11:35:42 2010 +0100 Revert "picking: Fix tracking of pick buffer validity" This reverts commit d7e86e26960f4cb2f5f0600357f5df89bd1c46c1. This was a half baked patch that was pushed a bit early since it broke test-texture-pick-with-alpha + the commit message refers to a change on the wip/paint-box branch that hasn't happened yet. clutter/clutter-actor.c | 12 ++++++++++++ clutter/clutter-main.c | 16 ++++++++++------ clutter/clutter-private.h | 10 +++------- clutter/clutter-stage.c | 46 --------------------------------------------- 4 files changed, 25 insertions(+), 59 deletions(-) commit d7e86e26960f4cb2f5f0600357f5df89bd1c46c1 Author: Robert Bragg Date: Sat Sep 11 00:29:05 2010 +0100 picking: Fix tracking of pick buffer validity We have an optimization to track when there are multiple picks per frames so we can do a full render of the pick buffer to reduce the number of pick renders for a static scene. There were two problems with how we were tracking this state though. Firstly we were tracking this information in the ClutterMainContext, but conceptually this doesn't really make sense because the pick buffer is associated with a stage framebuffer and there can be multiple stages for one context. Secondly - since the change to how redraws are queued - we weren't marking the pick buffer as invalid when a queuing a redraw, we were only marking the buffer invalid when signaling/finishing the queue-redraw process, which is now deferred until just before a paint. This meant using clutter_stage_get_actor_at_pos after a scenegraph change could give a wrong result if it just read from an existing (but technically invalid) pick buffer. This patch moves the state tracking to ClutterStage, and ensures the buffer is invalidated in _clutter_stage_queue_actor_redraw. http://bugzilla.clutter-project.org/show_bug.cgi?id=2283 Signed-off-by: Emmanuele Bassi clutter/clutter-actor.c | 12 ------------ clutter/clutter-main.c | 16 ++++++---------- clutter/clutter-private.h | 10 +++++++--- clutter/clutter-stage.c | 46 +++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 59 insertions(+), 25 deletions(-) commit 60c9dc25df59956cc28c2b243a69c76c66b4135e Author: Emmanuele Bassi Date: Wed Sep 22 12:46:47 2010 +0100 box-layout: Small cleanups clutter/clutter-box-layout.c | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) commit acc7d48e47b275c9320cc4b5817aec8eb0fe1e25 Author: Emmanuele Bassi Date: Wed Sep 22 10:07:42 2010 +0100 docs: Update the coding style Make sure to document: • nested if • conditions • interface definition doc/CODING_STYLE | 187 +++++++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 164 insertions(+), 23 deletions(-) commit bcd4385a0e1fe34f0be6cac906ff32ab42c43d3c Author: Neil Roberts Date: Tue Sep 21 13:17:53 2010 +0100 test-conform: Delay initializing Clutter until a test is run Instead of calling clutter_init immediately, test-conformance now only calls it as part of test_conform_simple_fixture_setup. The conformance tests assert that only one test is run per instance of test-conformance so it should never end up calling clutter_init twice. Delaying clutter_init has the advantage that calling "test-conformance -l" will still work even on systems with no X server. This could be useful for automated build systems. tests/conform/test-conform-common.c | 21 +++++++++++++++++++++ tests/conform/test-conform-main.c | 15 --------------- 2 files changed, 21 insertions(+), 15 deletions(-) commit ddf1e4c77bde95a71a325998ebc3b984116d0c19 Author: Emmanuele Bassi Date: Tue Sep 21 13:32:31 2010 +0100 effects: Make sure we're using GLSL 1.10 clutter/clutter-blur-effect.c | 22 +++++++++++----------- clutter/clutter-colorize-effect.c | 1 + clutter/clutter-desaturate-effect.c | 1 + 3 files changed, 13 insertions(+), 11 deletions(-) commit 9f2b62a595805c3d8bae1c9e5692959296aa5d28 Author: Emmanuele Bassi Date: Tue Sep 21 13:17:51 2010 +0100 introspection: Build ClutterJson before Clutter Since the latter requires the former. clutter/Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 66ba609f3b704b0950e4bd2b94b0ec9c485dc0b5 Author: Emmanuele Bassi Date: Tue Sep 21 13:15:56 2010 +0100 Require the installed JSON-GLib Continue to provide the internal copy for 1.4, but require an explicit override to use it. The internal copy will be removed for Clutter 1.6. README | 4 ++++ configure.ac | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) commit 4037f76a3e7aba3acac710e0bc73ba31a9dfcfc2 Author: Emmanuele Bassi Date: Tue Sep 21 12:02:41 2010 +0100 build: Update the remote publish path for the cookbook doc/cookbook/Makefile.am | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) commit 8f4d61e663770d6a24b75d77418a145eba7c104f Author: Neil Roberts Date: Mon Sep 20 12:04:51 2010 +0100 clutter-box-layout: Swap the default request mode The request mode set by the box layout was previously width-for-height in a vertical layout and height-for-width in a horizontal layout which seems to be wrong. For example, if width-for-height is used in a vertical layout then the width request will come second with the for_height parameter set. However a vertical layout doesn't pass the for_height parameter on to its children so doing the requests in that order doesn't help. If the layout contains a ClutterText then both the width and height request for it will have -1 for the for_width and for_height parameters so the text would end up allocated too small. http://bugzilla.clutter-project.org/show_bug.cgi?id=2328 clutter/clutter-box-layout.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit 699e8bbed28687dd91aba6b0518d43f815cae456 Merge: af42cdb e92b186 Author: Emmanuele Bassi Date: Mon Sep 20 14:33:26 2010 +0100 Merge branch 'cookbook-layouts-bind-constraint' * cookbook-layouts-bind-constraint: cookbook: Add recipe about sync'ing actor sizes cookbook: Example using allocation-changed to sync actor size cookbook: Simple example to demonstrate bind constraint cookbook: Example of using a bind constraint for an overlay commit af42cdbe875bf2c2db00ac7b380870545e2aaebf Author: Emmanuele Bassi Date: Mon Sep 20 14:31:53 2010 +0100 docs: Description fixes for State.set_animator() clutter/clutter-state.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) commit 695839c6f3527e3838bf104d26d3ff32b85aff3f Author: Bastian Winkler Date: Fri Sep 17 13:21:03 2010 +0200 state: Request the animator for the default state Try to use the default-state animator in case there is no animator for this specific state change request. http://bugzilla.clutter-project.org/show_bug.cgi?id=2325 clutter/clutter-state.c | 4 ++++ 1 file changed, 4 insertions(+) commit 172fc6bfedeefcb337ccefbf38b427c5be2591cd Author: Bastian Winkler Date: Wed Sep 15 15:59:39 2010 +0200 state: Fix the usage of ClutterAnimator in ClutterScript Fix the transition parser to allow transitions that have only an animator and no keys defined. http://bugzilla.clutter-project.org/show_bug.cgi?id=2325 clutter/clutter-state.c | 30 +++++++++++++++++------------- 1 file changed, 17 insertions(+), 13 deletions(-) commit 2d41d5afcb6e69d45ac5ca9575aa96f943484abf Author: Bastian Winkler Date: Wed Sep 15 14:46:19 2010 +0200 state: Create a new target state in clutter_state_set_animator clutter_state_set_animator needs to create a new state in order to use a ClutterAnimator with a target state that doesn't exist yet. http://bugzilla.clutter-project.org/show_bug.cgi?id=2325 clutter/clutter-state.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 9399760030325f513e640a781b6139372a8cca5a Author: Dominique Leuenberger Date: Mon Sep 20 14:13:49 2010 +0100 build: Pass CLUTTER_CFLAGS to g-ir-scanner http://bugzilla.clutter-project.org/show_bug.cgi?id=2327 Signed-off-by: Emmanuele Bassi clutter/Makefile.am | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) commit ce174654bf7d743ec2eb18b92c72ab64c9ed7a10 Author: Emmanuele Bassi Date: Mon Sep 20 13:15:44 2010 +0100 docs: API reference fixes clutter/clutter-timeout-pool.h | 4 +++ clutter/cogl/cogl/cogl-path.h | 2 ++ clutter/cogl/cogl/winsys/cogl-texture-pixmap-x11.h | 18 ++++++---- doc/reference/cally/cally-sections.txt | 36 ++++++++++---------- doc/reference/clutter/clutter-sections.txt | 4 +-- 5 files changed, 36 insertions(+), 28 deletions(-) commit d9f762f525f91b6eb86ebc6539d4573abddb1875 Author: Emmanuele Bassi Date: Mon Sep 20 11:30:23 2010 +0100 build: Remove unnecessary newline autogen.sh | 1 - 1 file changed, 1 deletion(-) commit e3e08c0eaf69db51cd901cd16e80bcb41903ef81 Author: Frederik Hahne Date: Mon Sep 20 11:23:31 2010 +0100 po: Update German translation po/de.po | 39 +++++++++++++-------------------------- 1 file changed, 13 insertions(+), 26 deletions(-) commit 7fe0df393b905319a261258c68019c4edc29bcea Author: Emmanuele Bassi Date: Sat Sep 18 08:41:52 2010 +0100 texture: Add more validation on the material If set_cogl_texture() is called after unsetting the Texture's material then we really want to make a copy of the template. Also, we should assert more often if the internal state goes horribly wrong: at least, we'll have a backtrace. clutter/clutter-texture.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) commit 66104f51123538a57b9aa077569a8e68d9438e9b Author: Neil Roberts Date: Fri Sep 17 17:10:39 2010 +0100 Fix the ordering of the arguments for clutter_table_layout_set_span The order of the row_span and column_span arguments was different in the declaration from that in the definition. This was causing the gtk-doc to also have the wrong order. clutter/clutter-table-layout.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 760fa8efd6817ec9c3a1ef5800eb9c64c0f1baf6 Author: Neil Roberts Date: Fri Sep 17 17:18:09 2010 +0100 cogl-object-private.h: Include cogl-debug.h If COGL_OBJECT_DEBUG is defined then cogl-object-private.h will call COGL_NOTE in the ref and unref macros. For this to work the debug header needs to also be included or COGL_NOTE won't necessarily be defined. clutter/cogl/cogl/cogl-object-private.h | 1 + 1 file changed, 1 insertion(+) commit e92b18671905f5690320883cc4854dd76dc17d15 Author: Elliot Smith Date: Thu Sep 16 15:55:21 2010 +0100 cookbook: Add recipe about sync'ing actor sizes The recipe covers how to use ClutterBindConstraint to bind actor sizes together. It gives some examples of where this approach is appropriate, as well as explaining an alternative using allocation-changed or notify::* signals. Three examples are given: 1. Resizing a texture to the stage. 2. Resizing a rectangle to act as a transparent overlay on top of a texture (using constraints). 3. Resizing a rectangle to act as a transparent overlay on top of a texture, but with a size proportional to the texture (using a handler connected to allocation-changed signals emitted by the texture). doc/cookbook/Makefile.am | 1 + .../images/layouts-bind-constraint-stage.png | Bin 0 -> 11084 bytes doc/cookbook/layouts.xml | 220 ++++++++++++++++++++ 3 files changed, 221 insertions(+) commit c3cbf1533fdb6174894f38d5956802ce46df4238 Author: Elliot Smith Date: Thu Sep 16 13:42:09 2010 +0100 cookbook: Example using allocation-changed to sync actor size An alternative method (not using constraints) to bind one actor's size and position to another. Used as an example in the recipe about resizing one actor in sync with a source actor. doc/cookbook/examples/Makefile.am | 2 + .../examples/layouts-bind-constraint-allocation.c | 70 ++++++++++++++++++++ 2 files changed, 72 insertions(+) commit 8a149521cef9f2693d0c32e3cc4bf85a62dee026 Author: Elliot Smith Date: Wed Sep 15 16:05:15 2010 +0100 cookbook: Simple example to demonstrate bind constraint A simple example showing how to scale an actor to the stage. Demonstrates ClutterBindConstraint and ClutterAlignConstraint in a fashion suitable for a short recipe. doc/cookbook/examples/Makefile.am | 2 + .../examples/layouts-bind-constraint-stage.c | 55 ++++++++++++++++++++ 2 files changed, 57 insertions(+) commit a0f63a3153c023f6a3299b95c0e7259d1eba013d Author: Elliot Smith Date: Wed Sep 15 15:50:32 2010 +0100 cookbook: Example of using a bind constraint for an overlay Example code which loads an image into a texture, and resizes the image in response to +/- key presses. The overlay is a transparent rectangle which is bound to the height and width of the texture; on clicking the texture, the overlay is made visible by increasing its opacity. This demonstrates how to use constraints to simplify code for resizing an actor which is "dependent" on another actor. doc/cookbook/examples/Makefile.am | 2 + .../examples/layouts-bind-constraint-overlay.c | 135 ++++++++++++++++++++ 2 files changed, 137 insertions(+) commit 68da998c9bc81fa7f2f163032e19640aae9100e7 Author: Emmanuele Bassi Date: Fri Sep 17 14:54:31 2010 +0100 docs: Add sub-classing notes on ActorMeta and Constraint clutter/clutter-actor-meta.c | 8 ++++++-- clutter/clutter-constraint.c | 26 ++++++++++++++++++++++++++ 2 files changed, 32 insertions(+), 2 deletions(-) commit f7e8b471132b062d4bc0169cb9f2f5306451603f Author: Emmanuele Bassi Date: Fri Sep 17 12:43:23 2010 +0100 flow-layout: Blow the cached preferred size if needed If the FlowLayout layout manager wasn't allocated the same size it requested then it should blow its caches and recompute the layout with the given allocation size. clutter/clutter-flow-layout.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) commit cdff2a9e7a5c44f214978b6a3d6b0cce33b4e5f5 Author: Emmanuele Bassi Date: Fri Sep 17 12:13:29 2010 +0100 constraint: Re-implement using update_allocation() Instead of using the fixed position and size API, use the newly added update_allocation() virtual function in ClutterConstraint to change the allocation of a ClutterActor. This allows using constraints inside layout managers, and also allows Constraints to react to changes in the size of an actor without causing relayout cycles. http://bugzilla.clutter-project.org/show_bug.cgi?id=2319 clutter/clutter-align-constraint.c | 98 +++++++++++++++++++++------------ clutter/clutter-bind-constraint.c | 105 +++++++++++++++++++++--------------- clutter/clutter-bind-constraint.h | 2 - 3 files changed, 124 insertions(+), 81 deletions(-) commit 5da0064de7b77cdb7147371631cf1b9c31f60509 Author: Emmanuele Bassi Date: Fri Sep 17 12:09:56 2010 +0100 constraint: Add ::update_allocation() The Constraint should plug directly into the allocation mechanism, and modify the allocation of the actor to which they are applied to. This is similar to the mechanism used by the Effect class to modify the paint sequence of an actor. clutter/clutter-actor.c | 35 +++++++++++++++++++++++++---------- clutter/clutter-constraint.c | 29 +++++++++++++++++++++++++++-- clutter/clutter-constraint.h | 4 ++++ clutter/clutter-private.h | 4 ++++ 4 files changed, 60 insertions(+), 12 deletions(-) commit bdcac5617be1c6a774259379a668619ba387c2bc Author: Emmanuele Bassi Date: Fri Sep 17 12:08:52 2010 +0100 test-bind: Fix colors and set the name of the boxes tests/interactive/test-bind.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) commit 8ca47e3b20f17545e6fcc89e0940d485158308ef Author: Emmanuele Bassi Date: Fri Sep 17 11:40:10 2010 +0100 build: Use the power of abs_builddir When calling test-conformance to get the list of conformance tests. tests/conform/Makefile.am | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 5529619254aac0f33dc5ee0646b920a63f7b46bb Author: Emmanuele Bassi Date: Fri Sep 17 11:39:20 2010 +0100 build: Enable COGL_OBJECT_DEBUG in the debug flags The CoglObject debugging code is enabled by a separate flag. http://bugzilla.clutter-project.org/show_bug.cgi?id=2318 configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit d1b4495f7f1694c8b1a671a489d82e124f45c822 Author: Robert Bragg Date: Thu Sep 16 12:58:42 2010 +0100 offscreen-effect: Update handling of transforms In line with the changes made in f5f066df9ce7 to clean up how Clutter deals with transformations of actors this patch updates the code in clutter-offscreen-effect.c. We now query the projection matrix from the stage instead of the perspective and instead of duplicating the logic to setup the stage view transform we now use _clutter_actor_apply_modelview_transform for the stage instead. clutter/clutter-offscreen-effect.c | 64 +++++++++++++----------------------- 1 file changed, 23 insertions(+), 41 deletions(-) commit f0ab8edac0e3e5a5792f48588ab9d24774ff7e72 Author: Neil Roberts Date: Thu Sep 16 11:12:51 2010 +0100 clutter.modules: Specify the checkoutdir for the gtk2 module If no checkoutdir is specified then jhbuild seems to use the name of the module which in this case would be 'gtk+'. This ends up overwriting the checkout of the master branch of gtk+ and causes all kinds of build problems. This patch adds a checkoutdir attribute to the gtk2 module to force it to checkout into the gtk2 directory. build/clutter.modules | 1 + 1 file changed, 1 insertion(+) commit 8a09e91ef84e483d9fd8dd93cd04d11da241925d Author: Emmanuele Bassi Date: Wed Sep 15 16:46:06 2010 +0100 Post-release version bump to 1.3.15 configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit b776f6b4fbe05b493d0b36619c95ece5443c443b Author: Emmanuele Bassi Date: Wed Sep 15 16:12:39 2010 +0100 Release Clutter 1.3.14 (developers snapshot) NEWS | 24 ++- configure.ac | 2 +- po/clutter-1.0.pot | 470 ++++++++++++++++++++++++------------------------ po/de.po | 501 +++++++++++++++++++++++++++------------------------- po/it.po | 468 ++++++++++++++++++++++++------------------------ po/pl.po | 468 ++++++++++++++++++++++++------------------------ po/zh_CN.po | 468 ++++++++++++++++++++++++------------------------ 7 files changed, 1218 insertions(+), 1183 deletions(-) commit 037a1b82cc19752d44121a530fac3516a6c25c71 Author: Emmanuele Bassi Date: Wed Sep 15 15:56:42 2010 +0100 build: Add cogl-debug-options.h clutter/cogl/cogl/Makefile.am | 1 + 1 file changed, 1 insertion(+) commit 7d2706e8ba09444572d9dcd122b466ff020849f9 Author: Emmanuele Bassi Date: Wed Sep 15 15:35:05 2010 +0100 docs: Fix the name of the parameters clutter/clutter-drag-action.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit 73385414524fe03771d135cc3bd94a37b35def4b Author: Neil Roberts Date: Wed Sep 15 14:39:05 2010 +0100 cogl: Make cogl_util_next_p2 internal and fix the documentation cogl_util_next_p2 is declared in cogl-util.h which is a private header so it shouldn't be possible for an application to use it. It's probably not a function we'd like to export from Cogl so it seems better to keep it private. This patch renames it to _cogl_util_next_p2 so that it won't be exported from the shared library. The documentation for the function is also slightly wrong because it stated that the function returned the next power greater than 'a'. However the code would actually return 'a' if it's already a power of two. I think the actual behaviour is more useful so this patch changes the documentation rather than the code. clutter/cogl/cogl/cogl-texture-2d-sliced.c | 4 ++-- clutter/cogl/cogl/cogl-util.c | 11 ++++++----- clutter/cogl/cogl/cogl-util.h | 2 +- 3 files changed, 9 insertions(+), 8 deletions(-) commit 42dacf97f82ac506613db662a676df92a9cc4d3a Author: Neil Roberts Date: Wed Sep 15 14:07:30 2010 +0100 cogl-vertex-buffer: Don't always set COGL_MATERIAL_FLUSH_FALLBACK_MASK Previously CoglVertexBuffer would always set the flush options flags to at least contain COGL_MATERIAL_FLUSH_FALLBACK_MASK. The code then later checks whether any flags are set before deciding whether to copy the material to implement the overrides. This means that it would always end up copying the material even if there are no fallback layers. This patch changes it so that it only sets COGL_MATERIAL_FLUSH_FALLBACK_MASK if fallback_layers != 0. clutter/cogl/cogl/cogl-vertex-buffer.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) commit 8cfb158f63a1e1f4af614e17b0198850ff3bdbce Author: Robert Bragg Date: Tue Sep 14 20:25:23 2010 +0100 material-arbfp: fix updating params if sharing progs If a single arbfp program is being shared between multiple CoglMaterials then we need to make sure we update all program.local params when switching between materials. Previously we had a dirty flag to track when combine_constant params were changed but didn't take in to account that different materials sharing the same program may have different combine constants. clutter/cogl/cogl/cogl-material-arbfp.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) commit d87522596d5c2c1001716d6806684e1fa8580109 Author: Robert Bragg Date: Tue Sep 14 18:50:50 2010 +0100 material-arbfp: Another pass at simplifying the code Previously the backend private state was used to either link to an authority material or provide authoritative program state. The mechanism seemed overly complex and felt very fragile. I made a recent comment which added a lot of documentation to make it easier to understand but still it didn't feel very elegant. This patch takes a slightly different approach; we now have a ref-counted ArbfpProgramState object which encapsulates a single ARBfp program and the backend private state now just has a single member which is a pointer to one of these arbfp_program_state objects. We no longer need to cache pointers to our arbfp-authority and so we can get rid of a lot of awkward code that ensured these pointers were updated/invalidated at the right times. The program state objects are not tightly bound to a material so it will also allow us to later implement a cache mechanism that lets us share state outside a materials ancestry. This may help to optimize code not following the recommendations of deriving materials from templates, avoiding one-shot materials and not repeatedly modifying materials because even if a material's ancestry doesn't naturally lead us to shareable state we can fallback to searching for shareable state using central hash tables. clutter/cogl/cogl/cogl-material-arbfp.c | 600 +++++++++++++------------------ 1 file changed, 256 insertions(+), 344 deletions(-) commit f6dc3ddcbaf919e1ddcc218b6a1b7b570f4ff829 Author: Robert Bragg Date: Mon Jul 5 21:33:26 2010 +0100 material: Adds experimental cogl_material_foreach_layer API This adds a way to iterate the layer indices of the given material since cogl_material_get_layers has been deprecated. The user provides a callback to be called once for each layer. Because modification of layers in the callback may potentially invalidate any number of the internal CoglMaterialLayer structures and invalidate the material's layer cache this should be more robust than cogl_material_get_layers() which used to return a const GList * pointing directly to internal state. clutter/cogl/cogl/cogl-material-arbfp.c | 12 ++-- clutter/cogl/cogl/cogl-material-opengl.c | 18 ++--- clutter/cogl/cogl/cogl-material-private.h | 10 +-- clutter/cogl/cogl/cogl-material.c | 108 ++++++++++++++++++++--------- clutter/cogl/cogl/cogl-material.h | 33 +++++++++ 5 files changed, 129 insertions(+), 52 deletions(-) commit d5eebedaa3c9e4ee54c7efffefd195c2e012c4d9 Author: Robert Bragg Date: Tue Sep 14 12:13:30 2010 +0100 material: don't declare backend vtables in headers This fixes the material backends to declare their constant vtable in the c file with a corresponding extern declaration in the header. This should fix complaints about duplicate symbols seen on OSX. clutter/cogl/cogl/cogl-material-arbfp-private.h | 2 +- clutter/cogl/cogl/cogl-material-arbfp.c | 2 ++ clutter/cogl/cogl/cogl-material-fixed-private.h | 2 +- clutter/cogl/cogl/cogl-material-fixed.c | 2 ++ clutter/cogl/cogl/cogl-material-glsl-private.h | 2 +- clutter/cogl/cogl/cogl-material-glsl.c | 2 ++ 6 files changed, 9 insertions(+), 3 deletions(-) commit 5583d9c12eb7b042a400b2d0e77f88fb06a414aa Author: Robert Bragg Date: Tue Sep 14 00:33:46 2010 +0100 material-arbfp: don't recompile for constant changes Instead of lazily incorporating combine constants as arbfp PARAM constants in the source directly we now use program.local parameters instead so we can avoid repeating codegen if a material's combine constant is updated. This should be a big win for applications animating a constant used for example in an animated interpolation, such as gnome-shell. http://bugzilla.clutter-project.org/show_bug.cgi?id=2280 clutter/cogl/cogl/cogl-material-arbfp.c | 68 ++++++++++++++++++++----------- 1 file changed, 45 insertions(+), 23 deletions(-) commit 2815cf471972cefded669bd4596d46f91178a049 Author: Robert Bragg Date: Tue Sep 14 00:27:57 2010 +0100 material-arbfp: don't redo codegen for texture changes This makes it so we don't consider LAYER_STATE_TEXTURE changes to affect the arbfp code. This should avoid a lot of unneeded passes of code generation for applications modifying the texture for a layer. clutter/cogl/cogl/cogl-material-arbfp.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) commit 3adeef6604966e4b61a6058eb6ae00629cfcf7c9 Author: Robert Bragg Date: Tue Sep 14 00:18:02 2010 +0100 material: make layer/material_pre_changes mutually exclusive This makes it so we only notify backends of either a single material change or a single layer change. Previously all material STATE_LAYERS changes would be followed by a more detailed layer change. For backends that perform code generation for fragment processing they typically need to understand the details of how layers get changed to determine if they need to repeat codegen. It doesn't help them to report a material STATE_LAYERS change for all layer changes since it's so broad, they really need to wait for the layer change to be notified. What does help though is to report a STATE_LAYERS change for a change in material->n_layers because they typically do need to repeat codegen in that case. clutter/cogl/cogl/cogl-material-arbfp.c | 7 +++++++ clutter/cogl/cogl/cogl-material.c | 22 +++++++++++++++++++++- 2 files changed, 28 insertions(+), 1 deletion(-) commit 16e9794318b9fe13126b0b19c77a54c4714262a2 Author: Robert Bragg Date: Mon Sep 13 23:52:18 2010 +0100 material-arbfp: fixes for how we track private state This fixes a number of issues relating to how we track the arbfp private state associated with CoglMaterials. At the same time it adds much more extensive code documentation to try and make it a bit more approachable. clutter/cogl/cogl/cogl-material-arbfp.c | 175 +++++++++++++++++++++++++------ 1 file changed, 143 insertions(+), 32 deletions(-) commit a114843f744cacc43a4bed4a7186f1746673f01a Author: Robert Bragg Date: Mon Sep 13 23:05:49 2010 +0100 material: pass material owner for layer pre changes When notifying a backend about a layer being modified we now pass the layers current owner for reference. NB: Although a layer can indirectly be referenced by multiple layers, a layer is considered immutable once it has dependants, so there is only ever one material associated with a layer being modified. Passing the material pointer to the backends layer_pre_change callback can be useful for backends that associate their private state with materials and may need to update that state in response to layer changes. clutter/cogl/cogl/cogl-material-arbfp.c | 11 ++++++++++- clutter/cogl/cogl/cogl-material-private.h | 3 ++- clutter/cogl/cogl/cogl-material.c | 7 ++++--- 3 files changed, 16 insertions(+), 5 deletions(-) commit d9a32f979c7fc2c3e7bd58c29b36208be1fd01c9 Author: Robert Bragg Date: Mon Sep 13 22:56:44 2010 +0100 arbfp: rename get_arbfp_authority clarifying semantics This renames the get_arbfp_authority function to get_arbfp_authority_no_check to clarify that the function doesn't validate that the authority cache is still valid by looking at the age of the referenced material. The function should only be used when we *know* the cache has already been checked. clutter/cogl/cogl/cogl-material-arbfp.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) commit ed1123a06b6afe3d98342f2550cb6f5cd248a578 Author: Robert Bragg Date: Mon Sep 13 21:26:31 2010 +0100 material: track if material change is layer change We now pass a boolean to _cogl_material_pre_change_notify to know when a material change is as a result of a layer change. We plan to use this information to avoid notifying the backends about material changes if they are as a result of layer changes. This will simplify the handling of state changes in the backends because they can assume that layer and material changes are mutually exclusive. clutter/cogl/cogl/cogl-material.c | 52 +++++++++++++++++++++---------------- 1 file changed, 29 insertions(+), 23 deletions(-) commit 53acf4d1b0ad372205c1b8f1dcecfef2777d13d5 Author: Robert Bragg Date: Mon Sep 13 21:21:09 2010 +0100 material: Adds _get_layer_combine_constant API This adds an internal _cogl_material_get_layer_combine_constant function so we can query the current layer combine constant back. We should probably make this a public property getter, but for now we just need this so we can read the constant in the arbfp backend. clutter/cogl/cogl/cogl-material-private.h | 5 +++++ clutter/cogl/cogl/cogl-material.c | 26 ++++++++++++++++++++++++++ 2 files changed, 31 insertions(+) commit 7f95015c6d0f7e1652b88d8e534cee323eb408f4 Author: Robert Bragg Date: Mon Sep 13 21:17:30 2010 +0100 material: track unit state with arbfp private state We are going to start tracking more per-texture unit state with arbfp private state so this adds an internal UnitState type and we allocate an array of these when setting up a new private state structure. The first thing that has been moved into this is the sampled boolean to know when a particular texture unit gets sampled from in the generated arbfp code. clutter/cogl/cogl/cogl-material-arbfp.c | 36 +++++++++++++++++++++++-------- 1 file changed, 27 insertions(+), 9 deletions(-) commit 98516061c328fd4306b2059cd6bc7d443d4900a3 Author: Emmanuele Bassi Date: Wed Sep 15 11:56:59 2010 +0100 Enumeration value should be on the same line The glib-mkenums script is not clever enough to deal with FLAGS_VALUE = FLAGS_A | FLAGS_B And since this breaks the enumeration GType and the introspection data, we cannot really wait for it to be fixed. See: https://bugzilla.gnome.org/show_bug.cgi?id=629741 http://bugzilla.clutter-project.org/show_bug.cgi?id=2238 clutter/cogl/cogl/cogl-buffer.h | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) commit d45c1671d12ad056362e7fb39a0ca8ca9a981660 Author: Robert Bragg Date: Wed Sep 1 15:15:20 2010 +0100 cogl-framebuffer: fix leak when popping framebuffer We were using g_slist_remove_link instead of g_slist_delete_link resulting in a memory leak. Thanks to Simon Lanzmich for reporting this bug. clutter/cogl/cogl/cogl-framebuffer.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 88023d438d3124792ba58ad624ba537b27568528 Author: Robert Bragg Date: Mon Aug 16 21:11:42 2010 +0100 Initialize the cogl uprof state in cogl_create_context This avoids the use of of gcc constructor and destructor attributes to initialize the cogl uprof context and optionally print a cogl uprof report at app exit. We now initialize the uprof context in cogl_context_create instead. clutter/cogl/cogl/cogl-context.c | 17 +++++++++++++++++ clutter/cogl/cogl/cogl-profile.c | 30 ++++++++++++++++-------------- clutter/cogl/cogl/cogl-profile.h | 3 +++ 3 files changed, 36 insertions(+), 14 deletions(-) commit d9ee3be835465650ea474b971f028b49321ca7e2 Author: Robert Bragg Date: Mon Jul 26 15:21:18 2010 +0100 journal: provide more detailed uprof instrumentation This adds more timing around key stages of the journal flushing process. clutter/cogl/cogl/cogl-journal.c | 39 ++++++++++++++++++++++++++++++++++++ clutter/cogl/cogl/cogl-material.c | 40 ++++++++++++++++++++++++++----------- 2 files changed, 67 insertions(+), 12 deletions(-) commit fb7bf9ce0231ee4f54675ebe71b01b5e4bf98bc5 Author: Robert Bragg Date: Mon Jun 21 15:36:46 2010 +0100 profile: Update to uprof-0.3 dep for --enable-profile When building with --enable-profile we now depend on the uprof-0.3 developer release which brings a few improvements: » It lets us "fix" how we initialize uprof so that instead of using a shared object constructor/destructor (which was a hack used when first adding uprof support to Clutter) we can now initialize as part of clutter's normal initialization code. As a side note though, I found that the way Clutter initializes has some quite serious problems whenever it involves GOptionGroups. It is not able to guarantee the initialization of dependencies like uprof and Cogl. For this reason we still use the contructor/destructor approach to initialize uprof in Cogl. » uprof-0.3 provides a better API for adding custom columns when reporting timer and counter statistics which lets us remove quite a lot of manual report generation code in clutter-profile.c. » uprof-0.3 provides a shared context for tracking mainloop timer statistics. This means any mainloop based library following the same "Mainloop" timer naming convention can use the shared context and no matter who ends up owning the final mainloop the statistics will always be in the same place. This allows profiling of Clutter with an external mainloop such as with the Mutter compositor. » uprof-0.3 can export statistics over dbus and comes with an ncurses based ui to vizualize timer and counter stats live. The latest version of uprof can be cloned from: git://github.com/rib/UProf.git README | 2 +- clutter/clutter-debug.h | 65 +++--- clutter/clutter-main.c | 45 ++++- clutter/clutter-profile.c | 345 ++++++++++++++++++++------------ clutter/clutter-profile.h | 8 + clutter/cogl/cogl/cogl-debug-options.h | 145 ++++++++++++++ clutter/cogl/cogl/cogl-debug.c | 37 +--- clutter/cogl/cogl/cogl-debug.h | 18 +- clutter/cogl/cogl/cogl-profile.c | 48 +++++ clutter/cogl/cogl/cogl-profile.h | 4 + clutter/cogl/cogl/cogl-texture-3d.c | 1 + configure.ac | 2 +- 12 files changed, 514 insertions(+), 206 deletions(-) commit a45f67bbdcd8cb53c2daebd11acebd906647eda3 Author: Neil Roberts Date: Mon Sep 6 17:18:11 2010 +0100 cogl-framebuffer: Clear the renderbuffer list on failure When try_creating_fbo fails it deletes any intermediate render buffers that were created. However it doesn't clear the list so I think if it failed a second time it would try to delete the render buffers again. This could potentially cause problems if a subsequent fbo is created because the destructor for the original might delete the renderbuffers of the new fbo. clutter/cogl/cogl/cogl-framebuffer.c | 4 ++++ 1 file changed, 4 insertions(+) commit 570fa3f0442d528af8aa50114fc79085c541b661 Author: Robert Bragg Date: Sat Sep 11 02:31:03 2010 +0100 clone: scale src with apply_transform not cogl_scale Since a ClutterClone may be allocated a different size than its source actor we need to apply a scale factor before painting the source actor. We were manually using cogl_scale to do this in clutter_clone_paint but really this kind of thing is best handled in an implementation of the apply_transform virtual so Clutter can be aware of the transform for other purposes, such as input transformations. Also we want to provide an implementation of the get_paint_volume virtual where Clutter will also expect to be able to use the apply_transform virtual to transform the volume into its parent's coordinate space. clutter/clutter-clone.c | 46 ++++++++++++++++++++++++++++++---------------- 1 file changed, 30 insertions(+), 16 deletions(-) commit ad398d583b7b5e2b3e3a0c00eda6b5eb358121d9 Author: Robert Bragg Date: Wed Sep 8 01:41:01 2010 +0100 glx: Mark stage clip initialized even for NULL user clip If a NULL clip is passed to clutter_stage_glx_add_redraw_clip then we update the redraw clip to have width of 0, but we weren't setting stage_glx->initialized_redraw_clip = TRUE. This could result in a full, unclipped stage redraw being reduced to a clipped redraw. clutter/glx/clutter-stage-glx.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) commit 8d2a3d608869ef09aff42db7bc537ae927f8d1c1 Author: Robert Bragg Date: Tue Sep 7 22:02:23 2010 +0100 actor: warn if allocating actor not descending from stage This adds a verbose warning that will be displayed if clutter_actor_allocate is passed an actor that isn't a descendent of a ClutterStage. Layouting should always bubble up from a stage so this condition is likely to indicate a buggy container that allocating a child that it has already unparented. clutter/clutter-actor.c | 7 +++++++ 1 file changed, 7 insertions(+) commit ff4c24f0a498e2922b20160482fa2c60ca8d9c40 Author: Robert Bragg Date: Tue Sep 7 17:00:49 2010 +0100 geometry: Adds a clutter_geometry_intersects API This adds a public function named clutter_geometry_intersects which determines if two geometries intersect or not returning TRUE if so else FALSE. clutter/clutter-actor.c | 26 ++++++++++++++++++++++++++ clutter/clutter-types.h | 8 +++++--- doc/reference/clutter/clutter-sections.txt | 1 + 3 files changed, 32 insertions(+), 3 deletions(-) commit 8a2e164354c36bc817f8d48d630808f00cb9d06f Author: Emmanuele Bassi Date: Mon Aug 16 16:02:53 2010 +0100 actor-box: Correctly clamp to pixel Use ceilf() to round up the right side of the actor's box, and floorf() to round down the left side. clutter/clutter-actor.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) commit f5f066df9ce7f7de19015371cf8399534661b959 Author: Robert Bragg Date: Tue Sep 7 13:10:55 2010 +0100 Try to clean up how we handle actor transformations When building actor relative transforms, instead of using the matrix stack to combine transformations and making assumptions about what is currently on the stack we now just explicitly initialize an identity matrix and apply transforms to that. This removes the full_vertex_t typedef for internal transformation code and we just use ClutterVertex. ClutterStage now implements apply_transform like any other actor now and the code we had in _cogl_setup_viewport has been moved to the stage's apply_transform instead. ClutterStage now tracks an explicit projection matrix and viewport geometry. The projection matrix is derived from the perspective whenever that changes, and the viewport is updated when the stage gets a new allocation. The SYNC_MATRICES mechanism has been removed in favour of _clutter_stage_dirty_viewport/projection() APIs that get used when switching between multiple stages to ensure cogl has the latest information about the onscreen framebuffer. clutter/clutter-actor.c | 752 +++++++++++------------------------ clutter/clutter-backend.c | 22 +- clutter/clutter-main.c | 28 -- clutter/clutter-private.h | 42 +- clutter/clutter-stage.c | 288 +++++++++++++- clutter/clutter-texture.c | 18 +- clutter/osx/clutter-stage-osx.c | 7 - clutter/win32/clutter-stage-win32.c | 7 - clutter/x11/clutter-stage-x11.c | 41 +- doc/clutter-actor-invariants.txt | 5 - 10 files changed, 592 insertions(+), 618 deletions(-) commit ab008948cfdde8ca9a9842c2e9000db0d0f3ad49 Author: Robert Bragg Date: Tue Sep 7 11:55:23 2010 +0100 actor: Add _get_stage_internal to clutter-private.h This adds _clutter_actor_get_stage_internal to clutter-private.h since we plan to use it in clutter-offscreen-effect when preparing to redirect an actor offscreen. clutter/clutter-actor.c | 28 +++++++++++++--------------- clutter/clutter-private.h | 1 + 2 files changed, 14 insertions(+), 15 deletions(-) commit 64088ea4de6334e10ad99c0844ffab057f1557ab Merge: 28f28c0 e8e360e Author: Emmanuele Bassi Date: Mon Sep 13 15:51:18 2010 +0100 Merge remote branch 'elliot/cookbook-animations-reuse' * elliot/cookbook-animations-reuse: cookbook: Added a recipe for reusing a complex animation cookbook: Added id for section in "rotating an actor" recipe cookbook: Simplified and clarified example code cookbook: Cleaned up the "animations reuse" example cookbook: Refactored reusable animation example cookbook: Added example for animation reuse recipe commit 28f28c030994621d931a7ed61bd529644947f9c3 Author: Murray Cumming Date: Mon Sep 13 16:16:25 2010 +0200 Remove trailin enum commas, avoiding C++ warnings. http://bugzilla.clutter-project.org/show_bug.cgi?id=2314 clutter/clutter-align-constraint.h | 2 +- clutter/clutter-event.h | 4 ++-- clutter/clutter-types.h | 2 +- clutter/cogl/cogl/cogl-types.h | 2 +- clutter/cogl/cogl/cogl-vertex-buffer.h | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) commit e8e360eaa7207a677738ce15496499ac7196a5b5 Author: Elliot Smith Date: Mon Sep 13 14:29:37 2010 +0100 cookbook: Added a recipe for reusing a complex animation This recipe explains how to "reuse" the same animation definition for different actors, by creating a new instance of a "rig" (empty container) and animation for the rig each time the animation is required. An actor is then re-parented to the rig and animated using it, rather than being animated directly. JSON is used to define the rig + animator, to make creating new instances of them simpler. The recipe also discusses various caveats around using this approach, rather than directly animating an actor. doc/cookbook/Makefile.am | 1 + doc/cookbook/animations.xml | 378 ++++++++++++++++++++++++++++++ doc/cookbook/videos/animations-reuse.ogv | Bin 0 -> 60837 bytes 3 files changed, 379 insertions(+) commit 6548bee56ca8401d2e9d31e33bf4fcd5a65b92f5 Author: Elliot Smith Date: Mon Sep 13 10:28:16 2010 +0100 cookbook: Added id for section in "rotating an actor" recipe Added an id to a section in the "rotating an actor" recipe, so that it can be referred to from the "reusing an animation" recipe. doc/cookbook/animations.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 82ab00930b63d3860f96ac99da9cdc8128de1aee Author: Elliot Smith Date: Thu Sep 9 12:02:02 2010 +0100 cookbook: Simplified and clarified example code Modified the "animation reuse" sample code to provide a simpler example to explain in the recipe. Also modified variable names to mirror the names used for the previous "complex animation" example and added some more comments, to further simplify and support the recipe. .../examples/animations-reuse-animation.json | 36 +++++-------------- doc/cookbook/examples/animations-reuse-ui.json | 37 +++++++++++++++++--- doc/cookbook/examples/animations-reuse.c | 20 ++++++++--- 3 files changed, 56 insertions(+), 37 deletions(-) commit d7a3e35f46593e04cf8cfe5eca18e3b2c06ff35b Author: Elliot Smith Date: Wed Sep 1 11:18:15 2010 +0100 cookbook: Cleaned up the "animations reuse" example With some help from pippin, moved variable declarations into more sensible positions within their functions, changed a function name, and found a better way to unref a script once its associated actor has been destroyed. .../examples/animations-reuse-animation.json | 1 - doc/cookbook/examples/animations-reuse.c | 30 +++++++++----------- 2 files changed, 14 insertions(+), 17 deletions(-) commit d4190cbf8ce8c667110744976c8cdd52ff3ede81 Author: Elliot Smith Date: Wed Sep 1 10:21:23 2010 +0100 cookbook: Refactored reusable animation example Extracted the animation into its own JSON definition, then create a new script and get the animation each time a rectangle is clicked. Removes the need to reparent onto the background and copy property values to the rectangle after the animation, and generally much cleaner. .../examples/animations-reuse-animation.json | 63 ++++++++++ doc/cookbook/examples/animations-reuse-ui.json | 53 +++++++++ doc/cookbook/examples/animations-reuse.c | 102 ++++++---------- doc/cookbook/examples/animations-reuse.json | 124 -------------------- 4 files changed, 155 insertions(+), 187 deletions(-) commit acc28cf60c482bf56bb298630a9d1b75f350d31b Author: Elliot Smith Date: Tue Aug 31 17:42:37 2010 +0100 cookbook: Added example for animation reuse recipe Added an example showing how to reuse a ClutterAnimator instance to animate multiple actors at different times using an animatable rig, combined with reparenting. doc/cookbook/examples/Makefile.am | 2 + doc/cookbook/examples/animations-reuse.c | 117 +++++++++++++++++++++++++ doc/cookbook/examples/animations-reuse.json | 124 +++++++++++++++++++++++++++ 3 files changed, 243 insertions(+) commit 209bef6f8a4059d8cb7a6b4d3c64d25898f46047 Author: Alejandro Piñeiro Date: Thu Jul 22 13:19:34 2010 +0200 cally: fixing public headers Cally headers were including specific clutter object headers. This caused a problem including cally.h on a external program. http://bugzilla.clutter-project.org/show_bug.cgi?id=2234 clutter/cally/cally-actor.h | 2 +- clutter/cally/cally-clone.h | 2 +- clutter/cally/cally-group.h | 2 +- clutter/cally/cally-rectangle.h | 2 +- clutter/cally/cally-stage.h | 2 +- clutter/cally/cally-text.h | 2 +- clutter/cally/cally-texture.h | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) commit dec0863f58d7a67791d29cf0e53eb24ea09b222c Author: Emmanuele Bassi Date: Mon Sep 13 11:31:46 2010 +0100 build: Add tesselator to the include paths clutter/cogl/cogl/Makefile.am | 1 + 1 file changed, 1 insertion(+) commit 94e2c7a9495e61640f602e01c3d5adff9338affe Author: Emmanuele Bassi Date: Mon Sep 13 02:15:44 2010 +0100 build: Generate ClutterJson in the top directory Instead of doing the shlib trick, build ClutterJson (if needed) inside the top-level clutter/ directory - similar to a non-recursive layout. Hopefully, one day, we'll be able to do this with a real non-recursive layout. clutter/Makefile.am | 35 +++++++++++++++++++++++------------ clutter/json/Makefile.am | 30 ------------------------------ 2 files changed, 23 insertions(+), 42 deletions(-) commit 40af71fad72794af90cf6b11f15e5fa64bed188d Author: Emmanuele Bassi Date: Mon Sep 13 02:01:50 2010 +0100 build: List the units inside a file This avoids trying to run test-conformance -l multiple times. tests/conform/Makefile.am | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) commit c03458a86175075bf7a46d8e58f7e3db5bd74f76 Author: Emmanuele Bassi Date: Mon Sep 13 02:01:21 2010 +0100 build: Remove gir files from dist The introspection data is going to be generated, so it should never be in the dist. clutter/Makefile.am | 4 ++-- clutter/cogl/cogl/Makefile.am | 2 +- clutter/json/Makefile.am | 4 +++- 3 files changed, 6 insertions(+), 4 deletions(-) commit 64924f0e98ed06924d8968d22e5ee257ee858db1 Author: Emmanuele Bassi Date: Sun Sep 12 19:25:47 2010 +0100 build: Do not build a noinst library for the tesselator Let's try to keep Cogl's build as non-recursive as possible, in the hope that one day we'll be able to make it fully non-recursive along with the rest of Clutter. clutter/cogl/cogl/Makefile.am | 59 +++++++++++++++++++++++++----- clutter/cogl/cogl/tesselator/Makefile.am | 41 --------------------- configure.ac | 1 - 3 files changed, 50 insertions(+), 51 deletions(-) commit 732eecf5c6c097b9f6ede3da376f61504e5cb48c Author: Emmanuele Bassi Date: Fri Sep 10 18:21:45 2010 +0100 cookbook: Use the new CLUTTER_KEY_* symbol constants Instead of the deprecated CLUTTER_* ones. doc/cookbook/events.xml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) commit f2669df6b5c1c9c45c0694443f6748399d0a181c Author: Emmanuele Bassi Date: Fri Sep 10 18:21:19 2010 +0100 build: Disable deprecated API when building the cookbook examples Make sure we always use the latest API. doc/cookbook/examples/Makefile.am | 2 ++ 1 file changed, 2 insertions(+) commit 4ee05f8e21db9d2262befdc9d07f462bbd95446d Author: Emmanuele Bassi Date: Fri Sep 10 13:41:49 2010 +0100 keysyms: Update the macros to CLUTTER_KEY_* The keysyms defines in clutter-keysyms.h are generated from the X11 key symbols headers by doing the equivalent of a pass of sed from XK_* to CLUTTER_*. This might lead to namespace collisions, down the road. Instead, we should use the CLUTTER_KEY_* namespace. This commit includes the script, taken from GDK, that parses the X11 key symbols and generates two headers: - clutter-keysyms.h: the default included header, with CLUTTER_KEY_* - clutter-keysyms-compat.h: the compatibility header, with CLUTTER_* The compat.h header file is included if CLUTTER_DISABLE_DEPRECATED is not defined - essentially deprecating all the old key symbols. This does not change any ABI and, assuming that an application or library is not compiling with CLUTTER_DISABLE_DEPRECATED, the source compatibility is still guaranteed. README | 5 + clutter/Makefile.am | 3 + clutter/clutter-keysyms-compat.h | 2208 +++++++++++++++ clutter/clutter-keysyms-update.pl | 216 ++ clutter/clutter-keysyms.h | 4193 +++++++++++++++------------- clutter/clutter-text.c | 46 +- doc/reference/clutter/Makefile.am | 1 + tests/conform/test-binding-pool.c | 30 +- tests/conform/test-clutter-text.c | 8 +- tests/interactive/Makefile.am | 4 +- tests/interactive/test-actor-clone.c | 4 +- tests/interactive/test-actors.c | 4 +- tests/interactive/test-binding-pool.c | 10 +- tests/interactive/test-box-layout.c | 14 +- tests/interactive/test-clip.c | 9 +- tests/interactive/test-cogl-shader-arbfp.c | 6 +- tests/interactive/test-cogl-shader-glsl.c | 6 +- tests/interactive/test-layout.c | 23 +- tests/interactive/test-paint-wrapper.c | 4 +- tests/interactive/test-pixmap.c | 6 +- tests/interactive/test-text-field.c | 12 +- tests/interactive/test-threads.c | 4 +- 22 files changed, 4725 insertions(+), 2091 deletions(-) commit 1447eff00fe70f16350ee16dd86f5f8758ff3065 Author: Lucas Rocha Date: Fri Sep 10 17:48:12 2010 +0100 introspection: Add full path for the Clutter-1.0 inclusion Signed-off-by: Emmanuele Bassi clutter/Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit edb54574fa8ee8aaefd0f7021b7a5310b429f49b Author: Emmanuele Bassi Date: Fri Sep 10 14:27:56 2010 +0100 build: Disable deprecated API when building Clutter Make sure we don't use deprecated API internally by adding CLUTTER_DISABLE_DEPRECATED to the AM_CPPFLAGS. This requires adding -UCLUTTER_DISABLE_DEPRECATED to the introspection scanner CFLAGS, otherwise the deprecated API will never be introspected and the data generated will not be compatible. clutter/Makefile.am | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) commit d76f64a10cdfbfe44f5cf3f35351ae8f3307d7df Author: Emmanuele Bassi Date: Fri Sep 10 14:27:37 2010 +0100 Do not use deprecated API internally clutter/clutter-backend.c | 8 +++++++- clutter/clutter-main.c | 18 ++++++++++++++---- clutter/clutter-text.c | 32 ++++++++++++++++++++++++-------- 3 files changed, 45 insertions(+), 13 deletions(-) commit 0bd18fbcc9f9a01fe24945251a1a3e860b7c80a7 Author: Emmanuele Bassi Date: Fri Sep 10 12:24:37 2010 +0100 Update the NEWS NEWS | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) commit 01362effca53d0a3149e3f81f6374b1440cbe2cd Author: Emmanuele Bassi Date: Fri Sep 10 11:42:11 2010 +0100 actor: Add a method for querying key focus A simple convenience method on Clutter.Actor for checking whether it has key focus assigned on the Stage to which it belongs. clutter/clutter-actor.c | 24 ++++++++++++++++++++++++ clutter/clutter-actor.h | 2 ++ doc/reference/clutter/clutter-sections.txt | 1 + 3 files changed, 27 insertions(+) commit 71a4db613569cd08572db517a045224161ba67d7 Author: Emmanuele Bassi Date: Fri Sep 10 11:18:53 2010 +0100 animation: Allow detaching an animation from an actor When animating an actor through clutter_actor_animate() and friends we might want forcibly detach the animation instance from the actor in order to start a new one - for instance, in response to user interaction. Currently, there is no way to do that except in a very convoluted way, by emitting the ::completed signal and adding a special case in the signal handlers; this is due to the fact that clutter_actor_animate() adds more logic than the one added by clutter_animation_set_object(), so calling set_object(NULL) or unreferencing the animation instance itself won't be enough. The right way to approach this is to add a new method to Clutter.Actor that detaches any eventual Animation currently referencing it. http://bugzilla.clutter-project.org/show_bug.cgi?id=2051 clutter/clutter-animation.c | 53 ++++++++++++++++++++++++++++ clutter/clutter-animation.h | 1 + doc/reference/clutter/clutter-sections.txt | 1 + 3 files changed, 55 insertions(+) commit 3aa2d00c3bf034b478fcc040056c25ef6f46baa0 Author: Colin Walters Date: Thu Sep 9 23:01:40 2010 +0100 introspection: Don't look for installed Cogl-1.0.gir If we're depending on an uninstalled .gir, use --include-uninstalled. We need to explicitly specify Cogl to let the scanner know it's also uninstalled. Signed-off-by: Emmanuele Bassi clutter/Makefile.am | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) commit 5f5369990fec5bfc734604761ed4ea49e78e6aa3 Author: Colin Walters Date: Thu Sep 9 13:32:13 2010 -0400 introspection: Don't look for installed Clutter-1.0.gir If we're depending on an uninstalled .gir, use --include-uninstalled. clutter/Makefile.am | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 72a4fd9250564a75f9cef89a3070d5d0ab5a5c24 Author: Emmanuele Bassi Date: Thu Sep 9 16:45:51 2010 +0100 po: Update Polish localization po/pl.po | 174 +++++++++++++++++++++++++++++--------------------------------- 1 file changed, 82 insertions(+), 92 deletions(-) commit d86dc377dea38678efa1f8b8e3aa5759f37d01ac Author: Chris Kühl Date: Thu Sep 9 16:41:37 2010 +0200 Added documentation for alpha parameter in Behaviour constructors. http://bugzilla.clutter-project.org/show_bug.cgi?id=2304 Signed-off-by: Emmanuele Bassi clutter/clutter-behaviour-depth.c | 6 +++++- clutter/clutter-behaviour-ellipse.c | 6 +++++- clutter/clutter-behaviour-opacity.c | 10 +++++++--- clutter/clutter-behaviour-path.c | 18 +++++++++++++++--- clutter/clutter-behaviour-rotate.c | 6 +++++- clutter/clutter-behaviour-scale.c | 10 +++++++--- 6 files changed, 44 insertions(+), 12 deletions(-) commit 9e1cd15b48f4e6a9bb6928bf1218e7bea2b1b1ed Author: Neil Roberts Date: Thu Sep 9 12:15:59 2010 +0100 cogl-vertex-buffer: Flush the framebuffer state first Flushing the framebuffer state can cause some drawing to occur if the framebuffer has a clip stack which needs the stencil buffer. This was causing the array pointers set up by enable_state_for_drawing_buffer to get mangled so it would crash when it hits glDrawArrays. This patch moves the framebuffer state flush to before it sets up the array pointers. http://bugzilla.clutter-project.org/show_bug.cgi?id=2297 clutter/cogl/cogl/cogl-vertex-buffer.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) commit 0e325404aa50fcca400d0cb8020a36bcd81f4c37 Author: Emmanuele Bassi Date: Thu Sep 9 11:58:03 2010 +0100 build: Allow using gettext 0.17 This requires some autotools magic when setting up the environment through autogen.sh, because autoreconf does not do the right thing by default. The correct order for setting up localization is: ‣ autopoint ‣ aclocal ‣ ... otherwise aclocal will copy the system's gettext.m4 instead of honouring the version we specified with AM_GNU_GETTEXT_VERSION in configure.ac. autogen.sh | 124 +++++++++++++++++++++++++++++++++++++++++++++++++--------- configure.ac | 2 +- 2 files changed, 107 insertions(+), 19 deletions(-) commit cfab64c1db609d7fd4840dd83a161af7527c17ab Author: Emmanuele Bassi Date: Thu Sep 9 11:39:56 2010 +0100 po: Update German localization po/de.po | 325 ++++++++++++++++++++++++++++++++------------------------------ 1 file changed, 166 insertions(+), 159 deletions(-) commit bcf20955d32b580195f45bf507a5970003f464cf Author: Robert Bragg Date: Wed Sep 8 23:33:45 2010 +0100 ClutterX11TexturePixmap: Fix unbalanced error trapping I think this is what commit 2cf140550635 intended to do since it specifically mentioned cleaning up the trap in clutter_x11_texture_pixmap_set_pixmap, but although it moved the untrap to only be done in the case where Pixmap != None it left the position of the trap itself unchanged. This meant the error trapping wouldn't be balanced if pixmap == None since the untrap wouldn't be done. We now only trap and untrap around the XGetGeometry call done when pixmap != None. http://bugzilla.clutter-project.org/show_bug.cgi?id=2303 clutter/x11/clutter-x11-texture-pixmap.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) commit 089a20e79d3f542ad74f34d7a318ef19718bdc40 Author: Emmanuele Bassi Date: Wed Sep 8 18:27:12 2010 +0100 build: Add ClutterX11 introspection generation clutter/Makefile.am | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) commit 32ea9702e664db8e0601362d2d1aae6c726f3c63 Author: Emmanuele Bassi Date: Wed Sep 8 17:50:38 2010 +0100 build: Add XML files to the ignore blacklist tests/conform/Makefile.am | 1 + 1 file changed, 1 insertion(+) commit f8bd45dbcea77e19a6a7e37edad535f6d3edd7cd Author: Emmanuele Bassi Date: Wed Sep 8 17:39:04 2010 +0100 x11-texture-pixmap: Do not go through g_object_get() The pixmap width and height are stored in our own private data structure; going through g_object_get() is pointless overhead. clutter/x11/clutter-x11-texture-pixmap.c | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) commit 2cf14055063568038be607bd8f7ce3eea2285475 Author: Owen W. Taylor Date: Wed Sep 8 11:34:58 2010 -0400 Clean up CoglTexturePixmapX11 first With currently distributed versions of Mesa, calling XFreePixmap() before glxDestroyPixmap() will cause an X error from DRI. So, we need to make sure that we get rid of the CoglTexturePixmapX11 before we XFreePixmap(). clutter_x11_texture_pixmap_dispose(): Call clutter_x11_texture_pixmap_set_pixmap() instead of using XFreePixmap directly so that we leverage the text-clearing hack and destroy things in the right order. clutter_x11_texture_pixmap_set_pixmap(): Don't do a pointless roundtrip and trap a pointless error when setting pixmap to None. clutter_x11_texture_pixmap_set_pixmap(): Free damage resources when we are setting Pixmap to None. clutter_x11_texture_pixmap_set_window(): When setting a new window or setting the window to None, immedediately call cluter_x11_texture_pixmap_set_pixmap(). This means that set_window(None) immediately will free any referenced resources related to the window. http://bugzilla.clutter-project.org/show_bug.cgi?id=2303 clutter/x11/clutter-x11-texture-pixmap.c | 46 ++++++++++++++++-------------- 1 file changed, 24 insertions(+), 22 deletions(-) commit ca8db4c2ee16e8c711baa40803c3dcd75ca2f382 Author: Emmanuele Bassi Date: Wed Sep 8 17:04:21 2010 +0100 Add caller-allocates annotations For ClutterColor, ClutterUnits, ClutterInterval and the Perspective accessor in ClutterStage. clutter/clutter-color.c | 18 +++++++++--------- clutter/clutter-fixed.c | 2 +- clutter/clutter-interval.c | 6 +++--- clutter/clutter-stage.c | 3 ++- clutter/clutter-units.c | 23 ++++++++++++----------- 5 files changed, 27 insertions(+), 25 deletions(-) commit 8a5686d83503d9b9a5c8e083d8613a8e9d1cf1f5 Author: Emmanuele Bassi Date: Wed Sep 8 16:41:47 2010 +0100 Further annotation fixes clutter/clutter-actor.c | 10 +++++----- clutter/clutter-animator.c | 2 +- clutter/clutter-behaviour.c | 2 +- clutter/clutter-color.c | 8 ++++---- clutter/clutter-container.c | 2 +- clutter/clutter-device-manager.c | 4 ++-- clutter/clutter-frame-source.c | 4 +++- clutter/clutter-layout-manager.c | 6 +++--- clutter/clutter-list-model.c | 2 +- clutter/clutter-main.c | 12 +++++++++--- clutter/clutter-model.c | 4 ++-- clutter/clutter-path.c | 3 ++- clutter/clutter-score.c | 10 +++++----- clutter/clutter-script.c | 7 ++++--- clutter/clutter-stage-manager.c | 4 ++-- clutter/clutter-stage-window.h | 16 ++++++++++++++++ clutter/clutter-state.c | 2 +- clutter/clutter-timeout-pool.h | 4 ++++ 18 files changed, 66 insertions(+), 36 deletions(-) commit f1c44a27a17c66c80ac92f7365b7fcc85c9f0847 Author: Owen W. Taylor Date: Wed Sep 8 10:37:58 2010 -0400 introspection: Add missing (out) annotations Comprehensively add (out) annotations to functions parameters returning int/float/double. Not handled here: structure out returns like ClutterColor or ClutterPerspective or GValue that should get (out caller-allocates). Not handled here: Cogl http://bugzilla.clutter-project.org/show_bug.cgi?id=2302 clutter/clutter-actor.c | 2 +- clutter/clutter-behaviour-depth.c | 4 ++-- clutter/clutter-behaviour-ellipse.c | 10 +++++----- clutter/clutter-behaviour-opacity.c | 4 ++-- clutter/clutter-behaviour-rotate.c | 6 +++--- clutter/clutter-behaviour-scale.c | 8 ++++---- clutter/clutter-cairo-texture.c | 4 ++-- clutter/clutter-color.c | 6 +++--- clutter/clutter-script-parser.c | 2 +- clutter/clutter-text.c | 6 +++--- 10 files changed, 26 insertions(+), 26 deletions(-) commit e4870ebaf461170e78f2ed6787beda541501d561 Author: Emmanuele Bassi Date: Wed Sep 8 15:15:57 2010 +0100 Constify Event accessors and copy method This is still C, but at least we can get some sort of safety net when using the API correctly. clutter/clutter-backend.c | 6 ++--- clutter/clutter-backend.h | 10 ++++---- clutter/clutter-event.c | 48 ++++++++++++++++++------------------- clutter/clutter-event.h | 48 ++++++++++++++++++------------------- clutter/clutter-private.h | 10 ++++---- clutter/x11/clutter-backend-x11.c | 6 ++--- 6 files changed, 64 insertions(+), 64 deletions(-) commit 8fb4c7b9a9f58a2137dfe981fac0001d4c64505c Author: Emmanuele Bassi Date: Wed Sep 8 14:48:40 2010 +0100 po: Rename the POT file configure.ac | 2 +- po/Makevars | 2 +- po/clutter-1.0.pot | 1828 ++++++++++++++++++++++++++++++++++++++++++++++++++++ po/clutter.pot | 1828 ---------------------------------------------------- 4 files changed, 1830 insertions(+), 1830 deletions(-) commit 144da2ae3b49715ea72052a3722e03872694aa92 Author: Emmanuele Bassi Date: Wed Sep 8 14:40:52 2010 +0100 po: Add clutter.pot to the repository Since we're not using intltool, and since we need to let people on Transifex generate their translations, we need to add the POT file to the repository. .gitignore | 1 - po/clutter.pot | 1828 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 1828 insertions(+), 1 deletion(-) commit 82bef432ed095b031408d858c00bffc140b21ed1 Author: ElleUca Date: Wed Sep 8 12:44:43 2010 +0100 po: Add italian translation po/it.po | 1837 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 1837 insertions(+) commit 33b0d5ddb5d6b056db8371717d1600ce7572a095 Author: Emmanuele Bassi Date: Wed Sep 8 12:25:25 2010 +0100 po: Update the translation files We are finally able to add the properties nicks and blurbs to the list of translatable strings, for UI builders to use. This means bumping the list of strings from 20-ish to a whopping 400. Whoopsie. po/de.po | 1852 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- po/pl.po | 1849 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- po/zh_CN.po | 1850 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 3 files changed, 5369 insertions(+), 182 deletions(-) commit 948da3728d770c2c328286f3263322215aa76eec Author: Emmanuele Bassi Date: Wed Sep 8 12:25:02 2010 +0100 Add more /po files to the ignore list .gitignore | 2 ++ 1 file changed, 2 insertions(+) commit 94c17dba51d9836c0add5f0b4bbd5b2306bfda8a Author: Emmanuele Bassi Date: Wed Sep 8 12:23:50 2010 +0100 build: Update autogen.sh Remove the fix-ups for shave and gtk-doc with libtool 1.5: we don't use shave any more, and we require libtool 2.2. Also remove the unnecessary autopoint: we use autoreconf, which calls it automatically. autogen.sh | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) commit dfca349bbe8219d03db16cf7bc2d7e39cd4275f2 Author: Emmanuele Bassi Date: Wed Sep 8 12:22:58 2010 +0100 build: Bump gettext version Apparently, gettext can only work with the same exact version it's autogenerated from. configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit dc8c7be7f0680095e6e507f05e01939d161e84e5 Author: Emmanuele Bassi Date: Wed Sep 8 11:56:06 2010 +0100 Ignore more files under /po .gitignore | 10 ++++++++++ 1 file changed, 10 insertions(+) commit 4fedbad24e4ec434236b7b6c7f73421bd59c2130 Author: Emmanuele Bassi Date: Wed Sep 8 11:53:07 2010 +0100 Update ignore files for m4 macros .gitignore | 4 ++++ 1 file changed, 4 insertions(+) commit a9e29e6fbafd073e78e19a74577b0d3d631a2214 Author: Emmanuele Bassi Date: Wed Sep 8 11:50:09 2010 +0100 Add Makevars po/Makevars | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) commit 98cac30d82299b3739f3801f71b5e2e931eb2e8d Author: Javier Jardón Date: Wed Sep 8 00:35:06 2010 +0200 build: Use upstream gettext instead the glib one Fixes http://bugzilla.clutter-project.org/show_bug.cgi?id=2300 autogen.sh | 2 + clutter/Makefile.am | 1 + configure.ac | 5 +- po/Makefile.in.in | 264 --------------------------------------------------- 4 files changed, 6 insertions(+), 266 deletions(-) commit c4ca75350f54160482db2081219b9d8a77820f84 Author: Owen W. Taylor Date: Tue Sep 7 19:56:42 2010 -0400 introspection: Fix annotation for clutter_container_get_children() (element-type) should have a full name like Clutter.Actor rather than a non-namespaced name like Actor. gobject-introspection has become more strict about this with the recent scanner rewrite. http://bugzilla.clutter-project.org/show_bug.cgi?id=2301 clutter/clutter-container.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 5e57539f3bdcb4d6004c3bcc9177706b175c500d Author: Emmanuele Bassi Date: Tue Sep 7 21:10:40 2010 +0100 build: Update introspection.m4 build/autotools/introspection.m4 | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) commit e678c746daf0ccd740328cae01feb5efa53f012c Author: Emmanuele Bassi Date: Tue Sep 7 16:17:51 2010 +0100 build: Add escaping in AS_IF() Based on a patch by: Owen W. Taylor configure.ac | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) commit 287b3ba542080dd4466060d05ac153dbec8dcde6 Author: Emmanuele Bassi Date: Tue Sep 7 15:23:35 2010 +0100 Makefile.am.enums: Forgot an AM_V_GEN build/autotools/Makefile.am.enums | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 368b24b42054599e36c1e5125f84a2d032fd3377 Author: Emmanuele Bassi Date: Tue Sep 7 14:47:59 2010 +0100 build: Fix up rules for enums and marshallers • Use addprefix instead of manually concatenating $(srcdir) • Use AM_V_GEN instead of QUIET_GEN, to avoid inter-dependencies • Do basic checks on GLIB_MKENUMS and GLIB_GENMARSHAL being defined • Do checks on the required variables being defined build/autotools/Makefile.am.enums | 26 +++++++++++++++++--------- build/autotools/Makefile.am.marshal | 21 ++++++++++++++------- 2 files changed, 31 insertions(+), 16 deletions(-) commit d7e5e9247bd5af2267a52087b74bbf4d2e17974f Author: Damien Lespiau Date: Tue Sep 7 14:17:18 2010 +0100 build: Make the generated glib-mkenums c file depend on the headers What happens now if you rename an enum inside a header: • glib-mkenums generates the header file • a comparison is made with the previous version of the heade is made and no difference is found as you don't remove or create enums • the compilation of the generated mkenums c file fails because it has not been regenerated with the new, renamed, enum. That's why the generated clutter-enum-types.c needs to depend on the headers too. Of course such scenario should not happen in stable releases as enums are part of the API, but renaming enums happens in the development cycle and create compilation errors (very annoying when doing git bissects for instance). build/autotools/Makefile.am.enums | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 1eae9fcd7edd3f8e330cd4be691e62fe759b67ec Author: Henrik Hedberg Date: Fri Sep 3 20:00:40 2010 +0300 drag-action: Added x-drag-threshold and y-drag-threshold properties *** This is an API change *** Replaced the original drag-threshold property with two separate horizontal (x-drag-threshold) and vertical (y-drag-threshold) thresholds. It is some times necessary to have different drag thresholds for the horizontal and vertical axes. For example, when a draggable actor is inside a horizontal scrolling area, only vertical movement must begin dragging. That can be achieved by setting the x-drag-threshold to G_MAXUINT while y-drag-threshold is something usual, say, 20 pixels. This is different than drag axis, because after the threshold has been cleared by the pointer, the draggable actor can be dragged along both axes (if allowed by the drag-axis property). http://bugzilla.clutter-project.org/show_bug.cgi?id=2291 Signed-off-by: Emmanuele Bassi clutter/clutter-drag-action.c | 124 ++++++++++++++++++++++++++++++----------- clutter/clutter-drag-action.h | 7 ++- tests/interactive/test-drag.c | 19 +++++-- 3 files changed, 110 insertions(+), 40 deletions(-) commit ba9aa3b332cd8f6bd57983a5dfbb6a24e8fd8ad9 Author: Emmanuele Bassi Date: Mon Sep 6 18:08:44 2010 +0100 texture: Move the material unref() in ::dispose clutter/clutter-texture.c | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) commit 128e981f6cf6e9a5b32da1b908d83f6c01d384fa Author: Emmanuele Bassi Date: Mon Sep 6 17:50:57 2010 +0100 texture: Do some more validation in get_cogl_texture() Check the layer type, even though right now we only have one type available. clutter/clutter-texture.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) commit 7e56a98413817479d0501ce8af9fad3e6411104d Author: Emmanuele Bassi Date: Thu Sep 2 14:48:30 2010 +0100 texture: Use a base material for all instances Creating new materials for every Texture instance results in a lot of ARBfp programs being generated/compiled. Since most textures will just be similar we should create a template material for all of them, and then copy it in every instance. Cogl will try to optimize the generation of the program and, hopefully, will reuse the same program most of the time. With this change, a simple test shows that loading 48 textures will result in just two programs being compiled - with and without batching enabled. http://bugzilla.clutter-project.org/show_bug.cgi?id=2295 clutter/clutter-texture.c | 19 ++++++++++-- tests/interactive/Makefile.am | 1 + tests/interactive/test-texture-material.c | 47 +++++++++++++++++++++++++++++ 3 files changed, 65 insertions(+), 2 deletions(-) commit 283dce8e21b58bd769e923e9239d5607b820ddd9 Author: Emmanuele Bassi Date: Mon Sep 6 18:07:07 2010 +0100 material: Check before unreferencing a texture When disposing a material layer of type 'texture' we should check that the texture handle is still valid before calling cogl_handle_unref(). This avoids an assertion failure when disposing a ClutterTexture. clutter/cogl/cogl/cogl-material.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit b4120b81e4a472fff5f7388b4cfc8f717ecc23f0 Author: Emmanuele Bassi Date: Mon Sep 6 16:11:46 2010 +0100 Add some more introspection annotations clutter/clutter-main.c | 6 +++--- clutter/clutter-offscreen-effect.c | 4 +++- clutter/cogl/cogl/cogl-material.h | 2 +- clutter/cogl/cogl/cogl-offscreen.h | 11 ++++++----- clutter/cogl/cogl/cogl-types.h | 2 +- 5 files changed, 14 insertions(+), 11 deletions(-) commit 070e239b6d887d43ff57320b7e325c8d689ce0ef Author: Emmanuele Bassi Date: Fri Sep 3 17:15:22 2010 +0100 docs: Fix up the Cogl API reference build doc/reference/cogl/Makefile.am | 41 ++++++++++++++++++++--------------- doc/reference/cogl/cogl-docs.xml.in | 2 +- 2 files changed, 25 insertions(+), 18 deletions(-) commit 7abe63953ef95eb197fe8e0069b5ddeb078f2ffd Author: Emmanuele Bassi Date: Fri Sep 3 16:56:12 2010 +0100 cogl-shader: Add deprecation guards for cogl_program_uniform_* clutter/cogl/cogl/cogl-shader.h | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) commit abef73bb58aa69ec63ebe2dbaed959da7dec0bb5 Author: Emmanuele Bassi Date: Fri Sep 3 16:55:12 2010 +0100 Replace cogl_color_set_from_* with cogl_color_init_from_* The former is not yet "officially" deprecated by the latter, but it's confusing to have them both in the code base. clutter/clutter-deform-effect.c | 2 +- clutter/clutter-main.c | 2 +- clutter/clutter-offscreen-effect.c | 2 +- clutter/clutter-page-turn-effect.c | 2 +- clutter/clutter-stage.c | 36 +++++++++++------------ clutter/clutter-text.c | 10 +++---- clutter/clutter-texture.c | 12 ++++---- clutter/cogl/cogl/cogl-material.c | 4 +-- clutter/cogl/cogl/cogl.c | 6 ++-- clutter/cogl/pango/cogl-pango-display-list.c | 10 +++---- clutter/cogl/pango/cogl-pango-render.c | 10 +++---- doc/cookbook/examples/text-shadow.c | 2 +- doc/cookbook/examples/textures-crossfade-cogl.c | 2 +- doc/cookbook/examples/textures-reflection.c | 4 +-- doc/cookbook/textures.xml | 4 +-- tests/conform/test-cogl-backface-culling.c | 2 +- tests/conform/test-cogl-blend-strings.c | 4 +-- tests/conform/test-cogl-materials.c | 2 +- tests/conform/test-cogl-viewport.c | 2 +- tests/interactive/test-box-layout.c | 2 +- tests/interactive/test-cogl-tex-polygon.c | 10 +++---- 21 files changed, 64 insertions(+), 66 deletions(-) commit 0e2b0e496ee6b5f96e76e8dfa36dbf9a9b172de0 Author: Emmanuele Bassi Date: Fri Sep 3 16:52:06 2010 +0100 docs: Add annotation glossary to the Cogl API reference It's the only way to let gtk-doc know that we're using annotations in the comments. doc/reference/cogl/cogl-docs.xml.in | 6 ++++++ 1 file changed, 6 insertions(+) commit 0caef5c8aab1ad5b417375a8417cc26f40d4ac6f Author: Emmanuele Bassi Date: Fri Sep 3 16:10:44 2010 +0100 docs: Fixes for gtk-doc clutter/clutter-alpha.c | 4 ++-- clutter/clutter-interval.c | 2 +- clutter/cogl/cogl/cogl-matrix.h | 8 ++++---- doc/reference/clutter/clutter-sections.txt | 2 ++ 4 files changed, 9 insertions(+), 7 deletions(-) commit b06b7109d6498f6d9f4083fd2464aca9d1c443b2 Author: Emmanuele Bassi Date: Fri Sep 3 15:53:52 2010 +0100 docs: Update NEWS NEWS | 1 + 1 file changed, 1 insertion(+) commit 7fee8cf26a07a41910ca730a4c22b61ddbc1e372 Author: Emmanuele Bassi Date: Fri Sep 3 15:44:03 2010 +0100 cookbook: Add a short introduction for the Text chapter doc/cookbook/text.xml | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) commit 655c60aaa9d90aeed6869faf9c0209006aa0cd61 Author: Elliot Smith Date: Fri Sep 3 14:31:44 2010 +0100 cookbook: Added recipe for complex animation Uses ClutterAnimator to implement a reasonably complex animation of a single actor (movement along a path with simultaneous scaling). Provides a metaphor for thinking about ClutterAnimator animations (stage directions) and explains keys and key frames in some depth. Also compares ClutterAnimator with other possible approaches to this type of animation (implicit animations, ClutterState). doc/cookbook/Makefile.am | 1 + doc/cookbook/animations.xml | 427 ++++++++++++++++++++++++++++ doc/cookbook/videos/animations-complex.ogv | Bin 0 -> 34212 bytes 3 files changed, 428 insertions(+) commit 60ff660d421fd5aeefd18978cecaac60b6c13d88 Author: Elliot Smith Date: Fri Sep 3 11:56:33 2010 +0100 cookbook: Added a second example to show "overlapping" transitions Added another JSON example to show how transitions can be easily overlapped when using ClutterAnimator (two sequences of 5 transitions, simultaneous with two sequences of 1 transition). Modified the C JSON loader program so it can be used with this example as well. .../examples/animations-complex-overlapping.json | 80 ++++++++++++++++++++ doc/cookbook/examples/animations-complex.c | 9 ++- 2 files changed, 87 insertions(+), 2 deletions(-) commit c0aa72a04259564d462ca4b80e080eacac885ecd Author: Elliot Smith Date: Wed Sep 1 18:02:07 2010 +0100 cookbook: Added complex animations example To support recipe about using ClutterAnimator to create complex animations. doc/cookbook/examples/Makefile.am | 2 + doc/cookbook/examples/animations-complex.c | 64 ++++++++++++++++++++ doc/cookbook/examples/animations-complex.json | 80 +++++++++++++++++++++++++ 3 files changed, 146 insertions(+) commit 9210c46730fa839c0e050a8be4ff04979730932c Author: Emmanuele Bassi Date: Fri Sep 3 14:05:20 2010 +0100 docs: Update NEWS NEWS | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) commit 6c1559b6113d5eaa1f4b96110d365b7142d7de04 Author: Emmanuele Bassi Date: Fri Sep 3 13:55:07 2010 +0100 build: Allow disabling linking with -Bsymbolic Some debugging tools might require full visibility for the Clutter symbols; for this reason, and to match what the Clutter dependencies already allow, we should provide a configure switch to disable linking with the -Bsymbolic flag. README | 3 +++ configure.ac | 35 ++++++++++++++++++++++------------- 2 files changed, 25 insertions(+), 13 deletions(-) commit 3e74f42f07c0d4a5f830a49274cfe9a78268217f Author: Emmanuele Bassi Date: Fri Sep 3 12:14:50 2010 +0100 introspection: Add annotations Reduce the amount of warnings coming from g-ir-scanner. clutter/clutter-actor.c | 9 +++++---- clutter/clutter-alpha.c | 4 +++- clutter/clutter-animator.c | 4 +++- clutter/clutter-behaviour.c | 2 +- clutter/clutter-box.c | 4 +++- clutter/clutter-container.c | 4 ++-- clutter/clutter-event.c | 4 +++- clutter/clutter-interval.c | 4 ++-- clutter/clutter-layout-manager.c | 6 ++++-- clutter/clutter-main.c | 2 +- clutter/clutter-path.c | 2 +- clutter/clutter-script.c | 3 ++- clutter/clutter-shader.c | 12 +++++++++--- clutter/clutter-state.c | 12 ++++++++---- clutter/clutter-texture.c | 16 +++++++++------- clutter/clutter-timeline.c | 9 +++++---- 16 files changed, 61 insertions(+), 36 deletions(-) commit 67792b875038fbe4a4fbc339f463ee73ac811c40 Author: Emmanuele Bassi Date: Fri Sep 3 11:33:20 2010 +0100 docs: Update the dependencies We depend on G-I 0.9.5 after the latest slew of changes. We also depend on UProf 0.3. README | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 710c7aed400eb320581f160dc9cd0f4cba8676a8 Author: Emmanuele Bassi Date: Fri Sep 3 11:09:57 2010 +0100 build: Use Makefile.introspection Whenever possible, instead of writing our own rules for generating GIR files and typelibs. clutter/Makefile.am | 103 ++++++++++++++++------------------------- clutter/cogl/cogl/Makefile.am | 36 +++++++------- clutter/json/Makefile.am | 41 +++++++++------- configure.ac | 23 ++++----- 4 files changed, 89 insertions(+), 114 deletions(-) commit f7854dd90ffe22a08b2e182e10484320f360b2c9 Author: Colin Walters Date: Thu Sep 2 11:45:42 2010 -0400 introspection: Build fixes This patch merges in substantial work from Emmanuele Bassi * Use new introspection --include-uninstalled API since we don't want to try to find the clutter-1.0.pc file before it's installed. * Use --pkg-export for Clutter-1.0.gir, since we want the .gir file to contain the associated pkg-config file. * Drop the use of --pkg for dependencies; those come from the associated .gir files. (Actually, --pkg is almost never needed) * Add --quiet http://bugzilla.clutter-project.org/show_bug.cgi?id=2292 clutter/Makefile.am | 34 +++++++++++++--------------------- clutter/cogl/cogl/Makefile.am | 2 +- clutter/json/Makefile.am | 3 +-- configure.ac | 2 +- 4 files changed, 16 insertions(+), 25 deletions(-) commit 24b12d626c3afdaa94b4119e218cf5b7436d0478 Author: Damien Lespiau Date: Thu Sep 2 16:22:45 2010 +0100 cex100: Remove C99-ism We were declaring a variable in the middle of the code. Blasphemy, for non-c99 compilers. clutter/egl/clutter-backend-cex100.c | 33 +++++++++++++++++---------------- 1 file changed, 17 insertions(+), 16 deletions(-) commit 0216f0b2810f6c3f7db2b7ad615a9e259ab7059f Author: Damien Lespiau Date: Thu Sep 2 16:20:10 2010 +0100 cex100: Use % not # to document constants gtk-doc contants should be prefixed by %, not # (types). clutter/egl/clutter-cex100.h.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 0a0a59cf7bdc5d4ee3639923f19cb57bf666815b Author: Damien Lespiau Date: Sat Aug 28 12:06:11 2010 +0100 cex100: Add an API to configure the buffering mode of the GDL plane GDL planes can be double or triple buffered. Let the user choose between the two modes befored initalizing Clutter. clutter/egl/clutter-backend-cex100.c | 21 +++++++++++---------- clutter/egl/clutter-cex100.h.in | 27 +++++++++++++++++++++++++++ doc/reference/clutter/clutter-sections.txt | 2 ++ 3 files changed, 40 insertions(+), 10 deletions(-) commit 01fcd11efd0f02833370901dc47d042dc067627a Author: Damien Lespiau Date: Sat Aug 28 10:43:39 2010 +0100 cex100: Add an API to configure the GDL plane to use Intel CE3100 and CE4100 have several planes (framebuffers) and a hardware blender to blend the planes togeteher to produce the final image. clutter_cex100_set_plane() lets you configure which framebuffer clutter will use for its rendering. .gitignore | 1 + clutter/egl/Makefile.am | 1 + clutter/egl/clutter-backend-cex100.c | 35 +++++++++++++++ clutter/egl/clutter-cex100.h.in | 64 ++++++++++++++++++++++++++++ configure.ac | 3 ++ doc/reference/clutter/Makefile.am | 2 + doc/reference/clutter/building-clutter.xml | 2 +- doc/reference/clutter/clutter-docs.xml.in | 1 + doc/reference/clutter/clutter-sections.txt | 6 +++ 9 files changed, 114 insertions(+), 1 deletion(-) commit 70dc3ecbd6986b0f9ded6ec9c7d4634dda5c5465 Author: Damien Lespiau Date: Fri Aug 27 16:19:00 2010 +0100 egl: Fix the installed headers • Use the public COGL_HAS_GLES[12] define instead of the HAVE_COGL_* ones which are private and defined in config.h, • Install clutter-egl-headers.h which is needed by clutter-egl.h, • Remove clutter-stage.h as it's uneeded and does not work since the single clutter.h include policy, • Install the egl headers into their own egl directory as the x11 and glx backends do. The include should then be , so document it. It does not really break anything as nobody could have used those broken headers. clutter/egl/Makefile.am | 4 ++-- clutter/egl/clutter-egl-headers.h | 12 +++++++----- clutter/egl/clutter-egl.h | 6 ++++-- 3 files changed, 13 insertions(+), 9 deletions(-) commit e1e5db00327db6d37850aaad7bb8fb42ffe29e57 Author: Damien Lespiau Date: Thu Aug 12 09:25:17 2010 -0400 cex100: Add a Clutter EGL backend for CE3100/CE4100 SoCs Intel CE3100 and CE4100 SoCs are designed for TVs. They have separate framebuffers that are blended together by a piece of hardware to make the final output. The library that allows you to initialize and configure those planes is called GDL. A EGL GDL winsys can then be use with those planes as NativeWindowType to select which plane to use. This patch adds a new ClutterBackendCex100 backend that can be selected at compile time with the new --with-flavour=cex100 option. clutter/cogl/cogl/Makefile.am | 4 + clutter/egl/Makefile.am | 3 + clutter/egl/clutter-backend-cex100.c | 332 ++++++++++++++++++++++++++++++++++ clutter/egl/clutter-backend-cex100.h | 60 ++++++ clutter/egl/clutter-backend-egl.c | 2 + configure.ac | 49 ++++- 6 files changed, 449 insertions(+), 1 deletion(-) commit af983faccd6fc91ea328d19ace2bb61df2c0f9fd Author: Damien Lespiau Date: Thu Aug 12 09:05:01 2010 -0400 egl: Fix compilation for EGL native Some minor fixes here and there: missing include, wrongly placed #endif, unused variable warning fixes, missing #ifdef. Make ClutterStageEGL a subclass of either ClutterStageX11 or GObject depending if you compile with X11 support (EGLX) or not (native). clutter/cogl/cogl/cogl-material-glsl.c | 1 + clutter/egl/clutter-backend-egl.c | 1 - clutter/egl/clutter-stage-egl.h | 18 +++++++++++++++--- 3 files changed, 16 insertions(+), 4 deletions(-) commit 12a5bf2e06114e60e8286ee7fd75e73ce16f487c Author: Emmanuele Bassi Date: Wed Sep 1 17:56:15 2010 +0100 offscreen-effect: Rename create_target to create_buffer *** This is an API change *** The create_target() virtual function should return a CoglHandle to a texture; clutter_offscreen_effect_get_target(), instead, returns a CoglMaterial to be painted in the implementation of the paint_target() virtual function. Instead of equating textures with materials, and confusing the user of the API, we should mark the difference more prominently. First of all, we should return a CoglMaterial* (now that we have that as a public type) in get_target(); having handles all over the place does not make it easier to distinguish the semantics of the virtual functions. Then we should rename create_target() to create_texture(), to make it clear that what should be returned is a texture that is used as the backing for the offscreen framebuffer. clutter/clutter-offscreen-effect.c | 45 +++++++++++++++------------- clutter/clutter-offscreen-effect.h | 14 ++++----- doc/reference/clutter/clutter-sections.txt | 2 +- 3 files changed, 32 insertions(+), 29 deletions(-) commit 6c40b100839e3597e9ab5f1d3e32c9d42d1af87c Author: Elliot Smith Date: Tue Aug 31 14:39:03 2010 +0100 cookbook: Added recipe for signal handling in ClutterScript Added a recipe explaining how to connect signals to handlers in the JSON definition used by ClutterScript; also shows how to connect the signals in code once the JSON has been loaded. Includes guidelines on writing handlers (i.e. need to use -export-dynamic and non-static functions) and example which connects a handler for motion events on a rectangle. doc/cookbook/script.xml | 266 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 266 insertions(+) commit a67111a17cf5427096272276c2117c9f8d92a978 Author: Elliot Smith Date: Fri Aug 27 16:31:00 2010 +0100 cookbook: Added example of connecting signals in ClutterScript To support recipe about connecting signals in script. doc/cookbook/examples/Makefile.am | 2 + doc/cookbook/examples/script-signals.c | 91 +++++++++++++++++++++++++++++ doc/cookbook/examples/script-signals.json | 40 +++++++++++++ 3 files changed, 133 insertions(+) commit b369cb51dc24801dc6e1dd4db54691ff859db93f Author: Emmanuele Bassi Date: Sat Aug 28 21:21:08 2010 +0100 docs: Pass -DCOGL_ENABLE_EXPERIMENTAL_API when scanning doc/reference/cogl/Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit be9dd6e7dac5711bd5cf0f225c0d4b151b851868 Author: Emmanuele Bassi Date: Sat Aug 28 21:18:12 2010 +0100 docs: Split x11-texture-pixmap in its own section doc/reference/clutter/clutter-sections.txt | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) commit a0c700b8d074dc0581cb7889c98e63e77a98439f Author: Emmanuele Bassi Date: Sat Aug 28 21:17:52 2010 +0100 docs: Fix up the main index of the Clutter API reference doc/reference/clutter/clutter-docs.xml.in | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) commit ac6256ae604ad1da05e719f8623b4650402245fb Author: Emmanuele Bassi Date: Sat Aug 28 21:17:23 2010 +0100 docs: Add @Title to the X11TexturePixmap gtk-doc section clutter/x11/clutter-x11-texture-pixmap.c | 1 + 1 file changed, 1 insertion(+) commit 79a4dbb32908043223e0d5a085214850166124f5 Author: Elliot Smith Date: Fri Aug 27 15:29:09 2010 +0100 cookbook: Use nicknames for enumeration values GEnum nicknames can be used to set properties in JSON definitions, so added a callout to the JSON example explaining this, and showing how to derive the nickname for an enumeration value. Modified the example code to use nicknames as well. doc/cookbook/examples/script-ui.json | 4 ++-- doc/cookbook/script.xml | 27 +++++++++++++++++++++++++-- 2 files changed, 27 insertions(+), 4 deletions(-) commit 2c3ca20cdc3299e239388f75b583e2afb7437b47 Author: Elliot Smith Date: Fri Aug 27 15:13:28 2010 +0100 cookbook: Don't use the default stage It's not necessary to use the default stage, so don't encourage this in the JSON example. doc/cookbook/examples/script-ui.json | 1 - doc/cookbook/script.xml | 6 ------ 2 files changed, 7 deletions(-) commit 6db795baf634df0d5b8becc746c6c57c2ed0131a Author: Elliot Smith Date: Fri Aug 27 15:10:17 2010 +0100 cookbook: Mention nick names as possible values for enums As JSON can make use of nicknames for GEnum properties, mentioned this in the table mapping C property values to their JSON equivalents (as the nick name is a much shorter and cleaner way of setting a property in JSON). doc/cookbook/script.xml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) commit b532f9591786f4b5381269718e7e0d479ad58c4d Author: Elliot Smith Date: Fri Aug 27 11:20:29 2010 +0100 cookbook: Added introduction to and recipe on ClutterScript Wrote an introduction to using ClutterScript with JSON. Focus is on explaining why you might want to use it, basic principles of operation (with annotated JSON sample), and how to map data types from C to JSON. Written simultaneously with a short recipe (uses the same sample code) showing how to load a JSON file and retrieve objects from it in code. doc/cookbook/script.xml | 394 ++++++++++++++++++++++++++++++++++++----------- 1 file changed, 303 insertions(+), 91 deletions(-) commit 7900ac4dc7fb204c9f8a957f20ec445ef19f655d Author: Elliot Smith Date: Thu Aug 26 17:07:21 2010 +0100 cookbook: Added comments to script example Commented the ClutterScript example so it can be used inline as part of the recipe, rather than as an example in the appendix (it's too simple to warrant a separate appendix). doc/cookbook/examples/script-ui.c | 2 ++ 1 file changed, 2 insertions(+) commit 0fc1c8503b073491ca301c5551c515408a499052 Author: Elliot Smith Date: Thu Aug 26 12:51:33 2010 +0100 cookbook: Added first draft of script introduction New script chapter needs an introduction. While writing the introduction, also slightly changed the emphasis of the recipe (towards refactoring an existing application to use ClutterScript) and incorporated example code into documentation. doc/cookbook/script.xml | 205 ++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 196 insertions(+), 9 deletions(-) commit ce3a3d4404830cc951dc14660aa5c846ec3f8727 Author: Elliot Smith Date: Thu Aug 26 12:49:59 2010 +0100 cookbook: Use text for callouts in documentation Set a parameter on the XSLT transform so that callout elements are rendered as text rather than graphics (removes the need to add callout graphics to the build). doc/cookbook/Makefile.am | 1 + 1 file changed, 1 insertion(+) commit fef53e1b287df0640e3395d082c7dcb84d8886b1 Author: Elliot Smith Date: Thu Aug 26 11:07:54 2010 +0100 cookbook: Added skeleton for script chapter of cookbook doc/cookbook/Makefile.am | 1 + doc/cookbook/clutter-cookbook.xml.in | 1 + doc/cookbook/script.xml | 45 ++++++++++++++++++++++++++++++++++ 3 files changed, 47 insertions(+) commit 27d9825abe50d5fc38788c1c47f4a28b5225f098 Author: Elliot Smith Date: Thu Aug 26 10:52:12 2010 +0100 cookbook: Simplified ClutterScript example There was too much in the example code to cover in a single recipe, so I trimmed it down to demonstrate simple UI building (no constraints, effects, animations, or signals). doc/cookbook/examples/script-ui.c | 35 -------------- doc/cookbook/examples/script-ui.json | 85 ++++------------------------------ 2 files changed, 8 insertions(+), 112 deletions(-) commit 4cba0cf3e82617e4cad0b4ab3813d5c6e6a5b715 Author: Elliot Smith Date: Wed Aug 25 17:53:46 2010 +0100 cookbook: Added ClutterScript example Added a simple script and program to load it, to support recipe on ClutterScript for UI definitions. Also amended the Makefile (following the pattern of the tests/interactive Makefile) to enable signal connection from ClutterScript by passing -export-dynamic to linker. doc/cookbook/examples/Makefile.am | 4 +- doc/cookbook/examples/script-ui.c | 69 ++++++++++++++++++++++ doc/cookbook/examples/script-ui.json | 104 ++++++++++++++++++++++++++++++++++ 3 files changed, 176 insertions(+), 1 deletion(-) commit 88b026fa72eddcd1e9da817ddd50be3f0e037f6a Author: Emmanuele Bassi Date: Thu Aug 26 17:31:32 2010 +0100 test-actors: Name all the actors Makes it easier to debug events. tests/interactive/test-actors.c | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) commit 36d45b660fc86619345bfe4f2837037f3a164d5d Author: Emmanuele Bassi Date: Thu Aug 26 16:36:59 2010 +0100 click-action: Add get_button() Allow retrieving the pointer button that caused the ::clicked signal to be emitted. http://bugzilla.clutter-project.org/show_bug.cgi?id=2287 clutter/clutter-click-action.c | 18 ++++++++++++++++++ clutter/clutter-click-action.h | 6 ++++-- doc/reference/clutter/clutter-sections.txt | 1 + 3 files changed, 23 insertions(+), 2 deletions(-) commit 550d5ab621379f732958dda99da130a25ea6aa15 Author: Emmanuele Bassi Date: Thu Aug 26 16:36:06 2010 +0100 click-action: Fix the release() method name Documented and declared as release(), it's implemented as force_release(). http://bugzilla.clutter-project.org/show_bug.cgi?id=2286 clutter/clutter-click-action.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 870e7ddfadaff366ca02e28cc464e704b77b3430 Author: Bastian Winkler Date: Tue Aug 24 12:13:30 2010 +0200 test-script-parser: Add a second child to the container The script parser won't apply child and layout properties correctly with more than one children. http://bugzilla.clutter-project.org/show_bug.cgi?id=2285 Signed-off-by: Emmanuele Bassi tests/conform/test-script-parser.c | 27 ++++++++++++++++++++++----- tests/data/test-script-layout-property.json | 7 ++++++- 2 files changed, 28 insertions(+), 6 deletions(-) commit cb58f1f68cb3863a948f5e85db58d437d45ee091 Author: Bastian Winkler Date: Tue Aug 24 12:16:50 2010 +0200 script-parser: Apply child and layout properties to the right actor http://bugzilla.clutter-project.org/show_bug.cgi?id=2285 Signed-off-by: Emmanuele Bassi clutter/clutter-script-parser.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) commit 2e12768e3c84eb67948df1af1c89cb0011403d88 Author: Neil Roberts Date: Tue Aug 24 20:00:04 2010 +0100 win32: Fix the check for the 'IN_DESTRUCTION' flag Commit eae45619299 tried to clean how it checks for the private actor flags. However the check for the 'IN_DESTRUCTION' flag in the Win32 backend got inverted so it would always clear the current context. This was causing _cogl_check_driver_valid to fail later and then the realize would get stuck in a infinite loop. clutter/win32/clutter-backend-win32.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 04d55107f380340ce22fbb56a3c87cf7576524db Author: Øyvind Kolås Date: Tue Aug 17 13:22:08 2010 +0100 state: clutter_state_remove_key_internal fix memory corruption When we free a state because there are no more keys with it as a target use a goto to re-initialize temporary variables that have become invalid. Fixing bug #2273 clutter/clutter-state.c | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) commit 66018a7035ccdc2422f8eef9a9523339fd6309be Author: Neil Roberts Date: Mon Aug 23 11:36:33 2010 +0100 Invert the check for whether to clip the pick In 965907deb3f9e the picking was changed to render the full stage instead of a single pixel whenever picking is performed more than once between paints. However the condition in the if-statement was backwards so it would end up always doing a full stage render. clutter/clutter-main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit ddd08ba72364d14c0ca291981a231f4add3d62a5 Author: Neil Roberts Date: Mon Aug 23 11:33:22 2010 +0100 Add some debugging notes for picking This adds a new CLUTTER_DEBUG option for picking. Currently this just reports the position for each pick and whether it is clipped or not. clutter/clutter-debug.h | 3 ++- clutter/clutter-main.c | 7 +++++++ 2 files changed, 9 insertions(+), 1 deletion(-) commit 12e58c78132766ff4eb3e4c471a32d9e8ef95585 Author: Alexandros Frantzis Date: Fri Aug 13 17:48:30 2010 +0300 Hide internal glx and egl(x) backend symbols. The glx and egl(x) backends export some internal symbols. Hide these symbols (using '_' prefix) to reduce ABI differentiation between the glx and eglx flavours. http://bugzilla.clutter-project.org/show_bug.cgi?id=2267 Signed-off-by: Emmanuele Bassi clutter/egl/clutter-backend-egl.c | 22 +++++++++++----------- clutter/egl/clutter-backend-egl.h | 4 ++-- clutter/egl/clutter-stage-egl.c | 14 +++++++------- clutter/egl/clutter-stage-egl.h | 6 +++--- clutter/glx/clutter-backend-glx.c | 24 ++++++++++++------------ clutter/glx/clutter-backend-glx.h | 4 ++-- clutter/glx/clutter-event-glx.c | 2 +- clutter/glx/clutter-event-glx.h | 2 +- clutter/glx/clutter-stage-glx.c | 10 +++++----- clutter/glx/clutter-stage-glx.h | 6 +++--- 10 files changed, 47 insertions(+), 47 deletions(-) commit cda5afb41981e5402bfc4816e71f12b99eb820fc Author: Emmanuele Bassi Date: Fri Aug 20 17:03:06 2010 +0100 box-layout: Use the correct name for the arguments Since we're getting the preferred height for a given width, the width argument should be named "for_width" and not "for_height". clutter/clutter-box-layout.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 5f15a620a107847e0b26bab6cdd1c9d27cd3a243 Merge: 81481cd 444d315 Author: Emmanuele Bassi Date: Fri Aug 20 15:24:42 2010 +0100 Merge remote branch 'elliot/cookbook-textures-crossfade' * elliot/cookbook-textures-crossfade: cookbook: Use GdkPixbuf instead of getting data from a texture cookbook: Added a recipe for cross-fading between two images cookbook: Modified COGL example for consistency cookbook: Added video of two texture cross-fade cookbook: Removed unused constant cookbook: Renamed front/back to top/bottom in cross-fade example cookbook: Don't need to set keep-aspect-ratio for simple example cookbook: Modified ordering of statements in cross-fade example cookbook: Added a longer slideshow example cookbook: Made code examples more consistent cookbook: Added example code for texture cross-fading Post-release version bump to 1.3.13 Release Clutter 1.3.12 (developers snapshot) Conflicts: doc/cookbook/examples/Makefile.am commit 81481cd80342614d0fe57ffa6d2bd46103602952 Author: Elliot Smith Date: Fri Aug 20 13:54:04 2010 +0100 cookbook: Added recipe for handling pointer events on an actor Added a recipe about handling enter, leave, and motion events on an actor. Gives some pointers to data available from motion events, explains a bit about stage-relative and actor-relative coords, and covers how overlapping actors and reactivity of actors can affect events occurring. Examples include a simple scribble app showing how to integrate pointer events into a more useful context. doc/cookbook/Makefile.am | 1 + doc/cookbook/events.xml | 323 ++++++++++++++++++++ .../images/events-pointer-motion-stacking.png | Bin 0 -> 1063 bytes 3 files changed, 324 insertions(+) commit c480e5ec00d52b176bdda1b26d1dfee8aea3384f Author: Elliot Smith Date: Fri Aug 20 12:38:35 2010 +0100 cookbook: Added example to show how stacking affects pointer events Added another example (used for a screenshot) to demonstrate how pointer events pass through non-reactive actors and how depth ordering affects whether an actor will emit a pointer motion signal. doc/cookbook/examples/Makefile.am | 2 + .../examples/events-pointer-motion-stacked.c | 90 ++++++++++++++++++++ 2 files changed, 92 insertions(+) commit 526b438b3a4ebc446a1f986dcaeb759377462c18 Author: Elliot Smith Date: Fri Aug 20 11:25:40 2010 +0100 cookbook: Use get_coords rather than struct members Use clutter_event_get_coords() to get x and y position, rather than casting to the right event type then directly accessing members of the event struct. doc/cookbook/examples/events-pointer-motion.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) commit a4db7746f24280b26fed0b8caae0068cfe8d57b0 Author: Elliot Smith Date: Thu Aug 19 17:50:25 2010 +0100 cookbook: Made callback names more consistent Changed callback function names so they are more consistent within this recipe and with other callback names used in other recipes. .../examples/events-pointer-motion-crossing.c | 16 +++++------ .../examples/events-pointer-motion-scribbler.c | 28 ++++++++++---------- doc/cookbook/examples/events-pointer-motion.c | 8 +++--- 3 files changed, 26 insertions(+), 26 deletions(-) commit c1e2658104046d8895134df5b7519db26a491892 Author: Elliot Smith Date: Thu Aug 19 17:17:58 2010 +0100 cookbook: Added simple pointer motion example Added a simple pointer motion example which just reports on the stage and actor-relative coordinates of the pointer as it moves. doc/cookbook/examples/Makefile.am | 6 ++- doc/cookbook/examples/events-pointer-motion.c | 56 +++++++++++++++++++++++++ 2 files changed, 60 insertions(+), 2 deletions(-) commit 7c196d31b4707322fc45b55106ded0e0daaacd40 Author: Elliot Smith Date: Thu Aug 19 16:53:27 2010 +0100 cookbook: Added scribble example for pointer motion recipe Simple scribbler application which demonstrates tracking mouse enter and motion events on a texture, drawing with COGL and ClutterPath as they occur. doc/cookbook/examples/Makefile.am | 2 + .../examples/events-pointer-motion-scribbler.c | 160 ++++++++++++++++++++ 2 files changed, 162 insertions(+) commit b648bff10c0e2c48f0707bfecd7ea7ae1acab2eb Author: Elliot Smith Date: Thu Aug 19 16:48:59 2010 +0100 cookbook: Renamed example for pointer crossing Decided might be better to cover crossing and motion under a broader "pointer motion" recipe, so renamed the example (which only shows pointer crossing event handling). doc/cookbook/examples/Makefile.am | 4 +- doc/cookbook/examples/events-pointer-cross.c | 113 -------------------- .../examples/events-pointer-motion-crossing.c | 113 ++++++++++++++++++++ 3 files changed, 115 insertions(+), 115 deletions(-) commit 72ddd471f04f663ce52fdb36347688a595cfa940 Author: Elliot Smith Date: Thu Aug 19 10:32:28 2010 +0100 cookbook: Added example for pointer cross recipe Code example demonstrates detecting pointers entering/leaving an actor by implementing a (very) simple button with hover effect. doc/cookbook/examples/Makefile.am | 2 + doc/cookbook/examples/events-pointer-cross.c | 113 ++++++++++++++++++++++++++ 2 files changed, 115 insertions(+) commit 213bd1eab4e0dfbb0c033c5d8d56eb6343e35876 Author: Emmanuele Bassi Date: Thu Aug 19 13:57:10 2010 +0100 debug: Add a macro for checking debug flags clutter/clutter-actor.c | 2 +- clutter/clutter-debug.h | 79 ++++++++++++++++++++++++----------------------- clutter/clutter-main.c | 2 +- 3 files changed, 43 insertions(+), 40 deletions(-) commit 459a6bb24c880c21f71c37e99f04e801d117705d Author: Emmanuele Bassi Date: Thu Aug 19 12:10:43 2010 +0100 click-action: Add a method to force a release It can be useful to be able to forcibly break the grab set up by the ClickAction. The newly added release() method provides a mechanism to release the grab and unset the :held state of the ClickAction. clutter/clutter-click-action.c | 30 ++++++++++++++++++++++++++++ clutter/clutter-click-action.h | 3 ++- doc/reference/clutter/clutter-sections.txt | 1 + 3 files changed, 33 insertions(+), 1 deletion(-) commit db7d821ef6e435b02a7a99c6f7f02df9bd3565b5 Author: Emmanuele Bassi Date: Thu Aug 19 11:26:51 2010 +0100 click-action: Add attribution The ClickAction semantics were inspired by the StClickable widget in the GNOME Shell Toolkit (St). clutter/clutter-click-action.h | 3 +++ 1 file changed, 3 insertions(+) commit 5ccaa61e4fcd527cfeeaded08a1e0311a5e6814e Author: Robert Bragg Date: Wed Aug 18 18:06:35 2010 +0100 docs: Clarifies that queue_redraw also applies to picking This clarifies the documentation for clutter_actor_queue_redraw to explain that custom actors should call this whenever some private state changes that affects painting *or* picking. clutter/clutter-actor.c | 4 ++++ 1 file changed, 4 insertions(+) commit f8940e3c9a7d58df0a484d70d371983cc337bbec Author: Robert Bragg Date: Wed Aug 18 18:05:15 2010 +0100 clutter-texture: queue redraw when changing pick_with_alpha The expectation is that actors should call clutter_actor_queue_redraw when ever some private state changes that affects painting *or* picking. ClutterTexture was not doing this for pick_with_alpha property changes. clutter/clutter-texture.c | 5 +++++ 1 file changed, 5 insertions(+) commit 965907deb3f9e69cb459dd28af4074364a7b72f9 Author: Robert Bragg Date: Wed Aug 18 16:48:55 2010 +0100 Cache a full pick render if we have a static stage The idea is that if we see multiple picks per frame then that implies the visible scene has become static. In this case we can promote the next pick render to be unclipped so we have valid pick values for the entire stage. Now we can continue to read from this cached buffer until the stage contents do visibly change. Thanks to Luca Bruno on #clutter for this idea! clutter/clutter-actor.c | 12 +++++++++ clutter/clutter-main.c | 61 ++++++++++++++++++++++++++++++++++++++++++--- clutter/clutter-private.h | 3 +++ 3 files changed, 72 insertions(+), 4 deletions(-) commit c646a366c62ab6a07b8ae53c170db31ad5b3d7d3 Author: Emmanuele Bassi Date: Wed Aug 18 18:20:16 2010 +0100 actor: Ignore paint() on actors being destroyed OBVIOUS OPTIMIZATION IS OBVIOUS clutter/clutter-actor.c | 3 +++ 1 file changed, 3 insertions(+) commit 56097df60cae9b665c9c6033bf7ad54751874e92 Author: Emmanuele Bassi Date: Wed Aug 18 18:20:04 2010 +0100 docs: Improve paint() documentation clutter/clutter-actor.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) commit 444d315078f41295c722bdf30c4b3ff92c89cf53 Author: Elliot Smith Date: Wed Aug 18 16:02:51 2010 +0100 cookbook: Use GdkPixbuf instead of getting data from a texture Rewrote example for single texture + COGL to use a GdkPixbuf to load images, rather than reading data out of another CoglTexture. The data is then loaded from the pixbuf to a region of the CoglTexture (as before). doc/cookbook/textures.xml | 165 +++++++++++++++++++++++---------------------- 1 file changed, 83 insertions(+), 82 deletions(-) commit c207820bef93bffede1733ef8c6586cda5095347 Author: Elliot Smith Date: Wed Aug 18 11:41:10 2010 +0100 cookbook: Added a recipe for cross-fading between two images The recipe covers a two texture approach (using the Clutter API) and a single texture approach (using COGL). It also discusses issues with cross-fading between images of different sizes with the COGL API, and gives a longer example of cycling through multiple images in a slideshow application. doc/cookbook/textures.xml | 535 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 535 insertions(+) commit c492faecb2fda5619fa26b4eb84e6ced7a103833 Author: Elliot Smith Date: Tue Aug 17 15:47:59 2010 +0100 cookbook: Modified COGL example for consistency Changed the stage size so the COGL API example for cross-fade has a stage the same size as the two texture example. doc/cookbook/examples/textures-crossfade-cogl.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit e54d3e716b5f9a00d59a006e70926d5fe31fd4a3 Author: Elliot Smith Date: Tue Aug 17 15:46:48 2010 +0100 cookbook: Added video of two texture cross-fade Added a video showing the two texture cross-fade. Modified the example code to animate on key press, so this video could be captured. Also altered the stage size to minimise the video size. doc/cookbook/Makefile.am | 1 + doc/cookbook/examples/textures-crossfade.c | 21 ++++++++++++++++---- .../videos/textures-crossfade-two-textures.ogv | Bin 0 -> 81903 bytes 3 files changed, 18 insertions(+), 4 deletions(-) commit 0486c56a41870ac1ebb3a0200060fb80282a1f25 Author: Elliot Smith Date: Tue Aug 17 14:54:32 2010 +0100 cookbook: Removed unused constant doc/cookbook/examples/textures-crossfade.c | 2 -- 1 file changed, 2 deletions(-) commit 8c0c2924ae467d265aabf7b7c472eb0474c459e7 Author: Elliot Smith Date: Tue Aug 17 11:51:33 2010 +0100 cookbook: Renamed front/back to top/bottom in cross-fade example Front/back seems like the wrong terminology when discussing actors arranged in layers. Top/bottom fits better with Clutter API function names and other recipes, so renamed variables. .../examples/textures-crossfade-slideshow.c | 44 ++++++++++---------- doc/cookbook/examples/textures-crossfade.c | 38 ++++++++--------- 2 files changed, 41 insertions(+), 41 deletions(-) commit 1e4578d1dd6dc7d638ac2d4902e303d07504039f Author: Elliot Smith Date: Tue Aug 17 11:20:20 2010 +0100 cookbook: Don't need to set keep-aspect-ratio for simple example doc/cookbook/examples/textures-crossfade.c | 3 --- 1 file changed, 3 deletions(-) commit 1b2606a850288b2f8f943ae2e433b14e34a944f7 Author: Elliot Smith Date: Tue Aug 17 10:56:06 2010 +0100 cookbook: Modified ordering of statements in cross-fade example Changed the order of statements in the sample code to match the order they will be explained in the walk-through in the recipe. doc/cookbook/examples/textures-crossfade.c | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) commit e332236b87871b09922ab3ada1a2a5726d06130a Author: Elliot Smith Date: Mon Aug 16 16:39:13 2010 +0100 cookbook: Added a longer slideshow example Cross-fading between two images is straightforward, but cycling between more than two is more efficient if done by copying COGL textures between the two textures, rather than trying to reposition the textures. The example demonstrates how to reuse a pair of textures to cycle through multiple images. doc/cookbook/examples/Makefile.am | 2 + .../examples/textures-crossfade-slideshow.c | 182 ++++++++++++++++++++ 2 files changed, 184 insertions(+) commit c230fd8dfdb43c98faa3147d2f669e0b5e44702b Author: Elliot Smith Date: Mon Aug 16 16:16:07 2010 +0100 cookbook: Made code examples more consistent Modified the code example for the Clutter API version of the cross-fade to use the same command line as the COGL version. This also simplifies the explanation in the recipe. Also made the COGL code sample more consistent with the Clutter API code sample. doc/cookbook/examples/textures-crossfade-cogl.c | 17 +-- doc/cookbook/examples/textures-crossfade.c | 184 +++++++++-------------- 2 files changed, 75 insertions(+), 126 deletions(-) commit 83a8d0b3bb2ad47db6afd32bd2aa503814486e07 Author: Elliot Smith Date: Thu Aug 12 17:39:59 2010 +0100 cookbook: Added example code for texture cross-fading Added simple image viewer which loads image file names from a directory, displays the first one, then displays the next in the list with each key press. Uses the primitive fade front in/fade back out approach. Also adapted Emmanuele's example code which uses Cogl to produce a similar effect, but within a single texture. This code loads two images specified on the command line and cross-fades between them. doc/cookbook/examples/Makefile.am | 4 + doc/cookbook/examples/textures-crossfade-cogl.c | 174 +++++++++++++++++++++++ doc/cookbook/examples/textures-crossfade.c | 174 +++++++++++++++++++++++ 3 files changed, 352 insertions(+) commit dc7d62a42a9b111d03626a8bc72c956869f4b7b8 Author: Emmanuele Bassi Date: Mon Aug 16 13:37:57 2010 +0100 Post-release version bump to 1.3.13 configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 6d751bf9514683a893668bc3b3822e433277a377 Author: Emmanuele Bassi Date: Mon Aug 16 13:23:43 2010 +0100 Release Clutter 1.3.12 (developers snapshot) configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit ad0c36e1a1a0df5c0ff1f4449c54918e775e965d Author: Emmanuele Bassi Date: Tue Aug 17 14:54:20 2010 +0100 docs: Fixes to avoid gtk-doc warnings clutter/clutter-actor.c | 57 +++++++++------------------- clutter/clutter-actor.h | 4 +- clutter/clutter-behaviour-path.c | 6 +-- clutter/clutter-colorize-effect.c | 2 +- clutter/clutter-drag-action.c | 2 +- clutter/clutter-script.c | 2 +- doc/reference/clutter/clutter-docs.xml.in | 7 +++- doc/reference/clutter/clutter-overview.xml | 23 +++++++---- 8 files changed, 48 insertions(+), 55 deletions(-) commit 50f4bfd7f72eb10f05506b9932785b5cded42aa7 Author: Emmanuele Bassi Date: Tue Aug 17 11:34:35 2010 +0100 build: Remove dolt remnants We don't use Dolt any more, since we depend on libtool 2.2. .gitignore | 2 - Makefile.am | 2 +- build/autotools/Makefile.am | 1 - build/autotools/dolt.m4 | 178 ------------------------------------------- 4 files changed, 1 insertion(+), 182 deletions(-) commit 06ecaa98f1f993239eebb7b74b3fa2ab5929a622 Author: Emmanuele Bassi Date: Mon Aug 16 16:33:32 2010 +0100 docs: Add :keep-aspect-ratio behaviour to the notes README | 8 ++++++++ 1 file changed, 8 insertions(+) commit 92b1a33eb313abdb9d84f6731deb84a12d61d5d0 Author: Emmanuele Bassi Date: Mon Aug 16 15:56:49 2010 +0100 texture: Default square textures to height-for-width Square textures should have a preferred geometry request set to height-for-width, as it is the default for Clutter itself. clutter/clutter-texture.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit dc2aee43007bc4b154b5d819404071a35862c500 Author: Emmanuele Bassi Date: Mon Aug 16 13:37:57 2010 +0100 Post-release version bump to 1.3.13 configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit e75e6e0c97f2f9878dc348775cfe75651872e927 Author: Emmanuele Bassi Date: Mon Aug 16 13:23:43 2010 +0100 Release Clutter 1.3.12 (developers snapshot) NEWS | 40 ++++++++++++++++++++++++++++++++++++++++ configure.ac | 2 +- 2 files changed, 41 insertions(+), 1 deletion(-) commit fd6d6a93f1550f6c423d1dfc2d228ae7b1c87707 Author: Emmanuele Bassi Date: Mon Aug 16 13:23:10 2010 +0100 build: Fix distcheck errors tests/conform/Makefile.am | 4 +--- tests/interactive/Makefile.am | 4 +--- 2 files changed, 2 insertions(+), 6 deletions(-) commit 3142b15a9f4c77b2e3012013f174091b810d13ce Author: Emmanuele Bassi Date: Sun Aug 15 18:42:54 2010 +0100 build: Use maintainer-clean for the ignore files removal Instead of distclean. build/autotools/Makefile.am.gitignore | 11 +++++++---- doc/cookbook/examples/Makefile.am | 2 -- tests/conform/Makefile.am | 2 ++ tests/interactive/Makefile.am | 2 ++ tests/micro-bench/Makefile.am | 2 -- 5 files changed, 11 insertions(+), 8 deletions(-) commit c4913bfce91be011618bca93e2177ebccef1e648 Author: Emmanuele Bassi Date: Sun Aug 15 18:33:10 2010 +0100 Revert "build: Distclean generated ignore files" Git ignore files are not dist'ed, so it's pointless to remove them on distclean. This reverts commit f14587aadc428e5743d2b30e2a9f4bf51f1d1e05. tests/conform/Makefile.am | 2 +- tests/interactive/Makefile.am | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) commit e43215a5c9331517de555e44ba1181ad42ed79bc Author: Emmanuele Bassi Date: Sat Aug 14 08:53:18 2010 +0100 build: Rule for quick publishing of the cookbook Just call `make publish`. doc/cookbook/Makefile.am | 9 +++++++++ 1 file changed, 9 insertions(+) commit 94c8635d0f4584ef81e565e7837bdeb0008e034e Author: Emmanuele Bassi Date: Sat Aug 14 08:43:16 2010 +0100 build: Autogenerate more ignore files The tests/accessibility, tests/micro-bench and the examples directory in the coobook create a lot of non-installed binaries. Since we know who they are, and we ignore them, we can auto-generate the ignore files as well. The rest of Clutter is covered by the main ignore file. build/autotools/Makefile.am | 1 + build/autotools/Makefile.am.gitignore | 21 +++++++++++++++++++++ doc/cookbook/examples/.gitignore | 8 -------- doc/cookbook/examples/Makefile.am | 4 ++++ tests/accessibility/.gitignore | 5 ----- tests/accessibility/Makefile.am | 4 ++++ tests/micro-bench/.gitignore | 5 ----- tests/micro-bench/Makefile.am | 3 +++ 8 files changed, 33 insertions(+), 18 deletions(-) commit f14587aadc428e5743d2b30e2a9f4bf51f1d1e05 Author: Emmanuele Bassi Date: Fri Aug 13 18:35:35 2010 +0100 build: Distclean generated ignore files tests/conform/Makefile.am | 2 +- tests/interactive/Makefile.am | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) commit a3bc2ebfa7cd4d62107ef56078b6973ff844e882 Author: Emmanuele Bassi Date: Fri Aug 13 18:32:10 2010 +0100 build: Make test-conform depend on Makefile changes tests/conform/Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 1e0a83b88139a13a8488bfe7000e0c459ccbad66 Author: Emmanuele Bassi Date: Fri Aug 13 18:31:44 2010 +0100 build: Autogenerate interactive/.gitignore Exactly like we did for conform/.gitignore tests/interactive/.gitignore | 73 ----------------------------------------- tests/interactive/Makefile.am | 8 ++++- 2 files changed, 7 insertions(+), 74 deletions(-) commit 7c412464c27e712654ca7aa9e16ebcdba8bc0e7f Author: Emmanuele Bassi Date: Fri Aug 13 18:22:12 2010 +0100 build: Generate the conformance/.gitignore file Since we are generating a lot of files that we should ignore, we should generate the Git ignore file as well. tests/conform/.gitignore | 123 --------------------------------------------- tests/conform/Makefile.am | 7 +++ 2 files changed, 7 insertions(+), 123 deletions(-) commit e888da21804809f7700b0932d0eb16727cf15d09 Author: Emmanuele Bassi Date: Fri Aug 13 18:15:01 2010 +0100 build: Split up the test-conformance SOURCES Having different sections should make it easier to add new test units to the build. tests/conform/Makefile.am | 115 +++++++++++++++++++++++++++------------------ 1 file changed, 68 insertions(+), 47 deletions(-) commit ff9a5a01b4bef60496cb27e645ac23c790267f98 Author: Emmanuele Bassi Date: Fri Aug 13 18:14:10 2010 +0100 clutter.modules: Remove deps on gir-repository Keep it in the moduleset, but don't let Clutter depend on it. build/clutter.modules | 4 ---- 1 file changed, 4 deletions(-) commit a25cf14e978dd51034baf2d0cd4c1743c93a7774 Author: Emmanuele Bassi Date: Fri Aug 13 18:12:43 2010 +0100 Revert "clutter.modules: Remove deps on gir-repository" This reverts commit 0ce9cf730b2a8c3b3ac4786afee0579a3795fd9e. The commit contained unrelated changes build/clutter.modules | 4 ++ tests/conform/Makefile.am | 115 ++++++++++++++++++--------------------------- 2 files changed, 51 insertions(+), 68 deletions(-) commit 0ce9cf730b2a8c3b3ac4786afee0579a3795fd9e Author: Emmanuele Bassi Date: Fri Aug 13 18:09:28 2010 +0100 clutter.modules: Remove deps on gir-repository Keep it in the moduleset, but don't let Clutter depend on it. build/clutter.modules | 4 -- tests/conform/Makefile.am | 115 +++++++++++++++++++++++++++------------------ 2 files changed, 68 insertions(+), 51 deletions(-) commit 175b16a5c81faf12e204274e87c013e2c65a4030 Author: Emmanuele Bassi Date: Fri Aug 13 18:00:23 2010 +0100 clutter.modules: Add a gtk2 module for gtk+ 2.x Mx (and others) depend on gtk+ 2.x, and not on gtk+ 3.x. build/clutter.modules | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) commit 271e0d960486acea896389b05ba521d569c7c83a Author: Emmanuele Bassi Date: Fri Aug 13 16:32:27 2010 +0100 animator: Plug some leaks clutter/clutter-animator.c | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-) commit 12031ca2c5a52c574ba7c16a86b84e049b0cfb38 Author: Robert Bragg Date: Mon Aug 9 16:01:17 2010 +0100 material: Implements weak materials Weak materials are ones that don't take a reference on their parent and they are associated with a callback that notifies when the material is destroyed, because its parent was freed or modified. More details can be found at: http://wiki.clutter-project.org/wiki/CoglDesign/CoglMaterial For now the concept is internal only but the plan is to make this public at some point once we have tested the design internally. clutter/cogl/cogl/cogl-material-private.h | 142 +++++++++++++++++++++ clutter/cogl/cogl/cogl-material.c | 191 +++++++++++++++++++++++------ 2 files changed, 297 insertions(+), 36 deletions(-) commit 50c5ecfe87b3074d997799eb864fbd9c999cd6c7 Author: Emmanuele Bassi Date: Fri Aug 13 12:12:59 2010 +0100 state: Plug some memory leakage Thanks to Valgrind, test-state-base now reports 0 bytes definitely lost. clutter/clutter-state.c | 26 +++++++++++++++++--------- tests/conform/test-state.c | 3 --- 2 files changed, 17 insertions(+), 12 deletions(-) commit 6c6e93d27a0381ff07ecb9c37f1b0840682f359f Merge: 12f2481 1ed5d5c Author: Emmanuele Bassi Date: Thu Aug 12 18:29:08 2010 +0100 Merge remote branch 'elliot/cookbook-events-mouse-scroll' * elliot/cookbook-events-mouse-scroll: cookbook: Cleaning up grammar and wording in mouse scroll recipe cookbook: Added more explanation about setting y coord on scrollable cookbook: Mentioned the animation in the sample code cookbook: Included video of the scroll example running cookbook: Made stage slightly smaller for scroll event example cookbook: Added video showing scrollable actor cookbook: Added walk through of code example for mouse scroll cookbook: Fixed link to example in mouse scroll recipe cookbook: Simplified full scroll example cookbook: Improved wording and formatting in mouse scroll intro. cookbook: Handle all possible mouse scroll directions cookbook: Build mouse scroll example with cookbook cookbook: Cleaned up redundant comments in code example cookbook: Added xmlns for XInclude to events docbook file cookbook: Added basic mouse scroll recipe commit 12f2481462df9d99114323dcf210a5219648cbee Author: Neil Roberts Date: Thu Aug 12 17:03:16 2010 +0100 docs: Update the build instructions in the reference This removes all references to SDL in the build instructions as the backend is no longer available. The OpenGL version required is only 1.2 not 1.4. The Windows build instructions were out of date and have been replaced with a link to the wiki instead. doc/reference/clutter/building-clutter.xml | 44 +++++++--------------------- 1 file changed, 11 insertions(+), 33 deletions(-) commit daf6e739364282b77a66d7bf8abb4e90ada8c865 Author: Emmanuele Bassi Date: Thu Aug 12 17:06:29 2010 +0100 Remove last uses of cogl_program_uniform* Following the commits: c03544da - clutter-shader: use cogl_program_set_uniform_xyz API a26119b5 - tests: Remove use of cogl_program_use Remove the users of cogl_program_uniform_* and cogl_program_use() in the shader-based effects. clutter/clutter-blur-effect.c | 14 +++++++------- clutter/clutter-colorize-effect.c | 10 ++++------ clutter/clutter-desaturate-effect.c | 10 ++++------ clutter/clutter-shader-effect.c | 31 +++++++++++++++++++------------ 4 files changed, 34 insertions(+), 31 deletions(-) commit e016a62ab03e2d1683cc4d100ac6079fe7863788 Author: Neil Roberts Date: Thu Aug 12 16:56:28 2010 +0100 build/mingw/README: Replace with a link to the wiki The build instructions for MinGW have been moved to the wiki. build/mingw/README | 138 ++-------------------------------------------------- 1 file changed, 3 insertions(+), 135 deletions(-) commit 01a72725997db93cbe0ef6a47c304d456ce96205 Author: Robert Bragg Date: Thu Aug 12 10:43:22 2010 +0100 cogl-shader: get_info_log should always use strdup In the case where there is no error log for arbfp we were returning a "" string literal. The other paths were using g_strdup to return a string that could be freed with g_free. This makes the arbfp path return g_strdup ("") instead. clutter/cogl/cogl/cogl-shader.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) commit b50bdd791986d85a29c40c763b329b1347060769 Author: Robert Bragg Date: Thu Aug 12 10:40:39 2010 +0100 cogl-shader: correctly #ifdef guard an if else block There are quite a few if {} else {} blocks for dealing with arbfp else glsl and the first block is guarded with #ifdef HAVE_COGL_GL. In this case though the #endif was before the else so it wouldn't compile for gles. clutter/cogl/cogl/cogl-shader.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 94692370d2a95b55cccee4c08887e2b4298e418c Author: Robert Bragg Date: Thu Aug 12 10:37:55 2010 +0100 material-glsl: #include "cogl-shader-private.h" We need to include cogl-shader-private.h to have the COGL_SHADER_TYPE_GLSL define. When building for opengl this wasn't noticed probably because some other header indirectly includes this file. It was a problem when building for gles2 though. clutter/cogl/cogl/cogl-material-glsl.c | 1 + 1 file changed, 1 insertion(+) commit a26119b5514655df5accd2f65cb0ee3ed242b4ea Author: Robert Bragg Date: Wed Aug 11 19:39:41 2010 +0100 tests: Remove use of cogl_program_use The removes the use of cogl_program_use which has been deprecated and instead of using the cogl_program_uniform functions we now use the cogl_program_set_uniform methods. tests/interactive/test-cogl-shader-arbfp.c | 5 +---- tests/interactive/test-cogl-shader-glsl.c | 17 ++++++----------- 2 files changed, 7 insertions(+), 15 deletions(-) commit c03544daa6778bb52c292b4333e62084b508f58d Author: Robert Bragg Date: Wed Aug 11 19:32:09 2010 +0100 clutter-shader: use cogl_program_set_uniform_xyz API Instead of using the deprecated cogl_program_uniform_xyz functions we now use the cogl_program_set_uniform methods. It looks like this should also fix a problem with clutter-shader too in that previously we weren't calling cogl_program_use before cogl_program_uniform_xyz so setting uniforms would only work while the shader is enabled. clutter/clutter-shader.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) commit f03037d580e79d491fa965006cc379ad9f5c7ff6 Author: Robert Bragg Date: Wed Aug 11 19:18:14 2010 +0100 cogl-program: Adds use_uniform_xyz methods Instead of exposing an API that provides an OpenGL state machine style where you first have to bind the program to the context using cogl_program_use() followed by updating uniforms using cogl_program_uniform_xyz we now have uniform setter methods that take an explicit CoglHandle for the program. This deprecates cogl_program_use and all the cogl_program_uniform variants and provides the following replacements: cogl_program_set_uniform_1i cogl_program_set_uniform_1f cogl_program_set_uniform_int cogl_program_set_uniform_float cogl_program_set_uniform_matrix clutter/cogl/cogl/cogl-shader.h | 119 ++++++++++++++++++- clutter/cogl/cogl/driver/gl/cogl-program.c | 157 +++++++++++++++++--------- clutter/cogl/cogl/driver/gles/cogl-program.c | 127 +++++++++++++++------ doc/reference/cogl/cogl-sections.txt | 5 + 4 files changed, 316 insertions(+), 92 deletions(-) commit 2f54f8f0ea5dd53dca495d44468beb3660e335b2 Author: Damien Lespiau Date: Thu Aug 12 10:36:04 2010 -0400 introspection: Use the --quiet flag conditionally --quiet has been added to g-ir-scanner in the 0.9.1 cycle. We really want to be able to compile clutter with 0.6.14 to be able to reuse gir files that are distributed in current distributions. Use the INTROSPECTION_SCANNER_ARGS (previously unused) variable to convey --quiet when necessary. Fixes: http://bugzilla.clutter-project.org/show_bug.cgi?id=2265 clutter/Makefile.am | 2 -- clutter/cogl/cogl/Makefile.am | 1 - clutter/json/Makefile.am | 1 - configure.ac | 7 +++++++ 4 files changed, 7 insertions(+), 4 deletions(-) commit 1f01fd0a4c1937dfc6371f9f8de2b07d0e9b4bd2 Author: Neil Roberts Date: Thu Aug 12 14:59:03 2010 +0100 clutter.modules: cluttersmith depends on gjs and clutter-gtk This adds dependencies on gjs and clutter-gtk to cluttersmith. There was no module listed for gjs so this is added from the jhbuild gnome module list. build/clutter.modules | 14 ++++++++++++++ 1 file changed, 14 insertions(+) commit c129c563f52a271e2ade2b2f7cd2424f9011164a Author: Neil Roberts Date: Thu Aug 12 14:37:27 2010 +0100 Remove test-random-text from the interactive .gitignore tests/interactive/.gitignore | 1 - 1 file changed, 1 deletion(-) commit 1a8df6788b6f23d75a99d4d9695e1983cd0910db Author: Emmanuele Bassi Date: Thu Aug 12 13:48:35 2010 +0100 Update the micro-bench Git ignore file tests/micro-bench/.gitignore | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit 053a1a9c512d00ccdbf3f81e5869b4fccbc8ff2b Author: Emmanuele Bassi Date: Thu Aug 12 13:46:58 2010 +0100 build: Add simple scripts for setting up jhbuild Use the same script also used by gnome-shell to set up the system dependencies for building Clutter (and its dependencies) using jhbuild. build/clutter-build-setup.sh | 174 ++++++++++++++++++++++++++++++++++++++++ build/jhbuildrc-clutter | 73 +++++++++++++++++ build/jhbuildrc-custom-example | 19 +++++ 3 files changed, 266 insertions(+) commit 1ed5d5cab0af5617b566465b943615d3c7f1058c Author: Elliot Smith Date: Thu Aug 12 10:16:56 2010 +0100 cookbook: Cleaning up grammar and wording in mouse scroll recipe doc/cookbook/events.xml | 86 +++++++++++++++++++++++++---------------------- 1 file changed, 45 insertions(+), 41 deletions(-) commit db0c15aee8466b675af8b388d21a40bb3371db77 Author: Neil Roberts Date: Thu Aug 12 09:59:58 2010 +0100 cogl-atlas: Verify that the chosen initial size is supported CoglAtlas chooses a fairly large default initial size of either 512x512 or 1024x1024 depending on the texture format. There is a chance that this size will not be supported on some platforms which would be catastrophic for the glyph cache because it would mean that it would always fail to put any glyphs in the cache so text wouldn't work. To fix this the atlas code now checks whether the chosen initial size is supported by the texture driver and if not it will get halved until it is supported. clutter/cogl/cogl/cogl-atlas.c | 56 ++++++++++++++++++++++++++++------------ 1 file changed, 39 insertions(+), 17 deletions(-) commit b9f9ea3a9c59a7d4282ecf7e0b1ae7e300ec6232 Author: Neil Roberts Date: Thu Aug 12 09:08:30 2010 +0100 cogl-atlas: Use _cogl_texture_driver_size_supported Previously when creating a new rectangle map it would try increasingly larger texture sizes until GL_MAX_TEXTURE_SIZE is reached. This is bad because it queries state which should really be owned by the texture driver. Also GL_MAX_TEXTURE_SIZE is often a conservative estimate so larger texture sizes can be used if the proxy texture is queried instead. clutter/cogl/cogl/cogl-atlas.c | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) commit 72029e14db0c0b0f82c20cf6760ab96a81c76e46 Author: Neil Roberts Date: Wed Aug 11 15:08:00 2010 +0100 cogl-rectangle-map: Record largest gap rather than the remaining space Previously each node in the rectangle map tree would store the total remaining space in all of its children to use as an optimization when adding nodes. With this it could skip an entire branch of the tree if it knew there could never be enough space for the new node in the branch. This modifies that slightly to instead store the largest single gap. This allows it to skip a branch earlier because often there would be a lot of small gaps which would add up to enough a space for the new rectangle, but the space can't be used unless it is in a single node. The rectangle map still needs to keep track of the total remaining space for the whole map for the debugging output so this has been added back in to the CoglRectangleMap struct. There is a separate debugging function to verify this value. clutter/cogl/cogl/cogl-rectangle-map.c | 94 +++++++++++++++++++++++--------- 1 file changed, 68 insertions(+), 26 deletions(-) commit 2b5bb06bed2b272ba408d53a471f78c705bf0467 Author: Neil Roberts Date: Fri Aug 6 18:42:43 2010 +0100 cogl-atlas: Try the next size when there would be less than 6% waste Previously when the atlas needs to be migrated it would start by trying with the same size as the existing atlas if there is enough space for the new texture. However even if the atlas is completely sorted there will always be some amount of waste so when the atlas needs to grow it would usually end up redundantly trying the same size when it is very unlikely to fit. This patch changes it so that there must be at least 6% waste available after the new texture is added otherwise it will start with the next atlas size. clutter/cogl/cogl/cogl-atlas.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) commit f98be241a89cf4a9f23555631f2a7f722745f39b Author: Neil Roberts Date: Fri Aug 6 18:42:01 2010 +0100 cogl-atlas: Add some more debugging notes This adds some debugging notes which report when the atlas is trying various sizes. clutter/cogl/cogl/cogl-atlas.c | 7 +++++++ 1 file changed, 7 insertions(+) commit e080e824eedecf70d48e3ffc0b65b6a3dd3765c7 Author: Neil Roberts Date: Fri Aug 6 17:40:52 2010 +0100 cogl-rectangle-map: Use a GArray for the stack When iterating over the rectangle map a stack is used to implement a recursive algorithm. Previously this was slice allocating a linked list. Now it uses a GArray which is retained with the rectangle map to avoid frequent allocations which is a little bit faster. clutter/cogl/cogl/cogl-rectangle-map.c | 120 ++++++++++++++++++-------------- 1 file changed, 67 insertions(+), 53 deletions(-) commit 0e2d18d70075621c7ea8f7b721c6b0cbd013af1e Author: Neil Roberts Date: Fri Aug 6 16:13:20 2010 +0100 cogl-rectangle-map: Store the remaining space per node Previously the remaining space was managed as part of the CoglRectangleMap struct. Now it is stored per node so that at any point in the hierarchy we can quickly determine how much space is remaining in all of the node's children. That way when adding a rectangle we can miss out entire branches more quickly if we know that there is no way the new rectangle would fit in that branch. This also adds a function to recursively verify the cached state in the nodes such as the remaining space and the number of rectangles. This function is only called when the dump-atlas-image debug flag is set because it is potentially quite slow. clutter/cogl/cogl/cogl-rectangle-map.c | 108 ++++++++++++++++++++++++++++---- 1 file changed, 96 insertions(+), 12 deletions(-) commit e609a658a4355c479ec75748e72844f55c1047aa Author: Neil Roberts Date: Fri Aug 6 11:44:39 2010 +0100 cogl-atlas: Increase the default minimum texture size When initially creating a texture it would start with a minimum size of 256x256. This increases the size so that it would try to match 1MB of memory. clutter/cogl/cogl/cogl-atlas.c | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) commit d03fbf9f64da5448c6ab625049489474d0b78c71 Author: Neil Roberts Date: Wed Aug 4 18:05:21 2010 +0100 cogl-pango: Use a CoglAtlas to maintain the glyph cache The glyph cache is now stored in a CoglAtlas structure instead of the custom atlasing code. This has the advantage that it can share code with the main texture atlas and that it supports reorganizing the atlas when it becomes full. Unlike the texture atlas, the glyph cache can use multiple atlases which would be neccessary if the maximum texture size is reached and we need to create a second texture. Whenever a display list is created it now has to register a callback with the glyph cache so that the display list can be recreated whenever any of the atlases are reorganized. This is needed because the display list directly stores texture coordinates within the atlas texture and they would become invalid when the texture is moved. The ensure_glyphs_for_layout now works in two steps. First it reserves space in the atlas for all of the glyphs. The atlas is created with the DISABLE_MIGRATION flag so that it won't actually copy any textures if any rearranging is needed. Whenever the position is updated for a glyph then it is marked as dirty. After space for all of the glyphs has been reserved it will iterate over all dirty glyphs and redraw them using Cairo. The rendered glyph is then stored in the texture with a sub texture update. The glyphs need to all be set at the right location before starting to create the display list because the display list stores the texture coordinates of the glyph. If any of the glyphs were moved around then the parts of the display list that was created already would become invalid. To make this work, ensure_glyphs_for_layout is now always called before rendering a layout or a layout line. clutter/cogl/pango/cogl-pango-glyph-cache.c | 371 ++++++++++++--------------- clutter/cogl/pango/cogl-pango-glyph-cache.h | 46 ++-- clutter/cogl/pango/cogl-pango-render.c | 226 ++++++++++------ 3 files changed, 343 insertions(+), 300 deletions(-) commit 047227fbd7a6a6c7de3f2c523fda75f0c3a36373 Author: Neil Roberts Date: Thu Aug 5 13:24:02 2010 +0100 cogl-atlas: Support multiple formats and clearing the texture _cogl_atlas_new now has two extra parameters to specify the format of the textures it creates as well as a set of flags to modify the behavious of the atlas. One of the flags causes the new textures to be cleared and the other causes migration to avoid actually copying the textures. This is needed to use CoglAtlas from the pango glyph cache because it needs to use COGL_PIXEL_A_8 and to clear the textures as it does not fill in the gaps between glyphs. It needs to avoid copying the textures so that it can work on GL implementations without FBO support. clutter/cogl/cogl/cogl-atlas-texture.c | 4 +- clutter/cogl/cogl/cogl-atlas.c | 96 ++++++++++++++++++++++++-------- clutter/cogl/cogl/cogl-atlas.h | 12 +++- 3 files changed, 86 insertions(+), 26 deletions(-) commit 9b2f8179f00708f26400648e21d6ee77cc13aa35 Author: Neil Roberts Date: Mon Aug 2 16:29:10 2010 +0100 cogl-atlas-texture: Split out the atlas data structure Instead of storing a pointer to the CoglRectangleMap and a handle to the atlas texture in the context, there is a now a separate data structure called a CoglAtlas to manage these two. The context just contains a pointer to this. The code to reorganise the atlas has been moved from cogl-atlas-texture.c to cogl-atlas.c clutter/cogl/cogl/Makefile.am | 2 + clutter/cogl/cogl/cogl-atlas-texture-private.h | 4 + clutter/cogl/cogl/cogl-atlas-texture.c | 585 ++++------------------- clutter/cogl/cogl/cogl-atlas.c | 596 ++++++++++++++++++++++++ clutter/cogl/cogl/cogl-atlas.h | 86 ++++ clutter/cogl/cogl/cogl-context.c | 10 +- clutter/cogl/cogl/cogl-context.h | 5 +- 7 files changed, 774 insertions(+), 514 deletions(-) commit 0c8582aad838bf0110cceeb2bedad4ae09645ce6 Author: Neil Roberts Date: Wed Aug 4 17:59:06 2010 +0100 cogl: Add an internal utility to maintain a list of callback functions This adds an internal CoglCallbackList type which is just a GSList of of function pointers along with a data pointer to form a closure. There are functions to add and remove items and to invoke the list of functions. This could be used in a number of places in Cogl. clutter/cogl/cogl/Makefile.am | 2 + clutter/cogl/cogl/cogl-callback-list.c | 107 ++++++++++++++++++++++++++++++++ clutter/cogl/cogl/cogl-callback-list.h | 58 +++++++++++++++++ 3 files changed, 167 insertions(+) commit 4989000f55f1f5a88d397c29a7973ebecf6e4b3e Author: Neil Roberts Date: Mon Aug 2 15:24:03 2010 +0100 cogl-atlas: Rename to CoglRectangleMap This simply renames CoglAtlas to CoglRectangleMap without making any functional changes. The old 'CoglAtlas' is just a data structure for managing unused areas of a rectangle and it doesn't neccessarily have to be used for an atlas so it wasn't a very good name. clutter/cogl/cogl/Makefile.am | 4 +- clutter/cogl/cogl/cogl-atlas-texture-private.h | 12 +- clutter/cogl/cogl/cogl-atlas-texture.c | 169 +++---- clutter/cogl/cogl/cogl-atlas.c | 598 ----------------------- clutter/cogl/cogl/cogl-atlas.h | 78 --- clutter/cogl/cogl/cogl-context.c | 7 +- clutter/cogl/cogl/cogl-context.h | 4 +- clutter/cogl/cogl/cogl-rectangle-map.c | 612 ++++++++++++++++++++++++ clutter/cogl/cogl/cogl-rectangle-map.h | 78 +++ 9 files changed, 792 insertions(+), 770 deletions(-) commit 1e45428483f82b240bc45f20556cf767c49da902 Author: Neil Roberts Date: Thu Aug 5 17:54:18 2010 +0100 test-random-text: Convert to a micro-benchmark test-random-text is moved to the micro-bench directory. It now prints out the time taken to draw every 10 frames. tests/interactive/Makefile.am | 1 - tests/interactive/test-random-text.c | 86 ----------------------------- tests/micro-bench/Makefile.am | 4 +- tests/micro-bench/test-random-text.c | 101 ++++++++++++++++++++++++++++++++++ 4 files changed, 104 insertions(+), 88 deletions(-) commit 65f449bdb0625c866781c56f025d20d20772dc8d Author: Neil Roberts Date: Thu Aug 5 17:27:23 2010 +0100 test-text-perf: Add a wider range of characters Instead of just using the latin alphabet, this adds digits and some other alphabets to increase the range of glyphs used. tests/micro-bench/test-text-perf.c | 36 +++++++++++++++++++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) commit c26d2c5ef90c49e3854d6630c2ade6d7069865d8 Author: Neil Roberts Date: Thu Aug 5 17:06:45 2010 +0100 test-text-perf: Scale the text if the settings will not fit If the font size or the number of characters causes the label not to fit on the stage, instead of aborting it will now scale the labels so that it fits within one of the dimensions. This makes it easier to test with large glyph sizes. tests/micro-bench/test-text-perf.c | 37 +++++++++++++++++++++++++++++------- 1 file changed, 30 insertions(+), 7 deletions(-) commit 89c535f50d4affe761c7ea0ca2cb90066a2c1639 Author: Neil Roberts Date: Thu Aug 12 09:11:28 2010 +0100 cogl-material: Compare whether textures are equal by their GL handle Textures within a layer were compared for equality by comparing their texture handle. However this means that sub textures and atlas textures which may be internally using the same GL handle would not be batched together. Instead it now tries to determine the underlying GL handle using either the slice override or _cogl_texture_get_gl_texture and then compares those. clutter/cogl/cogl/cogl-material.c | 35 ++++++++++++++++++++++++++--------- 1 file changed, 26 insertions(+), 9 deletions(-) commit 8db96675d4332bc81edb1f5f4dfe237ab81a4d9e Author: Elliot Smith Date: Thu Aug 12 10:05:27 2010 +0100 cookbook: Added more explanation about setting y coord on scrollable Added some extra explanation, referencing the sample code, to try to make the scrollable actor example easier to follow. Basically demonstrates the principles described in the paragraph about setting the y coordinate for the scrollable actor, but using actual numbers. doc/cookbook/events.xml | 11 +++++++++++ 1 file changed, 11 insertions(+) commit 8538bdbdeae74433ed5f50b1e6ee0db3d9a81a3e Author: Neil Roberts Date: Wed May 5 16:45:21 2010 +0100 cogl-atlas-texture: Accept formats with different component orders When filtering on allowed formats for atlas textures, it now masks out the BGR and AFIRST bits in addition to the premult bit. That way it will accept RGB and RGBA formats in any component order. In theory it could also accept luminance and alpha-only textures but I haven't added this because presumably if the application has requested these formats then it has some reason not to use a full RGB or RGBA texture and we should respect that. clutter/cogl/cogl/cogl-atlas-texture.c | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) commit 2bf01dd9592854073b241ae562867732c7b45b2a Author: Emmanuele Bassi Date: Thu Aug 12 09:03:58 2010 +0100 build: Make the introspection generation quiet (again) build/autotools/Makefile.am.silent | 20 ++++++++++++++------ clutter/Makefile.am | 12 ++++++++---- clutter/cogl/cogl/Makefile.am | 4 +++- clutter/json/Makefile.am | 4 +++- 4 files changed, 28 insertions(+), 12 deletions(-) commit 9b736cfeba8f4f3b57c8657b4d41aa554d03fec0 Author: Emmanuele Bassi Date: Thu Aug 12 08:53:06 2010 +0100 drag-action: Capture ENTER when dragging This completes commit 9ab83cebf. clutter/clutter-drag-action.c | 1 + 1 file changed, 1 insertion(+) commit a74d585fc522d010d4c8cbcffc566afc9ce495ca Author: Elliot Smith Date: Wed Aug 11 17:14:09 2010 +0100 cookbook: Mentioned the animation in the sample code Put in comments to make it clear where the animation for the mouse scroll is coming from in the sample code. doc/cookbook/events.xml | 1 + doc/cookbook/examples/events-mouse-scroll.c | 1 + 2 files changed, 2 insertions(+) commit a421f0ae429bcf666dbfa1d44b15bfdbb06f898f Author: Elliot Smith Date: Wed Aug 11 17:12:42 2010 +0100 cookbook: Included video of the scroll example running Inlined the video of the mouse scroll example code running to the docbook file for events. doc/cookbook/events.xml | 11 +++++++++++ 1 file changed, 11 insertions(+) commit 1cfa87853a3fe1edf569a91c60528ee2d85679f7 Author: Elliot Smith Date: Wed Aug 11 17:11:29 2010 +0100 cookbook: Made stage slightly smaller for scroll event example Reduced the size of the stage to make for a smaller video. doc/cookbook/examples/events-mouse-scroll.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit f5db4943de58cf3ac9eb4aecf2278e298deaa052 Author: Elliot Smith Date: Wed Aug 11 17:10:45 2010 +0100 cookbook: Added video showing scrollable actor doc/cookbook/Makefile.am | 1 + doc/cookbook/videos/events-mouse-scroll.ogv | Bin 0 -> 49532 bytes 2 files changed, 1 insertion(+) commit f568a68ee16ce7f59596bd1336f37eee1667b7a1 Author: Elliot Smith Date: Wed Aug 11 16:54:28 2010 +0100 cookbook: Added walk through of code example for mouse scroll Modified the mouse scroll example to fit better with the tutorial walkthrough. Added a stepped walkthrough of the scrollable actor code example. doc/cookbook/events.xml | 224 ++++++++++++++++++++++++++- doc/cookbook/examples/events-mouse-scroll.c | 33 +++- 2 files changed, 243 insertions(+), 14 deletions(-) commit 57ba89c8de1e85d52f3e6d73dade472c0da7f22e Author: Elliot Smith Date: Wed Aug 11 14:41:42 2010 +0100 cookbook: Fixed link to example in mouse scroll recipe doc/cookbook/events.xml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) commit 5e0bc919c305e1825bba75277df883c231f65837 Author: Elliot Smith Date: Wed Aug 11 14:39:22 2010 +0100 cookbook: Simplified full scroll example Removed the layout and box to simplify the scrollable actor example. doc/cookbook/examples/events-mouse-scroll.c | 69 ++++++++++++++------------- 1 file changed, 35 insertions(+), 34 deletions(-) commit e216771a86d985631c2ee1182f1ae7c240e5c28d Author: Elliot Smith Date: Wed Aug 11 11:14:54 2010 +0100 cookbook: Improved wording and formatting in mouse scroll intro. doc/cookbook/events.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 0f919fcbe3b8c5afed58e082c2dd7e14756b207c Author: Elliot Smith Date: Wed Aug 11 11:10:53 2010 +0100 cookbook: Handle all possible mouse scroll directions Added empty cases for MOUSE_SCROLL_LEFT and MOUSE_SCROLL_RIGHT to the scroll-event signal handler in the example code. doc/cookbook/examples/events-mouse-scroll.c | 3 +++ 1 file changed, 3 insertions(+) commit f1312e118d21c293625754248c07fa1168a1732c Author: Elliot Smith Date: Wed Aug 11 11:09:04 2010 +0100 cookbook: Build mouse scroll example with cookbook doc/cookbook/examples/.gitignore | 1 + doc/cookbook/examples/Makefile.am | 2 ++ 2 files changed, 3 insertions(+) commit 241ceab73cbc1fa0a1f7c19ad95fdd54b1c26864 Author: Elliot Smith Date: Wed Aug 11 11:03:37 2010 +0100 cookbook: Cleaned up redundant comments in code example Removed comments which are only relevant in my local build environment. doc/cookbook/examples/events-mouse-scroll.c | 6 ------ 1 file changed, 6 deletions(-) commit 5e268e0bbb0e2dcbf6edfbf3e1725a3e61e8dbd0 Author: Elliot Smith Date: Wed Aug 11 11:03:02 2010 +0100 cookbook: Added xmlns for XInclude to events docbook file doc/cookbook/events.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit ec7186627726885acc4487f5f44177281c0f3fc6 Author: Elliot Smith Date: Wed Aug 11 10:34:49 2010 +0100 cookbook: Added basic mouse scroll recipe Added a recipe explaining the basics of mouse scroll events. doc/cookbook/events.xml | 115 +++++++++++++++++++++++++++ doc/cookbook/examples/events-mouse-scroll.c | 108 +++++++++++++++++++++++++ 2 files changed, 223 insertions(+) commit ed39948ccf776b50fba9c3c7934ddb727091db11 Author: Emmanuele Bassi Date: Wed Aug 11 17:43:15 2010 +0100 colorize-effect: Do not inherit from ShaderEffect See commits: 7daeb217 blur-effect: Do not inherit from ShaderEffect 1ec57743 desaturate-effect: Do not inherit from ShaderEffect We might avoid using shaders at all in the future for simple effects. clutter/clutter-colorize-effect.c | 156 ++++++++++++++++++++++++++++++------- 1 file changed, 126 insertions(+), 30 deletions(-) commit d10ebe9fcaf28b85d707ea41f5856632f9c8a934 Author: Emmanuele Bassi Date: Wed Aug 11 17:25:17 2010 +0100 effects: Check before using the cogl_shader_* API Since BlurEffect and DesaturateEffect are using the shader API implicitly and not using ClutterShaderEffect, we need to check if the underlying GL implementation supports the GLSL shading language and warn if not. clutter/clutter-blur-effect.c | 12 ++++++++++++ clutter/clutter-desaturate-effect.c | 12 ++++++++++++ 2 files changed, 24 insertions(+) commit 9ab83cebfdd4808db7ebe09193b218f62f157049 Author: Emmanuele Bassi Date: Wed Aug 11 14:42:56 2010 +0100 drag-action: Capture stage leave If we are dragging, we don't want the drag handle to emit a ::leave-event even if the pointer left the stage. clutter/clutter-drag-action.c | 5 +++++ 1 file changed, 5 insertions(+) commit 1ec577438e2f710970276dc3872bf4c8bb360ddf Author: Emmanuele Bassi Date: Wed Aug 11 14:19:48 2010 +0100 desaturate-effect: Do not inherit from ShaderEffect Hide the fact that we're using a fragment shader, in case we're able in the future to use a material layer combine function when painting the offscreen target texture. clutter/clutter-desaturate-effect.c | 128 ++++++++++++++++++++++++++++------- 1 file changed, 104 insertions(+), 24 deletions(-) commit 7daeb217bd9f1e0e38ac6201f722bdc7fd2c45b6 Author: Emmanuele Bassi Date: Wed Aug 11 13:05:42 2010 +0100 blur-effect: Do not inherit from ShaderEffect We might want to switch the BlurEffect from a box-blur to a super-sampling of the texture target, in order to make it cheap(er). If we inherit from ShaderEffect, though, we're setting in stone the fact that we are going to use a fragment shader for blurring. Since there is not parametrization of the blur, the code necessary to implement effect is pretty small, and we can use the Cogl API directly. clutter/clutter-blur-effect.c | 157 +++++++++++++++++++++++++++-------------- 1 file changed, 103 insertions(+), 54 deletions(-) commit eb4dee46b70a73d0926e8e36bb75abc52604256e Author: Emmanuele Bassi Date: Wed Aug 11 13:58:29 2010 +0100 shader-effect: Attach the program to the target material Instead of calling cogl_program_use() around the paint_target() chain-up, we can use the newly added API in CoglMaterial to attach user-defined shaders to the offscreen target material. clutter/clutter-shader-effect.c | 39 ++++++++++++++++++++++++--------------- 1 file changed, 24 insertions(+), 15 deletions(-) commit 304e7dd077f1e7f9e7eab8b3b15bf6f22bf354f0 Author: Emmanuele Bassi Date: Wed Aug 11 13:53:02 2010 +0100 test-drag: Fix the page curl angle tests/interactive/test-drag.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit c87bfef1eb7f59975513bed9da70a45ce50f7dd3 Author: Emmanuele Bassi Date: Wed Aug 11 12:40:22 2010 +0100 stage: Fix the user-resizable property enumeration id clutter/clutter-stage.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) commit 59a9786942c7cfae9b6ba138cf76ba658709fedb Author: Emmanuele Bassi Date: Wed Aug 11 11:39:24 2010 +0100 actor: Use box origin instead of direct access clutter/clutter-actor.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 5e1d40c07b66bcb4c2c0a4fd203bfdfeeaf3f17e Merge: 8d51617 d14e294 Author: Emmanuele Bassi Date: Wed Aug 11 11:32:44 2010 +0100 Merge branch 'wip/table-layout' * wip/table-layout: Add ClutterTableLayout, a layout showing children in rows and columns box-layout: Use allocate_align_fill() bin-layout: Migrate to allocate_align_fill() actor: Add allocate_align_fill() test-flow-layout: Use BindConstraints commit d14e294d86d35e9128d04ebf9a43367b5babac40 Author: José Dapena Paz Date: Thu Mar 18 17:02:31 2010 +0100 Add ClutterTableLayout, a layout showing children in rows and columns A TableLayout is a layout manager that allocates its children in rows and columns. Each child is assigned to a cell (or more if a cell span is set). The supported child properties are: • x-expand and y-expand: if this cell with try to allocate the available extra space for the table. • x-fill and y-fill: if the child will get all the space available in the cell. • x-align and y-align: if the child does not fill the cell, then where the child will be aligned inside the cell. • row-span and col-span: number of cells the child will allocate for itself. Also, the TableLayout has row-spacing and col-spacing for specifying the space in pixels between rows and between columns. We also include a simple test of the layout manager, and the documentation updates. The TableLayout was implemented starting from MxTable and ClutterBoxLayout. http://bugzilla.clutter-project.org/show_bug.cgi?id=2038 Signed-off-by: Emmanuele Bassi clutter/Makefile.am | 2 + clutter/clutter-table-layout.c | 2642 ++++++++++++++++++++++++++++ clutter/clutter-table-layout.h | 163 ++ clutter/clutter.h | 1 + doc/reference/clutter/clutter-docs.xml.in | 1 + doc/reference/clutter/clutter-sections.txt | 47 + doc/reference/clutter/clutter.types | 1 + tests/interactive/.gitignore | 1 + tests/interactive/Makefile.am | 3 +- tests/interactive/test-table-layout.c | 275 +++ 10 files changed, 3135 insertions(+), 1 deletion(-) commit 1043e77a00b1f5965b9a5ff52db6d0f0bd93e88c Author: Emmanuele Bassi Date: Tue Aug 10 22:20:38 2010 +0100 box-layout: Use allocate_align_fill() Remove duplicated code, and use the newly added actor method to compute the child allocation based on alignment and fill. clutter/clutter-box-layout.c | 116 ++++++++---------------------------------- 1 file changed, 21 insertions(+), 95 deletions(-) commit 6ad4126e1783d1e9a04eaf88accce6d0950064d6 Author: Emmanuele Bassi Date: Tue Aug 10 17:43:26 2010 +0100 bin-layout: Migrate to allocate_align_fill() Now that we have the code in ClutterActor itself. clutter/clutter-bin-layout.c | 100 +++++++----------------------------------- 1 file changed, 17 insertions(+), 83 deletions(-) commit 07b01888baed28e5fb3f0831a2441218b469f846 Author: Emmanuele Bassi Date: Tue Aug 10 17:40:01 2010 +0100 actor: Add allocate_align_fill() Layout managers are using the same code to allocate a child while taking into consideration: • horizontal and vertical alignment • horizontal and vertical fill • the preferred minimum and natural size, depending on the :request-mode property • the text direction for the horizontal alignment • an offset given by the fixed position properties Given the amount of code involved, and the amount of details that can go horribly wrong while copy and pasting such code in various classes - let alone various projects - Clutter should provide an allocate() variant that does the right thing in the right way. This way, we have a single point of failure. clutter/clutter-actor.c | 139 ++++++++++++++++++++++++++++ clutter/clutter-actor.h | 7 ++ doc/reference/clutter/clutter-sections.txt | 1 + 3 files changed, 147 insertions(+) commit 02b7bf3635ce9a3a67016847e99128bd0a9f67d9 Author: Emmanuele Bassi Date: Tue Aug 10 17:43:56 2010 +0100 test-flow-layout: Use BindConstraints If we want to fit the FlowLayout to the Stage size we should use the BindConstraint API instead of a watcher on ::allocation-changed. tests/interactive/test-flow-layout.c | 28 +++++++--------------------- 1 file changed, 7 insertions(+), 21 deletions(-) commit 8d5161797974f8f9eb25da844f64fc27bceb28f4 Author: Neil Roberts Date: Mon Jun 21 10:20:32 2010 +0100 Conditionally use g_object_notify_by_pspec This adds a wrapper macro to clutter-private that will use g_object_notify_by_pspec if it's compiled against a version of GLib that is sufficiently new. Otherwise it will notify by the property name as before by extracting the name from the pspec. The objects can then store a static array of GParamSpecs and notify using those as suggested in the documentation for g_object_notify_by_pspec. Note that the name of the variable used for storing the array of GParamSpecs is obj_props instead of properties as used in the documentation because some places in Clutter uses 'properties' as the name of a local variable. Mose of the classes in Clutter have been converted using the script in the bug report. Some classes have not been modified even though the script picked them up as described here: json-generator: We probably don't want to modify the internal copy of JSON behaviour-depth: rectangle: score: stage-manager: These aren't using the separate GParamSpec* variable style. blur-effect: win32/device-manager: Don't actually define any properties even though it has the enum. box-layout: flow-layout: Have some per-child properties that don't work automatically with the script. clutter-model: The script gets confused with ClutterModelIter stage: Script gets confused because PROP_USER_RESIZE doesn't match "user-resizable" test-layout: Don't really want to modify the tests http://bugzilla.clutter-project.org/show_bug.cgi?id=2150 clutter/clutter-actor-meta.c | 13 +- clutter/clutter-actor.c | 208 +++++++++++++++++++----------- clutter/clutter-align-constraint.c | 15 ++- clutter/clutter-alpha.c | 19 ++- clutter/clutter-animation.c | 40 +++--- clutter/clutter-animator.c | 8 +- clutter/clutter-behaviour-ellipse.c | 37 ++++-- clutter/clutter-behaviour-opacity.c | 12 +- clutter/clutter-behaviour-path.c | 9 +- clutter/clutter-behaviour-rotate.c | 27 ++-- clutter/clutter-behaviour-scale.c | 16 ++- clutter/clutter-behaviour.c | 9 +- clutter/clutter-bin-layout.c | 18 ++- clutter/clutter-bind-constraint.c | 15 ++- clutter/clutter-binding-pool.c | 7 +- clutter/clutter-box.c | 15 ++- clutter/clutter-cairo-texture.c | 12 +- clutter/clutter-child-meta.c | 8 +- clutter/clutter-click-action.c | 10 +- clutter/clutter-clone.c | 9 +- clutter/clutter-colorize-effect.c | 9 +- clutter/clutter-deform-effect.c | 13 +- clutter/clutter-desaturate-effect.c | 9 +- clutter/clutter-device-manager.c | 7 +- clutter/clutter-drag-action.c | 15 ++- clutter/clutter-input-device.c | 9 +- clutter/clutter-interval.c | 7 +- clutter/clutter-layout-meta.c | 7 +- clutter/clutter-page-turn-effect.c | 15 ++- clutter/clutter-path.c | 8 +- clutter/clutter-private.h | 12 ++ clutter/clutter-script.c | 8 +- clutter/clutter-settings.c | 15 ++- clutter/clutter-shader-effect.c | 7 +- clutter/clutter-shader.c | 20 ++- clutter/clutter-state.c | 10 +- clutter/clutter-text.c | 91 ++++++++----- clutter/clutter-texture.c | 42 ++++-- clutter/clutter-timeline.c | 18 ++- clutter/x11/clutter-device-manager-x11.c | 7 +- clutter/x11/clutter-input-device-x11.c | 7 +- clutter/x11/clutter-keymap-x11.c | 7 +- 42 files changed, 608 insertions(+), 242 deletions(-) commit bfa10f629f6400ff31471922ad57c27c71e76697 Author: Elliot Smith Date: Tue Aug 10 11:02:17 2010 +0100 cookbook: Added recipe for non-rectangular actor Added a new recipe for creating a non-rectangular actor using ClutterPath (aka "shaped pick") and the Cogl primitives API. Also cleaned up XML alignment in the actors.xml file. doc/cookbook/actors.xml | 691 +++++++++++++++++++++++++++++++++++------------ 1 file changed, 523 insertions(+), 168 deletions(-) commit de8276105f34b480dee0b2044debe001c25710ac Author: Owen W. Taylor Date: Mon Aug 9 15:06:35 2010 -0400 Always bind a new texture to unit 1 when necessary The special handling for texture unit 1 caught the case where unit 1 was changed for transient purposes, but didn't properly handle the case where the actual non-transient texture was different between two materials with no transient binding in between. If the actual texture has changed when flushing, mark unit 1 as dirty and needing a rebind. http://bugzilla.clutter-project.org/show_bug.cgi?id=2261 clutter/cogl/cogl/cogl-material-opengl.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) commit b646f0cfa9277ca9fd7bc7da035942a72924d6e0 Author: Emmanuele Bassi Date: Mon Aug 9 19:56:00 2010 +0100 clutter.modules: Add Cluttersmith build/clutter.modules | 10 ++++++++++ 1 file changed, 10 insertions(+) commit 966cbd51278421d99360454a525e3789a04b1f5d Author: Emmanuele Bassi Date: Mon Aug 9 19:55:42 2010 +0100 clutter.modules: Mx moved to clutter-project.org build/clutter.modules | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit ecc086e9eb86829646d72ca99f618fa7ba4ad95d Author: Emmanuele Bassi Date: Mon Aug 9 19:38:23 2010 +0100 Silence a compiler warning clutter/cogl/cogl/cogl-shader.c | 3 +++ 1 file changed, 3 insertions(+) commit 1c2e41e1b388fdf82867ac4071734316e5731870 Merge: 985a4db eaed9c2 Author: Emmanuele Bassi Date: Mon Aug 9 17:44:42 2010 +0100 Merge remote branch 'elliot/cookbook-layouts-introduction' * elliot/cookbook-layouts-introduction: cookbook: Added layout introduction and "stacking actors" recipe cookbook: Added layouts.xml to the list of XML files cookbook: Added layouts section and introduction commit 985a4db94799ae9279ecde166ff46c5de2f369bf Author: Damien Lespiau Date: Thu Aug 5 15:55:12 2010 +0100 gitignore: Ignore test-cogl-shader-{arbfp,glsl} Fear the out of tree builds! tests/interactive/.gitignore | 2 ++ 1 file changed, 2 insertions(+) commit a4339842f938312da4a51b8592e38e207b15bdc3 Author: Robert Bragg Date: Thu Aug 5 15:18:39 2010 +0100 tests-interactive: Adds a test-cogl-shader-glsl.c This is based on test-shader.c but is solely implemented with the cogl_program/shader APIs instead of the clutter shader APIs. tests/interactive/Makefile.am | 1 + tests/interactive/test-cogl-shader-glsl.c | 382 +++++++++++++++++++++++++++++ 2 files changed, 383 insertions(+) commit f6a1f56031ed0bb404b902db83629732fc788b32 Author: Robert Bragg Date: Thu Aug 5 15:20:49 2010 +0100 tests/interactive: Adds a test-cogl-shader-arbfp.c This tests the ARBfp support for cogl_program and cogl_shader using the shaders Chris Lord adapted from test-shader when he was experimenting with adding ARBfp support to clutter back in 2008 (See: http://bugzilla.clutter-project.org/show_bug.cgi?id=1049) tests/interactive/Makefile.am | 1 + tests/interactive/test-cogl-shader-arbfp.c | 404 ++++++++++++++++++++++++++++ 2 files changed, 405 insertions(+) commit 09e664c349d6132801683c2b4cc5852d57e5f3a6 Author: Robert Bragg Date: Wed Aug 4 17:53:51 2010 +0100 cogl: Allow setting ARBfp source on a CoglShader This makes CoglProgram/Shader automatically detect when the user has given an ARBfp program by checking for "!!ARBfp1.0" at the beginning of the user's source. ARBfp local parameters can be set with cogl_program_uniform_float assuming you pass a @size of 4 (all ARBfp program.local parameters are vectors of 4 floats). This doesn't expose ARBfp environment parameters or double precision local parameters. clutter/cogl/cogl/cogl-material-arbfp.c | 72 +++++++-- clutter/cogl/cogl/cogl-material-glsl.c | 24 +-- clutter/cogl/cogl/cogl-shader-private.h | 13 ++ clutter/cogl/cogl/cogl-shader.c | 116 ++++++++++++--- clutter/cogl/cogl/cogl.c | 6 +- clutter/cogl/cogl/driver/gl/cogl-program.c | 204 ++++++++++++++++++++++---- clutter/cogl/cogl/driver/gl/cogl-program.h | 11 +- clutter/cogl/cogl/driver/gles/cogl-program.c | 7 + 8 files changed, 371 insertions(+), 82 deletions(-) commit 5741e28cdcba3619f0eadff0e8de0d7b0d9c5c60 Author: Robert Bragg Date: Thu Aug 5 10:59:03 2010 +0100 cogl: Adds a COGL_FEATURE_SHADERS_ARBFP feature flag This adds a public feature flag for ARBfp so developers can determine if the cogl API supports ARBfp or not. clutter/cogl/cogl/cogl-internal.h | 2 +- clutter/cogl/cogl/cogl-material-arbfp.c | 2 +- clutter/cogl/cogl/cogl-types.h | 4 +++- clutter/cogl/cogl/cogl.c | 2 +- clutter/cogl/cogl/driver/gl/cogl-feature-functions.h | 4 ++-- 5 files changed, 8 insertions(+), 6 deletions(-) commit f781bcec7e92c4387a2b755510681502290f8e75 Author: Robert Bragg Date: Thu Aug 5 10:46:54 2010 +0100 material: Add cogl_material_{get,set}_user_program Previously we had an internal only _cogl_material_set_user_program to redirect legacy usage of cogl_program_use() through CoglMaterial. This instead makes the API public because until we implement our planned "snippet" framework we need a stop-gap solution for using shaders in Cogl. The plan is to also support ARBfp with the cogl_program/shader API so this API will also allow clutter-gst to stop using direct OpenGL calls that conflict with Cogl's state tracking. clutter/cogl/cogl/cogl-material-private.h | 4 -- clutter/cogl/cogl/cogl-material.c | 24 +++++++++-- clutter/cogl/cogl/cogl-material.h | 64 +++++++++++++++++++++++++++++ 3 files changed, 84 insertions(+), 8 deletions(-) commit 1314d0b1a7567efd89f0aeca94a1d3e4c6b392bb Author: Robert Bragg Date: Sun Aug 8 13:54:07 2010 +0100 material: chain up in layer_pre_change_notify A change to a layer is also going to be a change to its owning material so we have to chain up in _cogl_material_layer_pre_change_notify and call _cogl_material_pre_change_notify. Previously we were only considering if the owning material was referenced in the journal but that ignores that it might also have dependants. We no longer need to flush the journal directly in layer_pre_change_notify. clutter/cogl/cogl/cogl-material.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) commit 855661754653ed1b5b1e0f1bf491f7e360ca5ed0 Author: Robert Bragg Date: Sun Aug 8 14:26:45 2010 +0100 material: unlink old layer from owner when replacing In _cogl_material_layer_pre_change_notify when we see that a layer has dependants and it can't be modified directly then we allocate a new layer. In this case we also have to link the new layer to its required owner. If the immutable layer we copied had the same owner though we weren't unlinking that old layer. clutter/cogl/cogl/cogl-material.c | 2 ++ 1 file changed, 2 insertions(+) commit eeac7c5f431cf9c6df66ddbe8a9c862e9143884c Author: Robert Bragg Date: Sun Aug 8 13:41:15 2010 +0100 material: fix initialization of sparse properties In _cogl_material_pre_change_notify we need to identify if it's a sparse property being changed and if so initialize the state group if the given material isn't currently the authority for it. Previously we were unconditionally calling _cogl_material_initialize_state which would e.g. NULL the layer differences list of a material each time a layer change was notified. It would also call _cogl_material_initialize_state for non-sparse properties which should always be valid at this point so the function has been renamed to _cogl_material_initialize_sparse_state to make this clearer with a corresponding g_return_if_fail check. clutter/cogl/cogl/cogl-material.c | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) commit d489832688ab28e7a2a889cf793bef6ab8fab334 Author: Robert Bragg Date: Sun Aug 8 13:09:27 2010 +0100 material: fix copying of material layer differences This fixes how we copy layer differences in _cogl_material_copy_layer_differences. We were making a redundant g_list_copy of the src differences and then iterating the src list calling _cogl_material_add_layer_difference for each entry which would double the list length, but the initial copy directly referenced the original layers which wasn't correct. Also we were initializing dest->n_layers before copying the layer differences but the act of copying the differences will re-initialize n_layers to 0 when adding the first layer_difference since it will trigger a layer_pre_change_notify and since the dest material isn't yet a STATE_LAYERS authority the state group is initialized before allowing the change. clutter/cogl/cogl/cogl-material.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) commit 0e2880b067e96ff93deec6c3a6ffb7aa0cd4cee4 Author: Robert Bragg Date: Sun Aug 8 13:05:40 2010 +0100 material: don't dereference layer->texture directly In _cogl_material_texture_storage_change_notify we were potentially dereferencing layer->texture without checking first that it is the authority of texture state. We now use _cogl_material_layer_get_texture() instead. clutter/cogl/cogl/cogl-material-opengl.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 9c46cb7f21fba3a8871128866c74325a598f49f2 Author: Robert Bragg Date: Sun Aug 8 14:09:26 2010 +0100 material: Improve the dot file debugging code This improve the dot file output available when calling _cogl_debug_dump_materials_dot_file. The material graph now directly points into the layer graph and the layers now show the texture unit index. clutter/cogl/cogl/cogl-material.c | 30 ++++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) commit eaed9c22da03caa1a0ce43656f2afdfc00ac5115 Author: Elliot Smith Date: Thu Aug 5 16:46:36 2010 +0100 cookbook: Added layout introduction and "stacking actors" recipe Expanded the layout introduction and added a recipe about stacking actors using ClutterBinLayout, with two examples. doc/cookbook/Makefile.am | 1 + doc/cookbook/examples/.gitignore | 2 + doc/cookbook/examples/Makefile.am | 14 +- .../examples/layouts-stacking-diff-sized-actors.c | 78 +++++ doc/cookbook/examples/layouts-stacking.c | 80 +++++ .../images/layouts-stacking-diff-actor-sizes.png | Bin 0 -> 1579 bytes doc/cookbook/layouts.xml | 325 +++++++++++++++++++- 7 files changed, 487 insertions(+), 13 deletions(-) commit 309dd1f50e73cf6bf6e5308abca3b77135dd4686 Author: Elliot Smith Date: Thu Aug 5 13:43:23 2010 +0100 cookbook: Added layouts.xml to the list of XML files Make sure layouts.xml is included for make dist. doc/cookbook/Makefile.am | 1 + 1 file changed, 1 insertion(+) commit 1a44b56b7a5b42ff26abde46c5fdea2f8e3858ff Author: Elliot Smith Date: Tue Aug 3 11:00:19 2010 +0100 cookbook: Added layouts section and introduction doc/cookbook/clutter-cookbook.xml.in | 1 + doc/cookbook/layouts.xml | 281 ++++++++++++++++++++++++++++++++++ 2 files changed, 282 insertions(+) commit 1943b8e544a985e08cd4fbe2ae79320fed2f2548 Author: Emmanuele Bassi Date: Mon Aug 9 11:29:03 2010 +0100 glx: Depend on libdrm DRM is available on more platforms than Linux (e.g. kFreeBSD), but Clutter currently FTBFS there because of not being an alternative to the __linux__ code (where it should be HAVE_DRM). Instead of copying the DRM data structures, we should use libdrm when falling back to directly requesting to wait for the vblank. http://bugzilla.clutter-project.org/show_bug.cgi?id=2225 Based on a patch by: Emilio Pozuelo Monfort Signed-off-by: Emmanuele Bassi clutter/glx/clutter-stage-glx.c | 43 ++++++++++----------------------------- configure.ac | 8 ++++++++ 2 files changed, 19 insertions(+), 32 deletions(-) commit 28378f1bb4f74c4ba97618f404386b26a28f5224 Author: Emmanuele Bassi Date: Mon Aug 9 11:06:44 2010 +0100 layout-manager: Do not emit layout-changed on thaw When thawing a LayoutManager, do not emit the ::layout-changed signal since it might still be in the middle of a relayout. http://bugzilla.clutter-project.org/show_bug.cgi?id=2255 clutter/clutter-layout-manager.c | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) commit 306385c2eb6ea3e0df406edc34227ca8c2622b7d Author: Emmanuele Bassi Date: Mon Aug 9 08:50:18 2010 +0100 animator: Remove redundant parenthesis clutter/clutter-animator.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 74301da8e7bbce31395871927fe8afd6e08bbfd9 Author: Emmanuele Bassi Date: Sun Aug 8 19:18:46 2010 +0100 animator: Improve the key value copy Use the same code used elsewhere in Clutter when dealing with values that can be copied or transformed. clutter/clutter-animator.c | 41 ++++++++++++++++++++++++++++------------- 1 file changed, 28 insertions(+), 13 deletions(-) commit 1ca0c2a6d1ce7477b4c31c507603c870f298c79d Author: Emmanuele Bassi Date: Sun Aug 8 19:17:14 2010 +0100 state: Return a boolean when getting the key value Since the copy might fail, we should return a boolean value and not just warn on the console - similarly to what ClutterAnimator does. clutter/clutter-state.c | 26 ++++++++++++++++++-------- clutter/clutter-state.h | 2 +- 2 files changed, 19 insertions(+), 9 deletions(-) commit 786285a245096950015f55adc6f43db23371dc90 Author: Emmanuele Bassi Date: Sun Aug 8 13:48:51 2010 +0100 clutter.modules: Fix UProf id build/clutter.modules | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit fa8ee94c597fa34000d471c1e959a74ebe114076 Author: Emmanuele Bassi Date: Fri Aug 6 19:33:21 2010 +0100 clutter.modules: Fix the uprof repository UProf has moved. build/clutter.modules | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) commit d07a525eccc4b9504980ee01531dc5ee6b8db6e4 Author: Emmanuele Bassi Date: Fri Aug 6 17:04:37 2010 +0100 text: Do not set the markup unconditionally When setting :use-markup we always pass the contents of the Text actor to clutter_text_set_markup_internal(); if string contains any markup, this ends up being parsed and used - even when :use-markup is set to FALSE. http://bugzilla.clutter-project.org/show_bug.cgi?id=2239 clutter/clutter-text.c | 66 ++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 55 insertions(+), 11 deletions(-) commit fcbfd4ec34ba53953935954cf90f09e5675fb8cc Author: Neil Roberts Date: Fri Aug 6 16:41:41 2010 +0100 cogl-material: Unref the texture when reverting authority When the texture is set on a layer so that it is back to the parent's texture it would clear the texture change flag but it wouldn't unref the texture. The free function for a material layer does not unref the texture if the change flag is cleared so the texture would end up leaking. This happens for ClutterTexture because it disposes the texture by setting layer 0 of the material to COGL_INVALID_HANDLE which ends up the same as the default material. clutter/cogl/cogl/cogl-material.c | 3 +++ 1 file changed, 3 insertions(+) commit 7032e249501080a699e19a731be2bc7d7ecc325f Author: Damien Lespiau Date: Fri Aug 6 15:39:01 2010 +0100 cookbook: Make the table of content have a depth of 2 Instead of showing Problem/Solution/Discussion for each recipe, let's just show the title of those recipes. doc/common/cookbook.xsl | 3 +++ 1 file changed, 3 insertions(+) commit 86c3be550efa724d512b6b1c699e05f7f4257bea Author: Damien Lespiau Date: Fri Aug 6 12:30:06 2010 +0100 cookbook: Remove the note about indenting It's not necessary now to special case the indentation of includes as the XSLT for the cookbook strips leading and trailing space automaticaly for us. doc/cookbook/clutter-cookbook.xml.in | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) commit 4f5ab7d01049ab3b9ceed5a8cbe6b01e8a928a4e Author: Damien Lespiau Date: Thu Aug 5 13:21:52 2010 +0100 cookbook: Close a tag, making xsltproc happier A tag was not closed. doc/cookbook/text.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit cbd6e047dd61ac7ceb47996346ded26d52e6d6d0 Author: Damien Lespiau Date: Thu Aug 5 10:58:42 2010 +0100 cookbook: Add a recipe on how to create sub-textures Fiddle with Cogl textures to create a new ClutterTexture that only displays a rectangular region of a bigger ClutterTexture. doc/cookbook/Makefile.am | 2 + doc/cookbook/examples/.gitignore | 4 +- doc/cookbook/examples/Makefile.am | 16 ++- doc/cookbook/examples/smiley.png | Bin 0 -> 2856 bytes doc/cookbook/examples/textures-split-go.c | 184 ++++++++++++++++++++++++++ doc/cookbook/examples/textures-sub-texture.c | 60 +++++++++ doc/cookbook/images/textures-sub-texture.png | Bin 0 -> 4664 bytes doc/cookbook/textures.xml | 136 +++++++++++++++++++ doc/cookbook/videos/textures-split-go.ogv | Bin 0 -> 89625 bytes 9 files changed, 394 insertions(+), 8 deletions(-) commit ad1f1cb741203f64d97d093981f1e58907ee8e96 Author: Damien Lespiau Date: Thu Aug 5 19:50:29 2010 +0100 cookbook: Strip leading and trailing space inside programlisting It's a XSL FAQ to be able to chomp text nodes and we just have to copy and paste a XSLT 1.0 solution from: http://dpawson.co.uk/xsl/sect2/N8321.html#d11325e833 Let's then empower our cookbook customization layer to chomp text nodes, children of programlisting. doc/common/cookbook.xsl | 79 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) commit c0c9ddab65a47404c0e6c5aa3a94c8a235c6d0ff Author: Damien Lespiau Date: Tue Aug 3 22:26:14 2010 +0100 cookbook: Add text.xml to the list of XML files text.xml was feeling lonely and forgotten, that's fixed now. doc/cookbook/Makefile.am | 1 + 1 file changed, 1 insertion(+) commit b4f4942e07cd2d7f5ad6e235fadb8ed2cf45f48d Author: Damien Lespiau Date: Tue Aug 3 21:02:23 2010 +0100 cookbook: Add the source XML files as dependencies in the Makefile rules The generated cookbook files (either HTML or PDF) do not only depend on clutter-cookbok.xml but also on all the chapters that compose the cookbook. Add this dependency to the Makefile rules to have make rebuild the book when a chapter changes. Since XML_FILES is now the list of source files, move recipe-template.xml to EXTRA_DIST. doc/cookbook/Makefile.am | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit 8ac3cb29ea6a04f434887c4e7a441ae4a4e67729 Author: Robert Bragg Date: Fri Aug 6 14:12:22 2010 +0100 material: only deference layer->texture for authority In _cogl_material_layer_pre_paint we were mistakenly dereferencing the layer->texture member for the passed layer instead of dereferencing the texture state authority which was causing crashes in some cases. clutter/cogl/cogl/cogl-material.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 069266f3ed911dd8de69066c5d50a4befca468a8 Author: Emmanuele Bassi Date: Thu Aug 5 18:10:22 2010 +0100 layout-manager: Freeze ::layout-changed when creating LayoutMeta LayoutMeta instances are created lazily. If an actor is added to a container with a layout manager then the first time the layout manager might be creating the LayoutMeta instance could be during the allocation cycle caused by calling clutter_actor_show(). When a LayoutMeta is instantiated for the first time, a list of properties can be set - and this might lead to the emission of the ::layout-changed signal. The signal is, most typically, going to cause a relayout to be queued, and a warning will be printed on the terminal. We should freeze the emission of the ::layout-changed signal during the creation of the LayoutMeta instances, and thaw it after that. clutter/clutter-layout-manager.c | 62 ++++++++++++++++++++++++++++++++++++-- 1 file changed, 59 insertions(+), 3 deletions(-) commit e7381c47fdaae7d52f9e1e7a1c48d7ecadeae503 Author: Emmanuele Bassi Date: Thu Aug 5 17:22:50 2010 +0100 bin-layout: Add a text to the test We have a rectangle, a cairo texture and a texture. Let's go add a text actor as well. tests/interactive/test-bin-layout.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) commit 315965290b23900e01840a2e6ef1cff17d222969 Author: Emmanuele Bassi Date: Thu Aug 5 16:19:51 2010 +0100 texture: Update the request mode depending on the size If a Texture has been set to: • keep its size synchronized with the image data • maintain the aspect ratio of the image data then it should also change its request mode depending on the orientation of the image data, so that layout managers have a fighting chance of sizing it correctly. clutter/clutter-texture.c | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) commit 2d4125a053b73acc1c037f02bbf1c52bcb6b0a41 Author: Emmanuele Bassi Date: Thu Aug 5 15:29:54 2010 +0100 texture: Make the :filename property readable UI builders and other tools are be interested in the file used to load the image data. README | 7 ++++++- clutter/clutter-texture.c | 44 ++++++++++++++++++++++++++++++++++++-------- 2 files changed, 42 insertions(+), 9 deletions(-) commit 70303d6f0cbaaddc06be43ce3f3b0b2b79eaa604 Author: Emmanuele Bassi Date: Thu Aug 5 13:06:38 2010 +0100 Post-release version bump to 1.3.11 configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 177d8e52d3823cd0af8fd0b7ab9bb4a7d67c27a8 Author: Emmanuele Bassi Date: Wed Aug 4 12:38:53 2010 +0100 Release 1.3.10 NEWS | 46 ++++++++++++++++++++++++++++++++++++++++++++++ configure.ac | 2 +- 2 files changed, 47 insertions(+), 1 deletion(-) commit 8668a019a0bde8a078f999cd5b960a1f63f700ec Author: Emmanuele Bassi Date: Thu Aug 5 11:41:25 2010 +0100 cookbook: Fix the text-shadow recipe Fill out the recipe and add more comments to the example code. doc/cookbook/examples/text-shadow.c | 10 +++-- doc/cookbook/text.xml | 71 +++++++++++++++++++++++++++++++++++ 2 files changed, 78 insertions(+), 3 deletions(-) commit ea3af7bf334aa2949e9320d54f1a329e599fa587 Author: Emmanuele Bassi Date: Wed Aug 4 12:47:16 2010 +0100 po: Remove the requirement for LINGUAS and ChangeLog We don't use ChangeLogs and the LINGUAS file is replaced by the AS_ALL_LINGUAS m4 macro. po/Makefile.in.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 8326ea26f82dcb756e4717f5ed6b80ea8582b9f1 Author: Roman Kudiyarov Date: Tue Aug 3 21:12:12 2010 +0700 osx: Fixed stage resize policy Added initialization of minimum window size property on Cocoa side. This property works when user change window size by mouse dragging. But when size is changed by clutter_actor_set_size this property will not help and was added another check in clutter_stage_osx_resize. Also osx_get_geometry was refactoried because it returns incorrect values in many cases but now size is saved in [Window reshape] in requisition_width/height and this value will be returned in any case to frontend. clutter/osx/clutter-stage-osx.c | 71 ++++++++++++++++++++------------------- 1 file changed, 36 insertions(+), 35 deletions(-) commit c1f0b59911fdc6096f070108d100ff14c2e25b29 Author: Roman Kudiyarov Date: Wed Aug 4 12:08:50 2010 +0700 test: Fixed test-rotate for osx platfom There was a bug in clutter-shader-effect. We have to set to zero new object of type GValue before we can use it in g_value_init. clutter/clutter-shader-effect.c | 1 + 1 file changed, 1 insertion(+) commit 52b6a3cd49c4fd654bde0a03b8e57156e731076f Author: Roman Kudiyarov Date: Thu Jul 29 21:59:46 2010 +0700 osx: added resolution initialization in backend It's important step of initialization because all features calls from font rendering libs based on this parameter. By default it equals to -1 and test-text-cache test crashes in this case. clutter/osx/clutter-backend-osx.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) commit dc23b88de25d24b5b8efaf6ae7e84f3237c175eb Author: Roman Kudiyarov Date: Sat Jul 24 11:54:19 2010 +0700 osx: Fixed warnings in osx event implementation clutter/osx/clutter-event-osx.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) commit af8308295c95c8bef3538af85d308e7807a8ab22 Author: Roman Kudiyarov Date: Fri Jul 23 12:16:23 2010 +0700 Added willResize delegate for osx stage. By default a clutter stage is not user resizable and this delegate controls this option while resizing the stage. clutter/osx/clutter-stage-osx.c | 8 ++++++++ 1 file changed, 8 insertions(+) commit 49b2b623118ab961c6ce15d7f26972391b9075e1 Author: Roman Kudiyarov Date: Fri Jul 23 11:25:40 2010 +0700 Fixed lack of reaction for keyboard events after showing stage on osx. Trick with hiding view while showing the stage affects on responder chain. The main view ceases to be first responder and we should manually set first responder. clutter/osx/clutter-stage-osx.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) commit e4c4ef679254b6407133333f9572442444709845 Author: Roman Kudiyarov Date: Thu Jul 22 13:51:37 2010 +0700 Fixed incorrect size return in osx stage if stage resizable by user. For some reasons width&height was equal to 1 if flag user-resizable was true. clutter/osx/clutter-stage-osx.c | 10 ---------- 1 file changed, 10 deletions(-) commit 411b5a09bb11d2b8831d676298d4632ab47ecd21 Author: Roman Kudiyarov Date: Wed Jul 21 23:22:57 2010 +0700 osx: Added size initialization for stage After stage creation it's size can be changed by user and it should be taken into account in clutter_stage_osx_realize. clutter/osx/clutter-stage-osx.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) commit 5218da748f7d5c95d3aeff18c51f54361398748f Author: Roman Kudiyarov Date: Mon Jul 19 22:53:49 2010 +0700 test: fixed uninitialized variable in test-cogl-point-sprites tests/interactive/test-cogl-point-sprites.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 8e2b45648f14debe0039cfd32dddcf262b7f15ce Author: Roman Kudiyarov Date: Mon Jul 19 20:46:55 2010 +0700 osx: Fixed problem with freezing application while checking behaviour. Problem was in incorrect application initialization. [NSApplication sharedApplication] should be call in backend init(not in init stage). It doesn't require any data and only makes a connection to window server. clutter/osx/clutter-backend-osx.c | 13 +++++++++++++ clutter/osx/clutter-stage-osx.c | 13 ------------- 2 files changed, 13 insertions(+), 13 deletions(-) commit 8c69a639cbe39c3b006555c816f325b0cdb4b874 Author: Roman Kudiyarov Date: Fri Jul 16 19:46:17 2010 +0700 osx: Fixed bug with creating context twice. We should assign context and pixel_format vars to null to avoid multiple context creation. clutter/osx/clutter-backend-osx.c | 51 ++++++++++++++++++++----------------- 1 file changed, 27 insertions(+), 24 deletions(-) commit 50793eac51d541648e023455f9d0cc94e8519423 Author: Roman Kudiyarov Date: Fri Jul 16 19:19:13 2010 +0700 osx: added create_context function in backend Cleanup clutter_backend_osx_post_parse function and move context initialization to clutter_backend_osx_create_context. The OpenGL pixel format attributes were taken as is. Also move bringing application to foreground in clutter_stage_osx_realize, it seems there is best place for it. clutter/osx/clutter-backend-osx.c | 92 +++++++++++++++---------------------- clutter/osx/clutter-stage-osx.c | 13 ++++++ 2 files changed, 50 insertions(+), 55 deletions(-) commit 904f619419b414e5de86b4bca5cd0f811ef02c87 Author: Roman Kudiyarov Date: Thu Jul 15 19:04:28 2010 +0700 osx: Implemented hide cursor backend implementation Add implementation for hide cursor in stage. Also added using this feature in test-animator. clutter/osx/clutter-stage-osx.c | 5 ++++- tests/interactive/test-animator.c | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) commit f22b6a442cb901439d4b590b4f7a6bca4577b116 Author: Roman Kudiyarov Date: Thu Jul 15 16:32:59 2010 +0700 Added .DS_Store and test logs messages to git ignore .gitignore | 2 ++ 1 file changed, 2 insertions(+) commit 12e50114883c21a2f9a0db48e53020532dffa936 Author: Roman Kudiyarov Date: Thu Jul 15 16:27:16 2010 +0700 osx: Added missed function declaration for stage Added empty functions for cursor and window resize functional with notes FIXME and also they are added to iface. clutter/osx/clutter-stage-osx.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) commit 01c9570d168bced1e9055f66016a875bcd86b81d Author: Roman Kudiyarov Date: Thu Jul 15 16:00:29 2010 +0700 osx: Remove drawing call while showing stage and add viewport init Viewport didn't initialized before OGL drawing and it causes crash on assert so added viewport initalization to clutter_stage_osx_realize. Also showing the stage causes drawing function but other part of the system(in particular conformance tests) don't expect it and aren't ready at this moment. clutter/osx/clutter-stage-osx.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) commit e3295050f59bcc026b8f0648e2ad2935d9911aed Author: Roman Kudiyarov Date: Thu Jul 15 15:46:04 2010 +0700 osx: Fixed crash while features initialization Clearing current context couses incorrect work of glGetString function and all next GL functions that use it work incorrectly. clutter/osx/clutter-backend-osx.c | 1 - 1 file changed, 1 deletion(-) commit 24d1142ecf03cdeefb4b07cb4ac372d2f2b6b1bf Author: Emmanuele Bassi Date: Tue Aug 3 17:53:58 2010 +0100 glx: Add more debugging notes Should help debug the GLX visual selection. clutter/glx/clutter-backend-glx.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) commit fa54b7c60d52aaf75b1691586c9171b77280ae15 Author: Emmanuele Bassi Date: Tue Aug 3 16:48:53 2010 +0100 docs: Further clarifications Mention the XFixes extension for compositors using input regions to let events "pass through" the stage. Thanks to: Robert Bragg clutter/x11/clutter-backend-x11.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) commit da6b2660ba423924b5fd164fff3a5e05ca206971 Author: Emmanuele Bassi Date: Tue Aug 3 16:30:04 2010 +0100 docs: Clarify the event retrieval disable behaviour When we disable the event retrieval, we now just disable the X11 event source, not the event selection. We need to make that clear to applications, especially compositors, which might expect complete control over the selection. clutter/x11/clutter-backend-x11.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) commit 609560b1cb44f4d209de810cc9b94d8d49ba2db5 Author: Emmanuele Bassi Date: Tue Aug 3 16:11:52 2010 +0100 glx: Unconditionally select X11/GLX events Currently, we select input events and GLX events conditionally, depending on whether the user has disabled event retrieval. We should, instead, unconditionally select input events even with event retrieval disabled because we need to guarantee that the Clutter internal state is maintained when calling clutter_x11_handle_event() without requiring applications or embedding toolkits to select events themselves. If we did that, we'd have to document the events to be selected, and also update applications and embedding toolkits each time we added a new mask, or a new class of events - something that's clearly not possible. See: http://bugzilla.clutter-project.org/show_bug.cgi?id=998 for the rationale of why we did conditional selection. It is now clear that a compositor should clear out the input region, since it cannot assume a perfectly clean slate coming from us. See: http://bugzilla.clutter-project.org/show_bug.cgi?id=2228 for an example of things that break if we do conditional event selection on GLX events. In that specific case, the X11 server ≤ 1.8 always pushed GLX events on the queue, even without selecting them; this has been fixed in the X11 server ≥ 1.9, which means that applications like Mutter or toolkit integration libraries like Clutter-GTK would stop working on recent Intel drivers providing the GLX_INTEL_swap_event extension. This change has been tested with Mutter and Clutter-GTK. clutter/glx/clutter-stage-glx.c | 84 ++++++++++++++++++++++++--------------- 1 file changed, 52 insertions(+), 32 deletions(-) commit 142f288986dba5cdeef2fa2e24fd019ce61fa5b0 Merge: 10c5cb1 7ed3517 Author: Emmanuele Bassi Date: Tue Aug 3 15:44:46 2010 +0100 Merge remote branch 'elliot/cookbook-animations-rotating' * elliot/cookbook-animations-rotating: cookbook: Added recipe for animated rotation of an actor cookbook: Add explanation about including code samples cookbook: Make filename used in video example consistent cookbook: Add example code for animated rotation commit 10c5cb1800da3bdaf116197a096bf6396efa465f Author: Robert Bragg Date: Fri Jul 23 10:12:39 2010 +0100 cogl-program: gles2: bind programs lazily as for GL This makes the gles2 cogl_program_use consistent with the GL version by not binding the program immediately and instead leaving it to cogl-material.c to bind the program when actually drawing something. clutter/cogl/cogl/cogl-material-glsl.c | 3 -- clutter/cogl/cogl/cogl-material-opengl-private.h | 2 +- clutter/cogl/cogl/cogl-material-opengl.c | 34 +++++++++++++--------- clutter/cogl/cogl/driver/gl/cogl-program.c | 10 +++---- clutter/cogl/cogl/driver/gles/cogl-program.c | 3 -- 5 files changed, 26 insertions(+), 26 deletions(-) commit 4a9321b60cd443bec065bbc8a1c96bb38f8dab1e Author: Robert Bragg Date: Tue Jun 8 23:06:50 2010 +0100 gles2: Have CoglProgram track uniforms per program Previously custom uniforms were tracked in _CoglGles2Wrapper but as part of a process to consolidate the gl/gles2 shader code it seems to make sense for this state to be tracked in the CoglProgram object instead. http://bugzilla.o-hand.com/show_bug.cgi?id=2179 clutter/cogl/cogl/driver/gles/cogl-gles2-wrapper.c | 41 ++++++++++---------- clutter/cogl/cogl/driver/gles/cogl-gles2-wrapper.h | 11 +++--- clutter/cogl/cogl/driver/gles/cogl-program.c | 38 +++++++++++------- clutter/cogl/cogl/driver/gles/cogl-program.h | 11 +++++- 4 files changed, 61 insertions(+), 40 deletions(-) commit c26f4ffa228d40e8ef73c075d6e6003d9fcfde5b Author: Robert Bragg Date: Mon Aug 2 21:40:55 2010 +0100 cogl-shader: unifies the driver/{gl,gles} shader files The per driver implementations of cogl-shader.c had become almost identical we now have a single cogl/cogl-shader.c instead. clutter/cogl/cogl/Makefile.am | 2 + clutter/cogl/cogl/cogl-shader-private.h | 40 ++++ clutter/cogl/cogl/cogl-shader.c | 235 ++++++++++++++++++++ clutter/cogl/cogl/driver/gl/Makefile.am | 2 - clutter/cogl/cogl/driver/gl/cogl-shader-private.h | 40 ---- clutter/cogl/cogl/driver/gl/cogl-shader.c | 169 -------------- clutter/cogl/cogl/driver/gles/Makefile.am | 2 - .../cogl/cogl/driver/gles/cogl-shader-private.h | 40 ---- clutter/cogl/cogl/driver/gles/cogl-shader.c | 214 ------------------ 9 files changed, 277 insertions(+), 467 deletions(-) commit 8021d3e2ebeced1921a973b325275c3e000655a2 Author: Robert Bragg Date: Fri Jul 23 17:44:53 2010 +0100 cogl-shader: Store the CoglShaderType in CoglShader Instead of having to query GL and translate the GL enum into a CoglShaderType each time cogl_shader_get_type is called we now keep track of the type in CoglShader. clutter/cogl/cogl/driver/gl/cogl-shader-private.h | 1 + clutter/cogl/cogl/driver/gl/cogl-shader.c | 14 ++------------ clutter/cogl/cogl/driver/gles/cogl-shader.c | 13 +------------ 3 files changed, 4 insertions(+), 24 deletions(-) commit 467c33a3e37904cb29ea596caff6c70ae5eb503a Author: Robert Bragg Date: Sun Jul 25 21:36:41 2010 +0100 cogl: don't include cogl-debug.h in cogl.h or install cogl-debug.h is an internal header so it shouldn't have been included by cogl.h and the header shouldn't be installed either. clutter/cogl/cogl/Makefile.am | 2 +- clutter/cogl/cogl/cogl-atlas-texture.c | 1 + clutter/cogl/cogl/cogl-bitmap.c | 1 + clutter/cogl/cogl/cogl-framebuffer.c | 1 + clutter/cogl/cogl/cogl-journal.c | 1 + clutter/cogl/cogl/cogl-material-arbfp.c | 1 + clutter/cogl/cogl/cogl-material-opengl.c | 1 + clutter/cogl/cogl/cogl-material.c | 1 + clutter/cogl/cogl/cogl-matrix.c | 1 + clutter/cogl/cogl/cogl-primitives.c | 1 + clutter/cogl/cogl/cogl-texture-2d-sliced.c | 1 + clutter/cogl/cogl/cogl.h | 1 - clutter/cogl/cogl/winsys/cogl-texture-pixmap-x11.c | 1 + clutter/cogl/pango/cogl-pango-render.c | 1 + 14 files changed, 13 insertions(+), 2 deletions(-) commit 8b914dfa307ef2e0b84ff7dc1632cb6ae29e7c3e Author: Robert Bragg Date: Fri Jul 23 21:37:22 2010 +0100 configure.ac: when checking for gl2ext.h include gl2.h This makes sure we include gl2.h when looking for gl2ext.h since gl2ext.h can't always be used standalone. configure.ac | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) commit c23b28396866cfcffa64e16d3d55075be04e0d4e Author: Emmanuele Bassi Date: Sat Jul 31 10:40:21 2010 +0100 animatable: Allow passing a NULL animation The Animatable interface was created specifically for the Animation class. It turns out that it might be fairly useful to others - such as ClutterAnimator and ClutterState. The newly-added API in this cycle for querying and accessing custom properties should not require that we pass a ClutterAnimation to the implementations: the Animatable itself should be enough. This is necessary to allow language bindings to wrap clutter_actor_animate() correctly and do type validation and demarshalling between native values and GValues; an Animation instance is not available until the animate() call returns, and validation must be performed before that happens. There is nothing we can do about the animate_property() virtual function - but in that case we might want to be able to access the animation from an Animatable implementation to get the Interval for the property, just like ClutterActor does in order to animate ClutterActorMeta objects. clutter/clutter-actor.c | 3 --- clutter/clutter-animatable.c | 15 +++------------ clutter/clutter-animatable.h | 6 ------ clutter/clutter-animation.c | 24 +++++------------------- 4 files changed, 8 insertions(+), 40 deletions(-) commit c65c0f08d8ea6532f873b09d45033a7e546e05be Author: Emmanuele Bassi Date: Sat Jul 31 10:39:53 2010 +0100 docs: Fix the BindConstraint example A constraint was created but not added to the actor. clutter/clutter-bind-constraint.c | 1 + 1 file changed, 1 insertion(+) commit 00eb71b89a09efe4ccb44e55bdff7d2e4da4d26b Author: Emmanuele Bassi Date: Fri Jul 30 19:39:35 2010 +0100 conform: Move the Score test to the conformance suite The interactive test for ClutterScore is really meant to be run as part of the conformance test suite, so we should move it there. tests/conform/.gitignore | 1 + tests/conform/Makefile.am | 1 + tests/conform/test-conform-main.c | 2 + tests/conform/test-score.c | 119 ++++++++++++++++++++++++++++++++++ tests/interactive/.gitignore | 1 - tests/interactive/Makefile.am | 1 - tests/interactive/test-score.c | 127 ------------------------------------- 7 files changed, 123 insertions(+), 129 deletions(-) commit a20a509584c8f8982b6f2f5daf92d882f99e6d02 Author: Emmanuele Bassi Date: Thu Jul 29 17:18:25 2010 +0100 x11: Split out conditions and warnings XGetGeometry is a great piece of API, since it gets a lot of stuff that are moderately *not* geometry related - the root window, and the depth being two. Since we have multiple conditions depending on the result of that call we should split them up depending on the actual error - and each of them should have a separate error message. This makes debugging simpler. clutter/x11/clutter-stage-x11.c | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) commit 0736cb73230c6f2e39b7186770f7405f4dda228e Author: Emmanuele Bassi Date: Thu Jul 29 17:00:24 2010 +0100 actor: Make set_flags() safe from unrefs It's possible - though not recommended - that user code causes the destruction of an actor in one of the notification handlers for flag-based properties. We should protect the multiple notification emission with g_object_ref/unref. clutter/clutter-actor.c | 2 ++ 1 file changed, 2 insertions(+) commit 6f737a5f5a107cc728a9be59d79e9213dfffd026 Author: Emmanuele Bassi Date: Thu Jul 29 16:58:37 2010 +0100 Require g-i 0.6.14 The 0.6.14 is the last 0.6 release, before the format changes; we build with both 0.6 and 0.9, so we should depend to the former and not the latter. configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 7ed3517504754216304607136450ef8b718597f7 Author: Elliot Smith Date: Wed Jul 21 14:50:32 2010 +0100 cookbook: Added recipe for animated rotation of an actor New recipe covering how to animate rotation of an actor (in all axes). Covers various factors affecting rotation animation (like orientation of axes, parent rotation/orientation), as well as trying to make rotations easier to visualise (e.g. describing how rotation direction is affected by those factors, how a rotation can be expected to look when animated). Uses implicit animations for code examples. Also refers to a full code example which uses ClutterState. doc/cookbook/Makefile.am | 9 + doc/cookbook/animations.xml | 510 +++++++++++++++++++- ...tions-rotating-container-reverses-direction.ogv | Bin 0 -> 204262 bytes .../videos/animations-rotating-x-centered.ogv | Bin 0 -> 154165 bytes ...ations-rotating-x-minus-180-with-y-minus-96.ogv | Bin 0 -> 39584 bytes ...ations-rotating-x-minus-180-with-z-minus-96.ogv | Bin 0 -> 31171 bytes .../videos/animations-rotating-x-minus-45.ogv | Bin 0 -> 30059 bytes doc/cookbook/videos/animations-rotating-y-45.ogv | Bin 0 -> 34009 bytes .../videos/animations-rotating-y-centered.ogv | Bin 0 -> 150864 bytes doc/cookbook/videos/animations-rotating-z-90.ogv | Bin 0 -> 53592 bytes .../videos/animations-rotating-z-centered.ogv | Bin 0 -> 200166 bytes 11 files changed, 517 insertions(+), 2 deletions(-) commit 94fcbafe18b2e7079c79dde393de4b25fad02456 Author: Elliot Smith Date: Wed Jul 21 15:44:16 2010 +0100 cookbook: Add explanation about including code samples Updated the "Contributing" section to explain how to include a full code sample at the end of a recipe. doc/cookbook/clutter-cookbook.xml.in | 95 ++++++++++++++++++++++++++++++++++ 1 file changed, 95 insertions(+) commit 9e29aac49a64adc3d1edcf54a473bbe2b074b98a Author: Elliot Smith Date: Wed Jul 21 14:42:31 2010 +0100 cookbook: Make filename used in video example consistent Fixed video filename in sample markup to match the guidelines given in the "Contributing" section. doc/cookbook/clutter-cookbook.xml.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 12ffe70a86440e04752d8dd18a1b8bc984a4e02b Author: Elliot Smith Date: Wed Jul 21 12:51:47 2010 +0100 cookbook: Add example code for animated rotation Add example code demonstrating how to rotate in the x,y,z axes using ClutterState. Integrated with build. doc/cookbook/examples/.gitignore | 1 + doc/cookbook/examples/Makefile.am | 3 + doc/cookbook/examples/animations-rotating.c | 136 +++++++++++++++++++++++++++ 3 files changed, 140 insertions(+) commit 385ac8e1811c1ca485ed129d96b8368d48955748 Author: Emmanuele Bassi Date: Fri Jul 23 12:42:55 2010 +0100 modules: Bump cairo to 1.9.12 And add poppler. build/clutter.modules | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) commit 3d806f498f1c4a02b2a166bdd5e124e7e11239cd Author: Øyvind Kolås Date: Fri Jul 23 12:16:37 2010 +0100 effect: fix conversion from degrees to radians clutter/clutter-page-turn-effect.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit ec26466cdce5b701af7c82bce4588cb6f2e3180c Author: Neil Roberts Date: Wed Jul 14 19:39:24 2010 +0100 gles/cogl-shader.c: Store the shader type in CoglShader Nothing was storing the shader type when a shader was created so it would get confused about whether it was a custom vertex or fragment shader. Also the 'type' member of CoglShader was a GLenum but the only place that read it was treating it as if it was CoglShaderType. This changes it be CoglShaderType. clutter/cogl/cogl/driver/gles/cogl-shader-private.h | 2 +- clutter/cogl/cogl/driver/gles/cogl-shader.c | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) commit 616eccdad63ce35d5ce59094cf026970b799cf09 Author: Neil Roberts Date: Thu Jul 22 17:27:04 2010 +0100 test-shader: Unref the ClutterShader after setting it on an actor Otherwise the test leaks the shader object and the underlying GLSL program. tests/interactive/test-shader.c | 4 ++++ 1 file changed, 4 insertions(+) commit a639ed6593fa64c83bc4c462d9c3eac9bf543485 Author: Neil Roberts Date: Thu Jul 22 16:58:23 2010 +0100 Plug the leaking CoglProgram and CoglShader _cogl_program_free and _cogl_shader_free never freed the struct their structs so it would end up leaking a little bit. clutter/cogl/cogl/driver/gl/cogl-program.c | 2 ++ clutter/cogl/cogl/driver/gl/cogl-shader.c | 2 ++ clutter/cogl/cogl/driver/gles/cogl-program.c | 2 ++ clutter/cogl/cogl/driver/gles/cogl-shader.c | 2 ++ 4 files changed, 8 insertions(+) commit f17717717ab3266676053bc020f45b6bacdcee0f Author: Neil Roberts Date: Thu Jul 22 16:14:59 2010 +0100 configure.ac: Fix the missing COGL_HAS_GLES[12] defines In 7fae8ac051 the two cogl-defines.h files from GLES and GL were unified. However this missed out the COGL_HAS_GLES[12] defines from GLES. The configure.ac still made an AC_SUBST for the right version but the replacement was never put in any headers. This fixes it so that instead of directly calling AC_SUBST the value is now put into a variable which later gets added to COGL_DEFINES so that it will end up in cogl-defines.h configure.ac | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) commit d87b34f98283797a13e983f37ef9dd9f43407602 Author: Neil Roberts Date: Thu Jul 22 16:12:46 2010 +0100 Fix a small typo in configure.ac for the COGL_DEFINES variable There was an initializer for the COGL_DEFINES variable which sets it to the empty value before it is filled in. The name of the variable wasn't spelt right so it wouldn't work properly. This doesn't really matter because it would default to empty anyway. configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit a1c74209795c341dc89dbe2f6c3a91242a8c813c Author: Neil Roberts Date: Thu Jul 15 17:10:31 2010 +0100 test-shader: The tex_coord varying is now an array under GLES2 Since the GLES2 wrapper grew support for multi-texturing, the tex_coord varying variable defined in the vertex shader is actually an array of texture coordinates so it ought to match in the fragment shader in test-shader. This seemed to work anyway under Mesa/Intel but under NVidia it does not so I don't think it's safe to assume that linking a non-array varying with an array will work. tests/interactive/test-shader.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 488e376b7e356614494bee62ed0437ea721c2447 Author: Neil Roberts Date: Thu Jul 22 19:58:47 2010 +0100 cogl-bitmap-pixbuf: Avoid copying the buffer in more circumstances When loading an RGB image GdkPixbuf will pad the rowstride so that the beginning of each row is aligned to 4 bytes. This was causing us to fallback to the code that copies the buffer. It is probably safe to avoid copying the buffer if we can detect that the rowstride is simply an alignment of the packed rowstride. This also changes the copying fallback code so that it uses the aligned rowstride. However it is now extremely unlikely that the fallback code would ever be used. clutter/cogl/cogl/cogl-bitmap-pixbuf.c | 33 +++++++++++++++++++++++--------- 1 file changed, 24 insertions(+), 9 deletions(-) commit b9295bf0e5e103c2acd4b1c14d402780e824c69a Author: Neil Roberts Date: Thu Jul 22 19:15:44 2010 +0100 cogl-bitmap-pixbuf: Fix the rowstride used when copying a GdkPixbuf In commit b780413e5ae4b the GdkPixbuf loading code was changed so that if it needs to copy the pixbuf then it would tightly pack it. However it was still using the rowstride from the pixbuf so the image would end up skewed. This fixes it to use the real rowstride. http://bugzilla.clutter-project.org/show_bug.cgi?id=2235 clutter/cogl/cogl/cogl-bitmap-pixbuf.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit bb1b1b151e28b87071cdc064af648f8c7d26b1e9 Author: Neil Roberts Date: Tue Jul 20 17:34:04 2010 +0100 cogl-material: Don't map the shininess value to [0,1] In OpenGL the 'shininess' lighting parameter is floating point value limited to the range 0.0→128.0. This number is used to affect the size of the specular highlight. Cogl materials used to only accept a number between 0.0 and 1.0 which then gets multiplied by 128.0 before sending to GL. I think the assumption was that this is just a weird GL quirk so we don't expose it. However the value is used as an exponent to raise the attenuation to a power so there is no conceptual limit to the value. This removes the mapping and changes some of the documentation. http://bugzilla.clutter-project.org/show_bug.cgi?id=2222 clutter/cogl/cogl/cogl-material-opengl.c | 6 ++---- clutter/cogl/cogl/cogl-material.c | 4 +++- clutter/cogl/cogl/cogl-material.h | 9 +++++---- 3 files changed, 10 insertions(+), 9 deletions(-) commit d76d82c88ffe8c1bdebef983716d8be77907e124 Author: Neil Roberts Date: Wed Jul 21 23:22:07 2010 +0100 cogl-material: Always reset the GLSL program to zero when flushing When flushing a fixed-function or arbfp material it would always call disable_glsl to try to get rid of the previous GLSL shader. This is needed even if current_use_program_type is not GLSL because if an application calls cogl_program_uniform then Cogl will have to bind the program to set the uniform. If this happens then it won't update current_use_program_type presumably because the enabled state of arbfp is still valid. The problem was that disable_glsl would only select program zero when the current_use_program_type is set to GLSL which wouldn't be the case if cogl_program_uniform was called. This patch changes it to just directly call _cogl_gl_use_program_wrapper(0) instead of having a separate disable_glsl function. The current program is cached in the cogl context anyway so it shouldn't cause any extra unnecessary GL calls. http://bugzilla.clutter-project.org/show_bug.cgi?id=2232 clutter/cogl/cogl/cogl-material-opengl.c | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-) commit ea255154f503112ee238b5c2c2b2ba1d3f77203f Author: Chris Leick Date: Thu Jul 22 11:40:57 2010 +0100 po: Add de.po Signed-off-by: Emmanuele Bassi po/de.po | 104 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 104 insertions(+) commit 24b9748f0a988110dfeda660d2f20df6e14cde3d Author: Chris Kühl Date: Thu Jul 22 11:21:21 2010 +0200 Fixed more set using *_get_* typos. http://bugzilla.clutter-project.org/show_bug.cgi?id=2233 clutter/clutter-texture.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 99d7d31318b44eacf8d8a64ee1bb92fc511ab8ce Author: Emmanuele Bassi Date: Thu Jul 22 10:48:21 2010 +0100 docs: Improve the text of X11 event-related functions We need to make sure that people disabling event handling in Clutter call clutter_x11_handle_event() to update Clutter's internal state. clutter/x11/clutter-backend-x11.c | 15 ++++++++++----- clutter/x11/clutter-event-x11.c | 8 ++++++-- 2 files changed, 16 insertions(+), 7 deletions(-) commit 1dee65770a7eba85c899890e652d4cf32744c71a Author: Neil Roberts Date: Thu Jul 22 10:04:06 2010 +0100 Minor fix to the documentation for clutter_texture_get_sync_size The documentation was recursively referring to itself causing a stack overflow in the reader's brain. http://bugzilla.clutter-project.org/show_bug.cgi?id=2233 clutter/clutter-texture.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 706f42645a3436089ad33d9d07844cc4ae202b12 Author: Emmanuele Bassi Date: Wed Jul 21 17:25:15 2010 +0100 build: Depend on g-i 0.9.0 The introspection format changed, so we should depend on the new one. configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit eae4561929938057c398498267b7500796fa9d92 Author: Emmanuele Bassi Date: Wed Jul 21 16:10:46 2010 +0100 Clean up the private flags for ClutterActor Provide macros to quickly query a flag, and remove all namespacing except the initial 'CLUTTER'. clutter/clutter-actor.c | 109 +++++++++++++++------------------ clutter/clutter-backend.c | 2 +- clutter/clutter-cairo-texture.c | 2 +- clutter/clutter-main.c | 12 ++-- clutter/clutter-private.h | 34 ++++++---- clutter/clutter-stage.c | 16 ++--- clutter/egl/clutter-backend-egl.c | 2 +- clutter/glx/clutter-backend-glx.c | 2 +- clutter/osx/clutter-stage-osx.c | 6 +- clutter/win32/clutter-backend-win32.c | 2 +- clutter/win32/clutter-stage-win32.c | 6 +- clutter/x11/clutter-event-x11.c | 2 +- clutter/x11/clutter-stage-x11.c | 8 +-- 13 files changed, 97 insertions(+), 106 deletions(-) commit 0dfbf010b8d4a7ca877061134e3b02c362517cc3 Author: Emmanuele Bassi Date: Wed Jul 21 15:21:08 2010 +0100 x11: Add more checks to set_stage_foreign() Check all the pre-requisites to avoid segfaults later on. clutter/x11/clutter-stage-x11.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) commit 8538e1bf586464f841f8321aa313be4a372c8159 Author: Emmanuele Bassi Date: Wed Jul 21 15:14:36 2010 +0100 x11: Clean up TexturePixmap header and private data structure Align the header file and use bitfields instead of booleans. clutter/x11/clutter-x11-texture-pixmap.c | 22 ++++---- clutter/x11/clutter-x11-texture-pixmap.h | 84 +++++++++++++++--------------- 2 files changed, 52 insertions(+), 54 deletions(-) commit 0e80747a684339d116e7860b26a7049320525284 Author: Neil Roberts Date: Sat Jul 17 14:08:28 2010 +0100 cogl-material: Consider the shader when deciding if materials equate _cogl_material_equal was ignoring the user shader state so rectangles with different shaders would get batched together. http://bugzilla.clutter-project.org/show_bug.cgi?id=2220 clutter/cogl/cogl/cogl-material.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) commit f2d0f0ab5f120c514b82d75478aea1e17ad51ba7 Author: Emmanuele Bassi Date: Tue Jul 20 14:39:43 2010 +0100 stage: Ignore redraws on destroyed stages We might get requests to redraw even during destruction; we should ignore them and do some NULL checks instead of blindly invoking functions. clutter/clutter-stage.c | 7 +++++++ 1 file changed, 7 insertions(+) commit 7b6b2ea55b758486f7d0dbe6eb8fe0bd89610de8 Author: Emmanuele Bassi Date: Tue Jul 20 14:39:01 2010 +0100 stage-window: Add argument guards Validate the arguments passed to StageWindow's methods. clutter/clutter-stage-window.c | 35 ++++++++++++++++++++++++++--------- 1 file changed, 26 insertions(+), 9 deletions(-) commit a7adfd874524bd0e4b1d61c0e1714d0037ffa70f Author: Emmanuele Bassi Date: Mon Jul 19 16:03:35 2010 +0100 po: Re-sync Makefile.in.in Use the one that ships with gtk+. po/Makefile.in.in | 47 +++++++++++++++-------------------------------- 1 file changed, 15 insertions(+), 32 deletions(-) commit e45b8be71b6f5a0e95db2b6f1d4d92fbe59d2cdc Author: Elliot Smith Date: Mon Jul 19 12:52:00 2010 +0100 cookbook: Fix key press to examine modifers correctly The simple key press example in the cookbook used a brittle and incorrect switch statement to test modifier values. Instead, use logical "&" of the state with the modifiers we're interested in to check which keys were pressed. http://bugzilla.clutter-project.org/show_bug.cgi?id=2223 doc/cookbook/events.xml | 32 ++++++++++++++------------------ 1 file changed, 14 insertions(+), 18 deletions(-) commit 5865d2a4b393a86180a36505419f2502433ccc00 Author: Emmanuele Bassi Date: Sun Jul 18 22:53:56 2010 +0100 cookbook: Use TESTS_DATA_DIR We need the correct location for redhand.png if we want to load it in textures-reflection. doc/cookbook/examples/textures-reflection.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit dc19e26073c52fd7810a3a7f2fd98be67d2bab3e Author: Emmanuele Bassi Date: Sun Jul 18 11:20:44 2010 +0100 cookbook: Add image and example for text-shadow doc/cookbook/text.xml | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) commit 0dac5e0557a637099bba873abba6068f4c45cefa Author: Emmanuele Bassi Date: Sun Jul 18 11:15:25 2010 +0100 cookbook: Include the textures-reflection example code Add a section at the end of the recipe containing the full code of the example. doc/cookbook/textures.xml | 44 ++++++++++++++++++++++---------------------- 1 file changed, 22 insertions(+), 22 deletions(-) commit 76d8119a7fcdbd64566d8ef16f73e50b0ae28c7f Author: Neil Roberts Date: Sat Jul 17 12:40:19 2010 +0100 cogl-material-arbfp: Use separate buffers when calling g_ascii_dtostr g_ascii_dtostr was being used in four separate arguments to g_string_append_printf but all invocations of it were using the same buffer. This would end up with all of the arguments having the same value which would depend on whichever order the compiler evaluates them in. This patches changes it to use a multi-dimensional array and a loop to fill in the separate buffers. http://bugzilla.clutter-project.org/show_bug.cgi?id=2219 clutter/cogl/cogl/cogl-material-arbfp.c | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) commit 90b74458d2ac8fcedea8f9dc3e28a3e9d9455bc7 Author: Emmanuele Bassi Date: Sun Jul 18 10:56:35 2010 +0100 cookbook: Add an empty recipe for shadows under text Currently, it's just an example and an image, but it should be easy to flesh it out properly for the "Text" chapter. doc/cookbook/Makefile.am | 1 + doc/cookbook/clutter-cookbook.xml.in | 1 + doc/cookbook/examples/.gitignore | 1 + doc/cookbook/examples/Makefile.am | 3 ++ doc/cookbook/examples/text-shadow.c | 59 ++++++++++++++++++++++++++++++++++ doc/cookbook/images/text-shadow.png | Bin 0 -> 17618 bytes doc/cookbook/text.xml | 40 +++++++++++++++++++++++ 7 files changed, 105 insertions(+) commit bb3dc013bffe387dd1532df4c0469a88ef54808a Author: Emmanuele Bassi Date: Sun Jul 18 10:53:06 2010 +0100 cookbook: Add example code The cookbook should also include fully functional code examples. We can even XInclude them into the docbook XML itself. The examples should be built with the coobook, so that we can always make sure they are up to date. configure.ac | 1 + doc/cookbook/Makefile.am | 4 + doc/cookbook/examples/.gitignore | 1 + doc/cookbook/examples/Makefile.am | 28 +++++++ doc/cookbook/examples/textures-reflection.c | 110 +++++++++++++++++++++++++++ 5 files changed, 144 insertions(+) commit 5f4f2fa3c7e95d13664e40d3e238594170df1486 Author: Emmanuele Bassi Date: Sat Jul 17 10:23:57 2010 +0100 Add gmo files to the Git ignore list .gitignore | 1 + 1 file changed, 1 insertion(+) commit 6983429e4a937d6c64beb427b137290e16db4527 Author: Emmanuele Bassi Date: Fri Jul 16 23:37:59 2010 +0100 material-arbfp: Use locale-independent double to string conversion The ARBfp programs are created with a printf() wrapper, which usually fails in non-en locales as soon as you start throwing things like floating point values in the mix. We should use the g_ascii_dtostr() function which places a double into a string buffer in a locale-independent way. http://bugzilla.clutter-project.org/show_bug.cgi?id=2219 clutter/cogl/cogl/cogl-material-arbfp.c | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) commit 6f220399ae862f49f3f2aa54ec6681e159f0a934 Author: Emmanuele Bassi Date: Fri Jul 16 17:31:27 2010 +0100 cookbook: Use the right tag for the screenshot Screenshots should be using the tag, not the
one. doc/cookbook/textures.xml | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) commit 71dfdf92d74603d4e8fc48eeb9da4a6a051d45f3 Merge: af6f023 7be6ed3 Author: Emmanuele Bassi Date: Fri Jul 16 17:23:36 2010 +0100 Merge remote branch 'elliot/cookbook-actor-opacity' Conflicts: doc/cookbook/Makefile.am commit af6f023a80dd02c39f02bd0876714129809377ec Author: Emmanuele Bassi Date: Fri Jul 16 17:20:38 2010 +0100 cookbook: Add a missing image to the list doc/cookbook/Makefile.am | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) commit e92c8d72cc32a7403735138e723f18ae6ecee19c Merge: ad1613a 489799b Author: Emmanuele Bassi Date: Fri Jul 16 17:13:12 2010 +0100 Merge remote branch 'elliot/cookbook-include-videos' * elliot/cookbook-include-videos: cookbook: Tweak so that videos sit inside a paragraph for better spacing docs: Note the P_() macro in the HACKING file cookbook: Added support for inline video Conflicts: doc/cookbook/Makefile.am commit ad1613a93670fcdf1ca2e44d1435cf0655776c25 Merge: 4170eac da22150 Author: Emmanuele Bassi Date: Fri Jul 16 17:12:37 2010 +0100 Merge remote branch 'elliot/cookbook-animation-fading' * elliot/cookbook-animation-fading: cookbook: Minor modification to wording to improve clarity cookbook: Added recipe for fading actors in/out commit 4170eacd94e73de1e25a648b9f0d94868af743a0 Author: Emmanuele Bassi Date: Fri Jul 16 17:04:31 2010 +0100 cookbook: Add a recipe for texture reflection A common request: how to create a clone of a texture that looks like a reflection. doc/cookbook/images/textures-reflection.png | Bin 0 -> 23953 bytes doc/cookbook/textures.xml | 198 +++++++++++++++++++++++++++ 2 files changed, 198 insertions(+) commit 7be6ed3334a55b7ba89d116905a603c625866c41 Author: Elliot Smith Date: Thu Jul 15 19:47:53 2010 +0100 cookbook: Added a recipe about making an actor transparent Explains how to make an actor transparent so that other actors are visible through it. Also explains a bit more generally about opacity and how it's computed from the actor, container, and color; and how actor visibility is affected by depth (fog) and depth order. doc/cookbook/Makefile.am | 5 +- doc/cookbook/actors.xml | 229 ++++++++++++++++++++ .../actors-opacity-container-affects-opacity.png | Bin 0 -> 5150 bytes doc/cookbook/images/actors-opacity.png | Bin 0 -> 5029 bytes 4 files changed, 233 insertions(+), 1 deletion(-) commit da2215049852e43e6ae42d4097d8a59825e31dab Author: Elliot Smith Date: Fri Jul 16 12:48:56 2010 +0100 cookbook: Minor modification to wording to improve clarity Text referred to three animation methods, but only provides examples for two of them; and in future there may be more/fewer than 3. So I reworded it. doc/cookbook/animations.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 962b3c68857813967c3f3fc62ca87e7e3bc9cf6d Author: Elliot Smith Date: Fri Jul 16 12:34:44 2010 +0100 cookbook: Added recipe for fading actors in/out Added a recipe showing how to fade actors in/out by animating their opacity property, using both implicit animations and ClutterState. doc/cookbook/Makefile.am | 4 + doc/cookbook/animations.xml | 128 +++++++++++++++++++- .../videos/animations-fading-in-then-out.ogv | Bin 0 -> 92403 bytes doc/cookbook/videos/animations-fading-out.ogv | Bin 0 -> 64464 bytes 4 files changed, 131 insertions(+), 1 deletion(-) commit 3aa3893a1100ec24f713f6ca8f4272e95b00e518 Author: Emmanuele Bassi Date: Fri Jul 16 12:01:42 2010 +0100 docbook: Add an introduction to the texture section doc/cookbook/textures.xml | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) commit e3de96c2043826f50380c7b10f7f8cbf9b1f55d1 Author: Emmanuele Bassi Date: Fri Jul 16 11:29:28 2010 +0100 po: Fix the LTR string translation po/zh_CN.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit a8595435b8b3e85b410abc46885402b8d34575b3 Author: Emmanuele Bassi Date: Fri Jul 16 11:23:01 2010 +0100 po: Remove unused LINGUAS file The ALL_LINGUAS variable is generated from the list of po files. po/LINGUAS | 1 - 1 file changed, 1 deletion(-) commit ec81e8d7388c3aa8ac6d5fcbff7f72deae0abe87 Author: raven Date: Fri Jul 16 11:18:02 2010 +0100 Add pl translations Signed-off-by: Emmanuele Bassi po/pl.po | 117 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 117 insertions(+) commit 9b7579d9161d0bd120bf5154a8c281ca068e97c2 Author: happyaron Date: Fri Jul 16 11:17:30 2010 +0100 Add zn_CN translations Signed-off-by: Emmanuele Bassi po/zh_CN.po | 112 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 112 insertions(+) commit 489799bb4d956c74c1a89d7ba5d82ce3a25e56f2 Author: Elliot Smith Date: Thu Jul 15 17:24:50 2010 +0100 cookbook: Tweak so that videos sit inside a paragraph for better spacing doc/common/cookbook.xsl | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) commit ec7b0b438962a60a5b269bd712724cc3e59b7795 Author: Emmanuele Bassi Date: Thu Jul 15 14:26:16 2010 +0100 docs: Note the P_() macro in the HACKING file doc/HACKING | 4 ++++ 1 file changed, 4 insertions(+) commit 1d9c64ff16cc3070405cd6a67221712cf0893b7e Author: Elliot Smith Date: Thu Jul 15 13:27:02 2010 +0100 cookbook: Added support for inline video Amended Makefile to copy content of videos directory into installation directories. Also copies videos and images into the html/ directory during the build, so that the built cookbook can be viewed locally (for testing without having to install). Added an XSLT template to transform Docbook elements into HTML 5