# Generated by configure.  Do not edit.

commit 6d7e1e5434d3da27cf23a9c16f9990523eedba4e
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Sun Jan 3 20:11:43 2010 +0000

    Release Clutter 1.1.4

 NEWS         |   56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 configure.ac |    4 ++--
 2 files changed, 58 insertions(+), 2 deletions(-)

commit 3355c2ab2518711d7ab79f3ffe1f4a8ce105af84
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Sun Jan 3 20:24:39 2010 +0000

    build: Remove dist rule for non-existing image files

 doc/cookbook/Makefile.am |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 8d40cb947031f90a7b8cf459720278c6a6fe295d
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Sun Jan 3 20:12:49 2010 +0000

    Disable g_set_prgname()
    
    Apparently, calling g_set_prgname() multiple times is not allowed
    anymore, and hence clutter_init_* calls should not do that. Though this
    is really GLib's fault - and a massive nuisance for us - we should
    prolly comply to avoid the test suite dying on us.

 clutter/clutter-main.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

commit 3d350078a8aa6f1bdf38c12de62e2708c5369247
Merge: a09ac0b 934eee1
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Dec 23 10:38:02 2009 +0000

    Merge branch 'animate-layout-manager' into ebassi-next
    
    * animate-layout-manager:
      layout-manager: Document the animation support
      layout-manager: Rewind the timeline in begin_animation()
      box-layout: Remove the allocations hash table
      docs: Clean up the README file
      layout: Let begin_animation() return the Alpha
      box-layout: Add knobs for controlling animations
      box-layout: Animate layout properties
      layout: Add animation support to LayoutManager
      Add ActorBox animation methods

commit 934eee17ae34098773ff5876747061b5a1d1f1a5
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Dec 23 10:35:16 2009 +0000

    layout-manager: Document the animation support
    
    Add a section inside the LayoutManager class API reference documenting,
    with examples, how to implement animation support inside a layout
    manager sub-class.

 clutter/clutter-layout-manager.c |  213 +++++++++++++++++++++++++++++++++----
 1 files changed, 190 insertions(+), 23 deletions(-)

commit 713c2952410e99e681825dac51da3e0b575ef2cf
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Dec 23 08:39:16 2009 +0000

    layout-manager: Rewind the timeline in begin_animation()
    
    If the default implementation begin_animation() is called twice then we
    should rewind the timeline, as well as updating its duration and the
    easing mode of the alpha.

 clutter/clutter-layout-manager.c |    8 ++++++--
 1 files changed, 6 insertions(+), 2 deletions(-)

commit b9c1de0ec7001ce6a6b62dbd8d1fd9ee15539093
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Dec 23 08:34:08 2009 +0000

    box-layout: Remove the allocations hash table
    
    The BoxLayout uses a HashTable to map the latest stable allocation of
    each child, in order to use that as the initial value during an
    animation; this in spite of already having a perfectly valid per-child
    storage as part of the layout manager: ClutterBoxChild.
    
    The last stable allocation should be stored inside the ClutterBoxChild
    instead of having it in the private data for ClutterBoxLayout. The
    access remains O(1), since there is a 1:1 mapping between child and
    BoxChild instances, but we save a little bit of memory and we avoid
    keeping aroud allocations for old children.

 clutter/clutter-box-layout.c |   47 ++++++++++++++++++-----------------------
 1 files changed, 21 insertions(+), 26 deletions(-)

commit c8c5e0ee39626d434c2d3e5486c6520eff17f519
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Dec 22 18:10:39 2009 +0000

    docs: Clean up the README file

 README |  137 ++++++++++++++++++++++++++++++++++++++-------------------------
 1 files changed, 83 insertions(+), 54 deletions(-)

commit a09ac0b27ccb4a9c08a4e42e00776bf627f0e163
Merge: b6bd8be 3491337
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Sun Dec 20 17:39:12 2009 +0000

    Merge branch 'stage-use-alpha' into ebassi-next
    
    * stage-use-alpha:
      tests: Use accessor methods for :use-alpha
      stage: Add accessors for :use-alpha
      tests: Allow setting the stage opacity in test-paint-wrapper
      stage: Premultiply the stage color
      stage: Composite the opacity with the alpha channel
      glx: Always request an ARGB visual
      stage: Add :use-alpha property
      materials: Get the right blend function for alpha

commit b6bd8be6cb0fabf2ddf3eedadce68c8d3a60c3d9
Merge: 7b53aa7 c7e8ddb
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Sun Dec 20 17:33:51 2009 +0000

    Merge branch 'internal-flag' into ebassi-next
    
    * internal-flag:
      conform: Add test unit for the destruction of Containers
      actor: Add internal child flag
      Clean up whitespace, indentation and comments

commit c7e8ddb7a60dd76d5f62027383693575f30e2473
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Dec 18 23:29:11 2009 +0000

    conform: Add test unit for the destruction of Containers
    
    Verify that internal children do not go through the remove()
    implementation, and that non-internal children do.

 .gitignore                         |    1 +
 tests/conform/Makefile.am          |    1 +
 tests/conform/test-actor-destroy.c |  168 ++++++++++++++++++++++++++++++++++++
 tests/conform/test-conform-main.c  |    1 +
 4 files changed, 171 insertions(+), 0 deletions(-)

commit 1520ba6190165dc8902b622833efbccf23716751
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Dec 18 23:20:04 2009 +0000

    actor: Add internal child flag
    
    ClutterActor checks, when destroying and reparenting, if the parent
    actor implements the Container interface, and automatically calls the
    remove() method to perform a clean removal.
    
    Actors implementing Container, though, might have internal children;
    that is, children that are not added through the Container API. It is
    already possible to iterate through them using the Container API to
    avoid breaking invariants - but calling clutter_actor_destroy() on
    these children (even from the Container implementation, and thus outside
    of Clutter's control) will either lead to leaks or to segmentation
    faults.
    
    Clutter needs a way to distinguish a clutter_actor_set_parent() done on
    an internal child from one done on a "public" child; for this reason, a
    push/pop pair of functions should be available to Actor implementations
    to mark the section where they wish to add internal children:
    
      ➔ clutter_actor_push_internal ();
        ...
        clutter_actor_set_parent (child1, parent);
        clutter_actor_set_parent (child2, parent);
        ...
      ➔ clutter_actor_pop_internal ();
    
    The set_parent() call will automatically set the newly added
    INTERNAL_CHILD private flag on each child, and both
    clutter_actor_destroy() and clutter_actor_unparent() will check for the
    flag before deciding whether to call the Container's remove method.

 clutter/clutter-actor.c                    |  110 ++++++++++++++++++++++++++-
 clutter/clutter-actor.h                    |    3 +
 clutter/clutter-private.h                  |   29 ++++++--
 doc/reference/clutter/clutter-sections.txt |    2 +
 4 files changed, 132 insertions(+), 12 deletions(-)

commit 4a21425f4837798d01f4435b68582faf9029c61c
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Sun Dec 13 01:23:54 2009 +0000

    layout: Let begin_animation() return the Alpha
    
    When beginning a new animation for a LayoutManager, the implementation
    should return the ClutterAlpha used. This allows controlling the
    timeline and/or modifying the animation parameters on the fly.

 clutter/clutter-box-layout.c     |    5 +++--
 clutter/clutter-layout-manager.c |   30 ++++++++++++++++++++++--------
 clutter/clutter-layout-manager.h |    5 +++--
 3 files changed, 28 insertions(+), 12 deletions(-)

commit 2e6397c39132007e79f5f87743fe9378fd8d5387
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Sun Dec 13 01:07:44 2009 +0000

    box-layout: Add knobs for controlling animations
    
    ClutterLayoutManager does not have any state associated with it, and
    defers all the state to its sub-classes.
    
    The BoxLayout is thus in charge of controlling:
    
      • whether or not animations should be used
      • the duration of the animation
      • the easing mode of the animation
    
    By adding three new properties:
    
      • ClutterBoxLayout:use-animations
      • ClutterBoxLayout:easing-duration
      • ClutterBoxLayout:easing-mode
    
    And their relative accessors pairs we can make BoxLayout decide whether
    or not, and with which parameters, call the begin_animation() method of
    ClutterLayoutManager.
    
    The test-box-layout has been modified to reflect this new functionality,
    by checking the key-press event for the 'a' key symbol to toggle the use
    of animations.

 clutter/clutter-box-layout.c               |  320 ++++++++++++++++++++++++++--
 clutter/clutter-box-layout.h               |   90 +++++----
 doc/reference/clutter/clutter-sections.txt |    8 +
 tests/interactive/test-box-layout.c        |    6 +
 4 files changed, 370 insertions(+), 54 deletions(-)

commit 3c2e91aef586de5521aa9674b80d449cf96da0e1
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Sat Dec 12 00:13:05 2009 +0000

    box-layout: Animate layout properties
    
    Use the newly added animation support inside LayoutManager to animate
    between state changes of the BoxLayout properties.
    
    The implementation is based on equivalent code from Mx, written by:
    
      Thomas Wood <thomas.wood@intel.com>

 clutter/clutter-box-layout.c |  130 ++++++++++++++++++++++++++++++++++++------
 1 files changed, 113 insertions(+), 17 deletions(-)

commit f94a903d9ebdbc055010bb4a4c6fe7e76f418bd8
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Sat Dec 12 00:02:43 2009 +0000

    layout: Add animation support to LayoutManager
    
    In order to animate a fluid layout we cannot use the common animation
    code paths as they will override the size request and allocation paths
    that are handled by the layout manager itself.
    
    One way to introduce animations in the allocation sequence is to use a
    Timeline and an Alpha to compute a progress value and then use that
    value to interpolate an ActorBox between the initial and final states of
    the animation - with the initial state being the last allocation of the
    child prior to the animation start, and the final state the allocation
    of the child at the end; for every frame of the Timeline we then queue a
    relayout on the layout manager's container, which will result in an
    animation.
    
    ClutterLayoutManager is the most likely place to add a generic API for
    beginning and ending an animation, as well as the place to provide a
    default code path to create the ancillary Timeline and Alpha instances
    needed to drive the animation.
    
    A LayoutManager sub-class will need to:
    
      • call clutter_layout_manager_begin_animation() whenever it should
        animate between two states, for instance: whenever a layout property
        changes value;
      • eventually override begin_animation() and end_animation() in case
        further state needs to be set up, and then chain up to the default
        implementation provided by LayoutManager;
      • if a completely different implementation is required, the layout
        manager sub-class should override begin_animation(), end_animation()
        and get_animation_progress().
    
    Inside the allocate() implementation the sub-class should also
    interpolate between the last known allocation of a child and the newly
    computed allocation.

 clutter/clutter-layout-manager.c           |  159 +++++++++++++++++++++++++++-
 clutter/clutter-layout-manager.h           |   68 ++++++++----
 doc/reference/clutter/clutter-sections.txt |    5 +
 3 files changed, 207 insertions(+), 25 deletions(-)

commit 999359d64ccfbdbcc952662c14fa47441d6a5225
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Dec 11 23:48:58 2009 +0000

    Add ActorBox animation methods
    
    ClutterActorBox should have an interpolate() method that allows to
    compute the intermediate values between two states, given a progress
    value, e.g.:
    
            clutter_actor_box_interpolate (start, end, alpha, &result);
    
    Another utility method, useful for layout managers, is a modifier
    that clamps the members of the actor box to the nearest integer
    value.

 clutter/clutter-actor.c                    |   47 ++++++++++++++++++++++++++++
 clutter/clutter-types.h                    |    5 +++
 doc/reference/clutter/clutter-sections.txt |    2 +
 3 files changed, 54 insertions(+), 0 deletions(-)

commit d2ea7cd6a8a1eb4ff04f11cb53aa387458a8e128
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Dec 11 20:17:58 2009 +0000

    Clean up whitespace, indentation and comments

 clutter/clutter-main.c |   70 ++++++++++++++++++++++++-----------------------
 1 files changed, 36 insertions(+), 34 deletions(-)

commit 7b53aa7510adc60d3287740772ec97117ce78ab9
Merge: 60a6bff 1374b5a
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu Dec 10 23:36:04 2009 +0000

    Merge branch 'get-current-event' into ebassi-next
    
    * get-current-event:
      Add clutter_get_current_event

commit 1374b5aac9398852cf3f3482fdf925b52aa31338
Author: Colin Walters <walters@verbum.org>
Date:   Thu Nov 12 17:33:15 2009 -0500

    Add clutter_get_current_event
    
    When getting signals from higher level toolkits, occasionally
    one wants access to the underlying event; say for a Button
    widget's "clicked" signal, to get the keyboard state.
    
    Rather than having all of the highlevel widgets emit
    ClutterEvent just for the more unusual use cases,
    add a global function to access the event state.
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=1888
    
    Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>

 clutter/clutter-event.c                    |   23 ++++++++++
 clutter/clutter-event.h                    |    1 +
 clutter/clutter-main.c                     |   62 ++++++++++++++++------------
 clutter/clutter-private.h                  |    1 +
 doc/reference/clutter/clutter-sections.txt |    1 +
 5 files changed, 61 insertions(+), 27 deletions(-)

commit 60a6bff3136c21c5ff6d4c5bb6614716853620f0
Merge: dc47550 c4f27b1
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Dec 9 23:32:41 2009 +0000

    Merge branch 'no-layout-flag' into ebassi-next
    
    * no-layout-flag:
      actor: Add a NO_LAYOUT flag for actors

commit dc47550bc8eabc2c6e6e99364c1cb536a9adc973
Merge: 86ce92e b33b628
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Dec 9 23:32:18 2009 +0000

    Merge branch 'size-cache' into ebassi-next
    
    * size-cache:
      tests: Clean up the BoxLayout interactive test
      actor: Add debugging notes for size cache
      Add a cache of size requests

commit 86ce92eec14aa1aaf7c9ab14a520b66690488213
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Dec 9 18:46:25 2009 +0000

    x11: Emulate XKB's detectable key auto-repeat
    
    Old-style X11 terminals require that even modern X11 send KeyPress
    and KeyRelease pairs when auto-repeating. For this reason modern(-ish)
    API like XKB has a way to detect auto-repeat and do a single KeyRelease
    at the end of a KeyPress sequence.
    
    The newly added check emulates XKB's detectable auto-repeat by peeking
    the next event after a KeyRelease and checking if it's a KeyPress for
    the same key and timestamp - and then ignoring the KeyRelease if it
    matches.

 clutter/x11/clutter-event-x11.c |   26 ++++++++++++++++++++++++++
 1 files changed, 26 insertions(+), 0 deletions(-)

commit 9242d6b934710ca4001e8dc2a0f1f4bc4a738a63
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Dec 9 18:10:52 2009 +0000

    docs: Move RELEASING under docs/

 RELEASING     |   56 --------------------------------------------------------
 doc/RELEASING |   56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 56 insertions(+), 56 deletions(-)

commit 1ffd2ccb87a570733647e655e5e608ee05661c74
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Dec 9 01:52:09 2009 +0000

    stage: Deprecate default stage size macros
    
    The macros for getting the size of the default stage are a relic of the
    past and they should be deprecated.

 clutter/clutter-stage.h |   36 ++++++++++++++----------------------
 1 files changed, 14 insertions(+), 22 deletions(-)

commit 34913378fb7aa84874bfda63648e9e0e02e40d8c
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Dec 9 17:17:33 2009 +0000

    tests: Use accessor methods for :use-alpha
    
    Instead of using g_object_set().

 tests/interactive/test-paint-wrapper.c |    6 ++----
 1 files changed, 2 insertions(+), 4 deletions(-)

commit 1208e47198ea981b644bca2ce9beab3b59f05d0b
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Dec 9 02:04:56 2009 +0000

    stage: Add accessors for :use-alpha
    
    Use real accessors for the :use-alpha property.

 clutter/clutter-stage.c                    |   53 ++++++++++++++++++++++++++-
 clutter/clutter-stage.h                    |    4 ++
 doc/reference/clutter/clutter-sections.txt |    2 +
 3 files changed, 57 insertions(+), 2 deletions(-)

commit 3b075b6dc4197ed78f6386ee7e9a6e307839590f
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Dec 9 01:46:52 2009 +0000

    tests: Allow setting the stage opacity in test-paint-wrapper
    
    This allows testing the Stage:use-alpha property and the blending done
    by a compositor.

 tests/interactive/test-paint-wrapper.c |   15 +++++++++++++++
 1 files changed, 15 insertions(+), 0 deletions(-)

commit 3a3c815286daa55761787a49d7a33c6eb8c3d74d
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Dec 9 01:46:09 2009 +0000

    stage: Premultiply the stage color
    
    In case we are using Stage:use-alpha then we need to premultiply the
    stage color to get the correct blending from the compositor.

 clutter/clutter-stage.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

commit e957e277b8a4893ce8c99e94402036d42a8b3748
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Dec 8 18:24:30 2009 +0000

    x11: Do not manage a foreign window
    
    If a Stage has been set to use a foreign Window then Clutter should not
    be managing it; calling XWithdrawWindow and XMapWindow should be
    reserved to the windows we manage ourselves.

 clutter/x11/clutter-stage-x11.c |   23 ++++++++++++++---------
 1 files changed, 14 insertions(+), 9 deletions(-)

commit 28cb2cdab588ac361544538d4bb70a3e9bf24c81
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Dec 7 19:00:55 2009 +0000

    Remove clutter_set_default_text_direction()
    
    Setting the default text direction programmatically is wrong: it is a
    value dependent on the locale or by the environment.

 clutter/clutter-actor.c                    |    3 +-
 clutter/clutter-main.c                     |   32 ++++++++++++---------------
 clutter/clutter-main.h                     |    1 -
 doc/reference/clutter/clutter-sections.txt |    1 -
 4 files changed, 16 insertions(+), 21 deletions(-)

commit 3b9575baf8d254b7ba8b5faf56b14fbc6c3fde74
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Dec 7 18:41:15 2009 +0000

    Queue a relayout when the default text direction changes
    
    We need a relayout cycle if the default direction for the text changes
    while the main loop is running.

 clutter/clutter-main.c |    8 +++++++-
 1 files changed, 7 insertions(+), 1 deletions(-)

commit 6a3f6a460e730b0067adfa1eac455246c8d6e8d8
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Dec 7 17:35:17 2009 +0000

    stage: Composite the opacity with the alpha channel
    
    The Stage's opacity should be composited with the alpha component of the
    Stage's background color.

 clutter/clutter-stage.c |   20 +++++++++++---------
 1 files changed, 11 insertions(+), 9 deletions(-)

commit c4f27b1556b65464fd1f53749d32db9adab97942
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Wed Oct 7 16:41:25 2009 +0100

    actor: Add a NO_LAYOUT flag for actors
    
    Some actor implementation might avoid imposing any layout on their
    children. The Actor base class usually assumes some sort of layout
    management is in place, so it will queue relayouts when, for instance,
    an actor is shown or is hidden. If the parent of the actor does not
    impose any layout, though, showing or hiding one of its children will
    not affect the layout of the others.
    
    An example of this kind of container is ClutterGroup.
    
    By adding a new Actor flag, CLUTTER_ACTOR_NO_LAYOUT, and by making
    the Group actor set it on itself, the Actor base class can now decide
    whether or not to queue a relayout. The flag is not meant to be used
    by application code, and should only be set when implementing a new
    container.
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=1838

 clutter/clutter-actor.c |   37 +++++++++++++++++++++++++++----------
 clutter/clutter-actor.h |   15 ++++++++++-----
 clutter/clutter-group.c |    6 ++++++
 3 files changed, 43 insertions(+), 15 deletions(-)

commit b33b6287a1d3d3b07bbb845e79dfc4e2162c5c77
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Dec 4 17:39:04 2009 +0000

    tests: Clean up the BoxLayout interactive test

 tests/interactive/test-box-layout.c |   27 ++++++++++++++++-----------
 1 files changed, 16 insertions(+), 11 deletions(-)

commit cf62b8fe4ab0d7cca360077843a9e213540e2c4d
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Dec 4 17:38:26 2009 +0000

    actor: Add debugging notes for size cache
    
    Add a note for cache hits, and another one for cache misses.

 clutter/clutter-actor.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

commit 9ccdf2eb02a0d0155e27d5f9270bca6b72c08359
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Dec 4 16:54:22 2009 +0000

    box: Add relative packing methods
    
    ClutterBox should provide some convenience functions to pack a new child
    at a given position, either an absolute index or relative to a sibling.

 clutter/clutter-box.c                      |  221 +++++++++++++++++++++++-----
 clutter/clutter-box.h                      |   16 ++
 doc/reference/clutter/clutter-sections.txt |    3 +
 tests/interactive/test-bin-layout.c        |    1 -
 4 files changed, 203 insertions(+), 38 deletions(-)

commit c9b7efec96636e9368a8dfb76440d1b89c618c99
Author: Johan Bilien <jobi@via.ecp.fr>
Date:   Wed Nov 11 20:40:57 2009 -0500

    Add a cache of size requests
    
    clutter_actor_get_preferred_width/height currently caches only one size
    requests, for a given height / width.
    
    It's common for a layout manager to call get_preferred_width with 2
    different heights during the same allocation cycle. Typically once in
    the size request, once in the allocation. If
    clutter_actor_get_preferred_width is called
    alternatively with 2 different for_height, the cache is totally
    inefficient, and we end up always querying the actor size even
    when the actor does not need a re-allocation.
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=1876
    
    Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>

 clutter/clutter-actor.c |  137 ++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 117 insertions(+), 20 deletions(-)

commit 18860eb16f36eb62b94aee353b4e2ace76e2fffa
Author: Bastian Winkler <buz@netbuz.org>
Date:   Thu Dec 3 15:38:05 2009 +0000

    flow-layout: Use the natural size
    
    Fix a copy-and-paste thinko where the cell size was computed using the
    minimum size instead of the natural size. For actors with a minimum size
    of zero, like Textures, this implied always a zero allocation.
    
    Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>

 clutter/clutter-flow-layout.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 7f58c14dcdbb5a6a24f17aacb784702dbaa468fb
Author: Neil Roberts <neil@linux.intel.com>
Date:   Wed Dec 2 21:54:22 2009 +0000

    cogl: Use #ifdef GL around GL_TEXTURE_RECTANGLE_ARB
    
    Commit 558b17ee1e added support for rectangle textures to the
    framebuffer code. Under GLES there is no GL_TEXTURE_RECTANGLE_ARB
    definition so this was breaking the build. The rest of Cogl uses
    ifdef's around that constant so we should do the same here.

 clutter/cogl/cogl/cogl-framebuffer.c |    7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)

commit 59d84f7806e16b3d1fea5eed44a5d06d9772be23
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Dec 2 16:03:55 2009 +0000

    build: Fix CPP and LD flags
    
    • The debug flags are pre-processor ones, so they should be listed
      inside AM_CPPFLAGS.
    
    • Clutter's publicly exported symbols match the following regular
      expression:
    
        ^(clutter|cogl|json)_*
    
      The old one also listed "pango" as a possible prefix, but the
      Pango API is now under the Cogl namespace.

 clutter/Makefile.am |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

commit 17e3b526d569b6c8f33cd050acce107d5f1b057b
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Dec 2 14:15:43 2009 +0000

    docs: Document Clutter's threading model
    
    Be explicit on how to deal with threads and Clutter.

 clutter/clutter-main.c |   56 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 56 insertions(+), 0 deletions(-)

commit fc7bbf1abf732ba37fee8f12b5ed36e0b9a5fb95
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Dec 2 14:15:19 2009 +0000

    docs: Fix docbook syntax
    
    The <variablename> tag is really called <varname> in DocBook.

 clutter/clutter-layout-manager.c |    9 ++++-----
 1 files changed, 4 insertions(+), 5 deletions(-)

commit 3c08c411d2ccd1523439c4f35427d266d1ef67dd
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Dec 2 11:38:04 2009 +0000

    docs: Annotate StageManager
    
    The ClutterStageManager instance structure is private, so we need a
    "floating" annotation.

 clutter/clutter-stage-manager.h |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)

commit 7a33b706a40719e1d123ccfa71c3d5c5d864fdea
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Dec 2 11:37:13 2009 +0000

    Remove a gtk-doc annotation
    
    The Mesa matrix code still has a comment that looks like a gtk-doc
    annotation.

 clutter/cogl/cogl/cogl-matrix-mesa.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 0270313121e9a02cb1f59de134ed724e6f8c0ae6
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Dec 2 11:36:25 2009 +0000

    layout: Add padding to LayoutMeta
    
    Add some padding to the LayoutMeta and LayoutMetaClass structures.

 clutter/clutter-layout-meta.h |   18 +++++++++++++++++-
 1 files changed, 17 insertions(+), 1 deletions(-)

commit 02398c0cf13f8326a8fadf0536ce1ac1994901ee
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Dec 1 18:16:48 2009 +0000

    Remove unused variable 'lang'
    
    Fix a compiler warning.

 clutter/clutter-main.c |    1 -
 1 files changed, 0 insertions(+), 1 deletions(-)

commit cdba8cc220a8ef026ade2dfaa542ff94c92cd5ef
Author: Rob Bradford <rob@linux.intel.com>
Date:   Tue Dec 1 17:44:42 2009 +0000

    flow-layout: Include the first line when calculating number of lines
    
    This ensures that the preferred height / width height takes into consideration
    the correct amount of padding

 clutter/clutter-flow-layout.c |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

commit c564303601f6cabdc3314070d225f74a3c6df174
Author: Rob Bradford <rob@linux.intel.com>
Date:   Tue Dec 1 17:11:08 2009 +0000

    flow-layout: Respect row-spacing/col-spacine in horizontal/vertical flows
    
    We need to add the row-spacing value when calculating the y position for lines
    of actors in horizontal flowing layouts.
    
    Similarly we need to add the col-spacing value when calculating the x posution
    for actors in vertical flowing layouts.

 clutter/clutter-flow-layout.c |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

commit e6ca2d891a2c48c91db45a0c2f5ce84d5e6621e1
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Dec 1 16:18:39 2009 +0000

    glx: Always request an ARGB visual
    
    When requesting the GLXFBConfig for creating the GLX context, we should
    always request one that links to an ARGB visual instead of a plain RGB
    one.
    
    By using an ARGB visual we allow the ClutterStage:use-alpha property to
    work as intended when running Clutter under a compositing manager.
    
    The default behaviour of requesting an ARGB visual can be disabled by
    using the:
    
      CLUTTER_DISABLE_ARGB_VISUAL
    
    Environment variable.

 clutter/glx/clutter-backend-glx.c |  128 +++++++++++++++++++++++++++++-------
 clutter/glx/clutter-backend-glx.h |    5 +-
 clutter/glx/clutter-glx.h         |    5 --
 clutter/glx/clutter-stage-glx.c   |   13 +---
 clutter/x11/clutter-backend-x11.c |   15 ++++-
 clutter/x11/clutter-x11.h         |    2 +
 6 files changed, 125 insertions(+), 43 deletions(-)

commit 2f7ff4d3e363a0568e4051ab67c0df6f745d06d2
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Dec 1 16:16:18 2009 +0000

    stage: Add :use-alpha property
    
    The ClutterStage:use-alpha property is used to let a stage know that it
    should honour the alpha component of the ClutterStage:color property.
    
    If :use-alpha is set to FALSE the stage always uses the full opacity
    when clearing itself before a paint(); otherwise, the alpha value is
    used.

 clutter/clutter-stage.c |   38 +++++++++++++++++++++++++++++++++++---
 1 files changed, 35 insertions(+), 3 deletions(-)

commit 1d87ecc6a1be73e7d72c8c5ecb2b8268d5a0cd5e
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Dec 1 16:22:45 2009 +0000

    materials: Get the right blend function for alpha
    
    The correct blend function for the alpha channel is:
    
      GL_ONE, GL_ONE_MINUS_SRC_ALPHA
    
    As per bug 1406. This fix was dropped when the switch to premultiplied
    alpha was merged.

 clutter/cogl/cogl/cogl-material.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit b43e804c078578e54b0ef9680a5d7b4bf53cafe8
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Dec 1 16:06:57 2009 +0000

    actor: Fix a pre-condition check in set_text_direction()
    
    The check is failing because the condition should be:
    
      text_dir != CLUTTER_TEXT_DIRECTION_DEFAULT

 clutter/clutter-actor.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 3e034cda58776a0fbc6812cd8d859ad58b5cab54
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Dec 1 15:17:49 2009 +0000

    build: More cleanups for the configure summary
    
    Document each section, and add some more items to the summary like what
    JSON-GLib are we using, and which version of the GLES API is COGL
    wrapping.

 configure.ac |   27 ++++++++++++++++++++++-----
 1 files changed, 22 insertions(+), 5 deletions(-)

commit e3b409529e9000cff6aabac8efdaccc0eaecf83f
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Dec 1 15:17:16 2009 +0000

    build: Require a stable JSON-GLib version
    
    The 0.7 version is the development cycle for JSON-GLib 0.8.

 configure.ac |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

commit 1c47638db4ac741f4bae9ede860d16b4e1693a36
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Dec 1 14:59:44 2009 +0000

    docs: Add missing symbols to clutter-sections.txt

 doc/reference/clutter/clutter-sections.txt |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)

commit 586750751a60b76e2f398be28d596009b6587c52
Merge: c2332a5 6e99c1a
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Dec 1 14:55:19 2009 +0000

    Merge branch 'text-direction'
    
    * text-direction:
      docs: Add text-direction accessors
      Set the default language on the Pango context
      actor: Set text direction on parenting
      tests: Display the index inside text-box-layout
      box-layout: Honour :text-direction
      text: Dirty layout cache on text direction changes
      actor: Add :text-direction property
      Use the newly added ClutterTextDirection enumeration
      Add ClutterTextDirection enumeration

commit 6e99c1aefe8f76cb3004a8cc89ae6f8b95d1f597
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Dec 1 14:55:01 2009 +0000

    docs: Add text-direction accessors

 doc/reference/clutter/clutter-sections.txt |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

commit c2332a5d26d854dcb4223088904305988b35a906
Author: Bastian Winkler <buz@netbuz.org>
Date:   Tue Dec 1 12:31:07 2009 +0000

    build: Fix the SUBDIRS ordering
    
    Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>

 Makefile.am |    4 +---
 1 files changed, 1 insertions(+), 3 deletions(-)

commit 220a8fbfda5bda38e6c7689176fd876c57074ab5
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Dec 1 10:16:25 2009 +0000

    docs: Move documentation under doc/
    
    Clean up the root directory of the project and try to keep the
    documentation all together.

 CODING_STYLE         |  379 --------------------------------------------------
 HACKING              |   89 ------------
 HACKING.backends     |  160 ---------------------
 Makefile.am          |    3 -
 doc/CODING_STYLE     |  379 ++++++++++++++++++++++++++++++++++++++++++++++++++
 doc/HACKING          |   89 ++++++++++++
 doc/HACKING.backends |  160 +++++++++++++++++++++
 doc/Makefile.am      |    5 +
 8 files changed, 633 insertions(+), 631 deletions(-)

commit 348f5bfec8b8c0c682384001ac39b4e656b9c526
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Dec 1 10:11:33 2009 +0000

    cookbook: Clean up the text
    
    • Remove the empty sections.
    
    • Add the description for the "overriding the paint sequence" recipe.

 doc/cookbook/clutter-cookbook.xml.in |  124 +++++++++++++++++++++++----------
 1 files changed, 86 insertions(+), 38 deletions(-)

commit 52db14b78d848f0f876d4721895ccc2c83e06aba
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Nov 30 21:51:46 2009 +0000

    docs: Fix recursion into doc/ directory
    
    We should always recurse into the doc/ directory; whether we should then
    recurse into reference/, cookbook/ and manual/ is a matter of specific
    configure-time flags.

 Makefile.am     |    6 +-----
 doc/Makefile.am |    6 +++++-
 2 files changed, 6 insertions(+), 6 deletions(-)

commit 5e1ccaeb603fb9f9b2b11cad13bbcf8682b33504
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu Sep 3 13:04:59 2009 +0100

    docs: Clean up the additional documentation build
    
    • Make the manual a DevHelp book
    
    • Make the generation of PDFs of the cookbook and the manual optional
    
    • Consequently, make the hard dependency on jw optional
    
    • Clean up the checks and build for the additional documentation

 .gitignore                           |    9 +-
 configure.ac                         |   41 ++--
 doc/Makefile.am                      |    8 +-
 doc/common/Makefile.am               |    9 +
 doc/common/common.xsl                |   19 ++
 doc/common/devhelp.xsl               |  154 ++++++++++++
 doc/common/html.xsl                  |  285 +++++++++++++++++++++
 doc/common/ref-html-style.xsl        |   54 ++++
 doc/common/style.css                 |   97 +++++++
 doc/cookbook/Makefile.am             |   30 +--
 doc/cookbook/clutter-cookbook.xml    |  456 ---------------------------------
 doc/cookbook/clutter-cookbook.xml.in |  457 ++++++++++++++++++++++++++++++++++
 doc/cookbook/common.xsl              |   19 --
 doc/cookbook/cookbook.xsl            |   14 -
 doc/cookbook/devhelp.xsl             |  154 ------------
 doc/cookbook/html.xsl                |  285 ---------------------
 doc/cookbook/ref-html-style.xsl      |   54 ----
 doc/cookbook/style.css               |   97 -------
 doc/manual/Makefile.am               |   84 ++++---
 doc/manual/clutter-manual.xml.in     |    9 +-
 20 files changed, 1174 insertions(+), 1161 deletions(-)

commit ee9d358c452c8da879e7f40e4a2e701472067c04
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Sep 2 18:11:06 2009 +0100

    [cookbook] Build the Cookbook as a devhelp document
    
    Instead of creating stand-alone HTML files, use XSLT to transform the
    DocBook into a DevHelp file, so that we can read the Cookbook inside
    DevHelp -- just like the API reference.

 configure.ac                    |    9 +-
 doc/cookbook/Makefile.am        |   83 ++++++-----
 doc/cookbook/common.xsl         |   19 +++
 doc/cookbook/devhelp.xsl        |  154 +++++++++++++++++++++
 doc/cookbook/html.xsl           |  285 +++++++++++++++++++++++++++++++++++++++
 doc/cookbook/ref-html-style.xsl |   54 ++++++++
 6 files changed, 564 insertions(+), 40 deletions(-)

commit 9485ef81a61d8950b7f04e01c749964c6a64922c
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Sep 2 13:13:44 2009 +0100

    [cookbook] Fix folds

 doc/cookbook/clutter-cookbook.xml |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

commit 2675b829990eb0b6fb9bae848bd64fc4461324d2
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu Dec 11 17:03:10 2008 +0000

    Update the ignore file
    
    Add the temporary and output files of the cookbook.

 .gitignore |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)

commit a7f7bfbc876a256f40fc0c3a43691b07bffeae96
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu Dec 11 17:02:05 2008 +0000

    Add the secon recipe to the Actors chapter
    
    The second recipe shows how to use the ::paint signal to override
    the paint sequence of a pre-existing actor.

 doc/cookbook/clutter-cookbook.xml |  153 +++++++++++++++++++++++++++++--------
 1 files changed, 122 insertions(+), 31 deletions(-)

commit 26b35e657f3fcf3ae8b919c4c315337f2261003f
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu Dec 11 17:00:16 2008 +0000

    Add the first recipe to the Actors chapter
    
    The first recipe shows how to be notified when the relative position
    and size of an actor changes using the notify:: signal on the actor's
    dimensional and positional properties.

 doc/cookbook/clutter-cookbook.xml |  128 ++++++++++++++++++++++++++++++++++--
 1 files changed, 120 insertions(+), 8 deletions(-)

commit 135cb5c6e21200162939dc5a42f0a34c4daf8a39
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu Dec 11 16:58:07 2008 +0000

    Add a preface instead of an introduction
    
    Make the Cookbook look more like a book than a tutorial.

 doc/cookbook/clutter-cookbook.xml |   64 +++++++++++++++++++++++++++++++++---
 1 files changed, 58 insertions(+), 6 deletions(-)

commit 35627f240fa498656492e437c130ffe34674ca54
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu Dec 11 16:57:46 2008 +0000

    Add the Clutter Cookbook to the build
    
    The "Clutter Cookbook" is a document designed to contain solutions
    to common problems applications developers might encounter when using
    Clutter. It is meant as a companion to the API reference but it
    requires knowledge of the Clutter API and framework.

 .gitignore                        |    1 +
 configure.ac                      |    2 +
 doc/cookbook/Makefile.am          |   71 +++++++++++++
 doc/cookbook/clutter-cookbook.xml |  200 +++++++++++++++++++++++++++++++++++++
 doc/cookbook/cookbook.xsl         |   14 +++
 doc/cookbook/style.css            |   97 ++++++++++++++++++
 doc/cookbook/version.xml.in       |    1 +
 7 files changed, 386 insertions(+), 0 deletions(-)

commit 15a04a1dd39fd19f28132cbd3c22b49c05c0773b
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Nov 30 19:03:11 2009 +0000

    layout-manager: Create LayoutMeta on demand
    
    The ClutterLayoutMeta instances should be created on demand, whenever
    the layout manager needs them - if the layout manager supports layout
    properties.
    
    This removes the requirement to call add_child_meta() and
    remove_child_meta() on add and remove respectively; it also simplifies
    the implementation of LayoutManager sub-classes since we can add
    fallback code in the base abstract class.
    
    Eventually, this will also lead to an easier to implement ClutterScript
    parser for layout properties.
    
    With the new scheme, the ClutterLayoutMeta instance is created whenever
    the layout manager tries to access it; if there isn't an instance
    already attached to the container's child, one is created -- assuming
    that the LayoutManager sub-class has overridden the
    get_child_meta_type() virtual function and it's returning a valid GType.
    
    We can also provide a default implementation for create_child_meta(),
    by getting the GType and instantiating a ClutterLayoutMeta with all the
    fields already set. If the layout manager requires more work then it can
    obviously override the default implementation (and even chain up to it).
    
    The ClutterBox actor has been updated, as well as the ClutterBoxLayout
    layout manager, to take advantage of the changes of LayoutManager.

 clutter/clutter-box-layout.c               |   13 --
 clutter/clutter-box.c                      |   10 --
 clutter/clutter-layout-manager.c           |  221 +++++++++-------------------
 clutter/clutter-layout-manager.h           |    8 +-
 doc/reference/clutter/clutter-sections.txt |    2 -
 5 files changed, 70 insertions(+), 184 deletions(-)

commit 7d842079ca7521332b98e7cc06480a3f7e23110f
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Nov 30 18:22:26 2009 +0000

    conform: Add named object property unit for ClutterScript
    
    We should exercise the resolution of the object properties containing a
    string pointing to an object previously defined using ClutterScript.

 .gitignore                               |    1 +
 tests/conform/test-conform-main.c        |    1 +
 tests/conform/test-script-parser.c       |   28 ++++++++++++++++++++++++++++
 tests/data/Makefile.am                   |   18 ++++++++++++++----
 tests/data/test-script-named-object.json |   22 ++++++++++++++++++++++
 5 files changed, 66 insertions(+), 4 deletions(-)

commit c3e640e6e36d3d3c72c1e340efa78817308a4283
Author: Neil Roberts <neil@linux.intel.com>
Date:   Mon Nov 30 19:06:05 2009 +0000

    Use the correct colour when clearing the stage for picking
    
    The colour test for the stage in _clutter_do_pick checks for white to
    determine whether the stage was picked but since 47db7af4d we were
    setting the colur to black. This usually worked because the id of the
    default stage ends up being 0 which equates to black. However if a
    second stage is created then it will always end up picking the first
    stage.

 clutter/clutter-main.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 1bb034fbd75bb7153f35c88b05ed0fb9544d0c8b
Author: Neil Roberts <neil@linux.intel.com>
Date:   Sun Nov 29 20:06:36 2009 +0000

    cogl: Enable blending if a lighting colour is semi-transparent
    
    We currently enable blending if the material colour has
    transparency. This patch makes it also enable blending if any of the
    lighting colours have transparency. Arguably this isn't neccessary
    because we don't expose any API to enable lighting so there is no
    bug. However it is currently possible to enable lighting with a direct
    call to glEnable and this otherwise works so it is a shame not to have
    it.
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=1907

 clutter/cogl/cogl/cogl-material.c |   14 +++++++++++++-
 1 files changed, 13 insertions(+), 1 deletions(-)

commit 3cb974ee8be182944848b5e64dd4724f118bc8fa
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Nov 30 16:15:19 2009 +0000

    Set the default language on the Pango context
    
    When creating the Pango context we should also set the language
    to be the default Pango language.

 clutter/clutter-main.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

commit daeb3b2fecb3d740b6d84215928fc4477396dc71
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Nov 30 16:14:09 2009 +0000

    actor: Set text direction on parenting
    
    When setting the parent on an actor we should set the text direction to
    be the same as the parent's.

 clutter/clutter-actor.c |   12 ++++++++----
 1 files changed, 8 insertions(+), 4 deletions(-)

commit 0ce5c7d350c8b904ed8cc15c911e6433619c6a2d
Author: Damien Lespiau <damien.lespiau@intel.com>
Date:   Mon Nov 30 13:26:45 2009 +0100

    gitignore: update gitignore files to match the latest cogl tests
    
    Some cogl tests were renamed in c1247066 to have 'cogl' in their names.
    It's a good excuse to merge .gitigore and tests/.gitignore.

 .gitignore       |   21 +++++++++++++--------
 tests/.gitignore |   52 ----------------------------------------------------
 2 files changed, 13 insertions(+), 60 deletions(-)

commit 4f06d035a2895b2839ba0e97109e8a44c1ad07e2
Author: Damien Lespiau <damien.lespiau@intel.com>
Date:   Wed Nov 25 13:29:26 2009 +0100

    tests: fix argument parsing of test-texture-quality
    
    This test did not open redhand.png as argc/argv should be handled
    normally (argv[0] being the name of the exectutable).
    
    Reviewed-by: Emmanuele Bassi <ebassi@linux.intel.com>

 tests/interactive/test-texture-quality.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit e4180b283836ccd665d23d1e19d35a8911c40436
Author: Damien Lespiau <damien.lespiau@intel.com>
Date:   Wed Nov 25 13:25:14 2009 +0100

    tests: give all the arguments to the wrapper
    
    Some tests can be given extra arguments. The test-interactive dispatch
    mechanism handles that but the small shell scripts around the wrapper
    do not forward the arguments to the wrapper.
    
    Reviewed-by: Emmanuele Bassi <ebassi@linux.intel.com>

 tests/interactive/Makefile.am |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

commit 934eb5d251ad9d9987d0ff1f0f9878fffc2484f1
Author: Robert Bragg <robert@linux.intel.com>
Date:   Fri Nov 27 15:24:09 2009 +0000

    primitives: Don't use dynamic arrays since VS2008 can't cope with them :-(
    
    This changes _cogl_path_fill_nodes_scanlines to use g_alloca instead of
    using a variable to declare an array length.

 clutter/cogl/cogl/cogl-primitives.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 47db7af4d3001387a3c7adc60f6c3166c149ab5d
Author: Robert Bragg <robert@linux.intel.com>
Date:   Wed Nov 25 20:37:01 2009 +0000

    picking: avoid redundant picking geometry for the stage.
    
    The stage's pick id can be written to the framebuffer when we call
    cogl_clear so there's no need for the stage to also chain up in it's pick
    function resulting in clutter-actor.c also emitting a rectangle for the
    stage.

 clutter/clutter-main.c  |    6 +++---
 clutter/clutter-stage.c |   12 +++++++-----
 2 files changed, 10 insertions(+), 8 deletions(-)

commit c12470666e6bd63024437a389cd2c1202df93c33
Author: Robert Bragg <robert@linux.intel.com>
Date:   Fri Nov 27 00:28:39 2009 +0000

    tests: rename cogl conformance tests so they can be clearly identified
    
    All Cogl conformance tests are now prefixed 'test-cogl-'

 tests/conform/Makefile.am                          |   24 +-
 tests/conform/test-backface-culling.c              |  339 ----------------
 tests/conform/test-blend-strings.c                 |  416 --------------------
 tests/conform/test-clutter-fixed.c                 |   18 -
 tests/conform/test-cogl-backface-culling.c         |  339 ++++++++++++++++
 tests/conform/test-cogl-blend-strings.c            |  416 ++++++++++++++++++++
 tests/conform/test-cogl-fixed.c                    |   18 +
 tests/conform/test-cogl-materials.c                |  195 +++++++++
 tests/conform/test-cogl-npot-texture.c             |  230 +++++++++++
 tests/conform/test-cogl-premult.c                  |  390 ++++++++++++++++++
 tests/conform/test-cogl-vertex-buffer-contiguous.c |  269 +++++++++++++
 tests/conform/test-cogl-vertex-buffer-interleved.c |  174 ++++++++
 tests/conform/test-cogl-vertex-buffer-mutability.c |  211 ++++++++++
 tests/conform/test-conform-main.c                  |   34 +-
 tests/conform/test-materials.c                     |  195 ---------
 tests/conform/test-npot-texture.c                  |  230 -----------
 tests/conform/test-premult.c                       |  390 ------------------
 tests/conform/test-vertex-buffer-contiguous.c      |  269 -------------
 tests/conform/test-vertex-buffer-interleved.c      |  174 --------
 tests/conform/test-vertex-buffer-mutability.c      |  211 ----------
 20 files changed, 2272 insertions(+), 2270 deletions(-)

commit 439f8c62b0e2651b9afeb08cb5166ed9e7f49521
Author: Robert Bragg <robert@linux.intel.com>
Date:   Thu Nov 26 19:06:35 2009 +0000

    cogl: deprecate cogl_draw_buffer API and replace with a cogl_framebuffer API
    
    cogl_push_draw_buffer, cogl_set_draw_buffer and cogl_pop_draw_buffer are now
    deprecated and new code should use the new cogl_framebuffer_* API instead.
    
    Code that previously did:
        cogl_push_draw_buffer ();
        cogl_set_draw_buffer (COGL_OFFSCREEN_BUFFER, buffer);
        /* draw */
        cogl_pop_draw_buffer ();
    should now be re-written as:
        cogl_push_framebuffer (buffer);
        /* draw */
        cogl_pop_framebuffer ();
    
    As can be seen from the example above the rename has been used as an
    opportunity to remove the redundant target argument from
    cogl_set_draw_buffer; it now only takes one call to redirect to an offscreen
    buffer, and finally the term framebuffer may be a bit more familiar to
    anyone coming from an OpenGL background.

 README                                       |   13 +
 clutter/clutter-texture.c                    |   15 +-
 clutter/cogl/cogl/Makefile.am                |    4 +-
 clutter/cogl/cogl/cogl-clip-stack.c          |   74 ++--
 clutter/cogl/cogl/cogl-context.c             |   13 +-
 clutter/cogl/cogl/cogl-context.h             |    4 +-
 clutter/cogl/cogl/cogl-draw-buffer-private.h |  133 ------
 clutter/cogl/cogl/cogl-draw-buffer.c         |  603 -------------------------
 clutter/cogl/cogl/cogl-framebuffer-private.h |  124 +++++
 clutter/cogl/cogl/cogl-framebuffer.c         |  618 ++++++++++++++++++++++++++
 clutter/cogl/cogl/cogl-journal.c             |   12 +-
 clutter/cogl/cogl/cogl-matrix-stack.c        |    6 +-
 clutter/cogl/cogl/cogl-primitives.c          |   30 +-
 clutter/cogl/cogl/cogl-texture.c             |   12 +-
 clutter/cogl/cogl/cogl-vertex-buffer.c       |    6 +-
 clutter/cogl/cogl/cogl.c                     |   80 ++--
 clutter/cogl/cogl/cogl.h                     |   73 +++-
 doc/reference/cogl/cogl-sections.txt         |    3 +
 tests/conform/test-backface-culling.c        |    7 +-
 tests/conform/test-cogl-offscreen.c          |   33 +-
 tests/conform/test-cogl-readpixels.c         |   45 +-
 tests/conform/test-cogl-viewport.c           |   90 ++--
 tests/interactive/test-cogl-offscreen.c      |    4 +-
 23 files changed, 1035 insertions(+), 967 deletions(-)

commit b598210e011f6711848e649217ac7a35770bfe8e
Author: Robert Bragg <robert@linux.intel.com>
Date:   Thu Nov 26 17:47:17 2009 +0000

    cogl_offscreen: deprecate cogl_offscreen_ref/unref.
    
    New code should use cogl_handle_ref/unref

 clutter/cogl/cogl/cogl-offscreen.h |   34 +++++++++++++++++++++-------------
 1 files changed, 21 insertions(+), 13 deletions(-)

commit e12a691187a7dbbcfe5b46b94fe2975fd0927966
Author: Neil Roberts <neil@linux.intel.com>
Date:   Wed Nov 25 13:39:45 2009 +0000

    cogl: Use a vtable for the texture backends instead of a type and switch
    
    Instead of storing an enum with the backend type for each texture and
    then using a switch statement to decide which function to call, we
    should store pointers to all of the functions in a struct and have
    each texture point to that struct. This is potentially slightly faster
    when there are more backends and it makes implementing new backends
    easier because it's more obvious which functions have to be
    implemented.

 clutter/cogl/cogl/cogl-texture-2d-sliced-private.h |   62 ----------
 clutter/cogl/cogl/cogl-texture-2d-sliced.c         |  122 +++++++++-----------
 clutter/cogl/cogl/cogl-texture-private.h           |   97 ++++++++++++----
 clutter/cogl/cogl/cogl-texture.c                   |  124 ++++----------------
 4 files changed, 154 insertions(+), 251 deletions(-)

commit 558b17ee1e71fb0fe7aea35e13cd5a73b18130dc
Author: Robert Bragg <robert@linux.intel.com>
Date:   Wed Nov 25 02:47:52 2009 +0000

    offscreen: cogl_offscreen_new_to_texture now supports GL_TEXTURE_RECTANGLE_ARB
    
    cogl_offscreen_new_to_texture previously bailed out if the given texture's
    GL target was anything but GL_TEXTURE_2D, but it now also allows
    foreign GL_TEXTURE_RECTANGLE_ARB textures.
    
    Thanks to Owen for reporting this issue, ref:
    https://bugzilla.gnome.org/show_bug.cgi?id=601032

 clutter/cogl/cogl/cogl-draw-buffer.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

commit d3a01e0c96237ca060e3451d2b80e692dfb3b8f6
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Nov 24 18:24:07 2009 +0000

    debug: remove the COGL_DEBUG=client-side-matrices option
    
    Cogl only supports client side matrices so this debug option is no longer
    useful.

 clutter/cogl/cogl/cogl-debug.c |    1 -
 clutter/cogl/cogl/cogl-debug.h |   13 ++++++-------
 2 files changed, 6 insertions(+), 8 deletions(-)

commit b38c6b420f0ae1f118189bd0a8994fce479aef7b
Author: Robert Bragg <robert@linux.intel.com>
Date:   Wed Nov 11 12:50:48 2009 +0000

    [cogl-material] Adds cogl_material_copy() API
    
    cogl_material_copy can be used to create a new CoglHandle referencing a copy
    of some given material.
    
    From now on we will advise that developers always aim to use this function
    instead of cogl_material_new() when creating a material that is in any way
    derived from another.
    
    By using cogl_material_copy, Cogl can maintain an ancestry for each material
    and keep track of "similar" materials.  The plan is that Cogl will use this
    information to minimize the cost of GPU state transitions.

 README                                    |    5 ++
 clutter/cogl/cogl/cogl-context.c          |   13 ++++--
 clutter/cogl/cogl/cogl-context.h          |    4 +-
 clutter/cogl/cogl/cogl-material-private.h |    9 ++++
 clutter/cogl/cogl/cogl-material.c         |   62 ++++++++++++++++++++++++----
 clutter/cogl/cogl/cogl-material.h         |   18 ++++++++
 clutter/cogl/cogl/cogl.c                  |    6 +-
 7 files changed, 100 insertions(+), 17 deletions(-)

commit 70ca3bfe4173aabd352fd0aed484c0bab57a8d02
Author: Robert Bragg <robert@linux.intel.com>
Date:   Wed Nov 11 12:52:08 2009 +0000

    [cogl] remove unused gles/cogl-utils.[c,h]
    
    The only function in gles/cogl-utils.c was cogl_util_next_p2() and it's
    redundant since we also have a cogl/cogl-utils.[c,h]

 clutter/cogl/cogl/driver/gles/cogl-util.c |   49 -----------------------------
 clutter/cogl/cogl/driver/gles/cogl-util.h |   30 -----------------
 2 files changed, 0 insertions(+), 79 deletions(-)

commit 4a63af0c631cd9391a6b3cef6fdb545e36a68730
Author: Robert Bragg <robert@linux.intel.com>
Date:   Mon Nov 23 11:30:32 2009 +0000

    docs: Don't document cogl_flush_gl_state as public API
    
    This function was #if 0'd before we released Clutter 1.0 so there's no
    implementation of it.  At some point we thought it might assist with
    developers breaking out into raw OpenGL.  Breaking out to raw GL is a
    difficult problem though so we decided instead we will wait for a specific
    use case to arrise before trying to support it.

 clutter/cogl/cogl/cogl.c             |    8 --------
 clutter/cogl/cogl/cogl.h             |   22 ----------------------
 doc/reference/cogl/cogl-sections.txt |    1 -
 3 files changed, 0 insertions(+), 31 deletions(-)

commit 328ce370e7a7f155f63ee8206e8b6cd4e66a6c94
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Nov 24 16:59:24 2009 +0000

    animation: Keep a weak reference on actors
    
    Actors, unlike objects, can effectively go away whilst being
    animated - usually because of an explicit destoy().
    
    The Animation created by clutter_actor_animate() and friends
    should keep a weak reference on the actor and eventually
    get rid of the animation itself in case the actor goes away
    whilst being animated.

 clutter/clutter-animation.c |   13 +++++++++++++
 1 files changed, 13 insertions(+), 0 deletions(-)

commit 1107fa8797b0d2475097c20b50065dbc3ae014a1
Author: Neil Roberts <neil@linux.intel.com>
Date:   Thu Nov 19 16:07:38 2009 +0000

    Minor fix to cogl material
    
    _cogl_material_get_layer expects a CoglMaterial* pointer but it was
    being called with a CoglHandle. This doesn't matter because the
    CoglHandle is actually just the CoglMaterial* pointer anyway but it
    breaks the ability to change the _cogl_material_pointer_from_handle
    macro.

 clutter/cogl/cogl/cogl-material.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 6fd80ffbd926318413296112871891706867cd78
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu Nov 19 14:30:01 2009 +0000

    docs: Add indices to the Cogl API reference
    
    The Clutter API reference has an index of the symbols for each minor
    version, and a list of deprecated symbols. The Cogl API reference
    should have the same layout.

 doc/reference/cogl/cogl-docs.xml.in |   23 ++++++++++++++++++++++-
 1 files changed, 22 insertions(+), 1 deletions(-)

commit 8d64c4641dbf9dfb09d2719872911263d2b758dc
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu Nov 19 13:55:10 2009 +0000

    docs: Increase consistency in Cogl documentation

 clutter/cogl/cogl/cogl-texture.h       |   66 +++++++++-------
 clutter/cogl/cogl/cogl-vertex-buffer.h |  134 +++++++++++++++++---------------
 clutter/cogl/cogl/cogl.h               |   90 +++++++++++----------
 3 files changed, 157 insertions(+), 133 deletions(-)

commit 550c14449e090f7921cdddc6acedb1bd72552663
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu Nov 19 13:33:26 2009 +0000

    docs: Documentation fixes for CoglMatrix
    
    Clean up the references, the docbook tags, and the style to fit in
    with the rest of the API references for Cogl and Clutter.

 clutter/cogl/cogl/cogl-matrix.h |  136 +++++++++++++++++++-------------------
 1 files changed, 68 insertions(+), 68 deletions(-)

commit 056cfcffc312f9508f07c82e41d96c606559db97
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu Nov 19 13:33:08 2009 +0000

    Whitespace fix for cogl-color.h

 clutter/cogl/cogl/cogl-color.h |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

commit 851d628cf8fe89ab28d66f790ad98db766831e37
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu Nov 19 13:31:38 2009 +0000

    docs: Documentation fixes for CoglMaterial
    
    Clean up the references, the docbook tags, and the style to fit in
    with the rest of the API references for Cogl and Clutter.

 clutter/cogl/cogl/cogl-material.h |  404 +++++++++++++++++++------------------
 1 files changed, 205 insertions(+), 199 deletions(-)

commit fe804f1d023b50801d400971bf311545727921e9
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu Nov 19 13:29:02 2009 +0000

    docs: Documentation fixes for CoglBitmap
    
    • Use the same style for the Cogl API reference as the one used for
      the Clutter API reference.
    
    • Fix the introspection annotations for cogl_bitmap_get_size_from_file()

 clutter/cogl/cogl/cogl-bitmap.h |   25 +++++++++++++------------
 1 files changed, 13 insertions(+), 12 deletions(-)

commit 1bf8db9e75c6155bb852980cb40a9117c6190500
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu Nov 19 12:34:06 2009 +0000

    docs: Fix Cogl API reference build
    
    • Ignore all the private header files
    
    • Add all missing/unused symbols
    
    • Remove deprecated symbols from 0.*

 doc/reference/cogl/Makefile.am       |   30 ++++++++++++++++++++++--------
 doc/reference/cogl/cogl-sections.txt |   29 ++++++++++++++++++++++++-----
 2 files changed, 46 insertions(+), 13 deletions(-)

commit 05a5a7e759455a98233ea86016edf86d6d17be36
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu Nov 19 12:32:59 2009 +0000

    docs: Remove non-gtk-doc annotations
    
    The imported Mesa matrix code has some documentation annotations
    that make gtk-doc very angry. Since it's all private anyway we
    can safely make gtk-doc ignore the offending stuff.

 clutter/cogl/cogl/cogl-matrix-mesa.c |  136 +++++++++++++++++-----------------
 clutter/cogl/cogl/cogl-matrix-mesa.h |   12 ++--
 2 files changed, 74 insertions(+), 74 deletions(-)

commit 7a011af97406c0075cc32eb2fbe4a07dc3d828c2
Author: Neil Roberts <neil@linux.intel.com>
Date:   Thu Nov 19 11:51:21 2009 +0000

    docs: Fix the 'Since' annotation for some functions
    
    The 'Since' annotation needs to have a colon after it or gtk-doc won't
    pick it up.

 clutter/clutter-behaviour-path.h         |    2 +-
 clutter/clutter-text.c                   |    2 +-
 clutter/cogl/cogl/cogl-material.h        |   40 +++++++++++++++---------------
 clutter/cogl/cogl/cogl-texture.h         |    6 ++--
 clutter/cogl/cogl/cogl.h                 |    4 +-
 clutter/x11/clutter-x11-texture-pixmap.c |    4 +-
 6 files changed, 29 insertions(+), 29 deletions(-)

commit 8ef57898ad66af345946a1f69172fc8be7038def
Author: Neil Roberts <neil@linux.intel.com>
Date:   Wed Nov 18 19:09:10 2009 +0000

    cogl: Use APIENTRY for GL function pointer declarations
    
    This matters for platforms such as Windows that use a different
    calling covention from the default for GL functions.

 clutter/cogl/cogl/driver/gl/cogl-context-driver.h  |    6 +++++-
 .../cogl/cogl/driver/gles/cogl-context-driver.h    |    6 +++++-
 2 files changed, 10 insertions(+), 2 deletions(-)

commit be58e5261f3b0c6a760577f67f2859511d6e52f2
Author: Neil Roberts <neil@linux.intel.com>
Date:   Wed Nov 18 19:23:57 2009 +0000

    build: Fix out-of-tree builds for cogl-defines.h
    
    $(COGL_DRIVER)/cogl-defines.h is generated in the configure script so
    it ends up in the build directory. Therefore the build rule for
    cogl/cogl-defines.h should depend on the file in $(builddir) not
    $(srcdir).

 clutter/cogl/cogl/Makefile.am |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 19e485325faa59d44556dd6dac9543fb616e680b
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Nov 18 18:04:13 2009 +0000

    docs: Clean up deprecation notices
    
    The deprecation notices in gtk-doc should also refer to the
    release that added the deprecation, and if the deprecated
    symbol has been replaced by something else then the new symbol
    should be correctly referenced.

 clutter/cogl/cogl/cogl.h |   46 +++++++++++++++++++++++-----------------------
 1 files changed, 23 insertions(+), 23 deletions(-)

commit 5f28c8b654094e27112426c206cf8294428515f9
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Nov 18 17:35:07 2009 +0000

    build: Make cogl.h not conditional on driver defines
    
    The main COGL header cogl.h is currently created at configure time
    because it conditionally includes the driver-dependent defines. This
    sometimes leads to a stale cogl.h with old definitions which can
    break the build until you clean out the whole tree and start from
    scratch.
    
    We can generate a stable cogl-defines.h at build time from the
    equivalent driver-dependent header and let cogl.h include that
    file instead.

 .gitignore                    |    7 +-
 clutter/cogl/cogl/Makefile.am |   18 +-
 clutter/cogl/cogl/cogl.h      |  991 +++++++++++++++++++++++++++++++++++++++++
 clutter/cogl/cogl/cogl.h.in   |  991 -----------------------------------------
 configure.ac                  |    5 +-
 5 files changed, 1008 insertions(+), 1004 deletions(-)

commit b869e87c86b73a8c09c5f509955a120978da7604
Author: Neil Roberts <neil@linux.intel.com>
Date:   Wed Nov 18 17:16:38 2009 +0000

    test-npot-texture: Add some verbose notes
    
    This just adds some verbose output stating whether Cogl thinks that
    NPOT textures are supported.

 tests/conform/test-npot-texture.c |   16 ++++++++++++++++
 1 files changed, 16 insertions(+), 0 deletions(-)

commit 8f1edcb6eda89405286b7b1cdab3b8d8b899a778
Author: Neil Roberts <neil@linux.intel.com>
Date:   Wed Nov 18 14:21:22 2009 +0000

    disable-npots: Don't allow the GL version to be 2.0
    
    Cogl now assumes non-power-of-two textures are supported if the GL
    version is >= 2.0 so the disable-npots utility should also change the
    GL version.

 tests/tools/disable-npots.c |   79 +++++++++++++++++++++++++++++++++++++++----
 1 files changed, 72 insertions(+), 7 deletions(-)

commit e80030755e37df28b30903bad63dc776b546abc3
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Nov 18 15:21:09 2009 +0000

    build: Fix EXTRA_DIST and MAINTAINERCLEANFILES rules

 Makefile.am |   19 +++++++------------
 1 files changed, 7 insertions(+), 12 deletions(-)

commit ed4f0beac944a036839cd860f8aad223ffc101f2
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Nov 18 15:11:56 2009 +0000

    Update README file

 README |   36 ++++++++++++++++++------------------
 1 files changed, 18 insertions(+), 18 deletions(-)

commit 44f926556d98737fd10b18fdb6951a41672c46db
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Nov 18 15:06:37 2009 +0000

    docs: Update the "writing a backend" documentation
    
    The documentation on how a ClutterBackend and stage are implemented
    is a wee bit out of date.

 HACKING.backends |   39 +++++++++++++++++++++++----------------
 1 files changed, 23 insertions(+), 16 deletions(-)

commit f8e4e6727290aa63d2ec7dc30ca46913c98cb7ea
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Nov 18 14:56:59 2009 +0000

    Remove clutter.symbols
    
    The symbols file is unused since Clutter 0.6, and the win32 backend
    does not depend on it anymore.

 clutter.symbols |  611 -------------------------------------------------------
 1 files changed, 0 insertions(+), 611 deletions(-)

commit a4f1d1d6cc12b7007ac467673cf8d98dba132c87
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Nov 18 14:56:25 2009 +0000

    Rename ChangeLog.SVN

 ChangeLog.SVN            |15737 ----------------------------------------------
 ChangeLog.pre-git-import |15737 ++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 15737 insertions(+), 15737 deletions(-)

commit 60fae6a92eff5b61e4074f40161aa7b0b40bf2b9
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Nov 18 14:37:43 2009 +0000

    build: Add cogl-matrix-private.h to the dist

 clutter/cogl/cogl/Makefile.am |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

commit 425f3b466041f46d1faed06da1cc46665bad60c6
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Nov 18 14:34:33 2009 +0000

    build: Add cogl-feature-functions.h to the dist

 clutter/cogl/cogl/driver/gl/Makefile.am   |    1 +
 clutter/cogl/cogl/driver/gles/Makefile.am |    3 ++-
 2 files changed, 3 insertions(+), 1 deletions(-)

commit d11343532d813cf9b16e5c1ac92c0f0bc56e8850
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Nov 18 14:21:08 2009 +0000

    build: Generate per-cycle ChangeLog files
    
    We should generate a ChangeLog for each minor version cycle, starting
    from the Git import date (since before that we used ChangeLog-style
    commit messages that don't really look good with the Git ones).
    
    For this reason we can take Cairo's Makefile.am.changelog file and,
    after tweaking it to fit our use case, let it generate the correct
    ChangeLogs on dist.

 ChangeLog                             |    5 --
 Makefile.am                           |    3 +-
 build/autotools/Makefile.am.changelog |   91 +++++++++++++++++++++++++++------
 configure.ac                          |    8 ++-
 4 files changed, 82 insertions(+), 25 deletions(-)

commit 18e9d0db6fc9e120a63485d1ecbc8b5514d66c77
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Nov 18 12:20:53 2009 +0000

    build: Move ChangeLog rules in a separate file
    
    The ChangeLog creation rules should be moved to their own file, to
    make it easier to fix or change them in the future.

 Makefile.am                           |   20 +-------------------
 build/autotools/Makefile.am           |    1 +
 build/autotools/Makefile.am.changelog |   19 +++++++++++++++++++
 3 files changed, 21 insertions(+), 19 deletions(-)

commit 142305b1d51e9a3c69e8e2e224480297e43f79ea
Author: Neil Roberts <neil@linux.intel.com>
Date:   Wed Nov 18 13:23:10 2009 +0000

    cogl: Add the missing terminators for the arrays of feature functions
    
    _cogl_feature_check expects the array of function names to be
    terminated with a NULL pointer but I forgot to add this. This was
    causing crashes depending on what happened to be in memory after the
    array.

 clutter/cogl/cogl/driver/gl/cogl.c   |    1 +
 clutter/cogl/cogl/driver/gles/cogl.c |    1 +
 2 files changed, 2 insertions(+), 0 deletions(-)

commit 70aeb1c64216d75ba63f1cbae1c824b69305bd73
Author: Christian Persch <chpe@gnome.org>
Date:   Tue Nov 17 20:43:39 2009 +0100

    Pass the interned string value to the binding callback
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=1891
    
    Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>

 clutter/clutter-binding-pool.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 2832940603733873a76cb4c890f4a3d656d07112
Author: Neil Roberts <neil@linux.intel.com>
Date:   Tue Nov 17 18:06:31 2009 +0000

    cogl: Use the GL_EXT_blend_{func,equation}_separate extensions
    
    We should use these extensions to check for glBlendFuncSeparate and
    glBlendEquationSeparate as well as checking the GL version number.

 .../cogl/cogl/driver/gl/cogl-feature-functions.h   |   12 ++++++------
 1 files changed, 6 insertions(+), 6 deletions(-)

commit 6e0877507e00016cac1136c4e0dbab67e6a3e9ba
Author: Neil Roberts <neil@linux.intel.com>
Date:   Tue Nov 17 17:22:22 2009 +0000

    cogl: Don't bother checking for NPOTs or VBOs on later GLs
    
    For VBOs, we don't need to check for the extension if the GL version
    is greater than 1.5. Non-power-of-two textures are given in 2.0.
    
    We could also assume shader support in GL 2.0 except that the function
    names are different from those in the extension so it wouldn't work
    well with the current mechanism.

 .../cogl/cogl/driver/gl/cogl-feature-functions.h   |    4 +++-
 clutter/cogl/cogl/driver/gl/cogl.c                 |    3 ++-
 2 files changed, 5 insertions(+), 2 deletions(-)

commit 4a8c1ff8fa6244cad0b0e770ab6f68e319271675
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Nov 17 15:32:00 2009 +0000

    build: Clean up the configure summary
    
    Split out into section the configuration report, and clean
    up the reported settings - including when experimental features
    have been enabled.

 configure.ac |   97 ++++++++++++++++++++++++++++++++++++++--------------------
 1 files changed, 64 insertions(+), 33 deletions(-)

commit 91cde78a7023d728ebb33c73684fc3702ad87963
Author: Neil Roberts <neil@linux.intel.com>
Date:   Tue Nov 17 13:52:40 2009 +0000

    cogl: Make it easier to add checks for GL extensions
    
    Previously if you need to depend on a new GL feature you had to:
    
    - Add typedefs for all of the functions in cogl-defines.h.in
    
    - Add function pointers for each of the functions in
      cogl-context-driver.h
    
    - Add an initializer for the function pointers in
      cogl-context-driver.c
    
    - Add a check for the extension and all of the functions in
      cogl_features_init. If the extension is available under multiple
      names then you have to duplicate the checks.
    
    This is quite tedious and error prone. This patch moves all of the
    features and their functions into a list of macro invocations in
    cogl-feature-functions.h. The macros can be redefined to implement all
    of the above tasks from the same header.
    
    The features are described in a struct with a pointer to a table of
    functions. A new function takes the feature description from this
    struct and checks for its availability. The feature can take a list of
    extension names with a list of alternate namespaces (such as "EXT" or
    "ARB"). It can also detect the feature from a particular version of
    GL.
    
    The typedefs are now gone and instead the function pointer in the Cogl
    context just directly contains the type.
    
    Some of the functions in the context were previously declared with the
    'ARB' extension. This has been removed so that now all the functions
    have no suffix. This makes more sense when the extension could
    potentially be merged into GL core as well.

 clutter/cogl/cogl/Makefile.am                      |    2 +
 clutter/cogl/cogl/cogl-feature-private.c           |  141 ++++++++
 clutter/cogl/cogl/cogl-feature-private.h           |   71 ++++
 clutter/cogl/cogl/cogl-journal.c                   |   10 +-
 clutter/cogl/cogl/cogl-vertex-buffer.c             |   21 +-
 clutter/cogl/cogl/driver/gl/cogl-context-driver.c  |   58 +---
 clutter/cogl/cogl/driver/gl/cogl-context-driver.h  |   81 +----
 clutter/cogl/cogl/driver/gl/cogl-defines.h.in      |  361 -------------------
 .../cogl/cogl/driver/gl/cogl-feature-functions.h   |  326 +++++++++++++++++
 clutter/cogl/cogl/driver/gl/cogl-program.c         |   89 +++---
 clutter/cogl/cogl/driver/gl/cogl-shader.c          |   27 +-
 clutter/cogl/cogl/driver/gl/cogl.c                 |  369 ++------------------
 .../cogl/cogl/driver/gles/cogl-context-driver.c    |   19 +-
 .../cogl/cogl/driver/gles/cogl-context-driver.h    |   25 +-
 clutter/cogl/cogl/driver/gles/cogl-defines.h.in    |   70 ----
 .../cogl/cogl/driver/gles/cogl-feature-functions.h |   72 ++++
 clutter/cogl/cogl/driver/gles/cogl.c               |   82 ++---
 17 files changed, 794 insertions(+), 1030 deletions(-)

commit 4734b7be418274cf00390c805b472b9493100157
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Sat Nov 14 13:03:59 2009 +0000

    docs: Detail the Clutter debugging flags

 doc/reference/clutter/running-clutter.xml |   56 +++++++++++++++++++++++++++++
 1 files changed, 56 insertions(+), 0 deletions(-)

commit 037192552ed126c35e430c11f030f16e984ac0b4
Author: Neil Roberts <neil@linux.intel.com>
Date:   Fri Nov 13 17:23:13 2009 +0000

    win32: Remove the check for GL 1.2
    
    Since 568c29ba4 the GL version is now validated further up in
    ClutterStage via Cogl so there is no need for the Win32 backend to do
    it.

 clutter/win32/clutter-stage-win32.c |   42 -----------------------------------
 1 files changed, 0 insertions(+), 42 deletions(-)

commit 62a37d8e538abc6d0c67bd69b4eb2a724668cce0
Author: Neil Roberts <neil@linux.intel.com>
Date:   Wed Nov 11 16:42:53 2009 +0000

    Use the GL_ARB_multitexture extension on GL 1.2
    
    Cogl requires multi-texturing support. This is only available as an
    extension in GL 1.2 so we should check for it before accepting the
    driver.
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=1875

 clutter/cogl/cogl/driver/gl/cogl.c |   46 ++++++++++++++++++++++++++++++-----
 1 files changed, 39 insertions(+), 7 deletions(-)

commit 2e99b276a4d312d6123426e2c88adf621a427c86
Author: Neil Roberts <neil@linux.intel.com>
Date:   Wed Nov 11 13:38:52 2009 +0000

    cogl-material: Fallback to BlendFunc if BlendFuncSeparate is unavailable
    
    glBlendFuncSeparate is only available in OpenGL 1.4. If we
    conditionally check for this then Clutter will work with OpenGL 1.2.
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=1875

 clutter/cogl/cogl/cogl-material.c |   11 ++++++++---
 1 files changed, 8 insertions(+), 3 deletions(-)

commit 568c29ba491e4a6b3bef426be528d7246110011c
Author: Neil Roberts <neil@linux.intel.com>
Date:   Wed Nov 11 13:26:54 2009 +0000

    Validate that the GL version is >= 1.2
    
    There is a new internal Cogl function called _cogl_check_driver_valid
    which looks at the value of the GL_VERSION string to determine whether
    the driver is supported. Clutter now calls this after the stage is
    realized. If it fails then the stage is marked as unrealized and a
    warning is shown.
    
    _cogl_features_init now also checks the version number before getting
    the function pointers for glBlendFuncSeparate and
    glBlendEquationSeparate. It is not safe to just check for the presence
    of the functions because some drivers may define the function without
    fully implementing the spec.
    
    The GLES version of _cogl_check_driver_valid just always returns TRUE
    because there are no version requirements yet.
    
    Eventually the function could also check for mandatory extensions if
    there were any.
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=1875

 clutter/clutter-backend.c            |   14 ++++--
 clutter/clutter-private.h            |    3 +
 clutter/clutter-stage.c              |   22 ++++++++-
 clutter/cogl/cogl/cogl.c             |    5 ++
 clutter/cogl/cogl/cogl.h.in          |    9 ++++
 clutter/cogl/cogl/driver/gl/cogl.c   |   87 +++++++++++++++++++++++++++++++---
 clutter/cogl/cogl/driver/gles/cogl.c |    6 ++
 7 files changed, 133 insertions(+), 13 deletions(-)

commit 677ff9fb30a99b850eb1b41c34f80e5e01f8e43e
Author: Samuel Degrande <Samuel.Degrande@lifl.fr>
Date:   Tue Oct 27 11:18:49 2009 +0100

    Can no more include clutter-stage.h inside clutter-win32.h
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=1847
    
    Signed-off-by: Neil Roberts <neil@linux.intel.com>

 clutter/win32/clutter-win32.h |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 26ce94eda071cc133ab2b469cae0b19aae727279
Author: Samuel Degrande <Samuel.Degrande@lifl.fr>
Date:   Mon Oct 26 16:28:36 2009 +0100

    Adapt win32 backend to the semantic change of StageWindow
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=1847
    
    Signed-off-by: Neil Roberts <neil@linux.intel.com>

 clutter/win32/clutter-backend-win32.c |   34 ++--
 clutter/win32/clutter-stage-win32.c   |  345 +++++++++++++++++----------------
 clutter/win32/clutter-stage-win32.h   |    2 +
 3 files changed, 194 insertions(+), 187 deletions(-)

commit b69ee0989b3ec4b588a1e80ea933b3b8997f6898
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Nov 13 15:27:18 2009 +0000

    tests: Add instructions to test-box-layout

 tests/interactive/test-box-layout.c |   17 ++++++++++++++++-
 1 files changed, 16 insertions(+), 1 deletions(-)

commit 568ad044eba38198ecdb32f671047bffa27353a9
Author: Neil Roberts <neil@linux.intel.com>
Date:   Fri Nov 13 13:39:24 2009 +0000

    Clear pending events for a stage when it is destroyed
    
    We can not process events for a stage that has been destroyed so we
    should make sure that the events for the stage are removed from the
    global event queue during dispose.
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=1882

 clutter/clutter-stage.c |   18 ++++++++++++++++++
 1 files changed, 18 insertions(+), 0 deletions(-)

commit 49cd887aabf7ff8cbfb147ceacfc82e3c75c0c9b
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Nov 13 14:43:57 2009 +0000

    docs: Document the AnimationMode definition
    
    Both ClutterAlpha:mode and ClutterAnimation:mode can be defined using:
    
      • an integer id
      • the "nick" field of the AnimationMode GEnumValue
      • a custom, tweener-like string
    
    All these methods should be documented.

 clutter/clutter-alpha.c     |    8 ++++-
 clutter/clutter-animation.c |   61 +++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 67 insertions(+), 2 deletions(-)

commit c8d57037882729a7ea0117726f2e8e48b10416ac
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Nov 13 14:10:29 2009 +0000

    tests: Add unit for Animation definitions
    
    Verify that an Animation can be defined using ClutterScript.
    
    No initial/final state of the animation, yet.

 .gitignore                            |    1 +
 tests/conform/test-conform-main.c     |    1 +
 tests/conform/test-script-parser.c    |   22 ++++++++++++++++++++++
 tests/data/test-script-animation.json |   14 ++++++++++++++
 4 files changed, 38 insertions(+), 0 deletions(-)

commit d54f4e944c8725c84a5534d519fb3f9de7b95430
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Nov 13 14:08:49 2009 +0000

    Whitespace fixes

 clutter/clutter-animation.c     |    7 +++----
 clutter/clutter-script-parser.c |    3 +--
 2 files changed, 4 insertions(+), 6 deletions(-)

commit 95b55588ad6c57cbeb7cda50886e709aa1ae1c00
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Nov 13 14:07:25 2009 +0000

    tests: Print out parser errors if present
    
    If the conformance test for the Script parser throws an error
    and we've enabled verbosity then we should print out the error
    message before aborting.

 tests/conform/test-script-parser.c |   10 ++++++++--
 1 files changed, 8 insertions(+), 2 deletions(-)

commit 9bae5535646b64e7c43f3a628942531d14e5a0f1
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Nov 13 13:21:47 2009 +0000

    animation: Override parsing :mode
    
    Like in ClutterAlpha, ClutterAnimation:mode must be overridden when
    parsing a Script definition, as we accept both a numeric id and the
    string id for easing modes.

 clutter/clutter-animation.c |   51 ++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 50 insertions(+), 1 deletions(-)

commit dab1da20ae144afe56f48c0a3be5865d84245658
Author: Neil Roberts <neil@linux.intel.com>
Date:   Mon Oct 5 13:37:11 2009 +0100

    [cogl-primitives] Don't clear the whole stencil buffer
    
    When _cogl_add_path_to_stencil_buffer is used to draw a path we don't
    need to clear the entire stencil buffer. Instead it can clear just the
    bounding box of the path. This adds an extra parameter called
    'need_clear' which is only set if the stencil buffer is being used for
    clipping.
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=1829

 clutter/cogl/cogl/cogl-clip-stack.c |    6 +++-
 clutter/cogl/cogl/cogl-primitives.c |   37 ++++++++++++++++++++++++++++------
 2 files changed, 34 insertions(+), 9 deletions(-)

commit bc8faf52f4a817d7d023f554dcd7ace0efac9942
Author: Neil Roberts <neil@linux.intel.com>
Date:   Thu Nov 12 17:00:15 2009 +0000

    Remove _cogl_flush_matrix_stacks from cogl-internal.h
    
    The definition for this function was removed in f7d64e5abvoid so it
    should be removed from the header too.

 clutter/cogl/cogl/cogl-internal.h |    2 --
 1 files changed, 0 insertions(+), 2 deletions(-)

commit 9fa562ad216d516d1cd66f72aa39eaad0a5c40b9
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Nov 11 10:32:39 2009 +0000

    cogl: Declare cogl_is_bitmap()
    
    The function is automatically defined by the CoglHandle type
    definition macro, but it still requires to be declared in the
    header file to be used.

 clutter/cogl/cogl/cogl-bitmap.h |   13 +++++++++++++
 1 files changed, 13 insertions(+), 0 deletions(-)

commit 482e4e8d111fa76194a20ccd120eac41afa277d8
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Nov 10 12:21:26 2009 +0000

    tests: Display the index inside text-box-layout
    
    Since the rectangles packed inside the BoxLayout interactive test
    have random colors it's not easy to verify the ordering. By using
    the CoglPango API to print out the index in the middle of each
    rectangle.

 tests/interactive/test-box-layout.c |   41 ++++++++++++++++++++++++++++++++--
 1 files changed, 38 insertions(+), 3 deletions(-)

commit 4bc3d02ebd928b4bc7c59811b9e90aae36750cfb
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Nov 10 12:20:14 2009 +0000

    box-layout: Honour :text-direction
    
    During size request and allocation a ClutterBoxLayout should honour
    the ClutterActor:text-direction property, and change the order of
    the children.

 clutter/clutter-box-layout.c |  206 +++++++++++++++++++++++++++++-------------
 1 files changed, 142 insertions(+), 64 deletions(-)

commit adab87b520699892e012d601821a5aee11410125
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Nov 10 12:18:32 2009 +0000

    text: Dirty layout cache on text direction changes
    
    When the text direction changes we should evict the cached layouts
    to avoid stale entries in case the direction change produces a layout
    with the same size.

 clutter/clutter-text.c |   23 +++++++++++++++++++++++
 1 files changed, 23 insertions(+), 0 deletions(-)

commit f94f7692a6836ed4a5f039e4c2a44966b47c77fc
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Nov 6 16:55:46 2009 +0000

    actor: Add :text-direction property
    
    Every actor should have a property for retrieving (and setting) the
    text direction.
    
    The text direction is used to provide a consisten behaviour in both
    left-to-right and right-to-left languages. For instance, ClutterText
    should perform key navigation following text direction. Layout
    managers should also take into account text direction to derive the
    right packing order for their children.

 clutter/clutter-actor.c |  116 ++++++++++++++++++++++++++++++++++++++++++++++-
 clutter/clutter-actor.h |    4 ++
 2 files changed, 119 insertions(+), 1 deletions(-)

commit 53a9d0c637ee1ef07e9251b77f86f0cd42ab611e
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Nov 6 16:50:53 2009 +0000

    Use the newly added ClutterTextDirection enumeration
    
    Instead of using PangoDirection directly we should use the
    ClutterTextDirection enumeration.
    
    We also need a pair of accessor functions for setting and
    getting the default text direction.

 clutter/clutter-main.c |   43 +++++++++++++++++++++++++++++++++----------
 clutter/clutter-main.h |    3 +++
 2 files changed, 36 insertions(+), 10 deletions(-)

commit 3958df4ff9b3aa800df2e0f1695fd143439d870a
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Nov 6 16:49:55 2009 +0000

    Add ClutterTextDirection enumeration
    
    The ClutterTextDirection is composed of three values:
    
      DEFAULT: a flag for returning the default text direction
      LTR: left to right
      RTL: right to left

 clutter/clutter-types.h |   17 +++++++++++++++++
 1 files changed, 17 insertions(+), 0 deletions(-)

commit 2671c425894c89a4afd415b70e8ebbc4f057e02b
Author: Neil Roberts <neil@linux.intel.com>
Date:   Mon Nov 9 12:12:27 2009 +0000

    Revert changes to test-cogl-primitives.c from 272e227109
    
    These changes caused the test to try to load redhand.png but this no
    longer works since the TESTS_DATADIR changes in 0b4899ef23. The only
    use of the hand is commented out anyway so it looks like the changes
    were intended for temporary debugging.

 tests/interactive/test-cogl-primitives.c |   14 --------------
 1 files changed, 0 insertions(+), 14 deletions(-)

commit ac9f65cb92196e2eafd4b1e25dabd9cb6a428db3
Author: Damien Lespiau <damien.lespiau@intel.com>
Date:   Mon Nov 9 13:05:40 2009 +0000

    build: Make the glib-mkenums generated files depend on their templates
    
    With this, if one changes the underlying template files, we run
    glib-mkenums again to generate updated glib_enum_[ch] files.
    
    Reviewed-by: Emmanuele Bassi <ebassi@linux.intel.com>

 build/autotools/Makefile.am.enums |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 1be23c0cc9741cbe68a54cd84de772bd120254b6
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Nov 9 16:44:34 2009 +0000

    build: Fix --with-imagebackend configure switch
    
    An overeager search and replace broke the image backend command
    line switch for the configure script.

 configure.ac |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 1ce25ffbb2561ab5eb3f6b07b74ec49587f44d32
Author: Neil Roberts <neil@linux.intel.com>
Date:   Mon Nov 9 11:50:16 2009 +0000

    cogl: Add an initialiser for enable_flags in cogl_begin_gl
    
    This fixes a warning about an uninitialised value. It could also
    potentially fix some crashes for example if the enable_flags value
    happened to include a bit for enabling a vertex array if no vertex
    buffer pointer was set.

 clutter/cogl/cogl/cogl.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 09c04d4c67ea8d3ebeb3ee5adfc3752562cae3cc
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Nov 9 11:07:27 2009 +0000

    text: Add a NULL preedit string check
    
    This commit avoids a critical warning introduced by commit
    bc51b8ca47ac90e52ab6a27ff791ea97d53f4648

 clutter/clutter-text.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

commit bc51b8ca47ac90e52ab6a27ff791ea97d53f4648
Author: Raymond Liu <raymond.liu@intel.com>
Date:   Mon Nov 9 16:42:15 2009 +0800

    Fix cursor position in preedit status
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=1871
    
    Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>

 clutter/clutter-text.c |   14 ++++++++++++--
 1 files changed, 12 insertions(+), 2 deletions(-)

commit 7e17822cfd860fd694735fbf550013f7f8b7a915
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Nov 6 15:06:39 2009 +0000

    Clean up cogl.h template
    
    The inclusion order is mostly random, and it should really be
    in alphabetic order, just like clutter.h.
    
    Also, cogl-vertex-buffer.h is included twice.

 clutter/cogl/cogl/cogl.h.in |   17 +++++++++--------
 1 files changed, 9 insertions(+), 8 deletions(-)

commit fcd8237ac5f5dc7bc485b8b5726824129215beea
Author: Tim Horton <hortont424@gmail.com>
Date:   Fri Nov 6 11:57:43 2009 +0000

    osx: CGBitmapContextCreate can't make 24bpp, alphaless offscreen pixmaps
    
    While loading a JPEG from disk (with clutter_texture_new_from_file),
    I got the following:
    
    <Error>: CGBitmapContextCreate: unsupported parameter combination: 8
    integer bits/component; 24 bits/pixel; 3-component colorspace;
    kCGImageAlphaNone; 3072 bytes/row.
    <Error>: CGContextDrawImage: invalid context
    
    Looking around, I found that CGBitmapContextCreate can't make 24bpp
    offscreen pixmaps without an alpha channel...
    
    This fixes the bug, and seems to not break other things...
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=1159
    
    Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>

 clutter/cogl/cogl/cogl-bitmap-pixbuf.c |   18 +++---------------
 1 files changed, 3 insertions(+), 15 deletions(-)

commit 5c67e8e0c09c83c470f999c86091181cc373d5b6
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Nov 6 14:07:46 2009 +0000

    script: Coding style clean-ups

 clutter/clutter-script.c |   38 +++++++++++++++++++-------------------
 1 files changed, 19 insertions(+), 19 deletions(-)

commit 179a66c922f85fdfc8968f7f60a5b76154696ad4
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Nov 6 14:07:26 2009 +0000

    script: Document private functions

 clutter/clutter-script.c |   71 +++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 67 insertions(+), 4 deletions(-)

commit 30bc36082e2922b11b98907fde12f64fd4f7399d
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Nov 6 14:04:36 2009 +0000

    Do not pass flags to g_module_open(NULL)
    
    The flags are ignored when opening the main module, so we
    should pass 0 to avoid confusion when reading the source.

 clutter/clutter-alpha.c         |    2 +-
 clutter/clutter-script-parser.c |    6 +++---
 clutter/clutter-script.c        |    2 +-
 clutter/cogl/cogl/cogl.c        |    4 ++--
 4 files changed, 7 insertions(+), 7 deletions(-)

commit 4262f79f34c35a8eb620fb82eb0e36d5ac191600
Merge: b9e519c 031d4d6
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Nov 6 11:50:22 2009 +0000

    Merge branch 'josh-osx-fixes'
    
    * josh-osx-fixes:
      osx: Fix a warning on Snow Leopard
      docs: Fix OS X docs to install Ports in correct order
      osx: Implement the updated ClutterStageWindow interface

commit b9e519c3b2bc5fc01743568a2a37029c61fdf6ef
Author: Joshua Lock <josh@linux.intel.com>
Date:   Thu Nov 5 15:50:21 2009 +0000

    tests: Remove a spurious #include
    
    The test-backface-culling has what looks like a stray #include in which
    stops the test compiling for backends without GdkPixbuf. Remove it.
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=1867

 tests/conform/test-backface-culling.c |    2 --
 1 files changed, 0 insertions(+), 2 deletions(-)

commit 031d4d6203f007fea2b95ca883c7113d0160372d
Author: Joshua Lock <josh@linux.intel.com>
Date:   Thu Nov 5 15:48:25 2009 +0000

    osx: Fix a warning on Snow Leopard
    
    Apple where nice and changed API between releases. This patch checks the
    version of the compilation environment and tries to use the right parameter
    type.
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=1866

 clutter/osx/clutter-backend-osx.c |    8 ++++++--
 1 files changed, 6 insertions(+), 2 deletions(-)

commit 58f1dfcf35626b8b1ea896dfbd27623b15779fce
Author: Joshua Lock <josh@linux.intel.com>
Date:   Thu Nov 5 15:31:56 2009 +0000

    docs: Fix OS X docs to install Ports in correct order
    
    The order in which the MacPorts are installed is important otherwise we open
    the user up to a world of pain.
    This patch also tweaks the OS X docs to follow the formatting of the rest of
    the docs and to discuss the option of GtkDoc.
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=1865

 doc/reference/clutter/building-clutter.xml |   67 +++++++++++++++------------
 1 files changed, 37 insertions(+), 30 deletions(-)

commit 4533e37744f8751e254741104d27b7b37e2fdfd7
Author: Joshua Lock <josh@linux.intel.com>
Date:   Thu Nov 5 15:44:32 2009 +0000

    osx: Implement the updated ClutterStageWindow interface
    
    In the new Clutter world backend stage implementations should be lightweight
    objects implementing the ClutterStageWindow interface and not ClutterActor
    subclasses.
    
    This patch performs various cut-n-pastes to acheive that for the OSX backend
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=1864

 clutter/osx/clutter-backend-osx.c |    4 +-
 clutter/osx/clutter-stage-osx.c   |  196 ++++++++++++++++---------------------
 clutter/osx/clutter-stage-osx.h   |    8 +-
 3 files changed, 89 insertions(+), 119 deletions(-)

commit cb60c038acb0de9178d0aee22e3a9847653c9627
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Nov 6 11:33:32 2009 +0000

    behaviour: Implement the implicit alpha parsing
    
    ClutterBehaviour should implement the Scriptable interface
    and parse ClutterAlpha when implicitly defined, instead of
    having this ad hoc code inside ClutterScriptParser itself.
    
    After all, only ClutterBehaviour supports Alpha defined
    implicitly.

 clutter/clutter-behaviour.c      |   46 +++++++++++++++++++++++++++++++++----
 clutter/clutter-script-parser.c  |   19 +--------------
 clutter/clutter-script-private.h |    4 +-
 3 files changed, 45 insertions(+), 24 deletions(-)

commit f1ed8be066a7c5f16e2e876cc76ef1f5348bc14e
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Nov 6 11:32:28 2009 +0000

    conform: Add unit for properties holding objects
    
    Exercise the definition of GObjects for properties defined using
    GParamSpecObject.

 .gitignore                                  |    1 +
 tests/conform/test-conform-main.c           |    1 +
 tests/conform/test-script-parser.c          |   25 +++++++++++++++++++++++++
 tests/data/test-script-object-property.json |   13 +++++++++++++
 4 files changed, 40 insertions(+), 0 deletions(-)

commit 7279afd28c1bc47e1b47f0c2f8d53e5ea75df832
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Nov 6 11:17:42 2009 +0000

    script: Generic assignment of properties requiring objects
    
    The ClutterScriptParser should do most of the heavy-lifting for
    parsing a JSON object member defining another JSON object into
    a GObject property defined using a GParamSpecObject.

 clutter/clutter-script-parser.c |   62 ++++++++++++++++++++++++++++++++------
 1 files changed, 52 insertions(+), 10 deletions(-)

commit 185107c6cfe174ed829ce26241bf0e2f532a4394
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Nov 6 10:53:43 2009 +0000

    conformance: Add unit on the implicit alpha definition
    
    Exercise the implicit alpha and timeline definition to catch
    regressions in the ClutterScript parser code.

 .gitignore                                 |    1 +
 tests/conform/test-conform-main.c          |    1 +
 tests/conform/test-script-parser.c         |   32 ++++++++++++++++++++++++++++
 tests/data/test-script-implicit-alpha.json |    8 +++++++
 4 files changed, 42 insertions(+), 0 deletions(-)

commit f9581ca5ce87437df40e27bc0228fdb6c6897619
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Nov 6 10:17:30 2009 +0000

    script: Apply properties when constructing implicit timelines
    
    The object construction is done in two passes, now, so we must do both
    passes when parsing implicit timelines from a fake ObjectInfo.

 clutter/clutter-script-parser.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

commit abae6013e10e08cc67be53d5d067ca5ed4ad7ee3
Author: Robert Bragg <robert@linux.intel.com>
Date:   Thu Nov 5 16:50:24 2009 +0000

    Remove all internal use of deprecated cogl_clip_* API
    
    cogl_clip_push, and cogl_clip_push_window_rect which are now deprecated were
    used in various places internally so this just switches to using the
    replacement functions.

 clutter/clutter-actor.c            |   10 +++++-----
 clutter/clutter-main.c             |    2 +-
 clutter/clutter-text.c             |    6 +++---
 tests/conform/test-cogl-viewport.c |   10 ++++++----
 tests/interactive/test-clip.c      |    8 ++++----
 5 files changed, 19 insertions(+), 17 deletions(-)

commit c1d9e09d38bcf61eb7e6f88f5a052870d8abdc5e
Author: Robert Bragg <robert@linux.intel.com>
Date:   Thu Nov 5 10:56:24 2009 +0000

    [clip-stack] stop using deprecated cogl_clip_push_window_rect API
    
    try_pushing_rect_as_window_rect now uses the new
    cogl_clip_push_window_rectangle API.

 clutter/cogl/cogl/cogl-clip-stack.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 272e227109387c9287081e9dad467290e4e93faf
Author: Robert Bragg <robert@linux.intel.com>
Date:   Wed Nov 4 19:31:43 2009 +0000

    [cogl-clip] deprecate parts and cleanup the API
    
    cogl_clip_push() which accepts a rectangle in model space shouldn't have
    been defined to take x,y,width,height arguments because this isn't consistant
    with other Cogl API dealing with model space rectangles.  If you are using a
    coordinate system with the origin at the center and the y+ extending up,
    then x,y,width,height isn't as natural as (x0,y0)(x1,y1). This API has
    now been replace with cogl_clip_push_rectangle()
    
    (As a general note: the Cogl API should only use the x,y,width,height style
    when the appropriate coordinate space is defined by Cogl to have a top left
    origin.  E.g.  window coordinates, or potentially texture coordinates)
    
    cogl_clip_push_window_rect() shouldn't have been defined to take float
    arguments since we only clip with integral pixel precision. We also
    shouldn't have abbreviated "rectangle". This API has been replaced with
    cogl_clip_push_window_rectangle()
    
    cogl_clip_ensure() wasn't documented at all in Clutter 1.0 and probably
    no one even knew it existed. This API isn't useful, and so it's now
    deprecated. If no one complains we may remove the API altogether for
    Clutter 1.2.
    
    cogl_clip_stack_save() and cogl_clip_stack_restore() were originally added
    to allow us to save/restore the clip when switching to/from offscreen
    rendering.  Now that offscreen draw buffers are defined to own their clip
    state and the state will be automatically saved and restored this API is now
    redundant and so deprecated.

 README                                   |   13 ++++
 clutter/cogl/cogl/cogl-clip-stack.c      |   44 ++++++++-------
 clutter/cogl/cogl/cogl.h.in              |   92 ++++++++++++++++++++++++++++--
 doc/reference/cogl/cogl-sections.txt     |    9 ++-
 tests/interactive/test-cogl-primitives.c |   14 +++++
 5 files changed, 144 insertions(+), 28 deletions(-)

commit 6cd49fdd40bd20716365e399c3dfa039e3b6f377
Author: Robert Bragg <robert@linux.intel.com>
Date:   Wed Nov 4 20:17:56 2009 +0000

    [clip-stack] Internally track model space clip rects as (x0,y0)(x1,y1) pairs
    
    Don't track the rectangles as x0,y0,width,height. This is in preparation
    for some API tidy up.

 clutter/cogl/cogl/cogl-clip-stack.c |  113 ++++++++++++++++++-----------------
 1 files changed, 59 insertions(+), 54 deletions(-)

commit 7752ed98f1eafa9bd65fbdd2e018b0026430b579
Author: Robert Bragg <robert@linux.intel.com>
Date:   Wed Nov 4 19:42:17 2009 +0000

    [clip-stack] move lots of supporting code from cogl.c to cogl-clip-stack.c
    
    There was quite a bit of code in cogl.c that was only used to support
    cogl-clip-stack.c, so this has now been moved to cogl-clip-stack.c

 clutter/cogl/cogl/cogl-clip-stack.c |  277 +++++++++++++++++++++++++++++++----
 clutter/cogl/cogl/cogl.c            |  237 ------------------------------
 2 files changed, 250 insertions(+), 264 deletions(-)

commit 864e12df056ccbd116eb0a0992a82e5194c26787
Author: Robert Bragg <robert@linux.intel.com>
Date:   Wed Nov 4 16:55:18 2009 +0000

    [debug] Adds a COGL_DEBUG=force-scanline-paths
    
    For a long time now the GLES driver for Cogl has supported a fallback
    scanline rasterizer for filling paths when no stencil buffer is available,
    but now that we build the same cogl-primitives code for GL and GLES I
    thought it may sometimes be useful for debugging to force Cogl to use the
    scanline rasterizer instead of the current stencil buffer approach.

 clutter/cogl/cogl/cogl-debug.c      |    3 ++-
 clutter/cogl/cogl/cogl-debug.h      |    3 ++-
 clutter/cogl/cogl/cogl-primitives.c |    3 ++-
 3 files changed, 6 insertions(+), 3 deletions(-)

commit 0b4899ef23e4979326439613dfba814bd49aeb2e
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu Nov 5 17:30:33 2009 +0000

    tests: Clean up interactive test build
    
    The build for interactive tests creates symbolic links for the data
    under tests/data; it also uses symbolic links for creating "binaries"
    for each interactive test. This is less than ideal, though.
    
    Instead, the tests should build a path to the data files by using
    a pre-processor define like TESTS_DATADIR; both g_build_filename() and
    pre-processor string concatenation can be used to generate a valid
    file name with the full path to the files.
    
    The build system should also create wrapper scripts, just like we
    do inside the conformance test suite, to be able to launch single
    tests.

 .gitignore                                 |    1 +
 tests/interactive/Makefile.am              |   59 +++++++++++--------
 tests/interactive/test-actor-clone.c       |   27 +++++----
 tests/interactive/test-actors.c            |   11 ++--
 tests/interactive/test-behave.c            |   14 +++--
 tests/interactive/test-bin-layout.c        |    6 ++-
 tests/interactive/test-clip.c              |    5 +-
 tests/interactive/test-cogl-multitexture.c |   15 ++++-
 tests/interactive/test-cogl-offscreen.c    |    6 ++-
 tests/interactive/test-cogl-tex-convert.c  |   28 ++++++---
 tests/interactive/test-cogl-tex-getset.c   |   12 +++-
 tests/interactive/test-cogl-tex-polygon.c  |    9 ++-
 tests/interactive/test-cogl-tex-tile.c     |    6 ++-
 tests/interactive/test-depth.c             |    5 +-
 tests/interactive/test-devices.c           |    5 +-
 tests/interactive/test-fbo.c               |   11 +++-
 tests/interactive/test-layout.c            |    5 +-
 tests/interactive/test-multistage.c        |    5 +-
 tests/interactive/test-paint-wrapper.c     |    5 +-
 tests/interactive/test-pixmap.c            |    2 +-
 tests/interactive/test-rotate.c            |    8 ++-
 tests/interactive/test-script.c            |    9 ++-
 tests/interactive/test-shader.c            |   84 +++++++++++++++-------------
 tests/interactive/test-texture-async.c     |   57 ++++++++-----------
 tests/interactive/test-texture-quality.c   |   15 ++++-
 tests/interactive/test-viewport.c          |    8 ++-
 tests/interactive/wrapper.sh               |    4 +-
 27 files changed, 260 insertions(+), 162 deletions(-)

commit c3368c0d157c5fa28a4e29e6caaed4323e82990d
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu Nov 5 12:24:37 2009 +0000

    layout: Add layout properties introspection
    
    In order to know if a layout property exists and retrieve its
    description in form of a GParamSpec, we need a wrapper API inside
    ClutterLayoutManager. This allows introspecting a LayoutManager
    sub-class and eventually serialize and deserialize it.

 clutter/clutter-layout-manager.c |   76 ++++++++++++++++++++++++++++
 clutter/clutter-layout-manager.h |  103 ++++++++++++++++++++------------------
 2 files changed, 130 insertions(+), 49 deletions(-)

commit b0c9de273096d8949c8eafa3d5da017bb551e3f0
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu Nov 5 12:23:49 2009 +0000

    box-layout: Add get_child_meta_type() override
    
    Return the GType of ClutterBoxChild.

 clutter/clutter-box-layout.c |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)

commit eea00d280549641403dbaae27e370e16fe9f975b
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu Nov 5 12:23:22 2009 +0000

    bin-layout: Add get_child_meta_type() override
    
    Return the GType of ClutterBinLayer.

 clutter/clutter-bin-layout.c |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)

commit e6dff59b27d7eb6d9fca51f6ddf74fcb7d8253e3
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu Nov 5 11:57:06 2009 +0000

    layout: Add LayoutManager::get_child_meta_type()
    
    In order to inspect a LayoutManager using LayoutMeta we need a
    virtual function that returns the GType of the LayoutMeta used.

 clutter/clutter-layout-manager.c |    7 +++++++
 clutter/clutter-layout-manager.h |    3 +++
 2 files changed, 10 insertions(+), 0 deletions(-)

commit 95d78acb4ca72951fc9552c9fcffa645b1be739a
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Nov 4 16:45:44 2009 +0000

    script: Allow parsing child properties
    
    The ClutterScript parser needs to be extended to parse child properties
    and apply them after an actor has been added to a container. In order to
    distinguish child properties from regular GObject properties we can use
    the "child::" prefix, e.g.:
    
      {
        "type" : "ClutterRectangle",
        "id" : "child-01",
        "child::has-focus" : true,
        ...
      }
    
    Parsing child properties can be deferred to the ClutterScriptable
    interface, just like regular properties.

 .gitignore                         |    1 +
 clutter/clutter-script-parser.c    |  115 ++++++++++++++++++++++++++-
 clutter/clutter-script-private.h   |    2 +
 tests/conform/Makefile.am          |    2 +
 tests/conform/test-conform-main.c  |    1 +
 tests/conform/test-script-parser.c |  156 ++++++++++++++++++++++++++++++++++++
 tests/data/test-script-child.json  |   21 +++++
 7 files changed, 297 insertions(+), 1 deletions(-)

commit c52d8780325a0077f7fc6e898d902462ffbe3c8c
Author: Robert Bragg <robert@linux.intel.com>
Date:   Sat Oct 17 04:06:56 2009 +0100

    [cogl-primitives] Get rid of driver specific cogl-primitives code
    
    These files were practically identical, except the gles code had additional
    support for filling paths without a stencil buffer.  All the driver code has
    now been moved into cogl/cogl-primitives.c

 clutter/cogl/cogl/cogl-primitives.c             |  488 +++++++++++++++++++++-
 clutter/cogl/cogl/driver/gl/Makefile.am         |    1 -
 clutter/cogl/cogl/driver/gl/cogl-primitives.c   |  313 --------------
 clutter/cogl/cogl/driver/gles/Makefile.am       |    1 -
 clutter/cogl/cogl/driver/gles/cogl-primitives.c |  516 -----------------------
 5 files changed, 482 insertions(+), 837 deletions(-)

commit 8ba13d6495d00885380db3a23f552633c5c43c0a
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Nov 4 15:21:03 2009 +0000

    script: Clean up Color parsing rules
    
    All the ClutterColor parsing rules should be coalesced inside
    clutter_script_parse_color(): object, array and string notations
    are the canonical ways of defining a ClutterColor inside a
    ClutterScript definition. Having a single function in charge of
    the parsing cleans up the code.

 clutter/clutter-script-parser.c    |   17 +++++++----------
 tests/conform/test-script-parser.c |    6 ++++++
 2 files changed, 13 insertions(+), 10 deletions(-)

commit 3e815de32b2aa525365b80fb7d2f5d5dc9d2fb72
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Nov 4 15:20:12 2009 +0000

    script: Simplify boxed types parsing
    
    We should use the typed accessors for complex JSON types, and
    be more liberal in what we accept.

 clutter/clutter-script-parser.c |  147 +++++++++++++++------------------------
 1 files changed, 57 insertions(+), 90 deletions(-)

commit 4df59d330ca4ba7ffcff830001ddbc4fe64167ee
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Nov 4 14:05:13 2009 +0000

    script: Separate construction from properties application
    
    Currently, ClutterScriptParser will construct the object (using the
    construct-only and construct parameters), apply the properties from
    the ClutterScript definition, and eventuall will add children and
    behaviours.
    
    The construction phase should be more compartimentalized: the objects
    should be constructed first and eventual children and behaviours
    added. Then, once an object is requested or when the parsing process
    has terminated, all the properties should be applied.
    
    This change allows us to set up the actors before setting their
    non-construct properties.

 clutter/clutter-script-parser.c  |  137 ++++++++++++++++++--------------------
 clutter/clutter-script-private.h |    8 ++-
 clutter/clutter-script.c         |   22 +++++-
 3 files changed, 88 insertions(+), 79 deletions(-)

commit 31e5dadb68cf285d57935573e16713201f24503e
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Nov 4 13:32:26 2009 +0000

    script: Move all parser code inside ClutterScriptParser
    
    ClutterScript is currently a mix of parser-related code and
    the ClutterScript object. All the parser-related code should
    be moved inside a private class, ClutterScriptParser, inheriting
    from JsonParser.

 clutter/clutter-script-parser.c  | 1288 +++++++++++++++++++++++++++++++++-
 clutter/clutter-script-private.h |   38 +-
 clutter/clutter-script.c         | 1485 +++-----------------------------------
 3 files changed, 1438 insertions(+), 1373 deletions(-)

commit d7cfa158513263a5f75934a8f9ddceea9a6b8800
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Nov 4 11:50:45 2009 +0000

    conform: Add the beginnings of a ClutterScript test suite
    
    ClutterScript is a very complicated piece of machinery, with a
    parser that has custom variations on top of the basic JSON
    format; it could also be extended in the future, so if we don't
    want to introduce regressions or break existing ClutterScript
    definitions, we'd better have a conformance test suite.

 .gitignore                         |    1 +
 tests/conform/Makefile.am          |    1 +
 tests/conform/test-conform-main.c  |    2 ++
 tests/conform/test-script-parser.c |   33 +++++++++++++++++++++++++++++++++
 tests/data/Makefile.am             |   13 ++++++++-----
 tests/data/test-script-single.json |   10 ++++++++++
 6 files changed, 55 insertions(+), 5 deletions(-)

commit 7d891d9dd4acbaedc5b2a2f95445a1e93fd1529f
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Nov 4 11:47:09 2009 +0000

    tests: Allow getting data files from the tests/data directory
    
    The units under the conformance test suite should be able to use
    external files. Linking the files in tests/conform like the
    interactive tests do seems like a hack piled on top of a hack, so
    instead we should provide a programmatic way for a conformance
    test unit to get the full path of a file, regardless of where the
    tests/data directory is.
    
    We can use a define to get the full path of tests/data and then
    a function using g_build_filename() to construct the path to the
    file we want.

 tests/conform/Makefile.am           |   14 +++++++++-----
 tests/conform/test-conform-common.h |    1 +
 tests/conform/test-conform-main.c   |    6 ++++++
 3 files changed, 16 insertions(+), 5 deletions(-)

commit 3e20468c6bd982eb8be0e3cbf9c9b72df38eaeeb
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Nov 4 11:05:25 2009 +0000

    Add new conformance tests to the ignore list

 .gitignore |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

commit 6e571928a49641f353f31e1f69328e1466b6ac66
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Nov 3 18:30:28 2009 +0000

    script: Take a copy of property nodes
    
    Instead of counting on a JsonNode pointer to survive we should take
    a copy. This allows keeping unresolved properties across different
    ClutterScript passes.

 clutter/clutter-script.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

commit 4ad57aa3e4caedd89e9c60c60aadbc239290cfe3
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Nov 3 18:29:52 2009 +0000

    script: Use JsonObject direct accessors
    
    Instead of getting the JsonNode for a member of which we mandate
    the type we can use the typed accessors of JsonObject.

 clutter/clutter-script.c |   16 ++++++++++------
 1 files changed, 10 insertions(+), 6 deletions(-)

commit 0ff420fab59221fccf711893c363145607b40898
Merge: f6e0e48 4258214
Author: Robert Bragg <robert@linux.intel.com>
Date:   Wed Nov 4 03:46:45 2009 +0000

    Merge commit 'cogl-reorg-draw-buffers'
    
    * cogl-reorg-draw-buffers: (38 commits)
      [test-fbo] greatly simplify the test
      [tests] test-backface-culling: test culling with offscreen rendering
      [tests] Adds test-cogl-readpixels.c for very basic cogl_read_pixels testing
      [tests] Adds test-cogl-offscreen to validate offscreen draw buffer
      [tests] test-cogl-viewport tests semantics of over/under size viewports
      [test-texture-fbo] comment the colors defined in corner_colors
      Add a conformance test for clutter_texture_new_from_actor
      [cogl-texture-2d-sliced] allow COGL_FORMAT_ANY with _new_with_size()
      [texture] fix rounding when calculating update_fbo viewport offset
      [texture] switch to a new design for handling offscreen rendering
      [texture] split out fbo update code from cluter_texture_paint
      [texture] push/pop draw buffer when painting actors to a texture
      [texture] Avoid redundant use of cogl_clip_stack_save when drawing offscreen
      [cogl-draw-buffer] fix Cogl -> GL viewport coord conversion
      [cogl_clip_push_window_rect] fix Cogl -> GL coordinate conversion
      [matrix] Adds cogl_matrix_get_inverse API
      [debug] Adds a COGL_DEBUG=matrices debug option
      [cogl-matrix] Import Mesa's matrix manipulation code
      [cogl] avoid any state changes when cogl_set_backface_culling_enable is a nop
      [cogl] Use clockwise face winding for offscreen buffers with culling enabled
      ...

commit 4258214e509edbc4ff82de418ffc9662088fa835
Author: Robert Bragg <robert@linux.intel.com>
Date:   Wed Oct 7 10:40:15 2009 +0100

    [test-fbo] greatly simplify the test
    
    This test tried to do too much, and I can't remember the last time I saw this
    test work.
    
    It no longer tries to create a texture from an offscreen actor and it no
    longer tries to use shaders.
    
    It does though show that chaining of clutter_texture_new_from_actor now
    works, and that animating the source actor is reflected in textures created
    from it.
    
    When run you should see three actors:
    - on the left is the pristine source actor rotating around the y-axis
    - in the middle is the first texture created from the source actor
    - and on the right a texture created from the middle actor
    
    Note: the somewhat strange bobbing of the middle and right textures is
    actually correct given how it was decided long ago to map the transformed
    (to screen space) allocation of the source actor to the texture.  When the
    hand spins around the perspective projection of the top of the hand results
    in the origin of the texture bobbing up to a higher stage position, but the
    position of the textures is fixed.  This design also means we end up
    reallocating our offscreen draw buffer every frame that the actors
    transformed size changes, which isn't ideal.

 tests/interactive/test-fbo.c |  192 ++++++++----------------------------------
 1 files changed, 34 insertions(+), 158 deletions(-)

commit ffb592de5908d844b527cb4fe75b7195eb0dc55d
Author: Robert Bragg <robert@linux.intel.com>
Date:   Thu Oct 22 19:01:27 2009 +0100

    [tests] test-backface-culling: test culling with offscreen rendering
    
    Since offscreen rendering is internally forced to be upside down Cogl
    needs to reverse the glFrontFace winding order so as not to interfere
    with the use of cogl_set_backface_culling_enabled()
    
    This ensures we test that mechanism.

 tests/conform/test-backface-culling.c |  172 +++++++++++++++++++++------------
 1 files changed, 111 insertions(+), 61 deletions(-)

commit 60b642f5d6aada0d237cfb7d81f6b78299c29e73
Author: Robert Bragg <robert@linux.intel.com>
Date:   Thu Oct 22 16:56:01 2009 +0100

    [tests] Adds test-cogl-readpixels.c for very basic cogl_read_pixels testing
    
    Mostly this was written to verify that we don't flip the data read back from
    an offscreen draw buffer.  (since all offscreen rendering is done upside
    down)

 tests/conform/Makefile.am            |    1 +
 tests/conform/test-cogl-readpixels.c |  153 ++++++++++++++++++++++++++++++++++
 tests/conform/test-conform-main.c    |    1 +
 3 files changed, 155 insertions(+), 0 deletions(-)

commit 2ff7f2d287f8dc80f0e6e02bdc388d4fee99d878
Author: Robert Bragg <robert@linux.intel.com>
Date:   Thu Oct 22 12:36:17 2009 +0100

    [tests] Adds test-cogl-offscreen to validate offscreen draw buffer
    
    This adds a basic test to check that rendering a few colored rectangles
    offscreen works and that the modelview gets restored when switching back to
    the previous buffer.

 tests/conform/Makefile.am           |    1 +
 tests/conform/test-cogl-offscreen.c |  169 +++++++++++++++++++++++++++++++++++
 tests/conform/test-conform-main.c   |    1 +
 3 files changed, 171 insertions(+), 0 deletions(-)

commit 369e68630daf7f833da986a19ad17043b43d61e3
Author: Robert Bragg <robert@linux.intel.com>
Date:   Wed Oct 21 16:06:43 2009 +0100

    [tests] test-cogl-viewport tests semantics of over/under size viewports
    
    Unlike OpenGL Cogl puts the origin of windows/viewports at the top left
    instead of bottom left.  This test verifies that we correctly translate Cogl
    viewports to OpenGL viewports for the awkward cases where the given viewport
    has an offset and/or the viewport has a different size to the current draw
    buffer.

 tests/conform/Makefile.am          |    1 +
 tests/conform/test-cogl-viewport.c |  417 ++++++++++++++++++++++++++++++++++++
 tests/conform/test-conform-main.c  |    2 +
 3 files changed, 420 insertions(+), 0 deletions(-)

commit bc24190b9ac32405d4be24d84968357921c7f7e2
Author: Robert Bragg <robert@linux.intel.com>
Date:   Mon Nov 2 01:23:25 2009 +0000

    [test-texture-fbo] comment the colors defined in corner_colors
    
    It helps to be able to quickly glance at the definition to see which
    quadrant of the test actor should be which color, so when debugging a
    problem and looking at the visual output you can easily verify if it's being
    flipped upside down/left to right.

 tests/conform/test-texture-fbo.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

commit b41a81fb0868e51bf03d25446f8cc9748fcd6bc7
Author: Neil Roberts <neil@linux.intel.com>
Date:   Thu Sep 17 14:25:29 2009 +0100

    Add a conformance test for clutter_texture_new_from_actor
    
    This contains four tests :-
    
     - A regular onscreen source with a clone next to it
    
     - An offscreen source with a clone. This is currently commented out
       because it no longer works.
    
     - An onscreen source with a rectangular clip and a clone.
    
     - An onscreen source with a clip from a path and a clone.
    
    The sources are all a 2x2 grid of colors. Each clone is tested that it
    either contains the color that should be at that grid position or that
    the stage color is showing through if the source is clipped.

 tests/conform/Makefile.am         |    1 +
 tests/conform/test-conform-main.c |    1 +
 tests/conform/test-texture-fbo.c  |  255 +++++++++++++++++++++++++++++++++++++
 3 files changed, 257 insertions(+), 0 deletions(-)

commit fec13f6202067f0700514db6676d3984b78a26df
Author: Robert Bragg <robert@linux.intel.com>
Date:   Sat Oct 31 00:01:44 2009 +0000

    [cogl-texture-2d-sliced] allow COGL_FORMAT_ANY with _new_with_size()
    
    It's useful when initialzing offscreen draw buffers to be able to ask
    Cogl to create a texture of a given size and with the default internal
    pixel format.

 clutter/cogl/cogl/cogl-texture-2d-sliced.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit ae57c30e937d90eb1e541edd36ae9f81aedc2854
Author: Robert Bragg <robert@linux.intel.com>
Date:   Sun Nov 1 23:56:03 2009 +0000

    [texture] fix rounding when calculating update_fbo viewport offset
    
    When rendering to an fbo for supporting clutter_texture_new_from_actor we
    render to an fbo with the same size as the source actor, but with a viewport
    the same size as the stage.  We offset the viewport so when we render the
    source actor in its normal transformed stage position it lands on the fbo.
    Previously we were rounding the transformed position given as a float by
    truncating the fraction (just using a C cast) but that resulted in an
    incorrect pixel offset when rendering offscreen depending on the source
    position.
    
    We now simply + 0.5 before casting (or -0.5 for negative numbers)

 clutter/clutter-texture.c |   14 +++++++++++++-
 1 files changed, 13 insertions(+), 1 deletions(-)

commit 309f852efbde6a3e025225d01293509c28989d0c
Author: Robert Bragg <robert@linux.intel.com>
Date:   Mon Nov 2 01:14:50 2009 +0000

    [texture] switch to a new design for handling offscreen rendering
    
    For supporting clutter_texture_new_from_actor(): when updating a
    ClutterTexture's fbo we previously set up an offset frustum in the
    perspective matrix before rendering source actors to an offscreen draw
    buffer so as to give a perspective as if it were being drawn at its
    original stage location.
    
    Now that Cogl supports offset viewports there is a simpler way...
    
    When we come to render the source actor to our offscreen draw buffer we
    now copy the projection matrix from the stage; we create a viewport
    that's also the same size as the stage (though larger than the offscreen
    draw buffer) and as before we apply the modelview transformations of
    the source actors ancestry before painting it.
    
    The only trick we need now is to offset the viewport according to the
    transformed (to screen space) allocation of the source actor (something we
    required previously too).  We negatively offset the stage sized viewport
    such that the smaller offscreen draw buffer is positioned to sit underneath
    the source actor in stage coordinates.

 clutter/clutter-texture.c |  100 ++++++++++++++++-----------------------------
 1 files changed, 35 insertions(+), 65 deletions(-)

commit 94a6028358caed32dba7ba37db9784c95d4690f2
Author: Robert Bragg <robert@linux.intel.com>
Date:   Thu Sep 24 14:34:09 2009 +0100

    [texture] split out fbo update code from cluter_texture_paint
    
    To help keep clutter_texture_paint maintainable this splits out a big
    chunk of standalone code that's responsible for updating the fbo when
    clutter_texture_new_from_actor has been used.

 clutter/clutter-texture.c |  156 +++++++++++++++++++++++----------------------
 1 files changed, 81 insertions(+), 75 deletions(-)

commit 2762e6d9b90731fd05b46aac407cebd3ba372027
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Oct 13 22:22:39 2009 +0100

    [texture] push/pop draw buffer when painting actors to a texture
    
    When updating the FBO for a source actor (to support
    clutter_texture_new_from_actor()) we used to simply set an offscreen draw
    buffer to be current, paint the source actor and then explicitly set the
    window to be current again.  This precluded chaining texture_new_from_actor
    though because updating another FBO associated with a source actor would end
    up restoring the window as the current buffer instead of the previous
    offscreen buffer.  Now that we use Cogl's draw buffer stack; chaining
    clutter_texture_new_from_actor() should be possible.

 clutter/clutter-texture.c |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

commit c7d229585f2e8dec30162cbad955230c25e16718
Author: Robert Bragg <robert@linux.intel.com>
Date:   Fri Oct 23 00:16:30 2009 +0100

    [texture] Avoid redundant use of cogl_clip_stack_save when drawing offscreen
    
    Since cogl draw buffers now own their clip state the stage's clip state will
    automatically be saved and restored via the cogl_set_draw_buffer API.

 clutter/clutter-texture.c |    6 ------
 1 files changed, 0 insertions(+), 6 deletions(-)

commit 90dbae5aa9a31688f2dd73b75df67607795fa60e
Author: Robert Bragg <robert@linux.intel.com>
Date:   Sat Oct 31 00:00:33 2009 +0000

    [cogl-draw-buffer] fix Cogl -> GL viewport coord conversion
    
    Before we call glViewport we need to convert Cogl viewport coordinates
    (where the origin is defined to be top left) to OpenGL coordinates
    (where the origin is defined to be bottom left)
    
    We weren't considering that offscreen rendering is always upside down
    and in this case Cogl coordinates == OpenGL coordinates.

 clutter/cogl/cogl/cogl-draw-buffer.c |   15 +++++++++++----
 1 files changed, 11 insertions(+), 4 deletions(-)

commit 149e3e168a14049bb496a6438b711caa1fbe8129
Author: Robert Bragg <robert@linux.intel.com>
Date:   Fri Oct 30 23:57:56 2009 +0000

    [cogl_clip_push_window_rect] fix Cogl -> GL coordinate conversion
    
    Firstly this now uses the draw buffer height not the viewport height
    when we need to perform a y = height - y conversion, since (as the
    name suggests) we are dealing with window coordinates not viewport
    coordinates.
    
    Secondly this skips any conversion when the current draw buffer is an
    offscreen draw buffer since offscreen rendering is always forced to be
    upside down and in this case Cogl window coordinates == GL window
    coordinates.

 clutter/cogl/cogl/cogl-clip-stack.c |   32 ++++++++++++++++++++++++++------
 1 files changed, 26 insertions(+), 6 deletions(-)

commit 0369a1b84d725c6dbd90f9a9dd1753bea1f9c3e1
Author: Robert Bragg <robert@linux.intel.com>
Date:   Mon Oct 26 17:51:34 2009 +0000

    [matrix] Adds cogl_matrix_get_inverse API
    
    This new API takes advantage of the recently imported Mesa code to support
    inverse matrix calculation.  The matrix code keeps track (via internal
    flags) of the transformations a matrix represents so that it can select an
    optimized inversion function.
    
    Note: although other aspects of the Cogl matrix API have followed a similar
    style to Cairo's matrix API we haven't added a cogl_matrix_invert API
    because the inverse of a CoglMatrix is actually cached as part of the
    CoglMatrix structure meaning a destructive API like cogl_matrix_invert
    doesn't let users take advantage of this caching design.

 clutter/cogl/cogl/cogl-context.h      |    3 --
 clutter/cogl/cogl/cogl-matrix-stack.c |   11 +++++++
 clutter/cogl/cogl/cogl-matrix-stack.h |    3 ++
 clutter/cogl/cogl/cogl-matrix.c       |   33 ++++++++++++++--------
 clutter/cogl/cogl/cogl-matrix.h       |   21 ++++++++++++++
 clutter/cogl/cogl/cogl.c              |   47 ++++++--------------------------
 6 files changed, 65 insertions(+), 53 deletions(-)

commit 8051596e96a296cf30887f6e522a288895b628f8
Author: Robert Bragg <robert@linux.intel.com>
Date:   Mon Oct 26 11:01:33 2009 +0000

    [debug] Adds a COGL_DEBUG=matrices debug option
    
    This adds a COGL_DEBUG=matrices debug option that can be used to trace all
    matrix manipulation done using the Cogl API.  This can be handy when you
    break something in such a way that a trace is still comparable with a
    previous working version since you can simply diff a log of the broken
    version vs the working version to home in on the bug.

 clutter/cogl/cogl/cogl-debug.c          |    3 +-
 clutter/cogl/cogl/cogl-debug.h          |    3 +-
 clutter/cogl/cogl/cogl-matrix-private.h |   47 +++++++++++++++++++++++++++++++
 clutter/cogl/cogl/cogl-matrix.c         |   20 +++++++++++++
 clutter/cogl/cogl/cogl.c                |    5 +++
 5 files changed, 76 insertions(+), 2 deletions(-)

commit eb438dd499c002a7d770d5e3d0c1fb1c84da933e
Author: Robert Bragg <robert@linux.intel.com>
Date:   Mon Oct 26 08:23:21 2009 +0000

    [cogl-matrix] Import Mesa's matrix manipulation code
    
    This pulls in code from Mesa to improve our matrix manipulation support. It
    includes support for calculating the inverse of matrices based on top of a
    matrix categorizing system that allows optimizing certain matrix types.
    (the main thing we were after) but also adds some optimisations for
    rotations.
    
    Changes compared to the original code from Mesa:
    
    - Coding style is consistent with the rest of Cogl
    - Instead of allocating matrix->m and matrix->inv using malloc, our public
      CoglMatrix typedef is large enough to directly contain the matrix, its
      inverse, a type and a set of flags.
    - Instead of having a _math_matrix_analyse which updates the type, flags and
      inverse, we have _math_matrix_update_inverse which essentially does the
      same thing (internally making use of _math_matrix_update_type_and_flags())
      but with additional guards in place to bail out when the inverse matrix is
      still valid.
    - When initializing a matrix with the identity matrix we don't immediately
      initialize the inverse matrix; rather we just set the dirty flag for the
      inverse (since it's likely the user won't request the inverse of the
      identity matrix)

 clutter/cogl/cogl/Makefile.am        |    2 +
 clutter/cogl/cogl/cogl-matrix-mesa.c | 1698 ++++++++++++++++++++++++++++++++++
 clutter/cogl/cogl/cogl-matrix-mesa.h |  226 +++++
 clutter/cogl/cogl/cogl-matrix.c      |   39 +-
 clutter/cogl/cogl/cogl-matrix.h      |    6 +-
 5 files changed, 1967 insertions(+), 4 deletions(-)

commit d38d888f786f3be03778bcc10f20389e6c7ff1ff
Author: Robert Bragg <robert@linux.intel.com>
Date:   Thu Oct 22 19:09:20 2009 +0100

    [cogl] avoid any state changes when cogl_set_backface_culling_enable is a nop
    
    This is a simple optimization to bail out of cogl_set_backface_culling_enable
    if it's not resulting in a change of state.

 clutter/cogl/cogl/cogl.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

commit 764cca75b4ee6bb269097445cb5220f0e044a57c
Author: Robert Bragg <robert@linux.intel.com>
Date:   Thu Oct 22 19:01:52 2009 +0100

    [cogl] Use clockwise face winding for offscreen buffers with culling enabled
    
    Because Cogl defines the origin for texture as top left and offscreen draw
    buffers can be used to render to textures, we (internally) force all
    offscreen rendering to be upside down. (because OpenGL defines the origin
    to be bottom left)
    
    By forcing the users scene to be rendered upside down though we also reverse
    the winding order of all the drawn triangles which may interfere with the
    users use of backface culling.  This patch ensures that we reverse the
    winding order for a front face (if culling is in use) while rendering
    offscreen so we don't conflict with the users back face culling.

 clutter/cogl/cogl/cogl-context.c       |    2 +
 clutter/cogl/cogl/cogl-context.h       |    1 +
 clutter/cogl/cogl/cogl-internal.h      |    9 ++++++++
 clutter/cogl/cogl/cogl-journal.c       |    1 +
 clutter/cogl/cogl/cogl-primitives.c    |    1 +
 clutter/cogl/cogl/cogl-vertex-buffer.c |    1 +
 clutter/cogl/cogl/cogl.c               |   33 ++++++++++++++++++++++++++++++++
 7 files changed, 48 insertions(+), 0 deletions(-)

commit b2ebb7db485d0a58bcb642fe9e4584c85ac9a503
Author: Robert Bragg <robert@linux.intel.com>
Date:   Fri Oct 30 23:54:13 2009 +0000

    [main] Use cogl_read_pixels not glReadPixels in clutter-main.c
    
    The debugging function read_pixels_to_file() and _clutter_do_pick were both
    directly calling glReadPixels, but we don't wan't Clutter making direct
    OpenGL calls and Cogl provides a suitable alternative.  It also means
    read_pixels_to_file() doesn't need to manually flip the data read due to
    differences in Clutter/Cogl coordinate systems.

 clutter/clutter-main.c |   31 +++++++++++++++----------------
 1 files changed, 15 insertions(+), 16 deletions(-)

commit 40b8399d49f6b0383b9eebcdf1ca501b5edb4f39
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Nov 3 12:54:45 2009 +0000

    [cogl_read_pixels] don't force a 4 byte pack alignment
    
    Technically this change shouldn't make a difference since we are
    calling glReadPixels with GL_RGBA GL_UNSIGNED_BYTE which is a 4
    byte format and it should always result in the same value according
    to how OpenGL calculates the location of sequential rows.
    
    i.e. k  = a/s * ceil(snl/a) where:
     a = alignment
     s = component size (1)
     n = number of components per pixel (4)
     l = number of pixels in a row
    gives:
    k = 4/1 * ceil(4l/4) and k = 1/1 * ceil(4l/1) which are equivalent
    
    I'm changing it because I've seen i915 driver code that bails out of
    hardware accelerated paths if the alignment isn't 1, and because
    conceptually we have no alignment constraints here so even if the current
    value has no effect, when we start reading back other formats it may upset
    things.

 clutter/cogl/cogl/cogl.c |   10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)

commit a222ee22f9dd35c5e0671914206759699e63750d
Author: Robert Bragg <robert@linux.intel.com>
Date:   Mon Nov 2 01:11:21 2009 +0000

    [cogl_read_pixels] call cogl_flush() before changing glPixelStore state
    
    We were previously calling cogl_flush() after setting up the glPixelStore
    state for calling glReadPixels, but flushing the journal could itself
    change the glPixelStore state.

 clutter/cogl/cogl/cogl.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

commit ed431a3c65507b3e3da4760eae6e2b22be1f27f5
Author: Robert Bragg <robert@linux.intel.com>
Date:   Mon Nov 2 01:10:02 2009 +0000

    [cogl_read_pixels] ensure we flush the current draw buffer state before reading
    
    Make sure we call _cogl_draw_buffer_flush_state() before glReadPixels() to
    be sure we have bound the correct framebuffer.

 clutter/cogl/cogl/cogl.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

commit b47404c91d6fac264840a0dafb5dd2dd5567c6a9
Author: Robert Bragg <robert@linux.intel.com>
Date:   Mon Nov 2 01:12:10 2009 +0000

    [cogl_read_pixels] fixes for calculating the y offset when rendering offscreen
    
    Since offscreen rendering is forced to be upside down we don't need to do
    any conversion of the users coordinates to go from Cogl window coordinates
    to OpenGL window coordinates.

 clutter/cogl/cogl/cogl.c |    9 +++++++--
 1 files changed, 7 insertions(+), 2 deletions(-)

commit 426197f51da9c4351b36812276f0caee06965cb1
Author: Robert Bragg <robert@linux.intel.com>
Date:   Thu Oct 22 16:55:07 2009 +0100

    [read-pixels] don't flip data when reading from offscreen draw buffers
    
    Since we do all offscreen rendering upside down (so that we can have the
    origin for texture coordinates be the top left of textures for the cases
    where offscreen draw buffers are bound to textures) we don't need to flip
    data read back from an offscreen framebuffer before we we return it to the
    user.

 clutter/cogl/cogl/cogl.c |    9 ++++++++-
 1 files changed, 8 insertions(+), 1 deletions(-)

commit 21322848e0094a025dc0b5461eff30e0d66542da
Author: Robert Bragg <robert@linux.intel.com>
Date:   Wed Oct 21 23:22:45 2009 +0100

    [clip-stack] tidy up transform_point() code
    
    I was originally expecting the code not to handle offset viewports or
    viewports with a different size to the framebuffer, but it turns out the
    code worked fine.  In the process though I think I made the code slightly
    more readable.

 clutter/cogl/cogl/cogl-clip-stack.c |   32 +++++++++++++++++++++-----------
 1 files changed, 21 insertions(+), 11 deletions(-)

commit 8c3a132ecb3ce805c45dad70c05417713ed9d05d
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Nov 3 13:26:58 2009 +0000

    [cogl] deprecate cogl_viewport() in favour of cogl_set_viewport()
    
    cogl_viewport only accepted a viewport width and height, but there are times
    when it's also desireable to have a viewport offset so that a scene can be
    translated after projection but before hitting the framebuffer.

 README                      |    6 ++++++
 clutter/clutter-texture.c   |    2 +-
 clutter/cogl/cogl/cogl.c    |   12 ++++++------
 clutter/cogl/cogl/cogl.h.in |   22 +++++++++++++++++++++-
 4 files changed, 34 insertions(+), 8 deletions(-)

commit 1e2d88e7891a02b26d0143e28788072e8731be6b
Author: Robert Bragg <robert@linux.intel.com>
Date:   Wed Oct 21 23:24:28 2009 +0100

    [cogl_read_pixels] use buffer not viewport height to calculate y offset
    
    glReadPixel takes window coordinates not viewport coordinates so we
    shouldn't have been assuming that the viewport height == window height.

 clutter/cogl/cogl/cogl.c |    8 +++-----
 1 files changed, 3 insertions(+), 5 deletions(-)

commit e1630be35a912125b1f493c7d1007b65eaecd048
Author: Robert Bragg <robert@linux.intel.com>
Date:   Wed Oct 21 23:20:44 2009 +0100

    [draw-buffer] Adds cogl_draw_buffer_get_{width,height} API
    
    Simply adds missing API to query the width and height of any Cogl draw buffer.

 clutter/cogl/cogl/cogl-draw-buffer-private.h |    4 ++++
 clutter/cogl/cogl/cogl-draw-buffer.c         |   14 ++++++++++++++
 2 files changed, 18 insertions(+), 0 deletions(-)

commit 12af2751392ea53959fa41dd7cb19e07358655f2
Author: Robert Bragg <robert@linux.intel.com>
Date:   Wed Oct 21 23:24:49 2009 +0100

    [cogl] Make sure Cogl always knows the current window geometry
    
    Because Cogl defines the origin of viewport and window coordinates to be
    top-left it always needs to know the size of the current window so that Cogl
    window/viewport coordinates can be transformed into OpenGL coordinates.
    
    This also fixes cogl_read_pixels to use the current draw buffer height
    instead of the viewport height to determine the OpenGL y coordinate to use
    for glReadPixels.

 clutter/clutter-backend.c            |   19 +++++++++++++++++-
 clutter/clutter-stage.c              |    8 +++++++
 clutter/cogl/cogl/cogl-context.c     |    2 +-
 clutter/cogl/cogl/cogl-context.h     |    2 +-
 clutter/cogl/cogl/cogl-draw-buffer.c |   36 +++++++++++++++++++++++++++++----
 clutter/cogl/cogl/cogl.h.in          |    3 ++
 6 files changed, 62 insertions(+), 8 deletions(-)

commit e3391b0173479b9ba3b01321ab606d83999bee1a
Author: Robert Bragg <robert@linux.intel.com>
Date:   Thu Oct 22 16:13:01 2009 +0100

    [cogl] Make sure we draw upside down to offscreen draw buffers
    
    First a few notes about Cogl coordinate systems:
    - Cogl defines the window origin, viewport origin and texture coordinates
    origin to be top left unlike OpenGL which defines them as bottom left.
    - Cogl defines the modelview and projection identity matrices in exactly the
    same way as OpenGL.
    - I.e. we believe that for 2D centric constructs: windows/framebuffers,
    viewports and textures developers are more used to dealing with a top left
    origin, but when modeling objects in 3D; an origin at the center with y
    going up is quite natural.
    
    The way Cogl handles textures is by uploading data upside down in OpenGL
    terms so that bottom left becomes top left.  (Note: This also has the
    benefit that we don't need to flip the data we get from image decoding
    libraries since they typically also consider top left to be the image
    origin.)
    
    The viewport and window coords are mostly handled with various y =
    height - y tweaks before we pass y coordinates to OpenGL.
    
    Generally speaking though the handling of coordinate spaces in Cogl is a bit
    fragile.  I guess partly because none of it was design to be, it just
    evolved from how Clutter defines its coordinates without much consideration
    or testing.  I hope to improve this over a number of commits; starting here.
    
    This commit deals with the fact that offscreen draw buffers may be bound to
    textures but we don't "upload" the texture data upside down, and so if you
    texture from an offscreen draw buffer you need to manually flip the texture
    coordinates to get it the right way around.  We now force offscreen
    rendering to be flipped upside down by tweaking the projection matrix right
    before we submit it to OpenGL to scale y by -1.  The tweak is entirely
    hidden from the user such that if you call cogl_get_projection you will not
    see this scale.

 clutter/cogl/cogl/cogl-context.c             |    4 +++
 clutter/cogl/cogl/cogl-context.h             |    4 +++
 clutter/cogl/cogl/cogl-draw-buffer-private.h |    3 ++
 clutter/cogl/cogl/cogl-matrix-stack.c        |   36 ++++++++++++++++++-------
 4 files changed, 37 insertions(+), 10 deletions(-)

commit 8b4c496f2a0291eb202d775e210b5901b6b73940
Author: Robert Bragg <robert@linux.intel.com>
Date:   Thu Oct 22 12:35:33 2009 +0100

    [cogl] Ensure features are initialized first in cogl_create_context
    
    Previously some context initializing was being done without valid feature
    flags.

 clutter/cogl/cogl/cogl-context.c |   10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)

commit 419db4dcfbef74475e155f8dd060bc1c526d5643
Author: Robert Bragg <robert@linux.intel.com>
Date:   Sat Oct 17 00:31:26 2009 +0100

    [clip-stack] Handle flipped rectangles in try_pushing_rect_as_window_rect()
    
    We were ignoring the possibility that the current modelview matrix may flip
    the incoming rectangle in which case we didn't calculate a valid scissor
    rectangle for clipping.
    
    This fixes: http://bugzilla.o-hand.com/show_bug.cgi?id=1809
    (Clipping doesn't work within an FBO)

 clutter/cogl/cogl/cogl-clip-stack.c |   18 ++++++++++++++++++
 1 files changed, 18 insertions(+), 0 deletions(-)

commit f7d64e5abd5717bb522d28b7565ecccae63271fc
Author: Robert Bragg <robert@linux.intel.com>
Date:   Fri Sep 25 14:34:34 2009 +0100

    [draw-buffers] First pass at overhauling Cogl's framebuffer management
    
    Cogl's support for offscreen rendering was originally written just to support
    the clutter_texture_new_from_actor API and due to lack of documentation and
    several confusing - non orthogonal - side effects of using the API it wasn't
    really possible to use directly.
    
    This commit does a number of things:
    - It removes {gl,gles}/cogl-fbo.{c,h} and adds shared cogl-draw-buffer.{c,h}
      files instead which should be easier to maintain.
    - internally CoglFbo objects are now called CoglDrawBuffers. A
      CoglDrawBuffer is an abstract base class that is inherited from to
      implement CoglOnscreen and CoglOffscreen draw buffers.  CoglOffscreen draw
      buffers will initially be used to support the
      cogl_offscreen_new_to_texture API, and CoglOnscreen draw buffers will
      start to be used internally to represent windows as we aim to migrate some
      of Clutter's backend code to Cogl.
    - It makes draw buffer objects the owners of the following state:
      - viewport
      - projection matrix stack
      - modelview matrix stack
      - clip state
    (This means when you switch between draw buffers you will automatically be
     switching to their associated viewport, matrix and clip state)
    
    Aside from hopefully making cogl_offscreen_new_to_texture be more useful
    short term by having simpler and well defined semantics for
    cogl_set_draw_buffer, as mentioned above this is the first step for a couple
    of other things:
    - Its a step toward moving ownership for windows down from Clutter backends
      into Cogl, by (internally at least) introducing the CoglOnscreen draw
      buffer.  Note: the plan is that cogl_set_draw_buffer will accept on or
      offscreen draw buffer handles, and the "target" argument will become
      redundant since we will instead query the type of the given draw buffer
      handle.
    - Because we have a common type for on and offscreen framebuffers we can
      provide a unified API for framebuffer management. Things like:
      - blitting between buffers
      - managing ancillary buffers (e.g. attaching depth and stencil buffers)
      - size requisition
      - clearing

 clutter/clutter-main.c                             |    5 +-
 clutter/cogl/cogl/Makefile.am                      |    2 +
 clutter/cogl/cogl/cogl-clip-stack.c                |  199 +++++--
 clutter/cogl/cogl/cogl-clip-stack.h                |    9 +-
 clutter/cogl/cogl/cogl-context.c                   |   34 +-
 clutter/cogl/cogl/cogl-context.h                   |   20 +-
 clutter/cogl/cogl/cogl-draw-buffer-private.h       |  126 +++++
 clutter/cogl/cogl/cogl-draw-buffer.c               |  555 ++++++++++++++++++++
 clutter/cogl/cogl/cogl-journal.c                   |   33 +-
 clutter/cogl/cogl/cogl-primitives.c                |   19 +-
 clutter/cogl/cogl/cogl-texture.c                   |   19 +-
 clutter/cogl/cogl/cogl-vertex-buffer.c             |   14 +-
 clutter/cogl/cogl/cogl.c                           |  220 +++++---
 clutter/cogl/cogl/cogl.h.in                        |    1 +
 clutter/cogl/cogl/driver/gl/Makefile.am            |    2 -
 clutter/cogl/cogl/driver/gl/cogl-context-driver.c  |   19 +-
 clutter/cogl/cogl/driver/gl/cogl-context-driver.h  |   23 +-
 clutter/cogl/cogl/driver/gl/cogl-defines.h.in      |   28 +-
 clutter/cogl/cogl/driver/gl/cogl-fbo.c             |  315 -----------
 clutter/cogl/cogl/driver/gl/cogl-fbo.h             |   39 --
 clutter/cogl/cogl/driver/gl/cogl-primitives.c      |   99 +++-
 clutter/cogl/cogl/driver/gl/cogl-texture-driver.c  |    2 +-
 clutter/cogl/cogl/driver/gl/cogl.c                 |  114 ++--
 clutter/cogl/cogl/driver/gles/Makefile.am          |    2 -
 .../cogl/cogl/driver/gles/cogl-context-driver.c    |   10 +
 .../cogl/cogl/driver/gles/cogl-context-driver.h    |   17 +-
 clutter/cogl/cogl/driver/gles/cogl-defines.h.in    |   70 +++
 clutter/cogl/cogl/driver/gles/cogl-fbo.c           |  328 ------------
 clutter/cogl/cogl/driver/gles/cogl-fbo.h           |   39 --
 clutter/cogl/cogl/driver/gles/cogl-primitives.c    |  121 ++++-
 clutter/cogl/cogl/driver/gles/cogl.c               |   75 +++
 31 files changed, 1471 insertions(+), 1088 deletions(-)

commit f8f8873714043efbcbf92718493a94ac9ddf303f
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Oct 20 16:55:10 2009 +0100

    [stage-x11] Ensure viewport is initialized before first stage paint
    
    This ensures that glViewport is called before the first stage paint.
    Previously _clutter_stage_maybe_setup_viewport (which is done before we
    start painting) was bailing out without calling cogl_setup_viewport because
    the CLUTTER_STAGE_IN_RESIZE flag may be set if the stage was resized before
    the first paint.  (NB: The CLUTTER_STAGE_IN_RESIZE flag isn't removed until
    we get an explicit event back from the X server since the window manager may
    choose to deny/alter the resize.)
    
    We now special case the first resize - where the viewport hasn't previously
    been initialized and use the requested geometry to initialize the
    glViewport without waiting for a reply from the server.

 clutter/x11/clutter-stage-x11.c |   18 ++++++++++++++++++
 clutter/x11/clutter-stage-x11.h |    7 ++++---
 2 files changed, 22 insertions(+), 3 deletions(-)

commit ad98e96d977e43a882b8a2f680e59ed281c90baf
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Sep 15 22:19:01 2009 +0100

    [cogl-fbo] Bring the gles code more in line with gl code
    
    Over time the two cogl-fbo.c files have needlessly diverged as bug fixes or
    cleanups went into one version but not the other.  This tries to bring them
    back in line with each other.  It should actually be simple enough to move
    cogl-fbo.c to be a common file, and simply not build it for GLES 1.1, so
    maybe I'll follow up with such a patch soon.

 clutter/cogl/cogl/driver/gles/cogl-fbo.c |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)

commit 613977f7108efb8897bffb2e47bfcf29bce29ddc
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Sep 15 22:15:03 2009 +0100

    [cogl-fbo] Remove poorly documented workaround for unknown driver/hardware
    
    The comment just said: "Some implementation require a clear before drawing
    to an fbo.  Luckily it is affected by scissor test." and did a scissored
    clear, which is clearly a driver bug workaround, but for what driver?  The
    fact that it was copied into the gles backend (or vica versa is also
    suspicious since it seems unlikely that the workaround is necessary for both
    backends.)
    
    We can easily restore the workaround with a better comment if this problem
    really still exists on current drivers, but for now I'd rather minimize
    hand-wavey workaround code that can't be tested.

 clutter/cogl/cogl/driver/gl/cogl-fbo.c   |   10 ----------
 clutter/cogl/cogl/driver/gles/cogl-fbo.c |   19 -------------------
 2 files changed, 0 insertions(+), 29 deletions(-)

commit 0599d12ec94344174c947310bddb5658f1b9db58
Author: Damien Lespiau <damien.lespiau@gmail.com>
Date:   Sun Nov 1 14:36:05 2009 +0000

    texture: Don't compare fbo_source with COGL_INVALID_HANDLE
    
    fbo_source is a ClutterActor, it should be compared to NULL instead of
    COGL_INVALID_HANDLE.

 clutter/clutter-texture.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit f6e0e48ac613d10d02d27182ebd48be1aeb8b474
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Oct 30 12:11:19 2009 +0000

    build: Add missing gles/cogl-context-driver.h to dist
    
    The gles/cogl-context-driver.h header file is missing from the
    dist target, which means it's not in the tarballs.

 clutter/cogl/cogl/driver/gles/Makefile.am |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

commit f551cbfb61adb1c454fa36477ad5847b6238e17b
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Oct 30 11:02:35 2009 +0000

    Add run-time version checks
    
    Just like CLUTTER_CHECK_VERSION does version checking at compile
    time, we need a way to verify the version of the library that we
    are linking against. This is mostly needed for language bindings
    and for run-time loadable modules -- when we'll get those.

 clutter/clutter-main.c                     |   34 ++++++++++++++++++++++++++++
 clutter/clutter-version.h.in               |   15 +++++++++++-
 doc/reference/clutter/clutter-sections.txt |    7 +++++
 3 files changed, 55 insertions(+), 1 deletions(-)

commit f8e6727e74c80b80bba3ccb9201e1afd23349c35
Author: Neil Roberts <neil@linux.intel.com>
Date:   Tue Oct 27 13:18:51 2009 +0000

    [cogl_polygon] Enable COGL_ENABLE_BLEND when use_color is set
    
    Otherwise you can't use the alpha channel of the vertex colors unless
    the material has a texture with alpha or the material's color has
    alpha less than 255.

 clutter/cogl/cogl/cogl-primitives.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 0c32573ffa980fffc966cf35768233a3ff1ed076
Author: Neil Roberts <neil@linux.intel.com>
Date:   Tue Oct 27 12:38:10 2009 +0000

    build: Add $(top_buiddir)/clutter/cogl to the include path in clutter/cogl/cogl
    
    Some files try to include "cogl/cogl-defines-gl.h" so
    $(top_builddir)/clutter/cogl needs to be in the include path for out of
    tree builds to work.

 clutter/cogl/cogl/Makefile.am |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

commit c387513a5fd5293cb8cf60e9c1334ceeff905852
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Oct 26 16:29:31 2009 +0000

    color: Fix HLS-to-RGB conversion
    
    Apparently, on 64bit systems the floating point noise is enough
    to screw up the float-to-int truncation.
    
    The solution is to round up by 0.5 and then use floorf(). This
    gives predictable and correct results on both 32bit and 64bit
    systems.

 clutter/clutter-color.c |    8 +++++---
 1 files changed, 5 insertions(+), 3 deletions(-)

commit 5a14db50891196a9d17a0df49bf0858551e5a0af
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Oct 26 16:02:06 2009 +0000

    layout: Do not create a LayoutMeta on remove
    
    When calling remove_child_meta() we check if there is a LayoutMeta
    already attached to the Actor, and if that LayoutMeta matches the
    (manager, container, actor) tuple. If the LayoutMeta does not match,
    though, we create a new LayoutMeta instance -- in order to remove it
    right afterwards.
    
    Instead of doing this, we can simply check for a matching LayoutMeta
    and if present, remove it.
    
    In case of an existing, non-matching LayoutMeta, we're left with a
    dangling instance, but it does not matter: the removal happens in the
    unparenting phase of a ClutterContainer, so either the Actor will be
    destroyed and thus the LayoutMeta will be disposed along with it; or
    it will be parented to another container, and thus the LayoutMeta
    will be replaced.

 clutter/clutter-layout-manager.c |   23 ++++++++++++++++++++++-
 1 files changed, 22 insertions(+), 1 deletions(-)

commit 5a63e8af8f715c3fe6ded8a9432c999aab73311a
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Oct 26 15:10:20 2009 +0000

    tests: Use the right key symbol for adding children
    
    The test-box-layout should be using CLUTTER_plus instead of a
    literal '+'.

 tests/interactive/test-box-layout.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit a5a0171cb02dcbd67efbf87480aa5cea215c128d
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Oct 26 15:09:07 2009 +0000

    box: Depth level changes should queue a relayout
    
    ClutterBox is not ClutterGroup: a change in the level of an actor
    through raise, lower or depth sorting must trigger a relayout.

 clutter/clutter-box.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

commit 2cad7e24f00e2f8fccfdc75086dd9e1071d71c18
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Oct 26 15:08:03 2009 +0000

    box: Check before using the LayoutManager instance
    
    A ClutterBox might not have a ClutterLayoutManager instance
    associated -- for instance, during destruction. We should check
    for one before calling methods on it.

 clutter/clutter-box.c |   23 +++++++++++++----------
 1 files changed, 13 insertions(+), 10 deletions(-)

commit 81c8cf3e6d839b13e106ab346feaccf1f2f9d3fd
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Oct 26 11:51:30 2009 +0000

    texture: Error handling fix
    
    When cogl_texture_new_from_data() fails in clutter_texture_set_from_data()
    and no GError is provided, the clutter app will segfault when dereferencing
    the GError ** and emitting LOAD_FINISHED signal.
    
    Based on a patch by: Haakon Sporsheim <haakon.sporsheim@gmail.com>
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=1806

 clutter/clutter-texture.c |   12 +++++++++---
 1 files changed, 9 insertions(+), 3 deletions(-)

commit 00748f66560f3105ff9c636cd01428d8b5e30e9e
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Oct 26 11:42:16 2009 +0000

    tests: Print out the captured event type
    
    The ::captured-event signal on the Stage is not printing out the
    event type.

 tests/interactive/test-events.c |   31 ++++++++++++++++++++++++++++++-
 1 files changed, 30 insertions(+), 1 deletions(-)

commit f0b434918bcdb0d77467d66d28448672940f6a90
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Oct 23 17:32:18 2009 +0100

    docs: Add images for layout managers
    
    It's easier to show the layout manager policy with a simple
    screen shot coming from our interactive tests.

 clutter/clutter-bin-layout.c                     |   10 ++++++++++
 clutter/clutter-box-layout.c                     |    7 +++++++
 clutter/clutter-flow-layout.c                    |   16 ++++++++++++++++
 doc/reference/clutter/Makefile.am                |    8 ++++++++
 doc/reference/clutter/bin-layout.png             |  Bin 0 -> 12890 bytes
 doc/reference/clutter/box-layout.png             |  Bin 0 -> 5119 bytes
 doc/reference/clutter/flow-layout-horizontal.png |  Bin 0 -> 5888 bytes
 doc/reference/clutter/flow-layout-vertical.png   |  Bin 0 -> 5333 bytes
 8 files changed, 41 insertions(+), 0 deletions(-)

commit 924780ce3511ba9bc9e2a6b955836eaaa4d0a216
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Oct 23 16:44:28 2009 +0100

    cogl: Avoid C99-isms
    
    Do not declare variables after statements.

 clutter/cogl/cogl/cogl.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit b56b26cc62a851ee4a851a27ce0d6b76936afc6a
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Oct 23 15:46:25 2009 +0100

    cogl: Remove cogl-current-matrix.c
    
    The cogl-current-matrix.c file is unused since commit
    5e5d94dfbed18bf2b4c8c7a7ff9847952b2c4ae2 and it's not compiled
    or distributed anymore.

 clutter/cogl/cogl/cogl-current-matrix.c |  409 -------------------------------
 1 files changed, 0 insertions(+), 409 deletions(-)

commit 1c43c195098b4705b59891b6b98bc24407cb3264
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Oct 23 14:30:15 2009 +0100

    Update Git ignore rules

 .gitignore |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 0d5af4c24932b5e468fa21e8ddd1c85d9c807320
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Oct 23 13:55:50 2009 +0100

    Post-release bump to 1.1.3

 configure.ac |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit dec06979b911ca410cc289f12e053a2d49c49abb
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Oct 23 13:38:28 2009 +0100

    Release 1.1.2 developers snapshot

 .gitignore   |    2 +-
 NEWS         |   95 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 README       |    8 +++++
 configure.ac |    2 +-
 4 files changed, 105 insertions(+), 2 deletions(-)

commit 24594bcde40cc282efa94f9076a1b687c9e9827e
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Oct 23 12:15:25 2009 +0100

    build: Make COGL pass distcheck
    
    Some changes to make COGL pass distcheck with Automake 1.11 and
    anal-retentiveness turned up to 11.
    
    The "major" change is the flattening of the winsys/ part of COGL,
    which is built directly inside libclutter-cogl.la instead of an
    intermediate libclutter-cogl-winsys.la object.
    
    Ideally, the whole COGL should be flattened out using a
    quasi-non-recursive Automake layout; unfortunately, the driver/
    sub-section ships with identical targets and Automake cannot
    distinguish GL and GLES objects.

 clutter/cogl/cogl/Makefile.am        |  196 +++++++++++++++++-----------------
 clutter/cogl/cogl/winsys/Makefile.am |   43 --------
 configure.ac                         |    1 -
 3 files changed, 98 insertions(+), 142 deletions(-)

commit c882893e91b1b3ec42be8d790a8210c17de58666
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Oct 23 10:17:40 2009 +0100

    actor: Identify allocation cycles
    
    If an actor calls directly or indirectly clutter_actor_queue_relayout()
    on itself from within the allocate() implementation it will cause a
    relayout cycle. This is usually a condition that should be checked by
    ClutterActor and we should emit a warning if it is verified.

 clutter/clutter-actor.c |   15 +++++++++++++++
 1 files changed, 15 insertions(+), 0 deletions(-)

commit ca15143d1fbb09d5dbe0daeb09d7765b7cf0dfe3
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Oct 23 10:08:02 2009 +0100

    actor: Add checks for IN_DESTRUCTION flag
    
    ClutterActor should check whether the current instance is being
    destroyed and avoid performing operations like:
    
     • queueing redraws
     • queueing relayouts
    
    It should also warn if the actor is being parented to an actor
    currently being destroyed.

 clutter/clutter-actor.c |   28 ++++++++++++++++++++++++----
 1 files changed, 24 insertions(+), 4 deletions(-)

commit 7de47e74bda68c5d4dde82f2cbba6782fcf69d27
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Oct 23 09:48:35 2009 +0100

    actor: Show actor name or type in the state checks warnings
    
    When showing a warning in the state checks we perform to verify that
    the invariants are maintained when showing, mapping and realizing, we
    should also print out the name of the actor failing the checks. If the
    actor has no name, the GType name should be used as a fallback.

 clutter/clutter-actor.c |   69 ++++++++++++++++++++++++++++++++---------------
 1 files changed, 47 insertions(+), 22 deletions(-)

commit f02874470682f819766055f3976a2d6c74988dc7
Author: Neil Roberts <neil@linux.intel.com>
Date:   Thu Oct 22 16:55:29 2009 +0100

    Fix some compilation errors in cogl-gles2-wrapper.c
    
    The changes in 74f2122b6 introduced some syntax errors which were
    preventing the GLES2 backend from compiling.

 clutter/cogl/cogl/driver/gles/cogl-gles2-wrapper.c |   27 +++++++++-----------
 1 files changed, 12 insertions(+), 15 deletions(-)

commit 8727c3127cc049bf22e3b7cb89041b104ae4fea7
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu Oct 22 13:48:49 2009 +0100

    clone: Set :source as CONSTRUCT
    
    The :source property for ClutterClone is a constructor property, but
    it most definitely is not a constructor-only one.

 clutter/clutter-clone.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit b82f874b464b252c5f3bbb5e903197a048034430
Author: Neil Roberts <neil@linux.intel.com>
Date:   Thu Oct 22 15:39:30 2009 +0100

    Remove cogl/{gl,gles}/Makefile.am
    
    These are no longer used anywhere.

 clutter/cogl/gl/Makefile.am   |   62 -----------------------------
 clutter/cogl/gles/Makefile.am |   88 -----------------------------------------
 2 files changed, 0 insertions(+), 150 deletions(-)

commit bd809f690a447c813bba02d83ba3c8b22a825b38
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Oct 21 17:44:44 2009 +0100

    docs: Close the right tag to avoid XML errors

 clutter/clutter-alpha.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 4996b2224a54efeddce776cade725ec1cd7fca69
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Oct 21 17:43:34 2009 +0100

    docs: Rename the Shader and StageManager sections

 doc/reference/clutter/clutter-sections.txt |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 673199b6e0399e8f1fcd52662429287f92cb95e9
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Oct 21 16:15:18 2009 +0100

    tests: Update test-script
    
    Use explicit alpha definition and custom alpha functions.

 tests/interactive/test-script.c |   41 +++++++++++++++++++++++++++++++++-----
 1 files changed, 35 insertions(+), 6 deletions(-)

commit 7a52fddcd673c4aa14faf2396a0a74db644ba64d
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Oct 21 16:04:12 2009 +0100

    alpha: Manually parse the :mode property in ClutterScript
    
    The :mode property for a ClutterAlpha can either be an integer, for
    an easing mode logical id, or a string for the easing mode "nickname".

 clutter/clutter-alpha.c          |   33 ++++++++++++++++++++++++++++++++-
 clutter/clutter-script-private.h |    2 ++
 clutter/clutter-script.c         |   12 +++++++++---
 3 files changed, 43 insertions(+), 4 deletions(-)

commit 01bc3fa2c80e9c965222b88ad20b470ae00028ec
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Oct 21 15:43:01 2009 +0100

    script, docs: Update documentation for alphas
    
    It is now possible to have Alpha instances defined explicitly for
    behaviours, so we need to fix the documentation.

 clutter/clutter-script.c |   40 +++++++++++++++++++++++++++++++---------
 1 files changed, 31 insertions(+), 9 deletions(-)

commit f0ed71c77dd94e6bf644aba84f2e1cdc2d874fc1
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Oct 21 15:29:25 2009 +0100

    alpha: Allow setting the function in ClutterScript
    
    When defining an Alpha in ClutterScript we should allow setting
    the alpha function by using a custom property. This makes it
    possible to have both:
    
      {
        "id" : "behaviour-1",
        "type" : "ClutterBehaviourDepth",
        "alpha" : { "timeline" : "timeline-1", "function" : "alpha_func" },
        ...
      }
    
    And:
    
      {
        "id" : "alpha-1",
        "type" : "ClutterAlpha",
        "timeline" : "timeline-1",
        "function" : "alpha_func"
      },
      {
        "id" : "behaviour-1",
        "type" : "ClutterBehaviourDepth",
        "alpha" : "alpha-1",
        ...
      }
    
    The latter allows defining a single alpha function for multiple
    behaviours.

 clutter/clutter-alpha.c |  102 ++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 101 insertions(+), 1 deletions(-)

commit 50aec3c540d6609d9980fab6a26ba14869982c8b
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Oct 21 15:17:50 2009 +0100

    script: Always allow setting object properties by id reference
    
    The block that allows setting a GObject property holding an object
    instance is conditionally depending on the USE_PIXBUF define. This
    makes it impossible to reference an object inside ClutterScript on
    platforms not using GdkPixbuf.

 clutter/clutter-script.c |   25 +++++++++++++++----------
 1 files changed, 15 insertions(+), 10 deletions(-)

commit ef8ae7d72f752e10552e254c1ff9e76d19430aac
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Oct 21 15:16:43 2009 +0100

    behaviour: Notify changes of the :alpha property
    
    The set_alpha() setter of ClutterBehaviour is not emitting notifications
    for the alpha property.

 clutter/clutter-behaviour.c |   12 +++++++-----
 1 files changed, 7 insertions(+), 5 deletions(-)

commit c13701052497b4cdb009f95ad8ccce9f4a7d825e
Author: Owen W. Taylor <otaylor@fishsoup.net>
Date:   Mon Oct 5 23:20:07 2009 -0400

    Force a relayout when showing an actor
    
    When an actor is hidden, the parent actor is not required to
    size request or allocate it. (ClutterGroup does, but, for example,
    NbtkBoxLayout doesn't.) This means that the
    needs_width_request/needs_height_request/needs_allocate can be
    stale when we go to show it again - they are set for the actor
    but not the parent. Explicitly setting them to FALSE avoids
    clutter_actor_relayout() improperly short-circuiting.
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=1831
    
    Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>

 clutter/clutter-actor.c |    9 +++++++++
 1 files changed, 9 insertions(+), 0 deletions(-)

commit 571df43b6d2348fd4db4b0275c8ed55e760ab353
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Oct 20 22:05:04 2009 +0100

    text: Invalidate caches and sizes in set_text_internal()
    
    The change in commit 3bbc96e17e5a03ba931c86a5cd2a0ecaa2a3b77b moved the
    :text property setter to use set_text_internal(); this function does not
    invalidate the Layout cache and does not queue a relayout, thus breaking
    the behaviour of ClutterText when setting the contents of the actor using
    the property.
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=1851

 clutter/clutter-text.c |   12 ++++--------
 1 files changed, 4 insertions(+), 8 deletions(-)

commit 91c38f877fe0a6224c648ec9f6ecbab8190b536e
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Oct 20 14:57:40 2009 +0100

    [group] Fix copy & paste error from 857b0239e (Use FixedLayout inside Group)
    
    clutter_group_get_preferred_height was calling
    clutter_layout_manager_get_preferred_width which e.g.  broke
    test-actor-clone.

 clutter/clutter-group.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

commit 74f2122b68547ac6228c1a8d49765aa71638fa1b
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Sep 29 02:56:23 2009 +0100

    [gles2] remove lots of redundant matrix stack code
    
    Since we no longer depend on the GL matrix API in Cogl we can remove a lot
    of wrapper code from the GLES 2 backend.  This is particularly nice given
    that there was no code shared between the cogl-matrix-stack API and gles2
    wrappers so we had a lot of duplicated logic.

 clutter/cogl/cogl/driver/gles/cogl-gles2-wrapper.c |  287 ++-----------------
 clutter/cogl/cogl/driver/gles/cogl-gles2-wrapper.h |    9 +-
 2 files changed, 34 insertions(+), 262 deletions(-)

commit 5e5d94dfbed18bf2b4c8c7a7ff9847952b2c4ae2
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Oct 13 23:09:42 2009 +0100

    [cogl] Removes the cogl-current-matrix abstraction
    
    The indirection through this API isn't necessary since we no longer
    arbitrate between the OpenGL matrix API and Cogl's client side API.  Also it
    doesn't help to maintain an OpenGL style matrix mode API for internal use
    since it's awkward to keep restoring the MODELVIEW mode and easy enough to
    directly work with the matrix stacks of interest.
    
    This replaces use of the _cogl_current_matrix API with direct use of the
    _cogl_matrix_stack API.  All the unused cogl_current_matrix API is removed
    and the matrix utility code left in cogl-current-matrix.c was moved to
    cogl.c.

 clutter/cogl/cogl/Makefile.am                   |    2 -
 clutter/cogl/cogl/cogl-clip-stack.c             |   15 +-
 clutter/cogl/cogl/cogl-context.c                |    8 +-
 clutter/cogl/cogl/cogl-context.h                |    4 +-
 clutter/cogl/cogl/cogl-current-matrix.h         |   95 ----------
 clutter/cogl/cogl/cogl-internal.h               |   14 +-
 clutter/cogl/cogl/cogl-material.c               |    2 +
 clutter/cogl/cogl/cogl-texture.c                |   28 ++--
 clutter/cogl/cogl/cogl-util.c                   |    1 -
 clutter/cogl/cogl/cogl.c                        |  228 +++++++++++++++++++----
 clutter/cogl/cogl/driver/gl/cogl-fbo.c          |   26 +--
 clutter/cogl/cogl/driver/gl/cogl-primitives.c   |   24 +--
 clutter/cogl/cogl/driver/gles/cogl-fbo.c        |   27 +--
 clutter/cogl/cogl/driver/gles/cogl-primitives.c |   24 +--
 doc/reference/cogl/Makefile.am                  |    1 -
 15 files changed, 271 insertions(+), 228 deletions(-)

commit 9f7bf9fb4d234a25aba03266a286bc8c2d41f3fd
Author: Robert Bragg <robert@linux.intel.com>
Date:   Wed Oct 14 10:53:48 2009 +0100

    [matrix-stack] Adds ctx->flushed_matrix_mode to cache the gl matrix mode
    
    This cache of the gl matrix mode lets us avoid repeat calls to glMatrixMode
    in _cogl_matrix_stack_flush_to_gl when we have lots of sequential modelview
    matrix modifications.

 clutter/cogl/cogl/cogl-context.c      |    1 +
 clutter/cogl/cogl/cogl-context.h      |    1 +
 clutter/cogl/cogl/cogl-matrix-stack.c |   30 ++++++++++++++++++------------
 3 files changed, 20 insertions(+), 12 deletions(-)

commit b1f9f0a97d1abd4465ed7c7bed1da4ed366491ad
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Oct 6 12:36:32 2009 +0100

    matrix-stack: more optimization for load_identity case
    
    This goes a bit further than the previous patch, and as a special case
    we now simply represent identity matrices using a boolean, and only
    lazily initialize them when they need to be modified.

 clutter/cogl/cogl/cogl-matrix-stack.c |   82 ++++++++++++++++++++++++++++----
 1 files changed, 71 insertions(+), 11 deletions(-)

commit 460025d60348e3346cfd864b81d9867ea8474eee
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Oct 6 10:52:07 2009 +0100

    [matrix-stack] avoid redundant clearing of matrix when using load_identity
    
    The journal always uses an identity matrix since it uses software
    transformation.  Currently it manually uses glLoadMatrix since previous
    experimentation showed that the cogl-matrix-stack gave bad performance, but
    it would be nice to fix performance so we only have to care about one path
    for loading matrices.
    
    For the common case where we do:
    cogl_matrix_stack_push()
    cogl_matrix_stack_load_identity()
    we were effectively initializing the matrix 3 times. Once due to use of
    g_slice_new0, then we had a cogl_matrix_init_identity in
    _cogl_matrix_state_new for good measure, and then finally in
    cogl_matrix_stack_load_identity we did another cogl_matrix_init_identity.
    
    We don't use g_slice_new0 anymore, _cogl_matrix_state_new is documented as
    not initializing the matrix (instead _cogl_matrix_stack_top_mutable now
    takes a boolean to choose if new stack entries should be initialised) and so
    we now only initialize once in cogl_matrix_stack_load_identity.

 clutter/cogl/cogl/cogl-matrix-stack.c |   54 ++++++++++++++++-----------------
 1 files changed, 26 insertions(+), 28 deletions(-)

commit 2656b569b9911b8aa427a5a02c8b1f4095de6ed7
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Sep 29 02:58:27 2009 +0100

    [current-matrix] Adds texture matrix stacks + removes GL matrix API usage
    
    This relates back to an earlier commitment to stop using the OpenGL matrix
    API which is considered deprecated. (ref 54159f5a1d029db)
    
    The new texture matrix stacks are hung from a list of (internal only)
    CoglTextureUnit structures which the CoglMaterial code internally references
    via _cogl_get_texure_unit ().
    
    So we would be left with only the cogl-matrix-stack code being responsible
    for glMatrixMode, glLoadMatrix and glLoadIdentity this commit updates the
    journal code so it now uses the matrix-stack API instead of GL directly.

 clutter/cogl/cogl/cogl-context.c        |    4 +
 clutter/cogl/cogl/cogl-context.h        |    5 +-
 clutter/cogl/cogl/cogl-current-matrix.c |  236 +++++++------------------------
 clutter/cogl/cogl/cogl-internal.h       |   12 ++
 clutter/cogl/cogl/cogl-journal.c        |   33 +++--
 clutter/cogl/cogl/cogl-material.c       |   22 ++-
 clutter/cogl/cogl/cogl-matrix-stack.c   |   15 ++-
 clutter/cogl/cogl/cogl.c                |   59 ++++++++
 8 files changed, 174 insertions(+), 212 deletions(-)

commit 473f7ee31ebd6d52126978ba4e155a3bebc4cac1
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Oct 19 15:31:29 2009 +0100

    text: Take pre-edit cursor position into account
    
    When determining the cursor position we also need to take into account
    the pre-edit cursor position as set by the set_preedit_string()
    function.

 clutter/clutter-text.c |   16 ++++++++++++++--
 1 files changed, 14 insertions(+), 2 deletions(-)

commit 23cd0b79254acd2b97467a62010244328e210a87
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Mon Oct 19 12:01:38 2009 +0100

    docs: Documentation fixes
    
     • Fix list_stages() and peek_stages() documentation
    
     • Fix clutter_text_set_preedit_string() arguments in the header
       to match source and documentation
    
     • Add clutter_units_cm() to the private section for Units
    
     • Rename the LayoutManager section
    
     • Add FlowLayout:homogeneous accessors

 clutter/clutter-stage-manager.c            |    4 ++--
 clutter/clutter-text.h                     |    4 ++--
 doc/reference/clutter/clutter-sections.txt |    9 ++++++---
 3 files changed, 10 insertions(+), 7 deletions(-)

commit ba25571c8e34593f99ba302edf381a0151c98bbb
Merge: 936779f 8ce8b91
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Mon Oct 19 11:45:15 2009 +0100

    Merge branch 'layout-manager'
    
    * layout-manager: (50 commits)
      docs: Reword a link
      layout, docs: Add more documentation to LayoutManager
      layout, docs: Fix description of Bin properties
      layout, bin: Use ceilf() instead of casting to int
      layout, docs: Add long description for FlowLayout
      layout, box: Clean up
      layout, box: Write long description for Box
      layout, docs: Remove unused functions
      layout: Document BoxLayout
      layout: Add BoxLayout, a single line layout manager
      layout: Report the correct size of FlowLayout
      layout: Resizing the stage resizes the FlowLayout box
      layout: Use the get_request_mode() getter in BinLayout
      layout: Change the request-mode along with the orientation
      actor: Add set_request_mode() method
      [layout] Remove FlowLayout:wrap
      [layout] Rename BinLayout and FlowLayout interactive tests
      [layout] Skip invisible children in FlowLayout
      [layout] Clean up and document FlowLayout
      [layout] Snap children of FlowLayout to column/row
      ...

commit 8ce8b91383390482efe56d982d945a384766ca8c
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Mon Oct 19 11:44:29 2009 +0100

    docs: Reword a link

 clutter/clutter-layout-manager.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

commit cd3c85f7ba9094a250ec03f0380428fadafef0df
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Mon Oct 19 11:00:23 2009 +0100

    layout, docs: Add more documentation to LayoutManager
    
    The layout manager reference should have some documentation on how
    to use a LayoutManager object inside a container and how to implement
    a LayoutManager sub-class correctly.

 clutter/clutter-layout-manager.c |   41 ++++++++++++++++++++++++++++++++++++++
 1 files changed, 41 insertions(+), 0 deletions(-)

commit 936779fd96cc0d8d6713c5cb4c5dc9240cc04d97
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Sun Oct 18 17:49:00 2009 +0100

    build: Add back QUIET_GEN to the GIR generation

 clutter/Makefile.am |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit bc8a7bd5b4c70247e4bc8cccc194c12e5b6a9a2f
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Sun Oct 18 17:15:04 2009 +0100

    Update ignore file

 .gitignore |   13 ++++++-------
 1 files changed, 6 insertions(+), 7 deletions(-)

commit ab376d961fee066f809169f32946a32700ea0e53
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Sun Oct 18 17:12:12 2009 +0100

    build: De-nest the JSON from the introspection rules
    
    The JSON conditional rules can be moved outside the introspection
    conditional ones to avoid a nested check, as all the JSON rules do
    is setting up variables that may or may not be used.

 clutter/Makefile.am |   26 ++++++++++++--------------
 1 files changed, 12 insertions(+), 14 deletions(-)

commit 5c162d904bbbbd5ae0f66885497dd0658d27e87f
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Sun Oct 18 17:11:42 2009 +0100

    build: Use QUIET_GEN when building ClutterJson GIR

 clutter/json/Makefile.am |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

commit 8f11b3ca48fde34f5bc214f1ff122e5ed6298eac
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Sun Oct 18 17:00:24 2009 +0100

    build: Fix up the GIR generation rules
    
    The rules for generating Clutter's introspection data are
    still referencing the old COGL layout.

 clutter/Makefile.am |    9 ++++++---
 1 files changed, 6 insertions(+), 3 deletions(-)

commit ad5c0af6399353ad49663954c6abd7305ecc9ad6
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Sat Oct 17 00:30:37 2009 +0100

    build: Add CPPFLAGS for the g-ir-scanner command line
    
    When I moved all CPP flags to AM_CPPFLAGS from the INCLUDES directive
    I forgot that g-ir-scanner needs those defines as well.

 clutter/Makefile.am |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

commit ef9ea9e2377f63e8bbf22f4829b8a51953a434ef
Author: Robert Bragg <robert@linux.intel.com>
Date:   Wed Sep 16 14:01:57 2009 +0100

    [cogl-primitives] Split the journal out from cogl-primitives.c
    
    The Journal can be considered a standalone component, so even though
    it's currently only used to log quads, it seems better to split it
    out into its own file.

 clutter/cogl/cogl/Makefile.am            |    2 +
 clutter/cogl/cogl/cogl-context.c         |    1 +
 clutter/cogl/cogl/cogl-journal-private.h |   57 +++
 clutter/cogl/cogl/cogl-journal.c         |  744 ++++++++++++++++++++++++++++++
 clutter/cogl/cogl/cogl-primitives.c      |  705 +----------------------------
 clutter/cogl/cogl/cogl-texture-private.h |   14 -
 6 files changed, 805 insertions(+), 718 deletions(-)

commit 8790306629f8186bba7998b5567c2a45aafb87d9
Author: Robert Bragg <robert@linux.intel.com>
Date:   Sun Sep 6 21:47:46 2009 +0100

    [test-backface-culling] Check that inverted tex coords don't affect culling
    
    The additional check draws another front facing rectangle but this time with
    the texture coords flipped on the x axis.  The code that handles sliced
    textures in cogl-primitives.c makes some suspicious changes to the geometry
    when the texture coords are inverted.

 tests/conform/test-backface-culling.c |   28 ++++++++++++++++++++--------
 1 files changed, 20 insertions(+), 8 deletions(-)

commit 2f628b1a8a405d2e4c08f2b2d125002ded0d8981
Author: Robert Bragg <robert@linux.intel.com>
Date:   Wed Sep 23 15:11:55 2009 +0100

    [cogl-spans] split out cogl-spans code from cogl-texture-2d-sliced
    
    When we implement atlas textures we will probably want to use the spans API
    to handle texture repeating so it doesn't make sense to leave the code in
    cogl-texture-2d-sliced.c.  Since it's a standalone set of data structures
    and algorithms it also seems reasonable to split out from cogl-texture.

 clutter/cogl/cogl/Makefile.am                      |    2 +
 clutter/cogl/cogl/cogl-spans.c                     |  132 +++++++++++++
 clutter/cogl/cogl/cogl-spans.h                     |   70 +++++++
 clutter/cogl/cogl/cogl-texture-2d-sliced-private.h |   27 ---
 clutter/cogl/cogl/cogl-texture-2d-sliced.c         |  195 +++++---------------
 5 files changed, 248 insertions(+), 178 deletions(-)

commit 568d6841871bdfea5d49d2a8143a49a0a7664a7b
Author: Vladimir Nadvornik <nadvornik@suse.cz>
Date:   Sun Aug 30 12:36:11 2009 +0200

    [cogl-texture] Split CoglTexture into an abstract class + CoglTexture2dSliced
    
    cogl-texture-2d-sliced provides an implementation of CoglTexture and this
    seperation lays the foundation for potentially supporting atlas textures,
    pixmap textures (as in GLX_EXT_texture_from_pixmap) and fast-path
    GL_TEXTURE_{1D,2D,3D,RECTANGLE} textures in a maintainable fashion.

 clutter/cogl/cogl/Makefile.am                      |    2 +
 clutter/cogl/cogl/cogl-context.c                   |    2 +
 clutter/cogl/cogl/cogl-context.h                   |    2 +
 clutter/cogl/cogl/cogl-handle.h                    |    4 +-
 clutter/cogl/cogl/cogl-texture-2d-sliced-private.h |  191 ++
 clutter/cogl/cogl/cogl-texture-2d-sliced.c         | 1871 +++++++++++++++++++
 clutter/cogl/cogl/cogl-texture-driver.h            |   12 +
 clutter/cogl/cogl/cogl-texture-private.h           |   80 +-
 clutter/cogl/cogl/cogl-texture.c                   | 1926 +++++---------------
 clutter/cogl/cogl/driver/gl/cogl-texture-driver.c  |   97 +-
 .../cogl/cogl/driver/gles/cogl-context-driver.c    |    2 -
 .../cogl/cogl/driver/gles/cogl-context-driver.h    |    2 -
 .../cogl/cogl/driver/gles/cogl-texture-driver.c    |  217 +---
 13 files changed, 2551 insertions(+), 1857 deletions(-)

commit 9da26fc1ca820d12d325df400e6e02d7cd25423a
Author: Robert Bragg <robert@linux.intel.com>
Date:   Wed Sep 16 11:56:17 2009 +0100

    [cogl-texture] Seal CoglTexture internals from cogl-primitives.c
    
    cogl-primitives.c was previously digging right into CoglTextures so it could
    manually iterate the texture slices for texturing quads and polygons and
    because we were missing some state getters we were lazily just poking into
    the structures directly.
    
    This adds some extra state getter functions, and adds a higher level
    _cogl_texture_foreach_slice () API that hopefully simplifies the way in
    which sliced textures may be used to render primitives.  This lets you
    specify a rectangle in "virtual" texture coords and it will call a given
    callback for each slice that intersects that rectangle giving the virtual
    coords of the current slice and corresponding "real" texture coordinates for
    the underlying gl texture.
    
    At the same time a noteable bug in how we previously iterated sliced
    textures was fixed, whereby we weren't correctly handling inverted texture
    coordinates.  E.g.  with the previous code if you supplied texture coords of
    tx1=100,ty1=0,tx2=0,ty2=100 (inverted along y axis) that would result in a
    back-facing quad, which could be discarded if using back-face culling.

 clutter/cogl/cogl/cogl-material.c        |    9 +-
 clutter/cogl/cogl/cogl-primitives.c      |  736 ++++++++++++++----------------
 clutter/cogl/cogl/cogl-texture-private.h |   47 ++-
 clutter/cogl/cogl/cogl-texture.c         |  239 +++++++++-
 clutter/cogl/cogl/cogl-vertex-buffer.c   |    6 +-
 clutter/cogl/cogl/driver/gl/cogl-fbo.c   |   29 +-
 clutter/cogl/cogl/driver/gles/cogl-fbo.c |   29 +-
 7 files changed, 640 insertions(+), 455 deletions(-)

commit 52cecd50ec87b617cc20dbc3ba4f843340fb5d63
Author: Robert Bragg <robert@linux.intel.com>
Date:   Thu Jul 30 12:06:02 2009 +0100

    [docs] switch gl_handle+gl_target docs for cogl_texture_new_from_foreign
    
    The descriptions for gl_handle and gl_target were inverted.
    
    Thanks to Young-Ho Cha for spotting that.
    
    Signed-off-by: Robert Bragg <robert@linux.intel.com>

 clutter/cogl/cogl/cogl-texture.h |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 95a869dab1b893f74c5b880e7be43e134eeb706f
Author: Robert Bragg <robert@linux.intel.com>
Date:   Wed Jul 29 17:21:07 2009 +0100

    [cogl] move clutter/pango to clutter/cogl/pango
    
    As part of the re-organisation of Cogl; move clutter/pango to be part of the
    cogl sub-project.

 clutter/Makefile.am                          |   22 +-
 clutter/cogl/Makefile.am                     |    2 +-
 clutter/cogl/pango/Makefile.am               |   33 ++
 clutter/cogl/pango/cogl-pango-display-list.c |  417 +++++++++++++++
 clutter/cogl/pango/cogl-pango-display-list.h |   70 +++
 clutter/cogl/pango/cogl-pango-fontmap.c      |  209 ++++++++
 clutter/cogl/pango/cogl-pango-glyph-cache.c  |  352 +++++++++++++
 clutter/cogl/pango/cogl-pango-glyph-cache.h  |   78 +++
 clutter/cogl/pango/cogl-pango-private.h      |   38 ++
 clutter/cogl/pango/cogl-pango-render.c       |  697 ++++++++++++++++++++++++++
 clutter/cogl/pango/cogl-pango.h              |   85 ++++
 clutter/pango/Makefile.am                    |   33 --
 clutter/pango/cogl-pango-display-list.c      |  417 ---------------
 clutter/pango/cogl-pango-display-list.h      |   70 ---
 clutter/pango/cogl-pango-fontmap.c           |  209 --------
 clutter/pango/cogl-pango-glyph-cache.c       |  352 -------------
 clutter/pango/cogl-pango-glyph-cache.h       |   78 ---
 clutter/pango/cogl-pango-private.h           |   38 --
 clutter/pango/cogl-pango-render.c            |  697 --------------------------
 clutter/pango/cogl-pango.h                   |   85 ----
 configure.ac                                 |    2 +-
 21 files changed, 1992 insertions(+), 1992 deletions(-)

commit 43efab46bcf88c14cc429c6c7b659bdbc84f1f71
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Jul 28 02:02:02 2009 +0100

    Intial Re-layout of the Cogl source code and introduction of a Cogl Winsys
    
    As part of an incremental process to have Cogl be a standalone project we
    want to re-consider how we organise the Cogl source code.
    
    Currently this is the structure I'm aiming for:
    cogl/
        cogl/
    	<put common source here>
    	winsys/
    	   cogl-glx.c
    	   cogl-wgl.c
    	driver/
    	    gl/
    	    gles/
    	os/ ?
        utils/
    	cogl-fixed
    	cogl-matrix-stack?
            cogl-journal?
            cogl-primitives?
        pango/
    
    The new winsys component is a starting point for migrating window system
    code (i.e.  x11,glx,wgl,osx,egl etc) from Clutter to Cogl.
    
    The utils/ and pango/ directories aren't added by this commit, but they are
    noted because I plan to add them soon.
    
    Overview of the planned structure:
    
    * The winsys/ API is the API that binds OpenGL to a specific window system,
      be that X11 or win32 etc.  Example are glx, wgl and egl. Much of the logic
      under clutter/{glx,osx,win32 etc} should migrate here.
    
    * Note there is also the idea of a winsys-base that may represent a window
      system for which there are multiple winsys APIs.  An example of this is
      x11, since glx and egl may both be used with x11.  (currently only Clutter
      has the idea of a winsys-base)
    
    * The driver/ represents a specific varient of OpenGL. Currently we have "gl"
      representing OpenGL 1.4-2.1 (mostly fixed function) and "gles" representing
      GLES 1.1 (fixed funciton) and 2.0 (fully shader based)
    
    * Everything under cogl/ should fundamentally be supporting access to the
      GPU.  Essentially Cogl's most basic requirement is to provide a nice GPU
      Graphics API and drawing a line between this and the utility functionality
      we add to support Clutter should help keep this lean and maintainable.
    
    * Code under utils/ as suggested builds on cogl/ adding more convenient
      APIs or mechanism to optimize special cases. Broadly speaking you can
      compare cogl/ to OpenGL and utils/ to GLU.
    
    * clutter/pango will be moved to clutter/cogl/pango
    
    How some of the internal configure.ac/pkg-config terminology has changed:
    backendextra -> CLUTTER_WINSYS_BASE # e.g. "x11"
    backendextralib -> CLUTTER_WINSYS_BASE_LIB # e.g. "x11/libclutter-x11.la"
    clutterbackend -> {CLUTTER,COGL}_WINSYS # e.g. "glx"
    CLUTTER_FLAVOUR -> {CLUTTER,COGL}_WINSYS
    clutterbackendlib -> CLUTTER_WINSYS_LIB
    CLUTTER_COGL -> COGL_DRIVER # e.g. "gl"
    
    Note: The CLUTTER_FLAVOUR and CLUTTER_COGL defines are kept for apps
    
    As the first thing to take advantage of the new winsys component in Cogl;
    cogl_get_proc_address() has been moved from cogl/{gl,gles}/cogl.c into
    cogl/common/cogl.c and this common implementation first trys
    _cogl_winsys_get_proc_address() but if that fails then it falls back to
    gmodule.

 Makefile.am                                        |    8 +-
 clutter.pc.in                                      |   10 +-
 clutter/Makefile.am                                |   38 +-
 clutter/cogl/Makefile.am                           |   89 +-
 clutter/cogl/TODO                                  |   25 -
 clutter/cogl/cogl-bitmap.h                         |   80 -
 clutter/cogl/cogl-color.h                          |  261 --
 clutter/cogl/cogl-debug.h                          |   79 -
 clutter/cogl/cogl-deprecated.h                     |   36 -
 clutter/cogl/cogl-fixed.h                          |  782 ----
 clutter/cogl/cogl-material.h                       |  781 ----
 clutter/cogl/cogl-matrix.h                         |  290 --
 clutter/cogl/cogl-offscreen.h                      |   96 -
 clutter/cogl/cogl-path.h                           |  347 --
 clutter/cogl/cogl-shader.h                         |  313 --
 clutter/cogl/cogl-texture.h                        |  465 ---
 clutter/cogl/cogl-types.h                          |  328 --
 clutter/cogl/cogl-vertex-buffer.h                  |  452 ---
 clutter/cogl/cogl.h.in                             |  875 -----
 clutter/cogl/cogl.pc.in                            |   15 -
 clutter/cogl/cogl/Makefile.am                      |  161 +
 clutter/cogl/cogl/cogl-bitmap-fallback.c           |  460 +++
 clutter/cogl/cogl/cogl-bitmap-pixbuf.c             |  368 ++
 clutter/cogl/cogl/cogl-bitmap-private.h            |  115 +
 clutter/cogl/cogl/cogl-bitmap.c                    |  208 ++
 clutter/cogl/cogl/cogl-bitmap.h                    |   80 +
 clutter/cogl/cogl/cogl-blend-string.c              | 1005 ++++++
 clutter/cogl/cogl/cogl-blend-string.h              |  138 +
 clutter/cogl/cogl/cogl-clip-stack.c                |  503 +++
 clutter/cogl/cogl/cogl-clip-stack.h                |   43 +
 clutter/cogl/cogl/cogl-color.c                     |  201 ++
 clutter/cogl/cogl/cogl-color.h                     |  261 ++
 clutter/cogl/cogl/cogl-context.c                   |  215 ++
 clutter/cogl/cogl/cogl-context.h                   |  131 +
 clutter/cogl/cogl/cogl-current-matrix.c            |  549 +++
 clutter/cogl/cogl/cogl-current-matrix.h            |   95 +
 clutter/cogl/cogl/cogl-debug.c                     |  131 +
 clutter/cogl/cogl/cogl-debug.h                     |   79 +
 clutter/cogl/cogl/cogl-deprecated.h                |   36 +
 clutter/cogl/cogl/cogl-enum-types.c.in             |   41 +
 clutter/cogl/cogl/cogl-enum-types.h.in             |   25 +
 clutter/cogl/cogl/cogl-fixed.c                     |  950 +++++
 clutter/cogl/cogl/cogl-fixed.h                     |  782 ++++
 clutter/cogl/cogl/cogl-handle.h                    |  157 +
 clutter/cogl/cogl/cogl-internal.h                  |   88 +
 clutter/cogl/cogl/cogl-material-private.h          |  255 ++
 clutter/cogl/cogl/cogl-material.c                  | 1972 ++++++++++
 clutter/cogl/cogl/cogl-material.h                  |  781 ++++
 clutter/cogl/cogl/cogl-matrix-stack.c              |  363 ++
 clutter/cogl/cogl/cogl-matrix-stack.h              |   82 +
 clutter/cogl/cogl/cogl-matrix.c                    |  282 ++
 clutter/cogl/cogl/cogl-matrix.h                    |  290 ++
 clutter/cogl/cogl/cogl-offscreen.h                 |   96 +
 clutter/cogl/cogl/cogl-path.h                      |  347 ++
 clutter/cogl/cogl/cogl-primitives.c                | 2329 ++++++++++++
 clutter/cogl/cogl/cogl-primitives.h                |   62 +
 clutter/cogl/cogl/cogl-shader.h                    |  313 ++
 clutter/cogl/cogl/cogl-texture-driver.h            |  157 +
 clutter/cogl/cogl/cogl-texture-private.h           |  151 +
 clutter/cogl/cogl/cogl-texture.c                   | 1682 +++++++++
 clutter/cogl/cogl/cogl-texture.h                   |  465 +++
 clutter/cogl/cogl/cogl-types.h                     |  328 ++
 clutter/cogl/cogl/cogl-util.c                      |  252 ++
 clutter/cogl/cogl/cogl-util.h                      |   30 +
 clutter/cogl/cogl/cogl-vertex-buffer-private.h     |  169 +
 clutter/cogl/cogl/cogl-vertex-buffer.c             | 2016 +++++++++++
 clutter/cogl/cogl/cogl-vertex-buffer.h             |  452 +++
 clutter/cogl/cogl/cogl.c                           |  879 +++++
 clutter/cogl/cogl/cogl.h.in                        |  875 +++++
 clutter/cogl/cogl/cogl.pc.in                       |   17 +
 clutter/cogl/cogl/driver/Makefile.am               |    7 +
 clutter/cogl/cogl/driver/gl/Makefile.am            |   39 +
 clutter/cogl/cogl/driver/gl/cogl-context-driver.c  |   84 +
 clutter/cogl/cogl/driver/gl/cogl-context-driver.h  |  103 +
 clutter/cogl/cogl/driver/gl/cogl-defines.h.in      | 1053 ++++++
 clutter/cogl/cogl/driver/gl/cogl-fbo.c             |  330 ++
 clutter/cogl/cogl/driver/gl/cogl-fbo.h             |   39 +
 clutter/cogl/cogl/driver/gl/cogl-primitives.c      |  282 ++
 clutter/cogl/cogl/driver/gl/cogl-program.c         |  255 ++
 clutter/cogl/cogl/driver/gl/cogl-program.h         |   39 +
 clutter/cogl/cogl/driver/gl/cogl-shader-private.h  |   39 +
 clutter/cogl/cogl/driver/gl/cogl-shader.c          |  177 +
 clutter/cogl/cogl/driver/gl/cogl-texture-driver.c  |  454 +++
 clutter/cogl/cogl/driver/gl/cogl.c                 |  443 +++
 clutter/cogl/cogl/driver/gles/Makefile.am          |   62 +
 .../cogl/cogl/driver/gles/cogl-context-driver.c    |   41 +
 .../cogl/cogl/driver/gles/cogl-context-driver.h    |   44 +
 clutter/cogl/cogl/driver/gles/cogl-defines.h.in    |  638 ++++
 clutter/cogl/cogl/driver/gles/cogl-fbo.c           |  343 ++
 clutter/cogl/cogl/driver/gles/cogl-fbo.h           |   39 +
 .../driver/gles/cogl-fixed-fragment-shader.glsl    |   62 +
 .../cogl/driver/gles/cogl-fixed-vertex-shader.glsl |   65 +
 clutter/cogl/cogl/driver/gles/cogl-gles2-wrapper.c | 1635 +++++++++
 clutter/cogl/cogl/driver/gles/cogl-gles2-wrapper.h |  433 +++
 clutter/cogl/cogl/driver/gles/cogl-primitives.c    |  453 +++
 clutter/cogl/cogl/driver/gles/cogl-program.c       |  338 ++
 clutter/cogl/cogl/driver/gles/cogl-program.h       |   43 +
 .../cogl/cogl/driver/gles/cogl-shader-private.h    |   40 +
 clutter/cogl/cogl/driver/gles/cogl-shader.c        |  221 ++
 .../cogl/cogl/driver/gles/cogl-texture-driver.c    |  481 +++
 clutter/cogl/cogl/driver/gles/cogl-util.c          |   49 +
 clutter/cogl/cogl/driver/gles/cogl-util.h          |   30 +
 clutter/cogl/cogl/driver/gles/cogl.c               |   64 +
 clutter/cogl/cogl/driver/gles/stringify.sh         |   94 +
 clutter/cogl/cogl/stb_image.c                      | 3772 ++++++++++++++++++++
 clutter/cogl/cogl/winsys/Makefile.am               |   43 +
 clutter/cogl/cogl/winsys/cogl-eglnative.c          |   35 +
 clutter/cogl/cogl/winsys/cogl-eglx.c               |   35 +
 clutter/cogl/cogl/winsys/cogl-fruity.c             |   35 +
 clutter/cogl/cogl/winsys/cogl-glx.c                |   78 +
 clutter/cogl/cogl/winsys/cogl-osx.c                |   35 +
 clutter/cogl/cogl/winsys/cogl-sdl.c                |   35 +
 clutter/cogl/cogl/winsys/cogl-win32.c              |   35 +
 clutter/cogl/cogl/winsys/cogl-winsys.h             |   30 +
 clutter/cogl/common/Makefile.am                    |   96 -
 clutter/cogl/common/cogl-bitmap-fallback.c         |  460 ---
 clutter/cogl/common/cogl-bitmap-pixbuf.c           |  368 --
 clutter/cogl/common/cogl-bitmap-private.h          |  115 -
 clutter/cogl/common/cogl-bitmap.c                  |  208 --
 clutter/cogl/common/cogl-blend-string.c            | 1005 ------
 clutter/cogl/common/cogl-blend-string.h            |  138 -
 clutter/cogl/common/cogl-clip-stack.c              |  503 ---
 clutter/cogl/common/cogl-clip-stack.h              |   43 -
 clutter/cogl/common/cogl-color.c                   |  201 --
 clutter/cogl/common/cogl-context.c                 |  215 --
 clutter/cogl/common/cogl-context.h                 |  131 -
 clutter/cogl/common/cogl-current-matrix.c          |  549 ---
 clutter/cogl/common/cogl-current-matrix.h          |   95 -
 clutter/cogl/common/cogl-debug.c                   |  131 -
 clutter/cogl/common/cogl-enum-types.c.in           |   41 -
 clutter/cogl/common/cogl-enum-types.h.in           |   25 -
 clutter/cogl/common/cogl-fixed.c                   |  950 -----
 clutter/cogl/common/cogl-handle.h                  |  157 -
 clutter/cogl/common/cogl-internal.h                |   88 -
 clutter/cogl/common/cogl-material-private.h        |  255 --
 clutter/cogl/common/cogl-material.c                | 1972 ----------
 clutter/cogl/common/cogl-matrix-stack.c            |  363 --
 clutter/cogl/common/cogl-matrix-stack.h            |   81 -
 clutter/cogl/common/cogl-matrix.c                  |  282 --
 clutter/cogl/common/cogl-primitives.c              | 2329 ------------
 clutter/cogl/common/cogl-primitives.h              |   62 -
 clutter/cogl/common/cogl-texture-driver.h          |  157 -
 clutter/cogl/common/cogl-texture-private.h         |  151 -
 clutter/cogl/common/cogl-texture.c                 | 1682 ---------
 clutter/cogl/common/cogl-util.c                    |  252 --
 clutter/cogl/common/cogl-util.h                    |   30 -
 clutter/cogl/common/cogl-vertex-buffer-private.h   |  169 -
 clutter/cogl/common/cogl-vertex-buffer.c           | 2016 -----------
 clutter/cogl/common/cogl.c                         |  858 -----
 clutter/cogl/common/stb_image.c                    | 3772 --------------------
 clutter/cogl/gl/cogl-context-driver.c              |   84 -
 clutter/cogl/gl/cogl-context-driver.h              |  103 -
 clutter/cogl/gl/cogl-defines.h.in                  | 1053 ------
 clutter/cogl/gl/cogl-fbo.c                         |  330 --
 clutter/cogl/gl/cogl-fbo.h                         |   39 -
 clutter/cogl/gl/cogl-primitives.c                  |  282 --
 clutter/cogl/gl/cogl-program.c                     |  255 --
 clutter/cogl/gl/cogl-program.h                     |   39 -
 clutter/cogl/gl/cogl-shader-private.h              |   39 -
 clutter/cogl/gl/cogl-shader.c                      |  177 -
 clutter/cogl/gl/cogl-texture-driver.c              |  454 ---
 clutter/cogl/gl/cogl.c                             |  515 ---
 clutter/cogl/gles/cogl-context-driver.c            |   41 -
 clutter/cogl/gles/cogl-context-driver.h            |   44 -
 clutter/cogl/gles/cogl-defines.h.in                |  638 ----
 clutter/cogl/gles/cogl-fbo.c                       |  343 --
 clutter/cogl/gles/cogl-fbo.h                       |   39 -
 clutter/cogl/gles/cogl-fixed-fragment-shader.glsl  |   62 -
 clutter/cogl/gles/cogl-fixed-vertex-shader.glsl    |   65 -
 clutter/cogl/gles/cogl-gles2-wrapper.c             | 1635 ---------
 clutter/cogl/gles/cogl-gles2-wrapper.h             |  433 ---
 clutter/cogl/gles/cogl-primitives.c                |  453 ---
 clutter/cogl/gles/cogl-program.c                   |  338 --
 clutter/cogl/gles/cogl-program.h                   |   43 -
 clutter/cogl/gles/cogl-shader-private.h            |   40 -
 clutter/cogl/gles/cogl-shader.c                    |  221 --
 clutter/cogl/gles/cogl-texture-driver.c            |  481 ---
 clutter/cogl/gles/cogl-util.c                      |   49 -
 clutter/cogl/gles/cogl-util.h                      |   30 -
 clutter/cogl/gles/cogl.c                           |   74 -
 clutter/cogl/gles/stringify.sh                     |   94 -
 clutter/eglnative/Makefile.am                      |   12 +-
 clutter/eglx/Makefile.am                           |    2 +
 clutter/fruity/Makefile.am                         |    8 +-
 clutter/glx/Makefile.am                            |    2 +
 clutter/osx/Makefile.am                            |    6 +-
 clutter/sdl/Makefile.am                            |    2 +
 clutter/win32/Makefile.am                          |    2 +
 clutter/win32/clutter-win32.pc.in                  |    8 +-
 clutter/x11/Makefile.am                            |    2 +
 clutter/x11/clutter-x11.pc.in                      |   10 +-
 configure.ac                                       |  119 +-
 doc/reference/clutter/Makefile.am                  |    6 +-
 doc/reference/cogl/Makefile.am                     |   11 +-
 tests/conform/Makefile.am                          |    4 +-
 tests/interactive/Makefile.am                      |    4 +-
 tests/micro-bench/Makefile.am                      |    9 +-
 tests/tools/Makefile.am                            |    2 +
 198 files changed, 34272 insertions(+), 33869 deletions(-)

commit 2eea83de75cec3dbc334feecd004a180a7f5b1e5
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Jul 28 01:34:33 2009 +0100

    Make the CoglContext structure a bit more maintainable
    
    This moves most of cogl-context.{c.h} to cogl/common with some driver
    specific members now living in a CoglContextDriver struct.  Driver specific
    context initialization and typedefs now live in
    cogl/{gl,gles}/cogl-context-driver.{c,h}
    
    Driver specific members can be found under ctx->drv.stuff

 clutter/cogl/common/Makefile.am          |    2 +
 clutter/cogl/common/cogl-blend-string.c  |    2 +-
 clutter/cogl/common/cogl-context.c       |  215 +++++++++++++++++++++++++
 clutter/cogl/common/cogl-context.h       |  131 +++++++++++++++
 clutter/cogl/common/cogl-material.c      |   14 +-
 clutter/cogl/common/cogl-primitives.c    |   12 +-
 clutter/cogl/common/cogl-vertex-buffer.c |   26 ++--
 clutter/cogl/common/cogl.c               |    2 +-
 clutter/cogl/gl/Makefile.am              |    2 +-
 clutter/cogl/gl/cogl-context-driver.c    |   84 ++++++++++
 clutter/cogl/gl/cogl-context-driver.h    |  103 ++++++++++++
 clutter/cogl/gl/cogl-context.c           |  259 ------------------------------
 clutter/cogl/gl/cogl-context.h           |  197 -----------------------
 clutter/cogl/gl/cogl-fbo.c               |   24 ++--
 clutter/cogl/gl/cogl-primitives.c        |    2 +-
 clutter/cogl/gl/cogl-program.c           |   50 +++---
 clutter/cogl/gl/cogl-shader.c            |   12 +-
 clutter/cogl/gl/cogl-texture-driver.c    |    2 +-
 clutter/cogl/gl/cogl.c                   |  224 +++++++++++++-------------
 clutter/cogl/gles/Makefile.am            |    2 +-
 clutter/cogl/gles/cogl-context-driver.c  |   41 +++++
 clutter/cogl/gles/cogl-context-driver.h  |   44 +++++
 clutter/cogl/gles/cogl-context.c         |  214 ------------------------
 clutter/cogl/gles/cogl-context.h         |  136 ----------------
 clutter/cogl/gles/cogl-fbo.c             |    8 +-
 clutter/cogl/gles/cogl-gles2-wrapper.c   |    2 +-
 clutter/cogl/gles/cogl-program.c         |   16 +-
 clutter/cogl/gles/cogl-texture-driver.c  |   14 +-
 28 files changed, 828 insertions(+), 1012 deletions(-)

commit 157eb437bac38d7a61991f47bd943cb9f6d84ad7
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Jul 28 00:37:11 2009 +0100

    Improve cogl-texture maintainability by moving 90% into cogl/common
    
    This splits the limited components that differed between
    cogl/{gl,gles}/cogl-texture.c into new {gl,gles}/cogl-texture-driver.c files
    and the rest that can now be shared into cogl/common/cogl-texture.c

 clutter/cogl/common/Makefile.am            |    3 +
 clutter/cogl/common/cogl-internal.h        |    1 +
 clutter/cogl/common/cogl-texture-driver.h  |  157 +++
 clutter/cogl/common/cogl-texture-private.h |  151 ++
 clutter/cogl/common/cogl-texture.c         | 1682 ++++++++++++++++++++++
 clutter/cogl/gl/Makefile.am                |    3 +-
 clutter/cogl/gl/cogl-texture-driver.c      |  454 ++++++
 clutter/cogl/gl/cogl-texture-private.h     |  145 --
 clutter/cogl/gl/cogl-texture.c             | 1996 ---------------------------
 clutter/cogl/gles/Makefile.am              |    3 +-
 clutter/cogl/gles/cogl-gles2-wrapper.h     |    1 +
 clutter/cogl/gles/cogl-texture-driver.c    |  481 +++++++
 clutter/cogl/gles/cogl-texture-private.h   |  144 --
 clutter/cogl/gles/cogl-texture.c           | 2066 ----------------------------
 14 files changed, 2932 insertions(+), 4355 deletions(-)

commit fe01ec6323967614c6404bc193503adb5bda1624
Author: Robert Bragg <robert@linux.intel.com>
Date:   Thu Aug 20 11:54:41 2009 +0100

    [stage-egl] support fallbacks in clutter_stage_egl_realize
    
    Most of clutter_stage_egl_realize was renamed to
    _clutter_stage_egl_try_realize which now takes a cookie indicating which
    fallback number should tried next.  clutter_stage_egl_realize now keeps
    trying to realize with successive fallback numbers until it succeeds or runs
    out of fallbacks.
    
    The only fallback supported for now is for hardware with no stencil buffer
    support.

 clutter/eglx/clutter-stage-egl.c |  112 ++++++++++++++++++++++++++++----------
 1 files changed, 82 insertions(+), 30 deletions(-)

commit 3187e1964279b3fb93703fe6c67df5b6025729c9
Author: Robert Bragg <robert@linux.intel.com>
Date:   Mon Aug 3 14:50:10 2009 +0100

    [x11 backend] remove data duplicated between backends and stages
    
    Make backends the canonical point of reference for the xdisplay, the xscreen
    number, the x root window and the xvisinfo for creating foreign stages.

 clutter/eglx/clutter-backend-egl.c |   10 +--
 clutter/eglx/clutter-stage-egl.c   |   18 ++--
 clutter/glx/clutter-backend-glx.c  |   59 +++++++-----
 clutter/glx/clutter-backend-glx.h  |    6 +
 clutter/glx/clutter-stage-glx.c    |   58 ++++++------
 clutter/x11/clutter-backend-x11.c  |    1 +
 clutter/x11/clutter-backend-x11.h  |    5 +
 clutter/x11/clutter-stage-x11.c    |  177 ++++++++++++++++++++++--------------
 clutter/x11/clutter-stage-x11.h    |    8 +--
 9 files changed, 200 insertions(+), 142 deletions(-)

commit 63414ab233522b0da8462b32c4e36e74be891475
Author: Robert Bragg <robert@linux.intel.com>
Date:   Fri Jul 31 20:39:28 2009 +0100

    [glx backend] white space fixes
    
    Simply removes lots of trailing white spaces

 clutter/glx/clutter-backend-glx.c |   40 ++++++++++++++++++------------------
 1 files changed, 20 insertions(+), 20 deletions(-)

commit 45a668bef855b8564236a3153bf07e1ea0148d16
Author: Robert Bragg <robert@linux.intel.com>
Date:   Fri Jul 31 17:07:10 2009 +0100

    [glx backend] use FBConfigs instead of Visuals for GL context creation
    
    This replaces calls to the old (glx 1.2) functions glXChooseVisual,
    glXCreateContext, glXMakeCurrent with the 1.3+ fbconfig varients
    glXChooseFBConfig, glXCreateNewContext, glXMakeContextCurrent.

 clutter/glx/clutter-backend-glx.c |  122 +++++++++++++++++++++++--------------
 1 files changed, 75 insertions(+), 47 deletions(-)

commit 15d7a86621f3fc80d3d50e7f5a3a141412163e7f
Author: Robert Bragg <robert@linux.intel.com>
Date:   Fri Jul 31 18:34:51 2009 +0100

    [backends] Remove the idea of offscreen stages from all backends
    
    The only backend that tried to implement offscreen stages was the GLX backend
    and even this has apparently be broken for some time without anyone noticing.
    
    The property still remains and since the property already clearly states that
    it may not work I don't expect anyone to notice.
    
    This simplifies quite a bit of the GLX code which is very desireable from the
    POV that we want to start migrating window system code down to Cogl and the
    simpler the code is the more straight forward this work will be.
    
    In the future when Cogl has a nicely designed API for framebuffer objects then
    re-implementing offscreen stages cleanly for *all* backends should be quite
    straightforward.

 clutter/clutter-backend.c             |    3 +-
 clutter/clutter-backend.h             |    1 -
 clutter/clutter-private.h             |    1 -
 clutter/clutter-stage.c               |   33 +----
 clutter/eglnative/clutter-stage-egl.c |  217 +++++++++++------------
 clutter/eglx/clutter-backend-egl.c    |    3 +-
 clutter/eglx/clutter-stage-egl.c      |  307 +++++++++++++++------------------
 clutter/fruity/clutter-stage-fruity.c |  175 +++++++++----------
 clutter/glx/clutter-backend-glx.c     |   59 ++-----
 clutter/glx/clutter-stage-glx.c       |  224 ++++++++----------------
 clutter/osx/clutter-stage-osx.c       |   10 -
 clutter/sdl/clutter-stage-sdl.c       |   39 ++---
 clutter/x11/clutter-backend-x11.c     |    5 +-
 clutter/x11/clutter-backend-x11.h     |    8 +-
 clutter/x11/clutter-stage-x11.c       |    5 +-
 15 files changed, 435 insertions(+), 655 deletions(-)

commit 35f11d863c4ac66136df9846c898ed88ff8ffb34
Author: Robert Bragg <robert@linux.intel.com>
Date:   Fri Oct 16 17:15:47 2009 +0100

    [build] more Makefile.am.{enums,marshal} fixes for out of tree builds
    
    for the marshal files $(srcdir) was getting prefixed twice since my last
    commit (2cc88f1140) since it was already being prefixed including
    Makefile.am.  The problem with prefixing it in the includer file though is
    that the Make variable substitutions like :.list=.h mean we end up
    generating into the $(srcdir).  This removes the prefix added in
    clutter/Makefile.am
    
    We were also missing a $(srcdir) prefix when setting EXTRA_DIST

 build/autotools/Makefile.am.enums   |    2 +-
 build/autotools/Makefile.am.marshal |    3 ++-
 clutter/Makefile.am                 |    2 +-
 3 files changed, 4 insertions(+), 3 deletions(-)

commit f1acc91f3704bfff45652aea4f14355485f34df0
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Fri Oct 16 15:57:21 2009 +0100

    Simple coding style fix for commit c5551184

 clutter/clutter-interval.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

commit a9d2c0f6903fff5a5b445265040f8bb689c10750
Merge: b5adbf8 70c8128
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Fri Oct 16 15:55:05 2009 +0100

    Merge branch 'bug-1846'
    
    * bug-1846:
      Fix warning message in the ParamSpec validation

commit b5adbf89b851baa9fb833b00ad6137cc5e6547cb
Merge: ee9f8c3 c555118
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Fri Oct 16 15:55:04 2009 +0100

    Merge branch 'bug-1845'
    
    * bug-1845:
      Add a warning when ClutterInterval can't compute progress

commit 70c8128457d49bf9dde0838470f1b4b363f9aafb
Author: Damien Lespiau <damien.lespiau@intel.com>
Date:   Mon Oct 12 17:05:05 2009 +0100

    Fix warning message in the ParamSpec validation
    
    When validating a new GValue against the ClutterParamSpecUnits, we issue
    a warning when the units do not match with both the new value and the
    unit we expect to have. Unfortunately we were printing the unit of the
    new value twice and not the unit of the ParamSpec.
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=1846

 clutter/clutter-units.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit c5551184b0337ea8a990b14e52eb15e855a27ca9
Author: Damien Lespiau <damien.lespiau@intel.com>
Date:   Mon Oct 12 16:45:39 2009 +0100

    Add a warning when ClutterInterval can't compute progress
    
    This is really useful when trying to animate GTypes that haven't
    registered any progress function. Instead of silently not working it
    will warn the developer.
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=1845

 clutter/clutter-interval.c |    9 +++++++++
 1 files changed, 9 insertions(+), 0 deletions(-)

commit ee9f8c3bdf9672e0d79598eed8f73569190888dc
Author: Damien Lespiau <damien.lespiau@intel.com>
Date:   Mon Oct 12 16:28:10 2009 +0100

    Add ClutterInterval integration
    
    To be able to animate CLUTTER_TYPE_UNITS properties we need to register
    the GType and its progress function against the ClutterInterval code.
    
    The two ClutterUnits defining the interval can use different units, the
    resulting unit will always be in pixels, so calculating a progress
    between 10px and 4cm is valid.
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=1844

 clutter/clutter-units.c |   29 +++++++++++++++++++++++++++++
 1 files changed, 29 insertions(+), 0 deletions(-)

commit 83b4ec7a12ea279b59a80f6008e1bece25de3a8c
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Fri Oct 16 15:25:37 2009 +0100

    units: Cache the pixels value inside Units
    
    When computing the pixels value of a ClutterUnits value we should
    be caching the value to avoid recomputing for every call of
    clutter_units_to_pixels(). We already have a flag telling us to
    return the cached value, but we miss the mechanism to evict the
    cache whenever the Backend settings affecting the conversion, that
    is default font and resolution, change.
    
    In order to implement the eviction we can use a "serial"; the
    Backend will have an internal serial field which we retrieve and
    put inside the ClutterUnits structure (we split one of the two
    64 bit padding fields into two 32 bit fields to maintain ABI); every
    time we call clutter_units_to_pixels() we compare the units serial
    with that of the Backend; if they match and pixels_set is set to
    TRUE then we just return the stored pixels value. If the serials
    do not match then we unset the pixels_set flag and recompute the
    pixels value.
    
    We can verify this by adding a simple test unit checking that
    by changing the resolution of ClutterBackend we get different
    pixel values for 1 em.
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=1843

 .gitignore                         |    1 +
 clutter/clutter-backend.c          |   21 +++++++++++++++-
 clutter/clutter-private.h          |    2 +
 clutter/clutter-units.c            |   45 ++++++++++++++++++++++++++++++++++++
 clutter/clutter-units.h            |    9 ++++++-
 tests/conform/test-clutter-units.c |   23 ++++++++++++++++++
 tests/conform/test-conform-main.c  |    1 +
 7 files changed, 99 insertions(+), 3 deletions(-)

commit 2ff31dfbaaad3056265b05efe57eac63f8e3ce61
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Fri Oct 16 14:22:15 2009 +0100

    text: Notify :position when it changes
    
    The :position property is not notified when changed.
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=1830

 clutter/clutter-text.c |   15 +++++++++++++++
 1 files changed, 15 insertions(+), 0 deletions(-)

commit bc424fb56c3a75a822b22c0e5b284b5775f76abe
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Sat Sep 19 09:19:06 2009 +0100

    [text] NULL-ify strings to avoid double-frees

 clutter/clutter-text.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

commit 6f43f4b805387e0cac054d7b002634da3b00b106
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Sat Sep 19 09:18:06 2009 +0100

    [text] Do not apply unset preedit attributes
    
    The pre-edit attributes are optional and thus should only be applied
    if they have been set to avoid assertion failures.

 clutter/clutter-text.c |   13 ++++++++-----
 1 files changed, 8 insertions(+), 5 deletions(-)

commit 28837283877c11f26565d79e6bcd4b171203a9b0
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Sep 9 12:15:23 2009 +0100

    [text] Add pre-edit string to ClutterText
    
    Input Methods require to be able to set a "pre-edit string", that is
    a string that it's just displayed into the Text actor without being
    committed to the actor's buffer. The string might require custom Pango
    attributes, and an update of the cursor position.

 clutter/clutter-text.c                     |  193 +++++++++++++++++++++++-----
 clutter/clutter-text.h                     |    5 +
 doc/reference/clutter/clutter-sections.txt |    1 +
 tests/interactive/test-text-field.c        |  179 ++++++++++++++++++++++++++
 4 files changed, 346 insertions(+), 32 deletions(-)

commit 2cc88f1140ffa774371b877d723dfaf9e33a6ce5
Author: Robert Bragg <robert@linux.intel.com>
Date:   Thu Oct 15 19:12:34 2009 +0100

    [build] fix Makefile.am.{enums,marshal} to support out of tree builds
    
    Out of tree builds were broken in commit 46b736f42e1165 since we didn't
    explicitly use $(srcdir) to find the input files for glib-mkenums and
    glib-genmarshal.

 build/autotools/Makefile.am.enums   |    4 ++--
 build/autotools/Makefile.am.marshal |    4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

commit 87f0b94df7524400b233cd1acca871fa6f8f0a02
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Thu Oct 15 14:20:44 2009 +0100

    layout, docs: Fix description of Bin properties
    
    The BinLayer and BinLayout properties name and blurb for introspection
    should be slightly more descriptive.

 clutter/clutter-bin-layout.c |   12 ++++++------
 1 files changed, 6 insertions(+), 6 deletions(-)

commit 852abbb138898467fb6497508e99fb1a92203c78
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Thu Oct 15 14:12:37 2009 +0100

    layout, bin: Use ceilf() instead of casting to int
    
    Casting a float to int to truncate it before assigning the value
    to a float again is wrong. We should use ceilf() instead which
    does what we want to achieve (rounding up the size to avoid
    sub-pixel positioning of children).

 clutter/clutter-bin-layout.c |   26 ++++++++++++++------------
 1 files changed, 14 insertions(+), 12 deletions(-)

commit 308c930f37c7c00eb6791d53fced7d1c2ac9600e
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Thu Oct 15 14:11:36 2009 +0100

    layout, docs: Add long description for FlowLayout
    
    Add the full description of the layout policy

 clutter/clutter-flow-layout.c |   16 ++++++++++++++++
 1 files changed, 16 insertions(+), 0 deletions(-)

commit 4d153e4507fdd8fc135998f771e1826a9b02e658
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Thu Oct 15 12:15:49 2009 +0100

    layout, box: Clean up
    
    * Use g_list_foreach() instead of iterating over the list inside
      the destruction sequence, since we are causing the widgets to be
      implicitly removed from the list via the destroy() call.
    
    * Use g_signal_connect_swapped() and spare us from a callback.

 clutter/clutter-box.c |   20 ++++++--------------
 1 files changed, 6 insertions(+), 14 deletions(-)

commit adca939101e3a25309c29e6a263c1c7ac7b0d877
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Thu Oct 15 12:04:50 2009 +0100

    layout, box: Write long description for Box
    
    Also have an example of how to create a Box with a layout manager
    and how to use the pack() method.

 clutter/clutter-box.c |   45 ++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 44 insertions(+), 1 deletions(-)

commit 9f06f726d409d0ac948179b9771350147c5e699b
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Oct 13 16:52:57 2009 +0100

    layout, docs: Remove unused functions
    
    The :wrap property and its accessor functions were removed from
    ClutterFlowLayout.

 doc/reference/clutter/clutter-sections.txt |    2 --
 1 files changed, 0 insertions(+), 2 deletions(-)

commit cd3dce1d5d957046934062780d21558e182ceb1a
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Oct 13 12:15:25 2009 +0100

    layout: Document BoxLayout
    
    Add BoxLayout to the API reference.

 doc/reference/clutter/clutter-docs.xml.in  |    1 +
 doc/reference/clutter/clutter-sections.txt |   38 ++++++++++++++++++++++++++++
 doc/reference/clutter/clutter.types        |    1 +
 3 files changed, 40 insertions(+), 0 deletions(-)

commit b526b765931bcf4e44feac4ab1b72763eb68f264
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Oct 13 12:14:05 2009 +0100

    layout: Add BoxLayout, a single line layout manager
    
    The BoxLayout layout manager implements a layout policy for arranging
    children on a single line, either alongside the X axis or alongside the
    Y axis.

 .gitignore                          |    1 +
 clutter/Makefile.am                 |    2 +
 clutter/clutter-box-layout.c        | 1496 +++++++++++++++++++++++++++++++++++
 clutter/clutter-box-layout.h        |  143 ++++
 clutter/clutter.h                   |    1 +
 tests/interactive/Makefile.am       |    3 +-
 tests/interactive/test-box-layout.c |  207 +++++
 7 files changed, 1852 insertions(+), 1 deletions(-)

commit c4b2d4ce797b5ac4c61865d4249badcfb85657f0
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Thu Oct 8 15:45:29 2009 +0100

    layout: Report the correct size of FlowLayout
    
    FlowLayout should compute the correct height for the assigned width when
    in horizontal flow, and the correct width for the assigned height when
    in vertical flow. This means pre-computing the number of lines inside
    the get_preferred_width() and get_preferred_height(). We can then cache
    the computed column width and row height, cache them inside the layout
    and then use them when allocating the children.

 clutter/clutter-flow-layout.c        |  457 +++++++++++++++++++++++++++-------
 tests/interactive/test-flow-layout.c |    4 +-
 2 files changed, 369 insertions(+), 92 deletions(-)

commit 6f19666b13ac9bde44996620df714484dbe4bd67
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Wed Oct 7 15:30:29 2009 +0100

    layout: Resizing the stage resizes the FlowLayout box
    
    Add some user interaction to verify the dynamic reflowing.

 tests/interactive/test-flow-layout.c |   21 +++++++++++++++++++++
 1 files changed, 21 insertions(+), 0 deletions(-)

commit 0876575a9549acd54fbc3c70b4e7178e9e4e1e65
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Wed Oct 7 15:29:47 2009 +0100

    layout: Use the get_request_mode() getter in BinLayout
    
    Instead of using g_object_get(child, "request-mode", ...).

 clutter/clutter-bin-layout.c |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)

commit eb40e856e1a687c27d047ee6069b6ec84e1e1237
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Wed Oct 7 15:28:01 2009 +0100

    layout: Change the request-mode along with the orientation
    
    When changing the orientation of a FlowLayout, the associated
    container should also change its request mode. A horizontally
    flowing layout has a height depending on the width, since it
    will reflow vertically; similarly, a vertically reflowing layout
    will have a width depending on the height.

 clutter/clutter-flow-layout.c |   30 ++++++++++++++++++++++++++++--
 1 files changed, 28 insertions(+), 2 deletions(-)

commit b5895335ab2d6975665426693fb1b96d7ca86f74
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Wed Oct 7 15:15:02 2009 +0100

    actor: Add set_request_mode() method
    
    We should not require the use g_object_set()/_get() for accessing
    the :request-mode property. A proper accessors pair should be
    preferred.

 clutter/clutter-actor.c                    |   48 +++++++++++++++++++++++----
 clutter/clutter-actor.h                    |    3 ++
 doc/reference/clutter/clutter-sections.txt |    2 +
 3 files changed, 46 insertions(+), 7 deletions(-)

commit 19317520b57461b505751411cf9d9f39bbf12ad5
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Wed Oct 7 12:35:39 2009 +0100

    [layout] Remove FlowLayout:wrap
    
    The :wrap property is not implemented, and mostly useless: the
    FlowLayout is a reflowing grid. This means that if it receives
    less than the preferred width or height in the flow direction
    then it should always reflow.

 clutter/clutter-flow-layout.c |  107 +++-------------------------------------
 clutter/clutter-flow-layout.h |    3 -
 2 files changed, 8 insertions(+), 102 deletions(-)

commit 6d954ec0742bad823c8c474873a21ab990a56c7f
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Wed Oct 7 11:42:09 2009 +0100

    [layout] Rename BinLayout and FlowLayout interactive tests
    
    The BinLayout and FlowLayout interactive tests should be named more
    explicitly.

 .gitignore                           |    4 +-
 tests/interactive/Makefile.am        |    4 +-
 tests/interactive/test-bin-layout.c  |  185 ++++++++++++++++++++++++++++++++++
 tests/interactive/test-box.c         |  185 ----------------------------------
 tests/interactive/test-flow-layout.c |  148 +++++++++++++++++++++++++++
 tests/interactive/test-flow.c        |  148 ---------------------------
 6 files changed, 337 insertions(+), 337 deletions(-)

commit 4ea57bc685abeea9273b2b8427a9199980cc2f40
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Wed Oct 7 11:39:18 2009 +0100

    [layout] Skip invisible children in FlowLayout
    
    Skip hidden actors when computing the preferred size and when
    allocating.

 clutter/clutter-flow-layout.c |    9 +++++++++
 1 files changed, 9 insertions(+), 0 deletions(-)

commit b1bae4d66afc8420209f72dabcbf2fe81b461ff3
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Wed Oct 7 11:08:51 2009 +0100

    [layout] Clean up and document FlowLayout

 clutter/clutter-flow-layout.c |  177 ++++++++++++++++++++++++++++++++++++++--
 1 files changed, 168 insertions(+), 9 deletions(-)

commit db3ef971705485b1000def688635daaac99f79cd
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Tue Oct 6 17:30:49 2009 +0100

    [layout] Snap children of FlowLayout to column/row
    
    Use the column and row size to align each child; with :homogeneous
    set to TRUE, or with children with the same size, the FlowLayout
    will behave like a reflowing grid.

 clutter/clutter-flow-layout.c |   14 ++++++++++----
 1 files changed, 10 insertions(+), 4 deletions(-)

commit e5a074fd9e487444db9114c2970a4d83c1661c7f
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Tue Oct 6 16:17:16 2009 +0100

    [layout] Add :homogeneous to FlowLayout

 clutter/clutter-flow-layout.c |   90 +++++++++++++++++++++++++++++++++++-----
 clutter/clutter-flow-layout.h |    3 +
 tests/interactive/test-flow.c |   37 +++++++++++++++-
 3 files changed, 115 insertions(+), 15 deletions(-)

commit 5737cf869f162f5539ae00f86db7923502c38dab
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Sep 18 17:28:02 2009 +0100

    [layout] Initial implementation of FlowLayout
    
    FlowLayout is a layout manager that arranges its children in a
    reflowing line; the orientation controls the major axis for the
    layout: horizontal, for reflow on the Y axis, and vertical, for
    reflow on the X axis.

 .gitignore                                 |    1 +
 clutter/Makefile.am                        |    2 +
 clutter/clutter-flow-layout.c              |  855 ++++++++++++++++++++++++++++
 clutter/clutter-flow-layout.h              |  127 ++++
 clutter/clutter.h                          |    1 +
 doc/reference/clutter/clutter-docs.xml.in  |    1 +
 doc/reference/clutter/clutter-sections.txt |   34 ++
 doc/reference/clutter/clutter.types        |    1 +
 tests/interactive/Makefile.am              |    3 +-
 tests/interactive/test-flow.c              |  117 ++++
 10 files changed, 1141 insertions(+), 1 deletions(-)

commit 857b0239e906b0e5eb1a2fec8703eb675a70675f
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Mon Oct 5 17:21:41 2009 +0100

    [layout] Use FixedLayout inside Group
    
    The Group actor should use the FixedLayout layout manager object
    to avoid duplicating code.

 clutter/clutter-group.c |  138 ++++++++++-------------------------------------
 1 files changed, 29 insertions(+), 109 deletions(-)

commit 62db72cf4106f498a041d02d67de72460130acdd
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Mon Oct 5 17:09:04 2009 +0100

    [layout] Update FixedLayout
    
    The behaviour of ClutterGroup has been fixed with regards to the
    preferred size request; the fixed layout manager should use the
    same behaviour.

 clutter/clutter-fixed-layout.c |  116 +++++++---------------------------------
 1 files changed, 20 insertions(+), 96 deletions(-)

commit 4663552a0017f85c818a664b3528fab617e6e15c
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Sep 18 15:29:09 2009 +0100

    [layout] Typo and whitespace fixes

 clutter/clutter-box.c |    2 +-
 clutter/clutter-box.h |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

commit c98388bb0166fedd4e72bca42b99782a9b2fb52c
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu Sep 17 18:21:51 2009 +0100

    [layout, box] Add Box:color
    
    Allow setting the background color of a ClutterBox

 clutter/clutter-box.c                      |  136 +++++++++++++++++++++++++++-
 clutter/clutter-box.h                      |    5 +
 doc/reference/clutter/clutter-sections.txt |    4 +
 3 files changed, 144 insertions(+), 1 deletions(-)

commit df6ca3d171a6a8d1a18cbf0fe70f4e4572e54479
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu Sep 17 11:38:43 2009 +0100

    [layout, docs] Clean up BinLayout documentation
    
    Documentation and code style fixes for BinLayout.

 clutter/clutter-bin-layout.c |  120 ++++++++++++++++++++++++++++++-----------
 clutter/clutter-bin-layout.h |   24 ++++++++
 2 files changed, 112 insertions(+), 32 deletions(-)

commit 8b2088a91787562c01d5b8184f1f2b2f1d225371
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Sep 16 15:55:30 2009 +0100

    [layout, tests] Use variants for child packing in Box
    
    There are three potential variants to add a child inside a Box
    with a BinLayout:
    
      - clutter_box_pack(), a variadic argument function which
        allows passing arbitrary LayoutMeta properties and values;
    
      - clutter_bin_layout_add(), which uses the backpointer to
        the container from the LayoutManager and sets the layout
        properties directly without GValue (de)marshalling
    
      - clutter_container_add_actor() and
        clutter_bin_layout_set_alignment(), similar to the
        clutter_bin_layout_add() function above, but split in two
    
    The test-box interactive test should exercise all three variants.

 tests/interactive/test-box.c |   24 ++++++++++++++++--------
 1 files changed, 16 insertions(+), 8 deletions(-)

commit 431a63d04adc40dfd719563c4f9978324f618b4e
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Sep 16 15:51:13 2009 +0100

    [layout] Store and use the container inside BinLayout
    
    The BinLayout should store a pointer to the Container that it is
    using it as the layout manager.
    
    This allows us to fix the API and drop the additional Container
    arguments from set_alignment() and get_alignment().
    
    This also allows us to add a ClutterBinLayout::add() method which
    adds an actor and sets the alignment policies without dealing with
    variadic arguments functions and GValue (de)marshalling.

 clutter/clutter-bin-layout.c               |  120 +++++++++++++++++++++++++---
 clutter/clutter-bin-layout.h               |    7 +-
 doc/reference/clutter/clutter-sections.txt |    1 +
 3 files changed, 114 insertions(+), 14 deletions(-)

commit 755896664f7efc4bbfce0bfb6ea3249b6c526a59
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Sep 16 15:48:28 2009 +0100

    [layout] Set a back pointer to Box inside the layout
    
    Use the LayoutManager API to set a back pointer to the Box actor
    inside the LayoutManager used by the box.
    
    This also allows us to replace the LayoutManager on a Box, since
    the LayoutManager will be able to replace all the metadata if
    needed.

 clutter/clutter-box.c                      |   37 ++++++++++++++++++++++++++-
 clutter/clutter-box.h                      |    2 +
 doc/reference/clutter/clutter-sections.txt |    1 +
 3 files changed, 38 insertions(+), 2 deletions(-)

commit 22bb243ec24821cd18e7dba791e793884ffe2a63
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Sep 16 15:47:26 2009 +0100

    [layout] Replace stale LayoutMeta
    
    If a LayoutMeta references a different container and/or layout manager
    then we should simply replace it and discard the previous one.

 clutter/clutter-layout-manager.c |   17 ++++++++++++++++-
 1 files changed, 16 insertions(+), 1 deletions(-)

commit 9117ee205691a5bb1a3bb65e1963ed5b8826b79f
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Sep 16 14:58:30 2009 +0100

    [layout] Allow taking a back pointer to the Container
    
    The LayoutManager implementation might opt to take a back pointer
    to the Container that is using the layout instance; this allows
    direct access to the container itself from within the implementation.

 clutter/clutter-layout-manager.c           |   28 ++++++++++++++++++++++++++++
 clutter/clutter-layout-manager.h           |   12 ++++++++++++
 doc/reference/clutter/clutter-sections.txt |    1 +
 3 files changed, 41 insertions(+), 0 deletions(-)

commit f58bdbad15206f4369589f50789b9db9585f6e03
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Sep 16 11:10:45 2009 +0100

    [layout] Rename Box::add to Box::pack
    
    Since ClutterBox is a ClutterContainer we should avoid naming
    collisions between methods.

 clutter/clutter-box.c                      |   24 ++++++++++++------------
 clutter/clutter-box.h                      |    4 ++--
 doc/reference/clutter/clutter-sections.txt |    4 ++--
 tests/interactive/test-box.c               |   24 ++++++++++++------------
 4 files changed, 28 insertions(+), 28 deletions(-)

commit c6f67bf872ec2b51951a554e0351e6d7615d28ce
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Sep 16 11:10:38 2009 +0100

    [layout, docs] Document FixedLayout

 clutter/clutter-fixed-layout.c |   45 ++++++++++++++++++++++++++++++++++++++++
 clutter/clutter-fixed-layout.h |   42 +++++++++++++++++++++++++++++++++++++
 2 files changed, 87 insertions(+), 0 deletions(-)

commit aaae60e17837d6f0b330c04345f1e2c2be9f24b9
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Sep 15 23:20:51 2009 +0100

    [layout] Implement ClutterBox::add
    
    The ClutterBox::add method is a simple wrapper around the Container
    add_actor() method and the LayoutManager layout properties API. It
    allows adding an actor to a Box and setting the layout properties in
    one call.
    
    If the LayoutManager used by the Box does not support layout properties
    then the add() method short-circuits out.
    
    Along with the varargs version of the method there's also a vector-based
    variant, for language bindings to use.

 clutter/clutter-box.c                      |  186 ++++++++++++++++++++++++++++
 clutter/clutter-box.h                      |   10 ++
 doc/reference/clutter/clutter-sections.txt |    2 +
 tests/interactive/test-box.c               |   31 ++---
 4 files changed, 210 insertions(+), 19 deletions(-)

commit a2086f1178fa3aed7fdc6f94d09efbc0e1bc2c11
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Sep 15 17:37:11 2009 +0100

    [layout] Add LayoutMeta
    
    Instead of overloading ClutterChildMeta with both container and layout
    metadata and delegate to every LayoutManager implementation to keep a
    backpointer to the layout manager instance, we can simply subclass
    ChildMeta into LayoutMeta and presto! everything works out pretty well
    for everyone.

 clutter/Makefile.am                        |    2 +
 clutter/clutter-bin-layout.c               |   35 +++----
 clutter/clutter-layout-manager.c           |   58 ++++++-----
 clutter/clutter-layout-manager.h           |  133 +++++++++++++-------------
 clutter/clutter-layout-meta.c              |  142 ++++++++++++++++++++++++++++
 clutter/clutter-layout-meta.h              |   85 +++++++++++++++++
 clutter/clutter-types.h                    |    1 +
 clutter/clutter.h                          |    1 +
 doc/reference/clutter/clutter-docs.xml.in  |    5 +-
 doc/reference/clutter/clutter-sections.txt |   19 ++++
 doc/reference/clutter/clutter.types        |    1 +
 11 files changed, 369 insertions(+), 113 deletions(-)

commit 899db6f226864614350d6aa07d8313dccf7d652f
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Sep 15 16:24:47 2009 +0100

    [layout, docs] Add layout managers sections
    
    Add LayoutManager and its subclasses, and the Box actor to the
    gtk-doc machinery needed to generate the API reference.

 clutter/clutter-bin-layout.c               |    6 +-
 clutter/clutter-bin-layout.h               |    4 +-
 clutter/clutter-layout-manager.c           |  145 +++++++++++++++++++++++++++-
 clutter/clutter-layout-manager.h           |   16 +++-
 doc/reference/clutter/clutter-docs.xml.in  |    9 ++
 doc/reference/clutter/clutter-sections.txt |   94 ++++++++++++++++++
 doc/reference/clutter/clutter.types        |    4 +
 7 files changed, 269 insertions(+), 9 deletions(-)

commit 9cccff504a40706e70b11878572d7e7db7430792
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Sep 14 21:51:49 2009 +0100

    [layout] Add layers to BinLayout
    
    Each actor managed by a BinLayout policy should reside inside its
    own "layer", with horizontal and vertical alignment. The :x-align
    and :y-align properties of the BinLayout are the default alignment
    policies, which are copied to each new "layer" when it is created.
    
    The set_alignment() and get_alignment() methods of BinLayout can
    be changed to operate on a specific "layer".
    
    The whole machinery uses the new ChildMeta support inside the
    LayoutManager base abstract class.

 clutter/clutter-bin-layout.c |  265 +++++++++++++++++++++++++++++++++++++----
 clutter/clutter-bin-layout.h |    4 +
 tests/interactive/test-box.c |  147 ++++++++++++++++++++++-
 3 files changed, 385 insertions(+), 31 deletions(-)

commit 98474076a1310494fec252fb6bfce8001bca78da
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Sep 14 21:50:20 2009 +0100

    [layout] Bind the layout ChildMeta inside Box
    
    The ClutterBox container actor should add and remove ChildMeta to
    each actor that has been added and removed to the list of children,
    respectively.

 clutter/clutter-box.c |    9 +++++++++
 1 files changed, 9 insertions(+), 0 deletions(-)

commit 7051fe275d9d052ce42e8237080844aa18ee927c
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Sep 14 21:48:06 2009 +0100

    [layout] Bind ChildMeta to LayoutManager
    
    The ChildMeta object is a storage for child-container properties,
    that is properties that exist only when an actor is inside a specific
    container. The LayoutManager delegate class should also have
    layout-specific properties -- so, for this job, we can "recycle"
    ChildMeta as the storage.

 clutter/clutter-layout-manager.c |  372 ++++++++++++++++++++++++++++++++++++++
 clutter/clutter-layout-manager.h |   92 ++++++----
 2 files changed, 432 insertions(+), 32 deletions(-)

commit 83a4e9626772453804c61d7aa022eacf540bf0ce
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Sep 14 12:04:42 2009 +0100

    [layout] Document BinLayout

 clutter/clutter-bin-layout.c |   93 ++++++++++++++++++++++++++++++++++++++++++
 clutter/clutter-bin-layout.h |   46 ++++++++++++++++++++-
 2 files changed, 137 insertions(+), 2 deletions(-)

commit b06a3293fe3d065369d9f97ad8bfa77051414fec
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Sep 14 12:03:38 2009 +0100

    [layout] Notify of alignment changes in BinLayout
    
    Emit the ::layout-changed when the BinLayout alignment policies change.
    
    This will result in a queue_relayout() on the containers using the
    BinLayout layout manager.

 clutter/clutter-bin-layout.c |   10 ++++++++++
 1 files changed, 10 insertions(+), 0 deletions(-)

commit 4e8d8bbc15f26e95adfd59469306b7098f9fd491
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Sep 14 11:28:34 2009 +0100

    [layout] Update Box
    
    * Use ::layout-changed to queue a relayout when the layout changes
    
    * Destroy the Box children when destroying the Box
    
    * Allow getting the layout manager from the Box

 clutter/clutter-box.c |   72 +++++++++++++++++++++++++++++++++++++++++++++---
 clutter/clutter-box.h |    4 ++-
 2 files changed, 70 insertions(+), 6 deletions(-)

commit d096a3c791ab5b105d55a19ab316cd8b2fff878b
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Sep 14 11:04:11 2009 +0100

    [layout] Add LayoutManager::layout-changed signal
    
    If a sub-class of LayoutManager wishes to implement a parametrized
    layout policy it also needs a way to notify the container using the
    layout manager that the layout has changed. We cannot do it directly
    and automatically from the LayoutManager because a) it has no back
    link to the actor that it is using it and b) it can be attached to
    multiple actors.
    
    This is a job for <cue raising dramatic music> signals!
    
    By adding ClutterLayoutManager::layout-changed (and its relative
    emitted function) we can notify actors using the layout manager that
    the layout parameters have been changed, and thus they should queue
    a relayout.

 clutter/clutter-layout-manager.c |  103 +++++++++++++++++++++++++++++++++++++-
 clutter/clutter-layout-manager.h |   44 ++++++++++++++++
 2 files changed, 146 insertions(+), 1 deletions(-)

commit a1853892bae7c54d28a86e253e04c3753d65e159
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Sep 11 15:34:13 2009 +0100

    [tests] Add a Box interactive test

 .gitignore                    |    1 +
 tests/interactive/Makefile.am |    3 +-
 tests/interactive/test-box.c  |   47 +++++++++++++++++++++++++++++++++++++++++
 3 files changed, 50 insertions(+), 1 deletions(-)

commit 1061ebeac90a5b03a172aa649aa5a8b8cfb5b293
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Sep 11 13:51:23 2009 +0100

    [layout] Add BinLayout
    
    A BinLayout is a simple layout manager that allocates a single cell,
    providing alignment on both the horizontal and vertical axis.
    
    If the container associated to the BinLayout has more than one child,
    the preferred size returned by the layout manager will be as big as
    the maximum of the children preferred sizes; the allocation will be
    applied to all children - but it will still depend on each child
    preferred size and the BinLayout horizontal and vertical alignment
    properties.
    
    The supported alignment properties are:
    
      * center: align the child by centering it
      * start: align the child at the top or left border of the layout
      * end: align the child at the bottom or right border of the layout
      * fill: expand the child to fill the size of the layout
      * fixed: let the child position itself

 clutter/Makefile.am          |    2 +
 clutter/clutter-bin-layout.c |  397 ++++++++++++++++++++++++++++++++++++++++++
 clutter/clutter-bin-layout.h |   50 ++++++
 clutter/clutter.h            |    1 +
 4 files changed, 450 insertions(+), 0 deletions(-)

commit 6d4cc13f7c7047a609dd8055ce63048da294af39
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Sep 2 12:37:16 2009 +0100

    [layout] Add Fixed layout manager
    
    The FixedLayout layout manager object implements the same layout
    policy of ClutterGroup.

 clutter/Makefile.am            |    2 +
 clutter/clutter-fixed-layout.c |  217 ++++++++++++++++++++++++++++++++++++++++
 clutter/clutter-fixed-layout.h |   38 +++++++
 clutter/clutter.h              |    1 +
 4 files changed, 258 insertions(+), 0 deletions(-)

commit 141a1556908749236c90e69fc2388f4fc40c6d8f
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Sep 2 11:55:22 2009 +0100

    [layout] Make LayoutManager a floating object
    
    A layout manager instance makes only sense if it's owned by a
    container. For this reason, it should have a floating reference
    instead of a full reference on construction; this allows constructing
    Boxes like:
    
      box = clutter_box_new (clutter_fixed_layout_new ());
    
    without leaking the layout manager instance.

 clutter/clutter-box.c            |    3 ++-
 clutter/clutter-layout-manager.c |    4 +++-
 clutter/clutter-layout-manager.h |    4 ++--
 3 files changed, 7 insertions(+), 4 deletions(-)

commit 0340f656346d80696305218897720e28c88f367a
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Sep 1 17:42:50 2009 +0100

    [box] Add ClutterBox
    
    ClutterBox is an actor with no layout management. It relies on
    a ClutterLayoutManager to perform size requisition and allocation
    of its children.

 clutter/Makefile.am   |    2 +
 clutter/clutter-box.c |  368 +++++++++++++++++++++++++++++++++++++++++++++++++
 clutter/clutter-box.h |   43 ++++++
 clutter/clutter.h     |    1 +
 4 files changed, 414 insertions(+), 0 deletions(-)

commit d6183e95e51d1e3807ed5150768de2426b6b8e65
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Sep 1 16:34:28 2009 +0100

    [layout] Add initial implementation of LayoutManager
    
    The LayoutManager class is an abstract proxy for the size requesition
    and size allocation process in ClutterActor.
    
    A ClutterLayoutManager sub-class must implement get_preferred_width(),
    get_preferred_height() and allocate(); a ClutterContainer using the
    LayoutManager API will then proxy the corresponding Actor virtual
    functions to the LayoutManager instance. This allows having a generic
    "blank" ClutterActor sub-class, implementing the ClutterContainer
    interface, which leaves only the layout management implementation to
    the application developers.

 clutter/Makefile.am              |    2 +
 clutter/clutter-layout-manager.c |  180 ++++++++++++++++++++++++++++++++++++++
 clutter/clutter-layout-manager.h |   92 +++++++++++++++++++
 clutter/clutter.h                |    1 +
 4 files changed, 275 insertions(+), 0 deletions(-)

commit 4f2bfc003ad0f5b0b9d69693eed1bdbc9655f947
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Oct 13 19:27:03 2009 +0100

    build: Clean up main Makefile.am

 clutter/Makefile.am |   55 ++++++++++++++++++++++++++------------------------
 1 files changed, 29 insertions(+), 26 deletions(-)

commit 46b736f42e1165420796ed2afe4fc791d82381da
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Oct 13 17:27:19 2009 +0100

    build: Move marshallers and enum types rules out
    
    The rules to create signal marshallers and enumeration GTypes are
    usually copied and pasted all over different projects, though they
    are pretty generic and, given a little bit of parametrization, can
    be put in separate Makefile.am files and included whenever needed.

 build/autotools/Makefile.am         |    2 +
 build/autotools/Makefile.am.enums   |   43 ++++++++++++++++++++
 build/autotools/Makefile.am.marshal |   44 ++++++++++++++++++++
 clutter/Makefile.am                 |   75 ++++++++--------------------------
 4 files changed, 107 insertions(+), 57 deletions(-)

commit 0e33c10048dd3cba33644fd51ae3e1ea18dcc357
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Oct 13 17:00:15 2009 +0100

    docs: Allow XInclude fallback for the annotation glossary

 doc/reference/clutter/clutter-docs.xml.in |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit a99f693c85cee6e389892b271f8aa25532bd7a6f
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Sat Oct 10 13:52:46 2009 +0100

    docs: Make StageManager a public class
    
    The StageManager API is useful to track the stages of an application.
    It will also be useful when we land the modules API.

 doc/reference/clutter/Makefile.am          |    1 -
 doc/reference/clutter/clutter-docs.xml.in  |    1 +
 doc/reference/clutter/clutter-sections.txt |   23 +++++++++++++++++++++++
 doc/reference/clutter/clutter.types        |    2 ++
 4 files changed, 26 insertions(+), 1 deletions(-)

commit c3d056533c8733160227b790388723a4c8a16123
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Sat Oct 10 13:51:47 2009 +0100

    stage/manager: Set :default-stage as read-only
    
    The StageManager:default-stage property should be read-only, since
    the default stage is owned by Clutter itself.

 clutter/clutter-stage-manager.c |   23 ++---------------------
 1 files changed, 2 insertions(+), 21 deletions(-)

commit 74eaa2941327d3ee7762a93136b647979b6e094a
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Sat Oct 10 13:50:25 2009 +0100

    stage/manager: Deprecate set_default_stage()
    
    The set_default_stage() method of StageManager should not be used
    by application code; technically, nothing in Clutter uses it, and
    StageManager's API is not considered public anyway.

 clutter/clutter-stage-manager.c |   52 ++++++++++++++++++++++++++++++--------
 clutter/clutter-stage-manager.h |   23 ++++++++++++++---
 2 files changed, 60 insertions(+), 15 deletions(-)

commit a7ff5385a5071824e996eae6b92486ef07bd143e
Author: Damien Lespiau <damien.lespiau@intel.com>
Date:   Fri Oct 9 17:18:34 2009 +0100

    [actor] Unset the IN_DESTRUCTION flag when leaving ::destroy()
    
    The IN_DESTRUCTION flag is set around the unrealization and disposal of
    the actor in clutter_actor_destroy() but is never unset (it's set twice
    instead).
    
    Reviewed-by: Emmanuele Bassi <ebassi@linux.intel.com>

 clutter/clutter-actor.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 3bbc96e17e5a03ba931c86a5cd2a0ecaa2a3b77b
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Oct 7 21:44:17 2009 +0100

    text: Make the :text property not set the :use-markup one
    
    Currently, setting the :text property has the side-effect of
    setting the :use-markup property to FALSE. This prevents
    constructing a Text actor, or setting its properties, like:
    
      g_object_set (text,
                    "use-markup", TRUE,
                    "text", some_string,
                    NULL);
    
    as the ordering becomes important. Unfortunately, the ordering
    of the properties cannot be enforced with ClutterScript or
    with language bindings.
    
    The documentation of the clutter_text_set_text() method should
    be expanded to properly specify that the set_text() method will
    change the :use-markup property to FALSE as a side effect.

 clutter/clutter-text.c |  283 ++++++++++++++++++++++++------------------------
 1 files changed, 144 insertions(+), 139 deletions(-)

commit 1f207c00d96e08141f6b998269732d9e65d4cf14
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Wed Oct 7 17:35:11 2009 +0100

    docs: Add the "clipping" section to the COGL API reference
    
    All the clip-related API in COGL is missing from the API reference
    because the cogl-clipping section is not included inside the main
    index file.

 doc/reference/cogl/cogl-docs.xml.in  |    1 +
 doc/reference/cogl/cogl-sections.txt |    3 ++-
 2 files changed, 3 insertions(+), 1 deletions(-)

commit 80b3a8d3283fcc8af89bc83b2266ccd894cc50a6
Author: Damien Lespiau <damien.lespiau@intel.com>
Date:   Wed Oct 7 17:09:41 2009 +0100

    [units] Ensure we don't have ponies
    
    The documentation states we should not parse ponies. Even with those
    with exclamation marks.
    
    Reviewed-by: Emmanuele Bassi <ebassi@linux.intel.com>

 tests/conform/test-clutter-units.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 19c68799608910635b70c9befb92c1a6a21c15f3
Author: Damien Lespiau <damien.lespiau@intel.com>
Date:   Tue Oct 6 00:49:40 2009 +0100

    [path] Add GValue transform functions from and to G_TYPE_STRING
    
    Transform functions allow the use of g_value_transform() to cast
    GValues. It's very handy to have casts to and from G_TYPE_STRING as it
    allows generic serialization and parsing of GTypes.
    
    Reviewed-by: Emmanuele Bassi <ebassi@linux.intel.com>

 clutter/clutter-path.c |   36 +++++++++++++++++++++++++++++++++++-
 1 files changed, 35 insertions(+), 1 deletions(-)

commit 8605073edb7a1e830696632a6de5ad694f1af98d
Author: Damien Lespiau <damien.lespiau@intel.com>
Date:   Tue Oct 6 17:47:34 2009 +0100

    [units] Add support for centimeters
    
    The only tricky part of the patch is to remember that 1cm is 10mm.
    
    Reviewed-by: Emmanuele Bassi <ebassi@linux.intel.com>

 clutter/clutter-units.c                    |   48 ++++++++++++++++++++++++++-
 clutter/clutter-units.h                    |    7 +++-
 doc/reference/clutter/clutter-sections.txt |    1 +
 tests/conform/test-clutter-units.c         |   17 ++++++++--
 4 files changed, 67 insertions(+), 6 deletions(-)

commit 96859959bd24d99f51d5dea3b5ec7bc4bf7071f3
Author: Damien Lespiau <damien.lespiau@intel.com>
Date:   Tue Oct 6 12:02:15 2009 +0100

    [units] Be more strict in the grammar we are parsing
    
    Current parsing of units has a number of shortcomings:
      * a number followed by trailing space (without any unit specified) was
        not recognized,
      * "5 emeralds" was parsed as 5em,
      * the way we parse the digits after the separator makes us lose
        precision for no good reason (5.0 is parsed as 5.00010014...f which
        makes g_assert_cmpfloat() fail)
    
    Let's define a stricter grammar we can recognize and try to do so. The
    description is in EBNF form, removing the optional <> which is a pain
    when having to write DocBook, and using '' for the terminal symbols.
    
    Last step, add more ClutterUnits unit test to get a better coverage of
    the grammar we want to parse.
    
    Reviewed-by: Emmanuele Bassi <ebassi@linux.intel.com>

 clutter/clutter-units.c            |   76 ++++++++++++++++++++++-------------
 tests/conform/test-clutter-units.c |   22 ++++++++++
 2 files changed, 70 insertions(+), 28 deletions(-)

commit 4d481e03f3534cb703a276cd430056d3ec27fcb0
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Wed Oct 7 13:00:57 2009 +0100

    color: Measure the string just once when parsing
    
    Instead of measuring the color hexadecimal string for each case, just
    measure it once and then use a switch() to go to the right case.

 clutter/clutter-color.c |   40 ++++++++++++++++++++++------------------
 1 files changed, 22 insertions(+), 18 deletions(-)

commit c7d50083ec1d1209dd8653bc30ba4f3bec09e976
Author: Thomas Wood <thomas.wood@intel.com>
Date:   Wed Oct 7 12:27:38 2009 +0100

    [color] allow alpha to be omitted when converting to color from string
    
    Parse #rgb and #rrggbb in addition to forms with the alpha channel
    specified. This allows conversion of colour strings from documents such as
    CSS where the alpha channel is not specified when using '#' notation.
    
    This patch also adds the relevant conformance test.

 clutter/clutter-color.c    |   22 ++++++++++++++++++++++
 tests/conform/test-color.c |   28 ++++++++++++++++++++++++++++
 2 files changed, 50 insertions(+), 0 deletions(-)

commit 13ac1fe75bec418f4e37e04540e6d16af55413f5
Author: Neil Roberts <neil@linux.intel.com>
Date:   Wed Oct 7 11:31:44 2009 +0100

    [clutter-id-pool] Also warn if the ID refers to a deleted actor
    
    We should also warn if the glReadPixels happens to generate an ID that
    is within the range of the ID array but no longer points to an
    existing actor.

 clutter/clutter-id-pool.c |   10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)

commit a4ff4d37a40b60ce7f7029c6fe12181c0e1e89e5
Author: Neil Roberts <neil@linux.intel.com>
Date:   Wed Oct 7 12:46:43 2009 +0100

    [clutter-id-pool] Fix the check for out-of-range IDs
    
    If id == the length of the array then it is also invalid and could
    cause a crash.

 clutter/clutter-id-pool.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 142f8865181e92fb405ae0d2b2bc65468a9d2262
Author: Thomas Wood <thomas.wood@intel.com>
Date:   Wed Oct 7 12:15:26 2009 +0100

    Revert "[color] allow alpha to omitted when converting from strings"
    
    This reverts commit eb8daac4b0726c1d9925bbbaeed7a8f39007da21.
    
    The original commit was incorrect and pushed accidentally.

 clutter/clutter-color.c |   22 ----------------------
 1 files changed, 0 insertions(+), 22 deletions(-)

commit bdf7499207d3fdba440228832445b71b9f64d300
Author: Thomas Wood <thomas.wood@intel.com>
Date:   Wed Oct 7 11:40:41 2009 +0100

    [color] add a note to the documentation to specify the values of the alpha
    
    The alpha channel is fully opaque at 255 and fully transparent at 0.

 clutter/clutter-color.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

commit eb8daac4b0726c1d9925bbbaeed7a8f39007da21
Author: Thomas Wood <thomas.wood@intel.com>
Date:   Wed Oct 7 11:38:08 2009 +0100

    [color] allow alpha to omitted when converting from strings
    
    Parse #rgb and #rrggbb in addition to forms with the alpha channel
    specified. This allows conversion of colour strings from documents such as
    CSS where the alpha channel is not specified when using '#' notation.

 clutter/clutter-color.c |   22 ++++++++++++++++++++++
 1 files changed, 22 insertions(+), 0 deletions(-)

commit 9e03d9231696160ef7d4d98cf6c1d2f2214c7172
Author: Damien Lespiau <damien.lespiau@intel.com>
Date:   Tue Oct 6 01:04:50 2009 +0100

    [path] MOVE_TO and LINE_TO only use a pair of coordinates
    
    The documentation of ClutterPathNode had a small typo and stated that
    they use 2 pairs of coordinates.

 clutter/clutter-path.h |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit dd8e4dcd62979bf8b7c8ad0e8898888a065ba445
Author: Robert Bragg <robert@linux.intel.com>
Date:   Mon Oct 5 16:46:24 2009 +0100

    [debug] Guard the use of gdk_pixbuf for pick debugging by #ifdef USE_GDKPIXBUF
    
    gdk is an optional clutter dependency, so the pick buffer debugging option
    needs some guards so we don't break, for example, the OSX builds.  This also
    adds a comment for the bit fiddling done on the pick colors used to ensure
    the pick colors are more distinguished while debugging.  (we swap the
    nibbles of each color component so that pick buffers don't just look black.)

 clutter/clutter-main.c |   25 +++++++++++++++++++++++++
 1 files changed, 25 insertions(+), 0 deletions(-)

commit f7c02642453420cf5866f9759d5f266d8ada40a5
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Mon Oct 5 15:51:28 2009 +0100

    [sdl] Update the SDL backend to the new StageWindow API
    
    The SDL backend remains experimental and not meant for public
    consumption, but at least it compiles and runs successfully.

 clutter/sdl/clutter-backend-sdl.c |    8 +-
 clutter/sdl/clutter-stage-sdl.c   |  130 +++++++++++++++----------------------
 2 files changed, 57 insertions(+), 81 deletions(-)

commit 3fee43560d8108f9508cbb24ee98228e50b79e5d
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Mon Oct 5 15:53:06 2009 +0100

    [eglx] Create a StageWindow, not an Actor
    
    The Backend should create a StageWindow instance, not an Actor.

 clutter/eglx/clutter-backend-egl.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 40222e891bec62e4e7187a3e66bdf7866a60bd38
Author: Neil Roberts <neil@linux.intel.com>
Date:   Tue Sep 29 12:11:55 2009 +0100

    [ClutterGroup] Don't take into account the left edges when calculating the size
    
    ClutterGroup previously calculated the size as the distance from the
    left edge of the leftmost child to the right edge of the rightmost
    child except if there were any chidren left of the origin then the
    left edge would be zero.
    
    However the group is always allocated its size relative to its
    origin so if all of the children are to the right of the origin then
    the preferred size would not be large enough to reach the rightmost
    child.
    
        origin
        ┼──────────┐
        │Group     │
        │ ┌────────┼─┐
        │ │Child   │ │
        │ │        │ │
        └─┼────────┘ │
          │          │
          └──────────┘
           group size
          ╟──────────╢
    
    This patch makes it so the size is always just the rightmost edge.
    
        origin
        ┼────────────┐
        │Group       │
        │ ┌──────────┤
        │ │Child     │
        │ │          │
        │ │          │
        │ │          │
        └─┴──────────┘
          group size
        ╟────────────╢
    
    Fixes bug:
    
      http://bugzilla.openedhand.com/show_bug.cgi?id=1825

 clutter/clutter-group.c |  122 ++++++++++-------------------------------------
 1 files changed, 26 insertions(+), 96 deletions(-)

commit 14e12ae4fd9320eeb970ff8aa7dfcd43dcfd5975
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Mon Oct 5 14:58:08 2009 +0100

    [eglx] Update the EGLX Stage to the new StageWindow API
    
    Move the ::realize and ::unrealize implementations over to the
    StageWindow instead of using Actor.

 clutter/eglx/clutter-stage-egl.c |  120 +++++++++++++++++++-------------------
 1 files changed, 60 insertions(+), 60 deletions(-)

commit a799f6ccec0ea755c7677c5fe20c1bd52b321c05
Author: Damien Lespiau <damien.lespiau@intel.com>
Date:   Sat Oct 3 14:08:33 2009 +0100

    Fix string parsing when no unit is given
    
    The check should really be on the character pointed by str. Added the
    corresponding test case.

 clutter/clutter-units.c            |    2 +-
 tests/conform/test-clutter-units.c |    4 ++++
 2 files changed, 5 insertions(+), 1 deletions(-)

commit 4d7b8c9d4290c91ea69d992bad396d067e84b15b
Author: Damien Lespiau <damien.lespiau@intel.com>
Date:   Sat Oct 3 12:15:13 2009 +0100

    clutter_value_get_unit() has not be renamed
    
    Since the Great Rework of ClutterUnits, functions have been using
    'units' not 'unit' in their name. clutter_value_get_unit() is a left
    over from a dark age, its declaration and documentation have been
    updated but not the symbol itself.

 clutter/clutter-units.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 72243081b5b0bf0518951f9f5f3ae91a7d4c640f
Merge: ad83caa 111512a
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Mon Oct 5 12:37:08 2009 +0100

    Merge branch 'stage-window-object'
    
    * stage-window-object:
      [x11] Fix Stage user-initiated resize
      [x11] Remove a useless forced paint
      [stage] Rework the Stage implementation class

commit ad83caaed16a36aea0fafd4ed87cc283c30c413b
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Mon Oct 5 12:34:48 2009 +0100

    Clarify the IdPool warning
    
    Instead of having an assertion failure with a message of dubious
    usefulness, we should probably use a more verbose warning explaining
    what is the problem and what might be the cause.

 clutter/clutter-id-pool.c |    9 ++++++++-
 1 files changed, 8 insertions(+), 1 deletions(-)

commit 111512a2a05243a7fc6f999f18805eae9bd6bfce
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Mon Oct 5 12:24:19 2009 +0100

    [x11] Fix Stage user-initiated resize
    
    The user-initiated resize is conflicting with the allocated size. This
    happens because we change the size of the stage's X Window behind the
    back of the size allocation machinery.
    
    Instead, we should change the size of the actor whenever we receive a
    ConfigureNotify event to reflect the new size of the actor.

 clutter/x11/clutter-event-x11.c |    7 +++----
 clutter/x11/clutter-stage-x11.c |    6 +++++-
 tests/interactive/test-actors.c |    1 +
 3 files changed, 9 insertions(+), 5 deletions(-)

commit e3c2ed0009e2ce85e65d5a1724a807faae865494
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Mon Oct 5 12:21:02 2009 +0100

    [x11] Remove a useless forced paint
    
    We force the redraw before mapping, in the hope that when a composited
    window manager maps the window it will have its contents ready; that is
    not going to work: the solution for this problem requires the implementation
    of a protocol for compositors, and not a hack.
    
    Moreover, painting before mapping will cause a paint with the wrong
    GL viewport size, which is the wrong thing to do on GLX.

 clutter/x11/clutter-stage-x11.c |    5 -----
 1 files changed, 0 insertions(+), 5 deletions(-)

commit 6ddffac93561b5d3aa6226ee54bd8a5e1fcedeb5
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Sun Sep 27 11:38:01 2009 +0100

    [docs] Update the "Subclassing Actor" chapter
    
    The chapter on how to subclass ClutterActor inside the API reference for
    Clutter is still using ClutterUnit and referencing to concepts that have
    been changed since the document was written.

 doc/reference/clutter/subclassing-ClutterActor.xml |  169 ++++++++++++-------
 1 files changed, 107 insertions(+), 62 deletions(-)

commit ab76d64df02bc03f935e9cdf5a0a29c6ffeace72
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Jul 28 00:40:29 2009 +0100

    [cogl-debug] avoid warnings when using COGL_NOTE with unbraced else clauses
    
    When not building a debug build the compiler was warning about empty
    else clauses with no braces due to code like:
      if (blah)
    	do_foo();
      else
    	COGL_NOTE (DRAW, "a-wibble");
    
    This simply ensures that even for non debug builds COGL_NOTE will expand to
    a single statement.

 clutter/cogl/cogl-debug.h |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 904c495c6d3c59b34148c9a4834e4803b488997b
Author: Robert Bragg <robert@linux.intel.com>
Date:   Thu Sep 24 17:34:26 2009 +0100

    [cogl-vertex-buffer] fix n_components validation for GL's builtin attributes
    
    glVertexPointer expects positions with 2, 3 or 4 components, glColorPointer
    expects colors with 3 or 4 components and glNormalPointer expects normals
    with three components so when adding vertex buffer atributes with the names
    "gl_Vertex", "gl_Color" or "gl_Normal" we assert these constraints and print
    an explanation to the developer if not met.
    
    This also fixes the previosly incorrect constraint that gl_Normal attributes
    must have n_components == 1; thanks to Cat Sidhe for reporting this:
    
    Bug: http://bugzilla.openedhand.com/show_bug.cgi?id=1819

 clutter/cogl/common/cogl-vertex-buffer.c |   19 +++++++++++++++----
 1 files changed, 15 insertions(+), 4 deletions(-)

commit dae569b468c286ea23aa0e74e910232e025932db
Author: Robert Bragg <robert@linux.intel.com>
Date:   Thu Sep 24 12:49:17 2009 +0100

    [debug] Adds a dump-pick-buffers CLUTTER_DEBUG option
    
    Now if you export CLUTTER_DEBUG=dump-pick-buffers clutter will write out a
    png, e.g.  pick-buffer-00000.png, each time _clutter_to_pick() is called.
    It's a rather crude way to debug the picking (realtime visualization in a
    second stage would probably be nicer) but it we've used this approach
    successfully numerous times when debugging Clutter picking issues so it
    makes sense to have a debug option for it.

 clutter/clutter-debug.h |   35 +++++++++--------
 clutter/clutter-main.c  |   94 ++++++++++++++++++++++++++++++++++++++++++++---
 2 files changed, 106 insertions(+), 23 deletions(-)

commit 27ae9722dedb5bc25415c32326ffc7ba4ef1557d
Author: Neil Roberts <neil@linux.intel.com>
Date:   Tue Sep 22 17:55:04 2009 +0100

    [container] Remove the unused 'object' variable in destroy_child_meta
    
    Since commit b2f958a61 this variable is no longer used so it was
    causing compiler warnings.

 clutter/clutter-container.c |    1 -
 1 files changed, 0 insertions(+), 1 deletions(-)

commit 4293920a11d5216095577cdfc46b9e21bb427a12
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Sep 22 11:27:47 2009 +0100

    [tests] Remove test-entry.c since we don't have a ClutterEntry any more
    
    Removes an unused interactive unit test for the old ClutterEntry actor we
    used to have.

 .gitignore                     |    1 -
 tests/interactive/test-entry.c |   47 ----------------------------------------
 2 files changed, 0 insertions(+), 48 deletions(-)

commit b710ed0eeace5561ccec1b1558ad26abb4af0da3
Author: Robert Bragg <robert@linux.intel.com>
Date:   Thu Aug 20 11:53:37 2009 +0100

    [backend-egl] fix clutter_backend_egl_get_visual_info to not use Xalloc
    
    It looks like the intention was to duplicate an XVisualInfo in such a way
    that the pointer could be returned and then later freed using XFree.  But
    Xalloc isn't an Xlib counterpart to XFree; Xlib doesn't provide a general
    purpose malloc wrapper afik.  By shuffling things about a bit, it was
    possible to avoid the need for this hack.

 clutter/eglx/clutter-backend-egl.c |   46 +++++++++++------------------------
 1 files changed, 15 insertions(+), 31 deletions(-)

commit 6e50e26c86af20597b118f5a71d04f70b173f733
Author: Damien Lespiau <damien.lespiau@intel.com>
Date:   Mon Sep 21 15:21:21 2009 +0100

    Add a few annotations on Cogl primitives functions
    
    By default, float * is considered as an out argument by gobject
    introspection which is wrong for quite a few Cogl symbols. Start adding
    annotations to fix that for the ones in the "Primitives" gtk-doc
    section.

 clutter/cogl/cogl-path.h    |    8 ++++----
 clutter/cogl/cogl-texture.h |   15 ++++++++-------
 2 files changed, 12 insertions(+), 11 deletions(-)

commit 1b37cb6cb79dc36279d40ef108576aafeb905412
Author: Robert Bragg <robert@linux.intel.com>
Date:   Mon Sep 21 18:12:02 2009 +0100

    [container] cast actor to gobject before calling g_object_set_qdata
    
    A minor compiler warning fix: in destroy_child_meta we weren't casting the
    first argument to g_object_set_qdata to a gobject.

 clutter/clutter-container.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit b2f958a61807ca36ccc1e7b3edf112b317885528
Author: Øyvind Kolås <pippin@linux.intel.com>
Date:   Mon Sep 21 15:55:58 2009 +0100

    [container] unset the child meta qdata on the child, not the container
    
    In the default implementation of container::destroy_child_meta Set child
    meta qdata to NULL on the child and not the container, since the child
    is the object that owns the data.

 clutter/clutter-container.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit d4e46bb893d41f7e9d80d3d272765e7b2779d32b
Author: Thomas Wood <thomas.wood@intel.com>
Date:   Mon Sep 21 15:40:53 2009 +0100

    [container] set the child meta qdata on the child, not the container
    
    Set child meta qdata on the child and not the container, since the child is
    the object that owns the data.

 clutter/clutter-container.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 1c3d5a0e870d6a8f221577783f4c9d79dbc062c5
Author: Neil Roberts <neil@linux.intel.com>
Date:   Thu Sep 17 18:29:03 2009 +0100

    [cogl] Remove CoglContext->journal_vbo{,_len}
    
    The lifetime of the journal VBO is entirely within the scope of the
    cogl_journal_flush function so there is no need to store it globally
    in the Cogl context. Instead, upload_vertices_to_vbo just returns the
    new VBO. cogl_journal_flush stores this in a local variable and
    destroys it before returning.
    
    This also fixes an assertion when using the GLES backend which was
    caused by nothing initialising the journal_vbo variable.

 clutter/cogl/common/cogl-primitives.c |   20 ++++++++++----------
 clutter/cogl/gl/cogl-context.c        |    2 --
 clutter/cogl/gl/cogl-context.h        |    2 --
 clutter/cogl/gles/cogl-context.h      |    1 -
 4 files changed, 10 insertions(+), 15 deletions(-)

commit ecfa0c4f92e3a78bdc4257c62a61b47aa41e0d05
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Sep 16 17:43:58 2009 +0100

    [build] Split out the custom silent rules
    
    The silent rules we use for custom targets should be moved into a
    separate Makefile.am that gets included from all the others.

 Makefile.am                        |    2 ++
 build/autotools/Makefile.am        |    1 +
 build/autotools/Makefile.am.silent |   17 +++++++++++++++++
 clutter/Makefile.am                |   12 +++++-------
 clutter/cogl/Makefile.am           |    8 ++------
 clutter/cogl/common/Makefile.am    |    8 ++------
 clutter/cogl/gl/Makefile.am        |    2 ++
 clutter/cogl/gles/Makefile.am      |    2 ++
 clutter/glx/Makefile.am            |    2 ++
 clutter/pango/Makefile.am          |    2 ++
 clutter/x11/Makefile.am            |    2 ++
 tests/conform/Makefile.am          |    8 +++++---
 tests/data/Makefile.am             |    1 -
 tests/interactive/Makefile.am      |   11 ++++++-----
 tests/micro-bench/Makefile.am      |    2 ++
 tests/tools/Makefile.am            |    9 ++++++---
 16 files changed, 58 insertions(+), 31 deletions(-)

commit 94e60c393b6be8b69140da01835a377409f6a77b
Author: Robert Bragg <robert@linux.intel.com>
Date:   Wed Sep 16 17:12:30 2009 +0100

    [test-cogl-multitexture] Print an error if textures can't be loaded
    
    I just wasted a silly amount time trying to bisect an apparently broken
    cogl-test-multitexture until I realized it was just silently failing to load
    any textures.

 tests/interactive/test-cogl-multitexture.c |   15 ++++++++++++---
 1 files changed, 12 insertions(+), 3 deletions(-)

commit 3b4f46a18a1c631410b324d5f926c64f0e22ae93
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Sep 16 12:47:46 2009 +0100

    [docs] Fix the comment on version bumps

 configure.ac |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

commit 35c0da2b3a2558964ba74b9a213262f377aa2650
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Sep 16 11:57:45 2009 +0100

    [gitignore] Add test-preferred-size

 .gitignore |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

commit 9dc012c07d1f6760d8d4cca07f5279e7b316dbd0
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Sep 16 11:55:04 2009 +0100

    [timeline] Account for clock roll backs between frames
    
    If the system clock rolls back between two frames then we need
    to account for the change, to avoid stopping the timeline.
    
    The best option, since a roll back can be any arbitrary amount
    of milliseconds, is to skip a frame.
    
    Fixes bug:
    
      http://bugzilla.moblin.org/show_bug.cgi?id=3839

 clutter/clutter-timeline.c |   33 +++++++++++++++++++++++----------
 1 files changed, 23 insertions(+), 10 deletions(-)

commit 0d08f6e0707c1b3274227abc8054529422206e22
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Sep 15 16:27:45 2009 +0100

    [cogl-fbo] Disable mipmap filters before calling glCheckFramebufferStatusEXT
    
    The framebuffer_object spec isn't clear in defining whether attaching a
    texture as a renderbuffer with mipmap filtering enabled while the mipmaps
    have not been uploaded should result in an incomplete framebuffer object.
    (different drivers make different decisions)
    
    To avoid an error with drivers that do consider this a problem we explicitly
    set non mipmapped filters before calling glCheckFramebufferStatusEXT.  The
    filters will later be reset when the texture is actually used for rendering
    according to the filters set on the corresponding CoglMaterial.

 clutter/cogl/gl/cogl-fbo.c |   12 ++++++++++++
 1 files changed, 12 insertions(+), 0 deletions(-)

commit 561f5868e876ec17e9a6fa66282b8dcdf3ead6b6
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Sep 15 11:09:49 2009 +0100

    [tests] Add preferred size conformance test unit
    
    This unit verifies that an Actor class will invoke the get_preferred_*
    virtual functions unless the caching is in effect; it also verifies
    that the cached values are correctly evicted.

 tests/conform/test-actor-size.c   |  136 ++++++++++++++++++++++++++++++++++++-
 tests/conform/test-conform-main.c |    1 +
 2 files changed, 136 insertions(+), 1 deletions(-)

commit 092401c01b249cd3ae9e4788ecbcce91ebb80f38
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Sep 14 21:45:51 2009 +0100

    [tests] Add initial sizing conformance test suite
    
    The size requisition and allocation mechanisms should be thoroughly
    tested to avoid unwanted regressions.
    
    For starters, we can test the explicit size setting and the side
    effects of calling clutter_actor_set_size().

 .gitignore                        |    1 +
 tests/conform/Makefile.am         |    1 +
 tests/conform/test-actor-size.c   |   77 +++++++++++++++++++++++++++++++++++++
 tests/conform/test-conform-main.c |    2 +
 4 files changed, 81 insertions(+), 0 deletions(-)

commit abbe2ebf8baa61edeaa2071fa850d000d565a6ce
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Sep 14 15:57:31 2009 +0100

    [container] Use a 1:1 mapping between child and ChildMeta
    
    Since an actor can only be parented to one container we don't need
    the extra complications of maintaining a list of ChildMeta objects
    attached to an actor in the default implementation of the Container
    interface.

 clutter/clutter-container.c |   50 +++++++-----------------------------------
 1 files changed, 9 insertions(+), 41 deletions(-)

commit 6e3afa4ebed9ea4f9347e8dfd6f3cc20d1042dcd
Author: Damien Lespiau <damien.lespiau@intel.com>
Date:   Thu Sep 10 13:27:02 2009 +0100

    [docs] Clutter's model implementation is called ClutterListModel
    
    It was renamed from ClutterModelDefault to ClutterListModel a while
    back. Update the reference to this class in ClutterModel documentation.

 clutter/clutter-model.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit c5195dda1533e2f42514a880bb5b7d105d4fe541
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Sep 9 16:15:54 2009 +0100

    [docs] Add fixxref for Cairo symbols
    
    Let gtk-doc resolve the Cairo types and symbols to the installed
    Cairo documentation.

 configure.ac                      |    2 ++
 doc/reference/clutter/Makefile.am |    6 +++---
 2 files changed, 5 insertions(+), 3 deletions(-)

commit f4e272ee9b6224cddc7eca54172025c5232e37bf
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Sep 9 16:01:07 2009 +0100

    [docs] Add a Path migration guide
    
    ClutterBehaviourPath has been changed and ClutterBehaviourBspline has
    been removed; now we use ClutterPath everywhere we need to describe a
    path. This warrants a chapter in the migration guide.

 doc/reference/clutter/Makefile.am               |    6 +-
 doc/reference/clutter/clutter-docs.xml.in       |    1 +
 doc/reference/clutter/migrating-ClutterPath.xml |  167 +++++++++++++++++++++++
 3 files changed, 172 insertions(+), 2 deletions(-)

commit 3cc56b2b138ff6451ba73e088d1023705455aef7
Author: Øyvind Kolås <pippin@linux.intel.com>
Date:   Tue Sep 8 13:06:51 2009 +0100

    [text] implement get_property for "use-markup"

 clutter/clutter-text.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

commit 6988744db750dc3430a6c8cdd6274bc7e855aaf5
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu Aug 13 12:34:07 2009 +0100

    [stage] Rework the Stage implementation class
    
    Instead of using ClutterActor for the base class of the Stage
    implementation we should extend the StageWindow interface with
    the required bits (geometry, realization) and use a simple object
    class.
    
    This require a wee bit of changes across Backend, Stage and
    StageWindow, even though it's mostly re-shuffling.
    
    First of all, StageWindow should get new virtual functions:
    
      * geometry:
        - resize()
        - get_geometry()
    
      * realization
        - realize()
        - unrealize()
    
    This covers all the bits that we use from ClutterActor currently
    inside the stage implementations.
    
    The ClutterBackend::create_stage() virtual function should create
    a StageWindow, and not an Actor (it should always have been; the
    fact that it returned an Actor was a leak of the black magic going
    on underneath). Since we never guaranteed ABI compatibility for
    the Backend class, this is not a problem.
    
    Internally to ClutterStage we can finally drop the shenanigans of
    setting/unsetting actor flags on the implementation: if the realization
    succeeds, for instance, we set the REALIZED flag on the Stage and
    we're done.
    
    As an initial proof of concept, the X11 and GLX stage implementations
    have been ported to the New World Order(tm) and show no regressions.

 clutter/Makefile.am               |    2 +-
 clutter/clutter-backend.c         |   14 ++--
 clutter/clutter-backend.h         |    5 +-
 clutter/clutter-private.h         |    2 +-
 clutter/clutter-stage-window.c    |   79 ++++++++++++++++++-
 clutter/clutter-stage-window.h    |   33 ++++++++
 clutter/clutter-stage.c           |  105 ++++++++++++------------
 clutter/clutter.h                 |    1 +
 clutter/glx/clutter-backend-glx.c |   14 ++--
 clutter/glx/clutter-stage-glx.c   |   50 +++++-------
 clutter/x11/clutter-stage-x11.c   |  161 +++++++++++--------------------------
 11 files changed, 253 insertions(+), 213 deletions(-)

commit 742cc4d95b602440c004d5af09a7fab662f03596
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Sep 7 11:44:44 2009 +0100

    [docs] Small annotation fixes

 clutter/clutter-behaviour.c  |    5 +++--
 clutter/cogl/cogl-material.h |   29 ++++++++++++++++++-----------
 clutter/cogl/cogl-texture.h  |    7 ++++---
 3 files changed, 25 insertions(+), 16 deletions(-)

commit c69209a253c7ccbfe5d2c91e6972fa3dc1deb50c
Author: Neil Roberts <neil@linux.intel.com>
Date:   Mon Sep 7 11:36:05 2009 +0100

    [animation] Move the check for the 'signal::' prefix into a separate function
    
    The old code checked whether the property began with 'signal-' and
    then checked for 'signal-swapped' and 'signal-after'. This prevented
    you from animating a property called for example 'signal-strength'.
    
    The check for the prefix is now in a separate function which also adds
    a 'signal-swapped-after' prefix for completeness.
    
    Fixes bug:
    
      http://bugzilla.openedhand.com/show_bug.cgi?id=1798

 clutter/clutter-animation.c |   75 +++++++++++++++++++++++-------------------
 1 files changed, 41 insertions(+), 34 deletions(-)

commit 7783635af3c78cf65fcb62ccb03478f1a9556b05
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu Sep 3 16:51:14 2009 +0100

    [docs] Add more collateral documentation
    
    * Add the main Glossary for Clutter terms
    
    * Add the annotation glossary, as generated by gtk-doc
    
    * Add the objects index and tree

 doc/reference/clutter/Makefile.am         |    2 +
 doc/reference/clutter/clutter-docs.xml.in |   45 ++++++++-
 doc/reference/clutter/glossary.xml        |  142 +++++++++++++++++++++++++++++
 3 files changed, 184 insertions(+), 5 deletions(-)

commit 763f5a9d014656c09c4684bc69a0e45862882f43
Author: Samuel Degrande <samuel.degrande@lifl.fr>
Date:   Wed Sep 2 16:27:22 2009 +0100

    DOT3_RGB[A] cannot be used in a Blend String
    
    The blend string compiler checks that the syntax of a function name is
    [A-Za-z_]*, preventing the use of DOT3_RGB[A].
    
    Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>

 clutter/cogl/common/cogl-blend-string.c |    8 +++++++-
 1 files changed, 7 insertions(+), 1 deletions(-)

commit a5e081dc9c8f39ce66270b77f5beaa6ac53e7a91
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Sep 2 15:26:33 2009 +0100

    [model] Do not attempt to free empty column names
    
    The column names are optional - ClutterModel will use the GType name
    if there is no user-specified column name. Hence, the ::finalize vfunc
    should not try to free an empty column names vector.
    
    Fixes bug:
    
      http://bugzilla.openedhand.com/show_bug.cgi?id=1790

 clutter/clutter-model.c |   17 ++++++++++-------
 1 files changed, 10 insertions(+), 7 deletions(-)

commit 3686107460847d6b9333ff2149b850401590bae8
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Aug 31 15:49:39 2009 +0100

    [docs] Make sure to document the point-release process
    
    Put the documentation right inside configure.ac, lest I forget.

 configure.ac |   25 ++++++++++++++++++-------
 1 files changed, 18 insertions(+), 7 deletions(-)

commit db6b0a91e0c2aebb245ad5d382769889abbf88dd
Author: Neil Roberts <neil@linux.intel.com>
Date:   Wed Aug 26 18:28:35 2009 +0100

    Take a reference to the material in clutter_texture_set_cogl_material
    
    The material is unref'd in clutter_texture_finalize and the
    documentation explicitly states that the function will take a ref so
    it really should.

 clutter/clutter-texture.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

commit bad7782ab4bc0b5a96d8a97b9b32d5726343b1c2
Author: Neil Roberts <neil@linux.intel.com>
Date:   Wed Aug 26 18:24:48 2009 +0100

    Fix the documentation for clutter_texture_set_cogl_material
    
    The documentation was a copy of the docs for set_cogl_texture so it
    was somewhat broken.

 clutter/clutter-texture.c |   11 ++++++++---
 1 files changed, 8 insertions(+), 3 deletions(-)

commit b766a1cc100778c7f74acd9dcc280400eae4c55b
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Aug 26 16:50:37 2009 +0100

    [tests] Update the script test JSON
    
    The test-script.json UI definition still used old types, like
    ClutterLabel and ClutterCloneTexture. It should move to the classes
    that have replaced them.

 tests/data/test-script.json |   18 +++++++++---------
 1 files changed, 9 insertions(+), 9 deletions(-)

commit bb17dc1ce5d91f68da53944b5d7565be00b179eb
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Aug 26 16:49:45 2009 +0100

    [script] Clean up the ad hoc parsing code in Actor
    
    The old parsing code still assumed we had integers for pixels
    and floating point values for percentages; this is not the case
    anymore.

 clutter/clutter-actor.c |   38 ++------------------------------------
 1 files changed, 2 insertions(+), 36 deletions(-)

commit 2ffebad3d9b29931c29b8cb927580f9166ab39df
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Aug 26 16:48:32 2009 +0100

    [script] Convert double to float when parsing
    
    The default floating point type for JSON is double precision; this means
    that we need to conver to single precision when setting a property with
    type G_TYPE_FLOAT.

 clutter/clutter-script.c |   13 +++++++++++++
 1 files changed, 13 insertions(+), 0 deletions(-)

commit 87831b3427be959bea6a649e2718a5bda5927463
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Aug 25 17:55:51 2009 +0100

    [tests] Add a Group actor unit
    
    We need to test that the depth sorting of ClutterGroup works correctly
    in case we wish to change the data structure that stores the children,
    and do so without changing the default behaviour.

 .gitignore                        |    1 +
 tests/conform/Makefile.am         |    1 +
 tests/conform/test-conform-main.c |    2 +
 tests/conform/test-group.c        |   57 +++++++++++++++++++++++++++++++++++++
 4 files changed, 61 insertions(+), 0 deletions(-)

commit f1d58812078e04c7db17c80b51d48bb716b868d1
Author: Øyvind Kolås <pippin@linux.intel.com>
Date:   Tue Aug 25 17:32:42 2009 +0100

    [group] Use floating point in sort_z_order

 clutter/clutter-group.c |    8 ++++++--
 1 files changed, 6 insertions(+), 2 deletions(-)

commit d8d344f52930872a8eabdcc801872246b7ae61d1
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Aug 25 12:39:40 2009 +0100

    [docs] Add Interval get_type function
    
    The get_type() function for ClutterInterval is missing from the
    known GObject types, so gtk-doc doesn't know that it has to
    introspect it for hierarchy, properties and signals.

 doc/reference/clutter/clutter.types |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

commit 95a6e1c925c7dd24ba97a4625d1da09ff861e5c3
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Aug 25 12:18:32 2009 +0100

    Fix the warnings for Animation::update_interval()
    
    The bindings for update_interval() were copied from bind().

 clutter/clutter-animation.c |    7 ++++---
 1 files changed, 4 insertions(+), 3 deletions(-)

commit 899f051cd92fb0b5d41948897c7130b86a98dae9
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Aug 25 12:16:41 2009 +0100

    [animation] Add Animation::update()
    
    Currently, to update a property inside an animation you have to
    get the interval for that property and then call the set_final_value()
    method.
    
    We can provide a simpler, bind()-like method for the convenience of
    the developers that just validates everything and then calls the
    Interval.set_final_value().

 clutter/clutter-animation.c                |   53 ++++++++++++++++++++++++++++
 clutter/clutter-animation.h                |    3 ++
 doc/reference/clutter/clutter-sections.txt |    1 +
 3 files changed, 57 insertions(+), 0 deletions(-)

commit 4ca375e8fe395e375826ea795566b8af8029e09f
Author: Neil Roberts <neil@linux.intel.com>
Date:   Mon Aug 24 12:50:57 2009 +0100

    [cogl-texture] Set GL_PACK_ROW_LENGTH when downloading texture data
    
    Otherwise the rowstride passed in from an application is not used
    correctly so you can not download to an area with a much larger
    rowstride.

 clutter/cogl/gl/cogl-texture.c |   14 +++++++++++---
 1 files changed, 11 insertions(+), 3 deletions(-)

commit 172074fd29cd42bf2790f78aa736f854218906f0
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Aug 21 12:05:52 2009 +0100

    [glx] Perform more checks before calling glXMakeCurrent
    
    Right now we just check for a NULL stage before calling glXMakeCurrent().
    
    We can, though, get a valid stage without an implementation attached to
    it while we are disposing a stage after a CLUTTER_DELETE event, since the
    events processing is performed on a vblank-locked basis.

 clutter/glx/clutter-backend-glx.c |   17 +++++++++++------
 1 files changed, 11 insertions(+), 6 deletions(-)

commit 93e1d8e7a35afd0f1c08022bdf0f04154ad08ef1
Author: Owen W. Taylor <otaylor@fishsoup.net>
Date:   Fri Aug 7 21:16:04 2009 -0400

    Add ::queue-relayout signal to ClutterActor for ClutterClone
    
    ClutterClone bases its preferred size on the preferred size of
    the source actor, so it needs to invalid its cached preferred
    size when the preferred size of the source actor changes.
    
    In order for this to work, we need to have notification when
    the size of the source actor changes, so add a ::queue-relayout
    signal to ClutterActor.
    
    Then connect to this from ClutterClone and queue a relayout
    on the clone when a relayout is queued on the source.
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=1755
    
    Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>

 clutter/clutter-actor.c |   56 ++++++++++++++++++++++++++++++++++++++--------
 clutter/clutter-actor.h |    5 +++-
 clutter/clutter-clone.c |   12 ++++++++++
 3 files changed, 62 insertions(+), 11 deletions(-)

commit 56daae9d7bc49a29a4e1c4e093928efb747ed675
Author: Robert Bragg <robert@linux.intel.com>
Date:   Thu Aug 20 12:53:32 2009 +0100

    Revert "[cogl] Allow Cogl to create NPOT textures for GLES2"
    
    This reverts commit 3c47a3beb51462ef8af1070b75123660059e97d0.
    
    Of course I remembered just after pushing the patch why we hadn't done
    this before :-) If you look in the glsl spec:
    http://www.khronos.org/registry/gles/specs/2.0/es_full_spec_2.0.24.pdf
    Section 3.7.10 Texture Completeness and Non-Power-Of-Two Textures
    you can see GLES 2.0 doesn't support mipmaps for npot textures.
    
    There is possibly some way we could support this in Cogl but at least
    it's not as simple as or-ing in the feature flag, sadly.

 clutter/cogl/gles/cogl.c |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)

commit 3c47a3beb51462ef8af1070b75123660059e97d0
Author: Robert Bragg <robert@linux.intel.com>
Date:   Thu Aug 20 12:15:21 2009 +0100

    [cogl] Allow Cogl to create NPOT textures for GLES2
    
    The core GLES2 API supports NPOT textures, i.e. there is no extension as for
    OpenGL, so we now add COGL_FEATURE_TEXTURE_NPOT to the feature flags in
    _cogl_features_init.
    
    Thanks to Gordon Williams for spotting this.

 clutter/cogl/gles/cogl.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

commit a5fe4ae4ec5c5c43aa0898095284447095462e37
Author: Robert Bragg <robert@linux.intel.com>
Date:   Wed Aug 19 15:38:25 2009 +0100

    [cogl] %.c: %.glsl codegen: use BUILT_SOURCES var + fix stringify.sh
    
    Don't let stringify.sh write to the $srcdir + use the BUILT_SOURCES var in
    Makefile.am so as to ensure all .c.  and .h files get generated from their
    corresponding .glsl files before building other targets.

 clutter/cogl/gles/Makefile.am  |   14 +++++++++-----
 clutter/cogl/gles/stringify.sh |   40 +++++++++++++++++++---------------------
 2 files changed, 28 insertions(+), 26 deletions(-)

commit 3761e9cd47950bfade7d3b829b20b245806632a2
Author: Jonas Bonn <jonas@southpole.se>
Date:   Wed Aug 19 13:14:10 2009 +0000

    Check timeline direction when forcing final state
    
    If the timeline is running backwards, the completed signal handler should
    set the final state from the interval's initial value.
    
    Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>

 clutter/clutter-animation.c |   11 ++++++++++-
 1 files changed, 10 insertions(+), 1 deletions(-)

commit 373b165b3f1adc556e7ee70f01cff66d4a38cd60
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Aug 10 12:45:44 2009 +0200

    Use AM_SILENT_RULES if automake >= 1.11 is installed
    
    Fixes bug:
    
      http://bugzilla.openedhand.com/show_bug.cgi?id=1756
    
    Based on a patch by: Javier Jardón <javierjc1982@gmail.com>

 clutter/Makefile.am             |    7 +++++--
 clutter/cogl/Makefile.am        |    6 ++++--
 clutter/cogl/common/Makefile.am |    7 ++++---
 configure.ac                    |   18 +++++++++++++++---
 4 files changed, 28 insertions(+), 10 deletions(-)

commit 6a9130f10fe5ed3c78b541cf0d021857efb57cb4
Author: Neil Roberts <neil@linux.intel.com>
Date:   Tue Aug 18 18:07:37 2009 +0100

    [pango-display-list] Don't premultiply the colour twice
    
    When rendering a glyph run from a texture we were premultiplying the
    colour once in display_list_render() and then again in
    display_list_render_texture(). This was causing the color to come out
    wrong. This fixes bug #1775.
    
    Thanks to Pierre-Luc Beaudoin for reporting.

 clutter/pango/cogl-pango-display-list.c |    1 -
 1 files changed, 0 insertions(+), 1 deletions(-)

commit 9befb055d0dd993d1171bf5652eefdc35567e7f5
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Aug 18 16:13:13 2009 +0100

    [cogl-material] Fix some brackets in _layer_flush_gl_sampler_state
    
    The wrong part of an expression was bracketed in the test to determine
    when a new texture matrix needed to be loaded which resulted in the
    first pass through _cogl_material_layer_flush_gl_sampler_state
    not uploading any user matrix.

 clutter/cogl/common/cogl-material.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

commit 366e0725ce1bb804219b28a29539add1e05f73e8
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Aug 18 11:11:29 2009 +0100

    [docs] texture_polygon() is called polygon()
    
    Remove the mentions to the old name of cogl_polygon().

 clutter/cogl/cogl-types.h |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

commit f655b28e669b7aec5b3ace0d8873adeefa11b4de
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Aug 17 23:27:22 2009 +0100

    [build] Nothing can be prepended to QUIET_* rules
    
    Move the LD_LIBRARY_PATH override after the QUIET_GEN rule and
    unbreak the typelib compilation.

 clutter/Makefile.am |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

commit 8c00d705c0ec009c08950f314ab896b6ff40aa37
Author: Jussi Kukkonen <jku@linux.intel.com>
Date:   Mon Aug 17 00:00:35 2009 +0300

    [text] move_word_backward/forward fixes
    
    clutter_text_move_word_backward/forward() calls did not use the
    start argument consistently. Also, clutter_text_move_word_forward()
    bound check checked the wrong end.
    
    Fixes #1765
    
    Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>

 clutter/clutter-text.c |   12 ++++++------
 1 files changed, 6 insertions(+), 6 deletions(-)

commit 99437c476136ec6a735270efd8670efcd1f2c77e
Author: Neil Roberts <neil@linux.intel.com>
Date:   Mon Aug 17 17:43:42 2009 +0100

    [text] Don't interpret the unicode value when the control modifier is on
    
    When a letter key is pressed with the control key held down one of
    three things will happen :-
    
    a) If the stage is embedded within a GtkClutterEmbed the unicode value
       will be filled from gdk_keyval_to_unicode. This will be the same
       value as if control was not pressed (so Ctrl+V will be 'v').
    
    b) If the stage is not in a GtkClutterEmbed and Clutter is running on
       the X11 backend then it will try to fill in the unicode value from
       XLookupString. This *will* take into account the control so the
       unicode value will represent a control character (Ctrl+V will be
       '\x16').
    
    c) Most other backends will not bother to fill in the unicode
       value. Therefore clutter_keysym_to_unicode will be used which also
       does not take into account the control key (so Ctrl+V will be 'v').
    
    For cut and paste to work in Nbtk, the control keys need to bubble up
    to the parent NbtkEntry container. This works fine for 'b' but not 'a'
    and 'c'.
    
    This patch makes ClutterText always allow the event to bubble if the
    key is not handled by the binding pool and the control modifier is
    down.
    
    Ideally ClutterText would always get a unicode value that takes into
    account the modifiers but this is probably best left up to the input
    methods.
    
    Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>

 clutter/clutter-text.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

commit 5d7c2e7c4495b3d6f35ed3f4e50857f17b946872
Author: Owen W. Taylor <otaylor@fishsoup.net>
Date:   Mon Aug 17 13:57:18 2009 -0400

    Set LD_LIBRARY_PATH when running g-ir-compiler
    
    g-ir-compiler currently opens the library for the .gir it is compiling;
    to make that work we need to set LD_LIBRARY_PATH before running
    g-ir-compiler to include .libs.
    
    (I think this may have been working earlier because there was a
    hack that substituted .so with .la and tried opening that; that
    works for the incorrect libclutter-glx-1.0.so but not for the
    correct libclutter-glx-1.0.so.0)
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=1771

 clutter/Makefile.am |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

commit 4c1248c5e9b934b23bdabbfc3d2dabdb8bab0656
Author: Owen W. Taylor <otaylor@fishsoup.net>
Date:   Mon Aug 17 15:41:27 2009 +0100

    Full fix for the G-I support in Clutter
    
    Update the sed hack for the shared library to be more robust.
    
    Remove the --shared-library command line argument from g-ir-scanner,
    as no distribution will ever ship the .la files. This effectively
    reverts commit 68f8a98cfbf70e2b7bfcda7831907633eb08ca50.
    
    Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>

 clutter/Makefile.am |    5 ++---
 1 files changed, 2 insertions(+), 3 deletions(-)

commit 68f8a98cfbf70e2b7bfcda7831907633eb08ca50
Author: Götz Waschk <waschk@mandriva.org>
Date:   Mon Aug 17 14:21:42 2009 +0100

    Specify the shared library for g-ir-compile
    
    Use the --shared-library option to specify the shared object to link
    against when compiling the typelib from the GIR data.
    
    Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>

 clutter/Makefile.am |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)

commit 366e0f9cd7773433ba14cc531119bca3b9879a1e
Author: Götz Waschk <waschk@mandriva.org>
Date:   Mon Aug 17 14:12:21 2009 +0100

    Update Clutter to use G-I 0.6.4
    
    Following bug #1762, the syntax of g-ir-scanner was changed in
    gobject-introspection, so Clutter does not build anymore with 0.6.4.
    
    See the bugzilla bug:
    
      http://bugzilla.gnome.org/show_bug.cgi?id=591669
    
    GObject-Introspection now uses a different mechanism to extract the
    SONAME when building the gir file and it needs the libtool archive as
    option.
    
    Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>

 README                   |    2 +-
 clutter/Makefile.am      |    2 +-
 clutter/cogl/Makefile.am |    2 +-
 clutter/json/Makefile.am |    2 +-
 configure.ac             |    2 +-
 5 files changed, 5 insertions(+), 5 deletions(-)

commit 53cb86d94ba258cb917221856501c60738a143f3
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Aug 17 10:27:13 2009 +0100

    [docs] Update the requirements section

 README |    9 +++++++--
 1 files changed, 7 insertions(+), 2 deletions(-)

commit 90d8f3183193176b796ac533158e3b0c2a4c2e85
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Aug 14 15:59:29 2009 +0100

    [units] Do not be locale-dependant on string conversion
    
    When dumping a ClutterUnits structure to a string we are using a bare
    g_strdup_printf(), which unfortunately is locale dependant. So, for
    instance, a type of CLUTTER_UNIT_EM and a value of 42 are stringified
    as:
    
            C:      42.00 em
            en_GB   42.00 em
            it_IT   42,00 em
            fr_FR   42,00 em
    
    This would not be a problem -- clutter_units_from_string() allows both
    '.' and ',' as fractionary part delimiters. The test suite, on the
    other hand, does not know that, and it checks for exact matches with
    the C locale.
    
    Calling setlocale(LC_ALL,"C") at the beginning of the conformance test
    suite is not a good idea, because it would prevent external testing; and
    it's a lame cop out from doing exactly what we have to do -- pick a format
    and stick with it.
    
    Like other platforms, languages and frameworks before us, we opt to
    be less liberal in what we create; so, we choose to always stringify
    ClutterUnits with fractionary parts using '.' as the delimiter.
    
    Fixes bug:
    
      http://bugzilla.openedhand.com/show_bug.cgi?id=1763

 clutter/clutter-units.c |   24 ++++++++++++++----------
 1 files changed, 14 insertions(+), 10 deletions(-)

commit f08b583a312cd87f3263078eecdb19a9328ac79f
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Aug 14 15:58:00 2009 +0100

    [tests] Abstract GTest and Clutter initialization
    
    The set up process of the conformance test suite is complex enough to
    warrant a split up into its own function.

 tests/conform/test-conform-main.c |   27 ++++++++++++++++++---------
 1 files changed, 18 insertions(+), 9 deletions(-)

commit b31e2d59bdfcc3be46f3ec87de4bcabc32747133
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Aug 14 13:08:59 2009 +0100

    [build] Remove last user of CLUTTER_MAJORMINOR
    
    We should always use CLUTTER_API_VERSION instead.

 doc/manual/Makefile.am |   10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)

commit 5274b4e4c48dbd81c7553ef9889b5897afe932c5
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Aug 14 13:08:17 2009 +0100

    [build] Clean up the eglnative and fruity Makefile.am
    
    * Do not use CLUTTER_MAJORMINOR
    
    * Use per-target compiler flags and libraries

 clutter/eglnative/Makefile.am |   11 +++++------
 clutter/fruity/Makefile.am    |   21 ++++++++++-----------
 2 files changed, 15 insertions(+), 17 deletions(-)

commit f7edc97d8df2f035fa81343126884b0cbfc9bc3a
Author: Xu Li <xu.li@intel.com>
Date:   Tue Aug 4 22:06:27 2009 +0800

    Add new Atom atom_NET_WM_PID to set pid info
    
    Clutter advertises itself on X11 as implementing the _NET_WM_PING protocol,
    which is needed to be able to detect frozen applications; this allows us to
    stop the destruction of the stage by blocking the CLUTTER_DELETE event and
    wait for user feedback without the Window Manager thinking that the app has
    gone unresponsive.
    
    In order to implement the _NET_WM_PING protocol properly, though, we need
    to add the _NET_WM_PID property on the Stage window, since the EWMH states:
    
      [_NET_WM_PID] MAY be used by the Window Manager to kill windows which
      do not respond to the _NET_WM_PING protocol.
    
    Meaning that an unresponsive Clutter application might not be killable by
    the window manager.
    
    Fixes bug:
    
      http://bugzilla.openedhand.com/show_bug.cgi?id=1748
    
    Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>

 clutter/x11/clutter-backend-x11.c |   22 ++++++++++++----------
 clutter/x11/clutter-backend-x11.h |    1 +
 clutter/x11/clutter-stage-x11.c   |   25 +++++++++++++++++++++++++
 3 files changed, 38 insertions(+), 10 deletions(-)

commit 3abf393b87d83211d82b161c0417d80312b8783f
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Aug 14 11:29:03 2009 +0100

    [build] Clean up cogl-pango Makefile
    
    * Do _not_ use CLUTTER_MAJORMINOR to define the installation path
      for the headers; we must use CLUTTER_API_VERSION for that.
    
    * Do not put the C compiler flags in the INCLUDES directive.
    
    Bases on a patch by: Gary Ching-Pang Lin <glin@novell.com>

 clutter/pango/Makefile.am |    9 +++------
 1 files changed, 3 insertions(+), 6 deletions(-)

commit 5c8ae6d2dcdb592a56f33927dcec2369a9147396
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu Aug 13 18:05:38 2009 +0100

    [json] Fix compilation of the internal JSON-GLib
    
    Define the symbols needed to pass the single include policy when
    compiling the static object.

 clutter/json/Makefile.am |    4 +++-
 clutter/json/json-glib.h |    4 ++++
 2 files changed, 7 insertions(+), 1 deletions(-)

commit 6e1f9ad9b65fedaa18950de712d7f6ab39b809f0
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu Aug 13 16:15:04 2009 +0100

    [docs] Remove the version number from the title
    
    The version number in the title made sense when we were breaking
    API with every minor release. Now that we're API stable we can
    drop that and make the output in Devhelp and on the website slightly
    more good looking.

 doc/reference/clutter/clutter-docs.xml.in |    4 ++--
 doc/reference/cogl/cogl-docs.xml.in       |    9 +++++++--
 2 files changed, 9 insertions(+), 4 deletions(-)

commit 8a794a85337c01a21f88a02c84bd519ed511b6c6
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu Aug 13 16:13:55 2009 +0100

    [docs] Fix the examples for animate()
    
    Update the examples to reference to existing easing modes and to
    make sure to use floating point values for floating point properties.

 clutter/clutter-animation.c |   36 ++++++++++++++++++------------------
 1 files changed, 18 insertions(+), 18 deletions(-)

commit f25cdf066c023222330119a1fe8ef5204773faa7
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu Aug 13 12:26:09 2009 +0100

    [actor] Allow unsetting width and height separately
    
    It is possible to unset the size of an actor specified with set_width()
    and set_height() by using:
    
      clutter_actor_set_size (actor, -1, -1);
    
    Which works by unsetting the :min-*-set and the :natural-*-set properties.
    
    Calling set_width(-1) and set_height(-1) separately, though, doesn't work
    thus implicitly breaking the assumption that set_size() is nothing more
    than set_width()+set_height(). This was obviously due to the face that
    pre-1.0 set_width() and set_height() took an unsigned integer as an
    argument.

 clutter/clutter-actor.c |   81 ++++++++++++++++++++++++++++++-----------------
 1 files changed, 52 insertions(+), 29 deletions(-)

commit d3e06bc1e5654248d86aaa568179c5732839412e
Author: Colin Walters <walters@verbum.org>
Date:   Thu Aug 13 10:49:39 2009 +0100

    Add (allow-none) for clutter_stage_set_key_focus()
    
    The @actor argument can be NULL to unset the key focus.
    
    Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>

 clutter/clutter-stage.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 9766fb13005b04669e60befd9e0e3cddf822ac1c
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Aug 12 16:02:23 2009 +0100

    [script] Fix Actor's ad-hoc parser
    
    ClutterActor parses positional and dimensional properties with a
    custom deserializer. We need to:
    
      - handle G_TYPE_INT64, the default integer type for JSON-GLib
      - use G_TYPE_FLOAT for properties, since Actor switched to it
        for the pixel-based ones
    
    This makes ClutterScript work again.

 clutter/clutter-actor.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

commit cfbbacb8079e2ad92d5e538195d49cfdf8818144
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Aug 12 16:01:25 2009 +0100

    [script] Fix the default deserialization
    
    Properties parsed from ClutterScript should now use G_TYPE_INT64
    and automatically convert between G_TYPE_INT and G_TYPE_INT64.

 clutter/clutter-script.c |   21 +++++++++++++--------
 1 files changed, 13 insertions(+), 8 deletions(-)

commit 4d522456372c2394046968ce0a4b22f603023d32
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Aug 12 16:00:13 2009 +0100

    [json] Update the internal copy of JSON-GLib
    
    JSON-GLib switch to 64 bit integers upstream, to avoid the undefined
    integer size of the JSON RFC. All integers are automatically promoted
    to gint64.

 clutter/json/json-array.c  |    4 +-
 clutter/json/json-node.c   |   61 +++++++++++++++++++++++++++++++++++--------
 clutter/json/json-object.c |   41 +++++++----------------------
 clutter/json/json-parser.c |   13 +++++----
 clutter/json/json-types.h  |   16 +++++++----
 5 files changed, 78 insertions(+), 57 deletions(-)

commit 2b70b0d4ed791e8bc25b59eb3b2e9dbeb8201b11
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Aug 12 15:57:25 2009 +0100

    Include clutter-json.h, not json-types.h
    
    The json-types.h header is found by the mere fact of it being
    in the project; if we are compiling against the system JSON-GLib
    this could be horribly out of date.
    
    We need to use clutter-json.h, which will include the right
    header for us.

 clutter/clutter-script-private.h |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit cc6aa6e4d537c5eec3fda85475f78bdf0da2ea10
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Aug 12 15:32:18 2009 +0100

    Clutter GIR depends on ClutterJson GIR conditionally
    
    If we're building Clutter with a system JSON-GLib we need to skip
    the typelib compilation of ClutterJson since we depend on Json-1.0.gir
    directly.

 clutter/Makefile.am |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

commit 6fcf5c1820b29610a05e0f5022d1d6d907716df5
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Aug 12 15:31:16 2009 +0100

    [json] Include only json-glib.h
    
    JSON-GLib moved to a single include scheme, so we should only include
    json-glib.h. If we use the internal copy it doesn't matter, since the
    header does the right thing.

 clutter/clutter-json.h.in |    4 +---
 1 files changed, 1 insertions(+), 3 deletions(-)

commit 8c49e227536fabddd2cbf81aa94e1624d30ca312
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Aug 12 10:30:11 2009 +0100

    Add copyright and license notice
    
    The clutter-script-parser.c does not have a copyright and license
    notices; even though the LGPL is a per-project license and not a
    per-file license, having those notices in every source file is a
    good idea.

 clutter/clutter-script-parser.c |   32 ++++++++++++++++++++++++++++++++
 1 files changed, 32 insertions(+), 0 deletions(-)

commit 13e055a351f83c56b895b131566a6e842d24ed2a
Author: zhou jiangwei <dyllan.zhou@samsung.com>
Date:   Tue Aug 11 14:18:37 2009 +0100

    [eglx] Update the EGLX backend
    
    The EGLX backend needs to be updated to the new ClutterBackendX11
    code.
    
    Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>

 clutter/eglx/clutter-backend-egl.c |   43 ++++++++++++++++++++++++++++++++++++
 clutter/eglx/clutter-backend-egl.h |    1 +
 clutter/eglx/clutter-stage-egl.c   |    4 +-
 3 files changed, 46 insertions(+), 2 deletions(-)

commit 2ab9bef5873ca9d226ddf31fc65b96fe20fa72d5
Author: zhou jiangwei <dyllan.zhou@samsung.com>
Date:   Tue Aug 11 14:17:28 2009 +0100

    [cogl] Fix the GLES 2.0 backend
    
    Update the GLES 2.0 backend to the new COGL API after the breakage
    introduced by the journal.
    
    Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>

 clutter/cogl/common/cogl-primitives.c    |    5 +++--
 clutter/cogl/gles/cogl-context.h         |    5 ++++-
 clutter/cogl/gles/cogl-gles2-wrapper.h   |    5 +++++
 clutter/cogl/gles/cogl-primitives.c      |   10 +++++-----
 clutter/cogl/gles/cogl-texture-private.h |    3 +++
 5 files changed, 20 insertions(+), 8 deletions(-)

commit dbfd3f0f444680d85556edc0b96dff68ea22722d
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Aug 11 13:49:12 2009 +0100

    [cogl_clear] Also pass the alpha component of the CoglColor to glClearColor
    
    Previously we were passing a constant of 0.0 for the alpha component which
    wasn't as flexible.

 clutter/cogl/common/cogl.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit f0cb337d920c46cb7ca45d80ade69057d0408ff5
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Aug 11 13:27:25 2009 +0100

    [build] Fix LDADD -> LIBADD usage

 clutter/osx/Makefile.am |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit dfc32b60c4b1b0b83fbf70d7e02b58cbc919326a
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Aug 11 13:11:34 2009 +0100

    [osx] Clean up Makefile.am
    
    The OS X backend Makefile.am was missing a line concatenation, and
    so the -xobjective-c directive was always ignored.
    
    Instead of dumping everything into INCLUDES and LDADD we should follow
    what the rest of the backends do, and use per-target CFLAGS and LDADD,
    and reserve the INCLUDES to -D and -I directives.
    
    Thanks to: Christian Hergert <chris@dronelabs.com>

 clutter/osx/Makefile.am |   30 ++++++++++++++----------------
 1 files changed, 14 insertions(+), 16 deletions(-)

commit d0748b3b9b34bf77ed3b813e3872cac64d6a6c35
Merge: d263e7a df572d0
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Aug 10 17:21:20 2009 +0100

    Merge branch 'system-json-glib'
    
    * system-json-glib:
      [script] Simplify the parser code
      Update JSON-GLib dependency

commit d263e7a78b7e98b2b87a51a194b93473344b6b27
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Aug 10 17:19:04 2009 +0100

    [build] Install JSON headers inside the right directory
    
    Don't install inside the clutter-MAJOR_MINOR/ directory, but use
    the API_VERSION (1.0).
    
    Otherwise we'd have the Clutter headers for 1.x inside:
    
            $includedir/clutter-1.0/clutter
    
    And the JSON-related headers inside:
    
            $includedir/clutter-1.<minor>/clutter

 clutter/json/Makefile.am |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 19a53054fde3ccfac365452618e4524e3f3c7efc
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Aug 7 15:27:25 2009 +0100

    Bump to 1.1.1 after branching 1.0

 configure.ac |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 420ed353b53bd624331bd249d7df98d14714b504
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Aug 7 08:18:17 2009 +0100

    [x11] Do not ask to destroy an empty Window
    
    The fix for bug 1750 inside commit b190448e made Clutter-GTK spew
    BadWindow errors. The reason for that is that we call XDestroyWindow()
    without checking if the old Window is None; this happens if we call
    clutter_x11_set_stage_foreign() on a new ClutterStage before it has
    been realized.
    
    Since Clutter-GTK does not need to realize the Stage it is going to
    embed anymore (the only reason for that was to obtain a proper Visual
    but now there's ClutterBackendX11 API for that), the set_stage_foreign()
    call is effectively setting the StageX11 Window for the first time.

 clutter/x11/clutter-stage-x11.c |   20 +++++++++++++++-----
 1 files changed, 15 insertions(+), 5 deletions(-)

commit 335fb07ab02bc719c04bf2de115a88216f1321f7
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Aug 5 17:46:18 2009 +0100

    [actor] Add missing return_if_fail()
    
    The queue_relayout() method was missing the argument check.
    
    Thanks to: Neil Patel <njpatel@gmail.com>

 clutter/clutter-actor.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

commit 1434d7213487ad42626fcc4b1da180fe98192ef1
Author: Neil Roberts <neil@linux.intel.com>
Date:   Wed Aug 5 15:51:49 2009 +0100

    Small doc fix to clutter_text_get_color
    
    Bug reported by Rob Bradford.

 clutter/clutter-text.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit b190448ed460ae466cd6d1c7c34e47d4386fe4c4
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Aug 4 16:59:15 2009 +0100

    [x11] Destroy the Window we own when setting a foreign one
    
    When we replace the stage Window using a foreign one we also need to
    destroy the Window we created, if needed, to avoid leaking resources
    all around.
    
    Fixes bug:
    
      http://bugzilla.openedhand.com/show_bug.cgi?id=1750

 clutter/x11/clutter-stage-x11.c |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

commit 7963254c23f42a43b64ca3f2401499b456d677ce
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Aug 4 11:39:09 2009 +0100

    [docs] Close a tag

 doc/reference/clutter/building-clutter.xml |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

commit 79288b46ed60efe4cf3f970ef7f1cce17685cd84
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Aug 4 11:38:48 2009 +0100

    [docs] Fix a missing parameter

 clutter/cogl/cogl-vertex-buffer.h |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 9cda8d130f7097d8ca43ffb0e50206ab72d1892d
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Aug 4 11:11:59 2009 +0100

    [actor] Be more explicit when warning about invariants
    
    The "catch all" warning for a the mapped invariant violation is too
    generic: it doesn't tell you why the invariant was broken in case
    we are trying to map an unparented actor - e.g. through a Clone.

 clutter/clutter-actor.c |   10 ++++++++--
 1 files changed, 8 insertions(+), 2 deletions(-)

commit f8a964b422c195219c59a3b21d9bb3125ce215dd
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Aug 4 11:10:55 2009 +0100

    [cogl] Expose cogl_is_vertex_buffer()
    
    The function is public and available in the shared object, but
    it's not present in the header, so this is not an API/ABI change.

 clutter/cogl/cogl-vertex-buffer.h    |   14 ++++++++++++++
 doc/reference/cogl/cogl-sections.txt |    1 +
 2 files changed, 15 insertions(+), 0 deletions(-)

commit c9f57452e60c89c0b046def2f1787773545244df
Author: Robert Bragg <robert@linux.intel.com>
Date:   Mon Aug 3 15:03:19 2009 +0100

    [build] remove reference to light1.png in tests/interactive/Makefile.am
    
    This file doesn't exist in the repo and isn't referenced by any unit tests.

 tests/interactive/Makefile.am |    4 +---
 1 files changed, 1 insertions(+), 3 deletions(-)

commit 71c4fa0f73ec9a101a4dcb07a0d782e075185d4b
Author: Robert Bragg <robert@linux.intel.com>
Date:   Mon Aug 3 14:53:46 2009 +0100

    [build] dist tests/interactive/wrapper.sh
    
    in tests/interactive/Makefile.am add wrapper.sh to EXTRA_DIST otherwise
    interactive unit tests wont be runnable when building from distributed
    tarballs.

 tests/interactive/Makefile.am |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

commit c9c87543e8f827ee4c3510cd0025e8653d3309b1
Author: Damien Lespiau <damien.lespiau@intel.com>
Date:   Mon Aug 3 14:11:33 2009 +0100

    [debug] CLUTTER_{NOTE,MARK,DBG,GLERR,TIMESTAMP} should always be statements
    
    In case someone tries to do:
    	if (foo)
    		CLUTTER_NOTE(DOMAIN, "%s", blah);
    
    CLUTTER_NOTE () should always be a statement

 clutter/clutter-debug.h |   10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)

commit cd35f3b384b645d171de49eee555363d4b2acc94
Author: Damien Lespiau <damien.lespiau@intel.com>
Date:   Mon Aug 3 13:58:52 2009 +0100

    [debug] Fix __GNUC__ typo
    
    The right gcc define is __GNUC__ not __GNUC_. This typo had the side
    effect that we were using the non gcc specific debug macros leading to
    a less optmised CLUTTER_NOTE () than one could have dreamed of.

 clutter/clutter-debug.h |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 94b35a4a5ee4fa86d837b2deb06fe849a2a68977
Author: Damien Lespiau <damien.lespiau@intel.com>
Date:   Mon Aug 3 13:56:32 2009 +0100

    [build] GCC_FLAGS is no more, MAINTAINER_CFLAGS is the One.
    
    CC_FLAGS was a left over from the 0.8.x age. Killed it and use the
    newer MAINTAINER_CFLAGS variable instead.

 clutter/Makefile.am           |    2 +-
 clutter/eglnative/Makefile.am |    2 +-
 clutter/eglx/Makefile.am      |    2 +-
 clutter/fruity/Makefile.am    |    2 +-
 clutter/glx/Makefile.am       |    3 +--
 clutter/json/Makefile.am      |    2 ++
 clutter/osx/Makefile.am       |    2 +-
 clutter/sdl/Makefile.am       |    2 +-
 clutter/win32/Makefile.am     |    2 +-
 clutter/x11/Makefile.am       |    3 +--
 10 files changed, 11 insertions(+), 11 deletions(-)

commit 4ee49eded0561ad987b50e1b04e15a685c1c06e2
Author: Damien Lespiau <damien.lespiau@intel.com>
Date:   Mon Aug 3 13:58:21 2009 +0100

    [gitignore] Ignore new test-color-hls-roundtrip test

 tests/.gitignore |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

commit b2ab2b953548bb9af41789e2465dfa9a588c9b2d
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Sun Aug 2 18:34:17 2009 +0100

    [actor] Use the right vertex
    
    The vertex that should be used by the apply_relative_transform
    is the one passed in as const, and the result should be placed
    inside the non-const ClutterVertext. Currently, we are using
    the latter, and thus the function is completely useless.

 clutter/clutter-actor.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

commit ae2a861a0b042e36393e5eb76ecb17759a933892
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Jul 31 10:29:33 2009 +0100

    [x11] Force a redraw before mapping the stage
    
    Does as it says on the tin: run a paint cycle before calling
    XMapWindow().

 clutter/x11/clutter-stage-x11.c |    9 ++++++---
 1 files changed, 6 insertions(+), 3 deletions(-)

commit abdcf4debbedd9f924da4db9403ecbc9a030cb20
Author: Joshua Lock <josh@linux.intel.com>
Date:   Fri Jul 31 10:16:56 2009 +0100

    [docs] Update building instructions for OS X
    
    Recommend OS X users install the dependencies using MacPorts and build
    Clutter themselves.
    
    Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>

 doc/reference/clutter/building-clutter.xml |   41 +++++++++++++++------------
 1 files changed, 23 insertions(+), 18 deletions(-)

commit b3842a6b62979d264b7d7057e4125602e644ccad
Author: Neil Roberts <neil@linux.intel.com>
Date:   Wed Jul 29 19:06:36 2009 +0100

    [mingw] Update the README
    
    The README has been updated to say that you can use the script under
    MSYS and also to contain a pointer to OAH. It also contains the
    updated contents of a blog post¹ about building with MSYS.
    
    1. http://www.busydoingnothing.co.uk/blog/2008/07/13#ClutterWin32

 build/mingw/README |  133 +++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 127 insertions(+), 6 deletions(-)

commit 8ad446f3e9903d2339536db4febef1cbc77db643
Author: Neil Roberts <neil@linux.intel.com>
Date:   Wed Jul 29 18:13:19 2009 +0100

    [mingw-cross-compile.sh] Fix to use git rather than svn
    
    The script includes a part to automatically checkout the Clutter
    source and build it but it was using the old svn repo instead of git.

 build/mingw/mingw-cross-compile.sh |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

commit d796d3c88c3d3044d1c1bf54c320504f4e5886eb
Author: Neil Roberts <neil@linux.intel.com>
Date:   Wed Jul 29 17:59:54 2009 +0100

    [mingw-cross-compile.sh] Add a note about MSYS in the comment
    
    The comment previously implied that you could only use the script to
    cross compile but it works just as well under MSYS.

 build/mingw/mingw-cross-compile.sh |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

commit 1e14d3041dc2f68d18dcd3e03d34e8d0fa7a05f4
Author: Neil Roberts <neil@linux.intel.com>
Date:   Wed Jul 29 17:58:02 2009 +0100

    [mingw-cross-compile.sh] Update version numbers of all the dependencies
    
    This updates the URLs for the binary dependencies to use the latest
    versions.

 build/mingw/mingw-cross-compile.sh |   23 +++++++++++++----------
 1 files changed, 13 insertions(+), 10 deletions(-)

commit a3c323c52c42785f93641e3603a5426bbb371876
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Jul 29 17:22:18 2009 +0100

    [docs] Remove mentions of Clutter-Cairo
    
    The mingw README file still mentions Clutter-Cairo as a known issue.

 build/mingw/README |    8 ++------
 1 files changed, 2 insertions(+), 6 deletions(-)

commit 0ec6793738085308206e028d1136cb4cd4274f11
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Jul 29 17:21:13 2009 +0100

    [mingw/win32] Remove clutter-cairo
    
    The Clutter-Cairo library has been removed, so there's no point
    in checking it out -- from Subversion, even.

 build/mingw/mingw-cross-compile.sh |   23 -----------------------
 1 files changed, 0 insertions(+), 23 deletions(-)

commit fba1045bcb46da4ed04bd789b7650e985915243b
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Jul 28 18:39:24 2009 +0100

    Post-release bump to 1.0.1

 configure.ac |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit df572d089c0811ecbc5e41d1c68d39fae47040e9
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Jun 29 16:33:36 2009 +0100

    [script] Simplify the parser code
    
    JSON-GLib provides simple accessors for basic types so that we
    can avoid getting the JsonNode out of a complex type. This makes
    the code simpler to understand.

 clutter/clutter-script.c |   39 ++++++++++-----------------------------
 1 files changed, 10 insertions(+), 29 deletions(-)

commit 354fa437cdc4b67ca6c2452756a261222109b289
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu Jun 25 18:56:52 2009 +0100

    Update JSON-GLib dependency
    
    Currently, Clutter depends on the internal copy of JSON-GLib for
    the ClutterScript parser. This is done to allow building Clutter
    on platforms that do not have the library installed on the system.
    
    Just like we use the internal PNG/JPEG loader as a fallback in
    case we don't have GdkPixbuf or CoreGraphics available, we should
    use the internal copy of JSON-GLib only in case the system copy
    is not present.
    
    The change is simply to move the default for the --with-json
    configure switch from "internal" to "check".
    
    In order to allow stricter compliance, a third setting should
    be present: "system", which fails if the system copy is not
    available.
    
    We should also change the introspection generation to avoid
    breaking in case we require the installed Json-1.0.gir instead
    of the generated ClutterJson.gir

 clutter/Makefile.am |    5 ++++-
 configure.ac        |   44 +++++++++++++++++++++++++++++++++++---------
 2 files changed, 39 insertions(+), 10 deletions(-)
