commit bd3b8c2349a47e537a48cc3e6d7bc4c54584af5f Author: Emmanuele Bassi Date: Mon Jun 7 23:19:02 2010 +0100 Release 1.3.4 NEWS | 38 ++++++++++++++++++++++++++++++++++++++ configure.ac | 4 ++-- 2 files changed, 40 insertions(+), 2 deletions(-) commit 4c22f122e19226ee6338c49fca0da1de50894582 Author: Emmanuele Bassi Date: Mon Jun 7 22:45:34 2010 +0100 script: Support layout manager properties Layout properties work similarly to child properties, with the added headache that they require the 3-tuple: ( layout manager, container, actor ) to be valid in order to be inspected, parsed and applied. This means using the newly added back-pointer from the container to the layout manager and then rejigging a bit how the ScriptParser handles the unresolved properties. Similarly to the child properties, which use the "child::" prefix, the layout manager properties use the "layout::" prefix and are defined with the child of a container holding a layout manager. .gitignore | 1 + clutter/clutter-script-parser.c | 160 ++++++++++++++++++++++++++- clutter/clutter-script-private.h | 1 + tests/conform/test-conform-main.c | 1 + tests/conform/test-script-parser.c | 51 +++++++++ tests/data/Makefile.am | 1 + tests/data/test-script-layout-property.json | 16 +++ 7 files changed, 225 insertions(+), 6 deletions(-) commit ab76584965ce342017052183e3d70553065ff094 Author: Emmanuele Bassi Date: Mon Jun 7 21:34:36 2010 +0100 layout-manager: Implement set_container() Store a back pointer of the layout manager inside the container using the GObject instance data. This introduces a change in the implementation of ClutterLayoutManager, though it's still binary compatible. README | 6 ++++++ clutter/clutter-bin-layout.c | 4 ++++ clutter/clutter-box-layout.c | 4 ++++ clutter/clutter-fixed-layout.c | 5 +++++ clutter/clutter-flow-layout.c | 4 ++++ clutter/clutter-layout-manager.c | 15 +++++++++++++++ clutter/clutter-private.h | 3 +++ 7 files changed, 41 insertions(+), 0 deletions(-) commit 8583986e16f46c707f8416ac740eaede7f200549 Author: Emmanuele Bassi Date: Mon Jun 7 15:45:24 2010 +0100 blur-effect: Fix loop unrolling The box blur shader was not sampling all the points for producing the desired effect. clutter/clutter-blur-effect.c | 7 ++++--- tests/interactive/test-rotate.c | 13 ++++++++++--- 2 files changed, 14 insertions(+), 6 deletions(-) commit eb3017df7e80d4a202355274f4d5077281cdc373 Author: Damien Lespiau Date: Sat Jun 5 21:05:23 2010 +0100 doc: Some fixes for the Cogl documentation • 3 general fixes (typos, copy/paste), • ignore cogl-object-private.h, • cogl_fixed_atani() was in reality cogl_fixed_atan(), fixed in commit 43564f05. • Fix the cogl-vector section: sections must have a tag at the end. Also the cogl-vector section was added in the middle of the cogl-buffer one. Let's shiffle it out and add that tag. clutter/cogl/cogl/cogl-types.h | 6 +++--- doc/reference/cogl/Makefile.am | 1 + doc/reference/cogl/cogl-sections.txt | 13 +++++++------ 3 files changed, 11 insertions(+), 9 deletions(-) commit 9a6a2a96dd17d3376ab72fc518300be9caf27e6b Author: Damien Lespiau Date: Mon May 31 21:04:53 2010 +0100 animator,state: Mark variadic functions that ends with NULL GCC can catch errors when it knows that a variadic function must be ended with NULL. Let's use the glib macro encapsulating the GCC attribute to clutter_animator_set() and clutter_state_set(). clutter/clutter-animator.h | 2 +- clutter/clutter-state.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) commit f0ded315e43758f1fc1a16a132c63c873d5b5710 Author: Colin Walters Date: Thu Jun 3 23:34:09 2010 -0400 g_source_set_name on custom sources (if available) Call g_source_set_name, if the versio of GLib is new enough. This aids debugging, using e.g. SystemTap. See https://bugzilla.gnome.org/show_bug.cgi?id=620511 for more information http://bugzilla.openedhand.com/show_bug.cgi?id=2151 Signed-off-by: Emmanuele Bassi clutter/clutter-frame-source.c | 4 ++++ clutter/clutter-master-clock.c | 3 +++ clutter/clutter-timeout-pool.c | 4 ++++ clutter/x11/clutter-event-x11.c | 4 ++++ 4 files changed, 15 insertions(+), 0 deletions(-) commit e9c4dfff9064406e1d8d7e8685850a6068ebf7fe Author: Emmanuele Bassi Date: Mon Jun 7 10:52:32 2010 +0100 Add test-cogl-object to the ignore file .gitignore | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) commit cef4c8de769fd76dbcfb9f219b6ee1f2154b13e5 Author: Damien Lespiau Date: Fri Jun 4 17:17:45 2010 +0100 build: Don't distribute clutter-version.h and cogl-defines.h As with a351ff2af earlier, distributing headers generated at configure time conflicts with out of tree builds as the distributed headers will be included first instead of including the generated ones. clutter/Makefile.am | 5 +++-- clutter/cogl/cogl/Makefile.am | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) commit f6078eca83e37a8a7c14c5a96b5d716344301a2f Author: Robert Bragg Date: Tue Jun 1 19:27:07 2010 +0100 cogl-object-private.h: white space cleanup simply replaces tabs with spaces clutter/cogl/cogl/cogl-object-private.h | 101 ++++++++++++++++--------------- 1 files changed, 51 insertions(+), 50 deletions(-) commit 457faaffb7092d56dcee37383a778fae431b6dac Author: Robert Bragg Date: Tue Jun 1 17:27:59 2010 +0100 conform: Adds a test-cogl-object conformance test This tests the new cogl_object_get/set_user_data API tests/conform/Makefile.am | 1 + tests/conform/test-cogl-object.c | 86 +++++++++++++++++++++++++++++++++++++ tests/conform/test-conform-main.c | 1 + 3 files changed, 88 insertions(+), 0 deletions(-) commit 2ce0cf3861edf89240ec9a393dee8998f7b6b100 Author: Robert Bragg Date: Tue Jun 1 18:06:47 2010 +0100 CoglObject: Adds a COGL_OBJECT macro for casting This adds a convenience COGL_OBJECT macro for casting CoglObject subclasses to (CoglObject *) pointers. clutter/cogl/cogl/cogl-object.h | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) commit e7c800dacc23c5b264a2c1e22d6ac44298670b07 Author: Robert Bragg Date: Thu May 27 22:24:56 2010 +0100 CoglObject: Adds cogl_object_{get,set}_user_data This provides a mechanism for associating private data with any CoglObject. We expect Clutter will use this to associate weak materials with normal materials. clutter/cogl/cogl/Makefile.am | 3 + clutter/cogl/cogl/cogl-handle.h | 2 +- clutter/cogl/cogl/cogl-object-private.h | 205 +++++++++++++++++++++++++ clutter/cogl/cogl/cogl-object.c | 246 +++++++++++++++++++++++++++++++ clutter/cogl/cogl/cogl-object.h | 245 ++++++++++++------------------- clutter/cogl/cogl/cogl-util.c | 61 -------- clutter/cogl/cogl/cogl.h | 1 + doc/reference/cogl/cogl-sections.txt | 6 + 8 files changed, 554 insertions(+), 215 deletions(-) commit d131602a6dbd43ccf527346a7703a3639ad36b79 Author: Robert Bragg Date: Tue Jun 1 17:53:42 2010 +0100 cogl-path: Adds missing cogl_is_path prototype This adds a missing cogl_is_path prototype to the public cogl-path.h header. clutter/cogl/cogl/cogl-path.h | 12 ++++++++++++ doc/reference/cogl/cogl-sections.txt | 1 + 2 files changed, 13 insertions(+), 0 deletions(-) commit eca26340504161b660e8a7848a8c852552cd8eac Author: Robert Bragg Date: Tue Jun 1 17:34:59 2010 +0100 cogl-path: Renames cogl_path_get/set cogl_get/set_path These aren't path methods so aren't consistent with the cogl_object_method naming style we are aiming for. clutter/cogl/cogl/cogl-clip-state.c | 2 +- clutter/cogl/cogl/cogl-path.c | 47 +++++++++++++++++---------------- clutter/cogl/cogl/cogl-path.h | 8 +++--- doc/reference/cogl/cogl-sections.txt | 4 +- tests/conform/test-cogl-path.c | 16 ++++++------ 5 files changed, 39 insertions(+), 38 deletions(-) commit 781a413362013bb8a49d668e44ff9a8c4dc31d30 Author: Emmanuele Bassi Date: Thu Jun 3 15:20:17 2010 +0100 test-drag: Add desaturation effect Use a desaturation effect on the drag handle. tests/interactive/test-drag.c | 11 ++++++++--- 1 files changed, 8 insertions(+), 3 deletions(-) commit 582f2ced5fe3eca78f6c9e04543bc622b5858196 Author: Damien Lespiau Date: Thu Jun 3 13:48:53 2010 +0100 build: Fix out of tree gtk-doc generation Various headers are build in builddirs (clutter-marshal.h, mkenums headers and cogl-define.h) so we need to add the corresponding include paths for gtk-doc to build its scanner. doc/reference/clutter/Makefile.am | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit a351ff2afc1ac44f71fabc1219e928d2214f7bf8 Author: Damien Lespiau Date: Thu Jun 3 11:59:48 2010 +0100 build: Do not distribute clutter-json.h clutter-jon.h is generated at configure time, we should not distribute it. This caused a build issue when compiling from a tarballs and out of tree builds as we ended up with two clutter-json.h one in $(top_srcdir)/json and the other in $(top_builddir)/json and picked up the wrong one ($(top_srcdir)/json is included first in the include search path). clutter/Makefile.am | 4 +++- 1 files changed, 3 insertions(+), 1 deletions(-) commit 23084b9768ee10502ef01f0c34ae7f2c64888c2b Author: Emmanuele Bassi Date: Thu Jun 3 14:34:41 2010 +0100 docs: Effects fixes for the API reference clutter/clutter-blur-effect.c | 2 +- clutter/clutter-colorize-effect.c | 4 ++-- clutter/clutter-desaturate-effect.c | 2 +- clutter/clutter-effect.c | 2 +- clutter/clutter-effect.h | 1 - clutter/clutter-shader-effect.c | 4 ++-- clutter/clutter-shader-effect.h | 2 +- doc/reference/clutter/clutter-docs.xml.in | 21 +++++++++------------ doc/reference/clutter/clutter-sections.txt | 12 ++++++++---- 9 files changed, 25 insertions(+), 25 deletions(-) commit aef2f805a67cde24746a5d4e90299f877c748e86 Author: Emmanuele Bassi Date: Thu Jun 3 14:08:59 2010 +0100 effects: Fix stacking of offscreen-based effects Stacking multiple effects sub-classing ClutterOffscreenEffect requires a small fix in the code that computes the screen coordinates of the actor to position the FBO correctly with regards to the stage. clutter/clutter-offscreen-effect.c | 12 ++++++++++++ tests/interactive/test-rotate.c | 1 + 2 files changed, 13 insertions(+), 0 deletions(-) commit 8ef4d9fe21b8f1ef4d9bad3d8317239ab59e2714 Author: Emmanuele Bassi Date: Tue Jun 1 14:45:55 2010 +0100 actor: Add "effects" to the animatable metas Since ClutterEffect is an ActorMeta it should be possible to animate the properties of named effects using the @effects syntax, just like it happens for actions and constraints. clutter/clutter-actor.c | 6 +++++- tests/interactive/test-rotate.c | 13 ++++++++----- 2 files changed, 13 insertions(+), 6 deletions(-) commit 0e9a1dee6dde18e7fe6d92960987baa933826937 Author: Emmanuele Bassi Date: Mon May 17 12:55:46 2010 +0100 shader-effect: Simplify setting the shader source Sub-classes of ShaderEffect currently have to get the handle for the Cogl shader and call cogl_shader_source(); this makes it awkward to implement a ShaderEffect, and it exposes handles and Cogl API that we might want to change in the future. We should provide a ClutterShaderEffect method that allows to (safely) set the shader source at the right time for sub-classes to use. clutter/clutter-blur-effect.c | 13 +---- clutter/clutter-colorize-effect.c | 15 +--- clutter/clutter-desaturate-effect.c | 15 +---- clutter/clutter-shader-effect.c | 116 +++++++++++++++++++---------------- clutter/clutter-shader-effect.h | 25 ++++--- 5 files changed, 82 insertions(+), 102 deletions(-) commit f2caafa127a42f5b10454407d52eb6b8bd64876d Author: Emmanuele Bassi Date: Wed Apr 21 11:30:06 2010 +0100 docs: Add Effects API to the reference doc/reference/clutter/clutter-docs.xml.in | 12 +++ doc/reference/clutter/clutter-sections.txt | 105 ++++++++++++++++++++++++++++ doc/reference/clutter/clutter.types | 6 ++ 3 files changed, 123 insertions(+), 0 deletions(-) commit a3e8e0025a9aed83091d28a8f4fe63cfb81bfd07 Author: Emmanuele Bassi Date: Fri Apr 16 12:33:20 2010 +0100 effect: Rework the OffscreenEffect painting The OffscreenEffect should set up the off screen draw buffer so that it has the same projection and modelview as if it where on screen; we achieve that by setting up the viewport to be the same size of the stage but with an initial offset given by the left-most vertex of the actor. When we paint the texture attached to the FBO we then set up the modelview matrix of the on screen draw buffer so that it's the same as the stage one: this way, the texture will be painted in screen coordinates and it will occupy the same area as the actor would have had. clutter/clutter-offscreen-effect.c | 304 ++++++++++++++++++++++++++---------- clutter/clutter-offscreen-effect.h | 14 ++- 2 files changed, 230 insertions(+), 88 deletions(-) commit b4f8ba0f737212b9a7b734ab7fcd015f7def9161 Author: Emmanuele Bassi Date: Wed Apr 14 00:40:24 2010 +0100 effect: Add ColorizeEffect A copy of DesaturateEffect that converts to grayscale and applies a user-defined tint to the render target. clutter/Makefile.am | 2 + clutter/clutter-colorize-effect.c | 290 +++++++++++++++++++++++++++++++++++++ clutter/clutter-colorize-effect.h | 62 ++++++++ clutter/clutter.h | 1 + 4 files changed, 355 insertions(+), 0 deletions(-) commit 73a773d37ab3c2ba6772acf6347a82d75a601901 Author: Emmanuele Bassi Date: Fri Apr 9 16:14:21 2010 +0100 effect: Add DesaturateEffect A simple shader-based effect that desaturates an actor and its contents based on a controllable factor. clutter/Makefile.am | 2 + clutter/clutter-desaturate-effect.c | 309 +++++++++++++++++++++++++++++++++++ clutter/clutter-desaturate-effect.h | 60 +++++++ clutter/clutter.h | 1 + tests/interactive/test-rotate.c | 2 +- 5 files changed, 373 insertions(+), 1 deletions(-) commit 5a5b21446c33d131885832c0b65a2227ad5c6955 Author: Emmanuele Bassi Date: Thu Apr 8 18:46:54 2010 +0100 effect: Add BlurEffect A simple, GLSL shader-based blur effect. The blur shader is taken straight from the test-shader.c interactive test case. It's a fairly clunky, inefficient and visually incorrect implementation of a box blur, but it's all we have right now until I figure out a way to do multi-pass shading with the current API. clutter/Makefile.am | 2 + clutter/clutter-blur-effect.c | 244 +++++++++++++++++++++++++++++++++++++++++ clutter/clutter-blur-effect.h | 56 ++++++++++ clutter/clutter.h | 1 + 4 files changed, 303 insertions(+), 0 deletions(-) commit c260da79e318d64927ee6fad0cf6bd2e6971d097 Author: Emmanuele Bassi Date: Tue Apr 13 16:40:31 2010 +0100 effect: Add ShaderEffect The ShaderEffect class is an abstract base type for shader-based effects. GLSL-based effects should be implemented by sub-classing ShaderEffect and overriding ActorMeta::set_actor() to set the source code of the shader, and Effect::pre_paint() to update the uniform values, if any. The ShaderEffect has a generic API for sub-classes to set the values of the uniforms defined by their shaders, and it uses the shader types we defined for ClutterShader, to avoid re-inventing the wheel every time. clutter/Makefile.am | 2 + clutter/clutter-shader-effect.c | 759 +++++++++++++++++++++++++++++++++++++++ clutter/clutter-shader-effect.h | 101 ++++++ clutter/clutter.h | 1 + 4 files changed, 863 insertions(+), 0 deletions(-) commit c3ab32ae6887a222472f4fc9025437ab91d0bbce Author: Emmanuele Bassi Date: Mon May 17 11:39:27 2010 +0100 effect: Add OffscreenEffect The OffscreenEffect class is meant to be used to implement Effect sub-classes that create an offscreen framebuffer and redirect the actor's paint sequence there. The OffscreenEffect is useful for effects using fragment shaders. Any shader-based effect being applied to an actor through an offscreen buffer should be used before painting the resulting target material and not for every actor. This means that doing: pre_paint: cogl_program_use(program) set up offscreen buffer paint: [ actors ] → offscreen buffer → target material post_paint: paint target material cogl_program_use(null) Is not correct. Unfortunately, we cannot really do: post_paint: cogl_program_use(program) paint target material cogl_program_use(null) Because the OffscreenEffect::post_paint() implementation also pops the offscreen buffer and re-instates the previous framebuffer: post_paint: cogl_program_use(program) change frame buffer ← ouch! paint target material cogl_program_use(null) One way to fix it is to allow using the shader right before painting the target material - which means adding a new virtual inside the OffscreenEffect class vtable in additions to the ones defined by the parent Effect class. The newly-added paint_target() virtual allows the correct sequence of actions by adding an entry point for sub-classes to wrap the "paint target material" operation with custom code, in order to implement the case above correctly as: post_paint: change frame buffer cogl_program_use(program) paint target material cogl_program_use(null) The added upside is that sub-classes of OffscreenEffect involving shaders really just need to override the prepare() and paint_target() virtuals, since the pre_paint() and post_paint() do all that's needed. clutter/Makefile.am | 2 + clutter/clutter-offscreen-effect.c | 336 ++++++++++++++++++++++++++++++++++++ clutter/clutter-offscreen-effect.h | 96 ++++++++++ clutter/clutter.h | 1 + 4 files changed, 435 insertions(+), 0 deletions(-) commit a86f1b45bbdd1d00b1257ef80c5c60154871bfda Author: Emmanuele Bassi Date: Thu Apr 8 10:55:15 2010 +0100 Add the ClutterEffect abstract class ClutterEffect is an abstract class that should be used to apply effects on generic actors. The ClutterEffect class just defines what an effect should implement; it could be defined as an interface, but we might want to add some default behavior dependent on the internal state at a later point. The effect API applies to any actor, so we need to provide a way to assign an effect to an actor, and let ClutterActor call the Effect methods during the paint sequence. Once an effect is attached to an actor we will perform the paint in this order: • Effect::pre_paint() • Actor::paint signal emission • Effect::post_paint() Since an effect might collide with the Shader class, we either allow a shader or an effect for the time being. clutter/Makefile.am | 6 +- clutter/clutter-actor.c | 322 ++++++++++++++++++++++++++++++++++++--- clutter/clutter-actor.h | 5 +- clutter/clutter-effect.c | 232 ++++++++++++++++++++++++++++ clutter/clutter-effect.h | 110 +++++++++++++ clutter/clutter-private.h | 4 + clutter/clutter.h | 1 + tests/interactive/test-rotate.c | 4 +- 8 files changed, 654 insertions(+), 30 deletions(-) commit 5ffbcbe9ee7d0b74bc5048fafd2ea15ee0486a58 Author: Emmanuele Bassi Date: Mon Apr 19 12:32:15 2010 +0100 actor: Reset the modelview matrix When getting the relative modelview matrix we need to reset it to the stage's initial state or, at least, initialize it to the identity matrix, instead of assuming we have an empty stack. clutter/clutter-actor.c | 47 +++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 45 insertions(+), 2 deletions(-) commit 6eba218807b0401c0e12e045ea08cdcfe057350d Author: Damien Lespiau Date: Thu Jun 3 11:33:54 2010 +0100 build: Distribute cogl-object.h cogl-object.h is a new public header. Include it in the right list of source files to have it distributed. clutter/cogl/cogl/Makefile.am | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) commit 91220c4b46fe75b21b4ebd99a63fd796f6fc56b0 Author: Emmanuele Bassi Date: Tue Jun 1 14:14:41 2010 +0100 docs: Miscellaneous fixes to silence gtk-doc clutter/clutter-texture.c | 3 +- clutter/cogl/cogl/cogl.h | 29 +++++++++++++-------------- doc/reference/clutter/clutter-sections.txt | 6 +++++ 3 files changed, 22 insertions(+), 16 deletions(-) commit 311db34d08a52408f1efec74c9de43f9d153219f Author: Robert Bragg Date: Fri May 28 01:01:28 2010 +0100 clip_stack: Remove use of CoglHandle in the CoglClipStack API This replaces the use of CoglHandle with strongly type CoglClipStack * pointers instead. The only function not converted for now is cogl_is_clip_stack which will be done in a later commit. clutter/cogl/cogl/cogl-clip-stack.c | 64 +++++++++++++++-------------------- clutter/cogl/cogl/cogl-clip-stack.h | 26 ++++++++------ 2 files changed, 41 insertions(+), 49 deletions(-) commit 29da1d0d3e0d1f3c9a9a965b2b9290faa6d0c3db Author: Robert Bragg Date: Fri May 28 00:51:40 2010 +0100 bitmap: Remove use of CoglHandle in the CoglBitmap API This replaces the use of CoglHandle with strongly type CoglBitmap * pointers instead. The only function not converted for now is cogl_is_bitmap which will be done in a later commit. clutter/cogl/cogl/cogl-bitmap-private.h | 4 ++-- clutter/cogl/cogl/cogl-bitmap.c | 6 +++--- clutter/cogl/cogl/cogl-bitmap.h | 8 +++++--- 3 files changed, 10 insertions(+), 8 deletions(-) commit f3f268b0cdc9e8113b0dee9eb28eca309823f544 Author: Robert Bragg Date: Fri May 28 00:35:47 2010 +0100 path: Remove use of CoglHandle in the CoglPath API This replaces the use of CoglHandle with strongly type CoglPath * pointers instead. The only function not converted for now is cogl_is_path which will be done in a later commit. clutter/cogl/cogl/cogl-path-private.h | 5 +-- clutter/cogl/cogl/cogl-path.c | 52 +++++++++++++++----------------- clutter/cogl/cogl/cogl-path.h | 41 ++++++++++++++------------ clutter/cogl/cogl/cogl.c | 10 +++--- 4 files changed, 53 insertions(+), 55 deletions(-) commit 250d82cd3fdf4cfa2b8cc5ad93cc4577a1daa2e3 Author: Robert Bragg Date: Tue Jun 1 11:50:02 2010 +0100 cogl: avoid ‘_cogl_xyz_handle_new’ defined but not used warnings This patch makes it so that only the backwards compatibility COGL_HANDLE_DEFINE macro defines a _cogl_xyz_handle_new function. The new COGL_OBJECT_DEFINE macro only defines a _cogl_xyz_object_new function. clutter/cogl/cogl/cogl-object.h | 18 ++++++++++-------- 1 files changed, 10 insertions(+), 8 deletions(-) commit 43564f05a6cc76995ff540b6cb24badd4f1d1710 Author: Damien Lespiau Date: Thu May 27 13:30:07 2010 +0100 analysis: Fix some CoglFixed API 2 functions where not correctly defined/documented, use the actual symbol name instead. clutter/cogl/cogl/cogl-fixed.h | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) commit 653a8a78744a6be0ccc69ec7413d6d55cc3940e8 Author: Damien Lespiau Date: Thu May 27 13:28:43 2010 +0100 analysis: Use static functions when possible It's best to ensure the functions only used in one compilation unit are marked as static so GCC can inline them if it feels like it. clutter/clutter-bezier.c | 2 +- clutter/cogl/cogl/cogl-clip-stack.c | 2 +- clutter/cogl/cogl/cogl-clip-state.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) commit 3161e92818366aedc106329675a7dd9ac2bffd10 Author: Damien Lespiau Date: Thu May 27 12:18:29 2010 +0100 analysis: Make all function declarations be protoypes It's valid C to declare a function omitting it prototype, but it seems to be a good practise to always declare a function with its corresponding prototype. clutter/clutter-bezier.c | 2 +- clutter/cogl/cogl/cogl-context.c | 4 ++-- tests/interactive/test-cogl-primitives.c | 14 +++++++------- tests/interactive/test-project.c | 4 ++-- tests/micro-bench/test-text-perf.c | 2 +- 5 files changed, 13 insertions(+), 13 deletions(-) commit 83b7801e496f13ad7ecd615ce8fcd09c1fef44d4 Author: Damien Lespiau Date: Thu May 27 09:23:26 2010 +0100 analysis: Fix the "key-press-event" callback signature We were returning FALSE in a function declared as returning a gpointer. Turns out that the function should return a gboolea instead. tests/interactive/test-clip.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit ec59af290cfd6813ff4df37994067de5cea2f1c4 Author: Damien Lespiau Date: Thu May 27 09:07:11 2010 +0100 analysis: None used in pointer context While this is totally fine (None is 0L and, in the pointer context, will be converted in the right internal NULL representation, which could be a value with some bits to 1), I believe it's clearer to use NULL instead of None when we talk about pointers. clutter/glx/clutter-backend-glx.c | 16 ++++++++-------- clutter/x11/clutter-backend-x11.c | 2 +- tests/interactive/test-pixmap.c | 2 +- 3 files changed, 10 insertions(+), 10 deletions(-) commit 52a78a7220650f4d8b1da75ff942cfede1248d20 Author: Damien Lespiau Date: Thu May 27 08:28:29 2010 +0100 analysis: FALSE/0 used in pointer context While this is totally fine (0 in the pointer context will be converted in the right internal NULL representation, which could be a value with some bits to 1), I believe it's clearer to use NULL in the pointer context. It seems that, in most case, it's more an overlook than a deliberate choice to use FALSE/0 as NULL, eg. copying a _COGL_GET_CONTEXT (ctx, 0) or a g_return_val_if_fail (cond, 0) from a function returning a gboolean. clutter/clutter-actor.c | 2 +- clutter/clutter-backend.c | 4 ++-- clutter/clutter-path.c | 2 +- clutter/clutter-script-parser.c | 2 +- clutter/clutter-script.c | 4 ++-- clutter/clutter-shader-types.c | 6 +++--- clutter/cogl/cogl/cogl-buffer.c | 2 +- clutter/cogl/cogl/cogl-journal.c | 2 +- clutter/cogl/cogl/cogl-path.c | 4 ++-- clutter/cogl/cogl/cogl-texture-2d-sliced.c | 2 +- clutter/cogl/cogl/cogl-vertex-buffer.c | 14 +++++++------- clutter/cogl/cogl/driver/gl/cogl-program.c | 2 +- clutter/x11/clutter-x11-texture-pixmap.c | 8 ++++---- 13 files changed, 27 insertions(+), 27 deletions(-) commit 9d428278f7b073f4221113026a18aaf4a6e25420 Author: Emmanuele Bassi Date: Sun May 30 15:24:18 2010 +0100 Update git ignore file .gitignore | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) commit e2fc489f0849d0295297d5702b815d853ff35135 Author: Robert Bragg Date: Thu May 27 23:40:40 2010 +0100 buffer: Remove use of CoglHandle in the CoglBuffer API This replaces the use of CoglHandle with strongly type CoglBuffer * pointers instead. The only function not converted for now is cogl_is_buffer which will be done in a later commit. clutter/cogl/cogl/cogl-buffer-private.h | 1 - clutter/cogl/cogl/cogl-buffer.c | 62 ++++++++++++------------------ clutter/cogl/cogl/cogl-buffer.h | 58 +++++++++++++++-------------- 3 files changed, 55 insertions(+), 66 deletions(-) commit a8c8cbee5139427f4daf222e2f3b98276d1507b5 Author: Robert Bragg Date: Thu May 27 23:31:40 2010 +0100 Start eradicating the CoglHandle typedef CoglHandle is a common source of complaints and confusion because people expect a "handle" to be some form of integer type with some indirection to lookup the corresponding objects as opposed to a direct pointer. This patch starts by renaming CoglHandle to CoglObject * and creating corresponding cogl_object_ APIs to replace the cogl_handle ones. The next step though is to remove all use of CoglHandle in the Cogl APIs and replace with strongly typed pointer types such as CoglMaterial * or CoglTexture * etc also all occurrences of COGL_INVALID_HANDLE can just use NULL instead. After this we will consider switching to GTypeInstance internally so we can have inheritance for our types and hopefully improve how we handle bindings. Note all these changes will be done in a way that maintains the API and ABI. clutter/cogl/cogl/cogl-handle.h | 140 ++---------------------------- clutter/cogl/cogl/cogl-object.h | 183 +++++++++++++++++++++++++++++++++++++++ clutter/cogl/cogl/cogl-types.h | 21 +++++ clutter/cogl/cogl/cogl-util.c | 43 +++++++--- 4 files changed, 244 insertions(+), 143 deletions(-) commit a4fc5074faa3cda9d1c920ac94fe46e310a4ee2d Author: Neil Roberts Date: Fri May 28 18:12:53 2010 +0100 cogl-texture-2d: Regenerate the mipmaps when the texture is modified When the texture is modified by cogl_texture_set_region, it wasn't setting mipmaps_dirty so it would never update the mipmaps. clutter/cogl/cogl/cogl-texture-2d.c | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) commit d0c743787d9f430e50fdda9df1c3ad4462e79cad Author: Robert Bragg Date: Fri May 28 17:11:31 2010 +0100 texture: don't use a static bool to gate warning in create_pick_material we were using a static boolean to gate when we show a warning, but that would mean if the problem recurs between different textures then the warning will only be shown once. We now have a private bitfield flag instead, just so we don't spew millions of warnings if the problem is recurring. clutter/clutter-texture.c | 9 ++++++--- 1 files changed, 6 insertions(+), 3 deletions(-) commit 589c8d957934dfa7413395df9cdd153a379402d0 Author: Robert Bragg Date: Fri Sep 25 19:14:40 2009 +0100 [texture] Support picking textures according to their alpha channel This adds a boolean "pick-with-alpha" property to ClutterTexture and when true, it will use the textures alpha channel to define the actors shape when picking. Users should be aware that it's a bit more expensive to pick textures like this (so probably best not to blindly enable it on *all* your textures) since it implies rasterizing the texture during picking whereas we would otherwise just send a solid filled quad to the GPU. It will also interrupt the internal batching of geometry for pick renders which can otherwise often be done in a single draw call. clutter/clutter-texture.c | 243 ++++++++++++++++++++++++++++++---- clutter/clutter-texture.h | 4 + tests/conform/Makefile.am | 1 + tests/conform/test-clutter-texture.c | 89 +++++++++++++ tests/conform/test-conform-main.c | 1 + 5 files changed, 312 insertions(+), 26 deletions(-) commit 8ded6663fb7e0155acb72dedbea6d490856ee156 Author: Robert Bragg Date: Fri Sep 25 19:04:13 2009 +0100 [material] fix _set_alpha_test_function: missing a glEnable(GL_ALPHA_TEST) Since the default alpha test function of GL_ALWAYS is equivalent to GL_ALPHA_TEST being disabled we don't need to worry about Enabling/Disabling it when flushing material state, instead it's enough to leave it always enabled. We will assume that any driver worth its salt wont incur any additional cost for glEnable (GL_ALPHA_TEST) + GL_ALWAYS vs glDisable (GL_ALPHA_TEST). This patch simply calls glEnable (GL_ALPHA_TEST) in cogl_create_context clutter/cogl/cogl/cogl-context.c | 6 ++++++ 1 files changed, 6 insertions(+), 0 deletions(-) commit 3f64f57830b835d31c2cbce61eb854d9d055ccdd Author: Robert Bragg Date: Wed Sep 23 19:04:03 2009 +0100 [texture] remove redundant if (paint_opacity == 0) bailout clutter_texture_paint shouldn't need to optimize the case where paint_opacity == 0 and bailout, since we've been doing this optimization for all actors in clutter_actor_paint for a while now. clutter/clutter-texture.c | 8 -------- 1 files changed, 0 insertions(+), 8 deletions(-) commit dfe6eb1e5116603f7702e06058550def56df12ad Author: Emmanuele Bassi Date: Thu May 27 16:32:32 2010 +0100 test-scrolling: Use a better looking bounce easing tests/interactive/test-scrolling.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) commit aa53dccfce2a425d309d7be99cd2cd6e771c92be Author: Neil Roberts Date: Thu May 27 14:54:14 2010 +0100 cogl-vertex-buffer: Don't disable any texture coord arrays The enabled state of the texture coord arrays is cached in the cogl context so there is no need to disable them when we've finished rendering a vbo. clutter/cogl/cogl/cogl-vertex-buffer.c | 8 +++++--- 1 files changed, 5 insertions(+), 3 deletions(-) commit 401892af1188073dc3107832b8e2e908c5c0e79e Author: Neil Roberts Date: Thu May 27 14:51:44 2010 +0100 cogl: Record new enabled arrays in _cogl_disable_other_texcoord_arrays When _cogl_disable_other_texcoord_arrays is called it disables the neccessary texcoord arrays and then removes the bits for the disabled arrays in ctx->texcoord_arrays_enabled. However none of the places that call the function then set any bits in ctx->texcoord_arrays_enabled so the arrays would never get marked and they would never get disabled again. This patch just changes it so that _cogl_disable_other_texcoord_arrays also sets the corresponding bits in ctx->texcoord_arrays_enabled. clutter/cogl/cogl/cogl-internal.h | 3 ++- clutter/cogl/cogl/cogl.c | 1 + 2 files changed, 3 insertions(+), 1 deletions(-) commit aab411bde4757340d5d38231d85e44136fc121ad Author: Emmanuele Bassi Date: Thu May 27 12:32:45 2010 +0100 test-scrolling: Animate intermediate positions Animating intermediate positions in the viewport panning is a neat effect. tests/interactive/test-scrolling.c | 32 ++++++++++++++++++++++++++++---- 1 files changed, 28 insertions(+), 4 deletions(-) commit b77c0c91d76f56f9c9c032ccec5c04c0ab37aeae Author: Emmanuele Bassi Date: Thu May 27 12:30:22 2010 +0100 drag-action: Re-use press_button in emit_drag_end() Since emit_drag_end() can be called from a MOTION event capture we cannot call clutter_event_get_button(). We should, instead, use the press_button value because if we're emitting ::drag-end it means we also emitted ::drag-begin and the value is valid. clutter/clutter-drag-action.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit 346ebce57385eeee593ee51796274e7fbb9298e6 Author: Emmanuele Bassi Date: Wed May 26 16:09:47 2010 +0100 actor: Add accessors pair for :clip-to-allocation We should have an accessors pair for the :clip-to-allocation property, to avoid going through the generic GObject accessors. clutter/clutter-actor.c | 56 +++++++++++++++++++++++++-- clutter/clutter-actor.h | 3 + doc/reference/clutter/clutter-sections.txt | 2 + tests/interactive/test-scrolling.c | 4 +- 4 files changed, 58 insertions(+), 7 deletions(-) commit 6ea56f11605005175cdbbd532fd7ebbea80c372c Author: Emmanuele Bassi Date: Wed May 26 15:58:15 2010 +0100 Add a scrolling interactive example We can use a container with :clip-to-allocation set to TRUE and a DragAction to create a panning viewport. .gitignore | 1 + tests/interactive/Makefile.am | 3 +- tests/interactive/test-scrolling.c | 107 ++++++++++++++++++++++++++++++++++++ 3 files changed, 110 insertions(+), 1 deletions(-) commit 823251c159366a566fbdae7ffff129b61a9acca4 Author: Emmanuele Bassi Date: Wed May 26 14:18:19 2010 +0100 Use ClickAction in test-animation Instead of using ::button-press-event. tests/interactive/test-animation.c | 18 +++++++++--------- 1 files changed, 9 insertions(+), 9 deletions(-) commit 5677cf671cbca78361c3a4606790d8dcc6ddbc40 Author: Emmanuele Bassi Date: Wed May 26 14:16:48 2010 +0100 actor: Fix a type check thinko in add_action_with_name() clutter/clutter-actor.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit 09659ea18d0b534ba9645cbf05ca510aa702ebcf Author: Emmanuele Bassi Date: Wed May 26 14:09:24 2010 +0100 docs: Description fixes for Action and Constraint clutter/clutter-action.c | 14 ++++++++------ clutter/clutter-actor-meta.c | 1 + clutter/clutter-constraint.c | 6 +++++- 3 files changed, 14 insertions(+), 7 deletions(-) commit 9510cbbad290cc8edd3b602991e57f98989a86ce Author: Emmanuele Bassi Date: Wed May 26 13:43:42 2010 +0100 state: Minor fixes and documentation additions Clean up the code a bit, and move common code paths into separate function. Also, document clutter_state_set() with examples. clutter/clutter-state.c | 298 ++++++++++++++++++++++++++++++----------------- 1 files changed, 189 insertions(+), 109 deletions(-) commit 7a299e9b470f3feb9e8cb674815ebfd288d638f5 Author: Emmanuele Bassi Date: Wed May 26 13:40:18 2010 +0100 introspection: Add --pkg atk We need to tell the introspection scanner all the dependencies we require, including the pkg-config name to use when compiling the GIR file into a typelib object. clutter/Makefile.am | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) commit e2bbf7f3620899b3283b4d76879d01a599733144 Author: Emmanuele Bassi Date: Tue May 25 13:27:29 2010 +0100 click-action: Handle the event In case we did handle the event, we should return TRUE from the ::event signal handler. clutter/clutter-click-action.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit cfb05bfb097fc5a9b61fed0f855792b6c8064822 Author: Emmanuele Bassi Date: Tue May 25 13:10:38 2010 +0100 docs: Fix DragAction documentation The ::drag-motion signal does not have a ModifierType argument; also, there's no need to connect to the ::drag-motion signal any more. clutter/clutter-drag-action.c | 34 +++++++++++----------------------- clutter/clutter-drag-action.h | 3 +-- 2 files changed, 12 insertions(+), 25 deletions(-) commit 5a531bd1c9324704bac315bb53e907f9867f5a4e Author: Emmanuele Bassi Date: Tue May 25 13:03:24 2010 +0100 Fix typo in get_accessible() clutter/clutter-actor.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit 7bf93e3e84716a486073194e1fc7a87cb483ab8a Author: Emmanuele Bassi Date: Tue May 25 12:54:59 2010 +0100 actor: Put get_accessible() at the end of the class structure New virtual functions cannot go wherever they want, if we need to preserve the ABI. Also, the coding style should match the rest of ClutterActor and Clutter's own coding style. clutter/clutter-actor.c | 29 ++++++++++------------------- clutter/clutter-actor.h | 8 ++++---- 2 files changed, 14 insertions(+), 23 deletions(-) commit b0c0f24bd22aeb8cbb333b99c44a5631966956f0 Author: Emmanuele Bassi Date: Tue May 25 11:53:59 2010 +0100 docs: Add ClickAction to the API reference And clean up the reference index. doc/reference/clutter/clutter-docs.xml.in | 7 ++- doc/reference/clutter/clutter-sections.txt | 20 ++++++++ doc/reference/clutter/clutter.types | 74 ++++++++++++++-------------- 3 files changed, 61 insertions(+), 40 deletions(-) commit 7c627e1e0381082aafc2b8acc1fdc7d149c4b3f5 Author: Emmanuele Bassi Date: Mon May 24 11:30:17 2010 +0100 actor-meta: Disconnect on actor destroy When destroying an Actor the various ActorMeta instance should already be disposed - unless something is holding a reference to them, in which case we should use the ::destroy signal to unset the ActorMeta:actor back pointer. clutter/clutter-actor-meta.c | 22 ++++++++++++++++++++++ 1 files changed, 22 insertions(+), 0 deletions(-) commit f6fce05ee94320db0ffbf4eab12e5fd86777ac92 Author: Emmanuele Bassi Date: Mon May 24 10:41:19 2010 +0100 action: Add ClickAction ClickAction adds "clickable" semantics to an actor. It provides all the business logic to emit a high-level "clicked" signal from the various low-level signals inside ClutterActor. clutter/Makefile.am | 2 + clutter/clutter-click-action.c | 309 ++++++++++++++++++++++++++++++++++++++++ clutter/clutter-click-action.h | 97 +++++++++++++ clutter/clutter.h | 1 + 4 files changed, 409 insertions(+), 0 deletions(-) commit 728e2d807102131fa1dedd646016cccb9d4e6128 Author: Emmanuele Bassi Date: Tue May 25 11:01:46 2010 +0100 drag: Add a default drag-motion behaviour The DragAction should, by default, drag the actor to which it has been applied, instead of delegating what to do to the developer. If custom code need to override it, g_signal_stop_emission_by_name() can be called to stop the default handler to ever running. clutter/clutter-drag-action.c | 25 +++++++++++++++++++++++++ tests/interactive/test-drag.c | 16 ---------------- 2 files changed, 25 insertions(+), 16 deletions(-) commit d2e91c99351c820787382efc97c3465b5ab1be7f Author: Emmanuele Bassi Date: Mon May 24 16:57:35 2010 +0100 Post-release version bump to 1.3.3 configure.ac | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-)