commit bd3b8c2349a47e537a48cc3e6d7bc4c54584af5f
Author: Emmanuele Bassi <ebassi@linux.intel.com>
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 <ebassi@linux.intel.com>
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 <ebassi@linux.intel.com>
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 <ebassi@linux.intel.com>
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 <damien.lespiau@intel.com>
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 </SECTION> 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 </SECTION> 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 <damien.lespiau@intel.com>
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 <walters@verbum.org>
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 <ebassi@linux.intel.com>

 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 <ebassi@linux.intel.com>
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 <damien.lespiau@intel.com>
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 <robert@linux.intel.com>
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 <robert@linux.intel.com>
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 <robert@linux.intel.com>
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 <robert@linux.intel.com>
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 <robert@linux.intel.com>
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 <robert@linux.intel.com>
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 <ebassi@linux.intel.com>
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 <damien.lespiau@intel.com>
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 <damien.lespiau@intel.com>
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 <ebassi@linux.intel.com>
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 <ebassi@linux.intel.com>
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 <ebassi@linux.intel.com>
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 <ebassi@linux.intel.com>
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 <ebassi@linux.intel.com>
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 <ebassi@linux.intel.com>
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 <ebassi@linux.intel.com>
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 <ebassi@linux.intel.com>
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 <ebassi@linux.intel.com>
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 <ebassi@linux.intel.com>
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 <ebassi@linux.intel.com>
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 <ebassi@linux.intel.com>
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 <ebassi@linux.intel.com>
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 <damien.lespiau@intel.com>
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 <ebassi@linux.intel.com>
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 <robert@linux.intel.com>
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 <robert@linux.intel.com>
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 <robert@linux.intel.com>
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 <robert@linux.intel.com>
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 <damien.lespiau@intel.com>
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 <damien.lespiau@intel.com>
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 <damien.lespiau@intel.com>
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 <damien.lespiau@intel.com>
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 <damien.lespiau@intel.com>
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 <damien.lespiau@intel.com>
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 <ebassi@linux.intel.com>
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 <robert@linux.intel.com>
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 <robert@linux.intel.com>
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 <neil@linux.intel.com>
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 <robert@linux.intel.com>
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 <robert@linux.intel.com>
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 <robert@linux.intel.com>
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 <robert@linux.intel.com>
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 <ebassi@linux.intel.com>
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 <neil@linux.intel.com>
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 <neil@linux.intel.com>
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 <ebassi@linux.intel.com>
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 <ebassi@linux.intel.com>
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 <ebassi@linux.intel.com>
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 <ebassi@linux.intel.com>
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 <ebassi@linux.intel.com>
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 <ebassi@linux.intel.com>
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 <ebassi@linux.intel.com>
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 <ebassi@linux.intel.com>
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 <ebassi@linux.intel.com>
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 <ebassi@linux.intel.com>
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 <ebassi@linux.intel.com>
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 <ebassi@linux.intel.com>
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 <ebassi@linux.intel.com>
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 <ebassi@linux.intel.com>
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 <ebassi@linux.intel.com>
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 <ebassi@linux.intel.com>
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 <ebassi@linux.intel.com>
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 <ebassi@linux.intel.com>
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(-)
