commit ab6184298083541d37356f1f5656380d0cda047c
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Tue Mar 2 18:03:23 2010 +0000
Release 1.2.0 (stable)
configure.ac | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
commit 3c9a24f4a78cd676e635ad32df639b57e65e3be7
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Tue Mar 2 18:03:13 2010 +0000
Update the NEWS file
NEWS | 42 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 42 insertions(+)
commit 9e4c008117da6b36237608bd896fb164577ef314
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Tue Mar 2 19:17:28 2010 +0000
build: Include test-script-model.json
The Model conformance test for ClutterScript parsing requires the file
to be inside the dist.
tests/data/Makefile.am | 1 +
1 file changed, 1 insertion(+)
commit 2d51432e52745d9484cf2d54567c2f95670ea5ae
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Tue Mar 2 19:29:22 2010 +0000
build: Add test-animator-3.json to EXTRA_DIST
tests/data/Makefile.am | 1 +
1 file changed, 1 insertion(+)
commit 2f68949962d964e38a640581e232c4b673ce3023
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Tue Mar 2 19:09:20 2010 +0000
conformance: Use g_assert_no_error() if available
GLib 2.20 has a nice g_assert() wrapper which will print out the GError
if it's not NULL.
tests/conform/test-animator.c | 15 +++++++++++++++
tests/conform/test-model.c | 5 +++++
tests/conform/test-script-parser.c | 30 ++++++++++++++++++++++++++++++
3 files changed, 50 insertions(+)
commit 048fcea988446af1ce18356eb1718f85088e73c8
Author: Neil Roberts <neil@linux.intel.com>
Date: Tue Mar 2 18:30:31 2010 +0000
clutter-actor: Initialize with the identity matrix in get_transform
The documentation and name of the get_transformation_matrix function
implies that 'matrix' is purely an out parameter. However it wasn't
initializing the matrix before calling the 'apply_transform' virtual
so it was basically just a wrapper for the virtual. The virtual
assumes the matrix parameter is in/out and applies the actor's
transformation on top of any existing transformations. This causes
unexpected semantics that are inconsistent with the documentation.
clutter/clutter-actor.c | 2 ++
1 file changed, 2 insertions(+)
commit e550755f3dc13f11a9d956bb9b52294ea33c8da6
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Tue Mar 2 17:47:13 2010 +0000
text-field: Cast GString->len to integer before printing
The compiler will warn on 64bit architectures when using %d for
printing a gsize field.
http://bugzilla.openedhand.com/show_bug.cgi?id=2019
tests/interactive/test-text-field.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
commit 38a24144980bd0c6d717f39eb5d215d3abc30ef5
Author: Robert Bragg <robert@linux.intel.com>
Date: Tue Mar 2 14:04:54 2010 +0000
glx tfp: make clutter_glx_texture_pixmap_update_area cheap
This changes clutter_glx_texture_pixmap_update_area so it defers the
call to glXBindTexImageEXT until our pre "paint" signal handler which
makes clutter_glx_texture_pixmap_update_area cheap to call.
The hope is that mutter can switch to reporting raw damage updates to
ClutterGLXTexturePixmap and we can use these to queue clipped redraws.
clutter/glx/clutter-glx-texture-pixmap.c | 186 +++++++++++++++----------------
1 file changed, 89 insertions(+), 97 deletions(-)
commit c0d5af5de5bcc504abeb81a7f7a1ec0f696b574d
Author: Robert Bragg <robert@linux.intel.com>
Date: Mon Nov 30 17:47:55 2009 +0000
Adds initial clipped redraw support to Clutter
A new (internal only currently) API, _clutter_actor_queue_clipped_redraw
can be used to queue a redraw along with a clip rectangle in actor
coordinates. This clip rectangle propagates up to the stage and clutter
backend which may optionally use the information to optimize stage
redraws. The GLX backend in particular may scissor the next redraw to
the clip rectangle and use GLX_MESA_copy_sub_buffer to present the stage
subregion.
The intention is that any actors that can naturally determine the bounds
of updates should queue clipped redraws to reduce the cost of updating
small regions of the screen.
Notes:
» If GLX_MESA_copy_sub_buffer isn't available then the GLX backend
ignores any clip rectangles.
» queuing multiple clipped redraws will result in the bounding box of
each clip rectangle being used.
» If a clipped redraw has a height > 300 pixels then it's promoted into
a full stage redraw, so that the GPU doesn't end up blocking too long
waiting for the vsync to reach the optimal position to avoid tearing.
» Note: no empirical data was used to come up with this threshold so
we may need to tune this.
» Currently only ClutterX11TexturePixmap makes use of this new API. This
is done via a new "queue-damage-redraw" signal that is emitted when
the pixmap is updated. The default handler queues a clipped redraw
with the assumption that the pixmap is being painted as a rectangle
covering the actors transformed allocation. If you subclass
ClutterX11TexturePixmap and change how it's painted you now also
need to override the signal handler and queue your own redraw.
Technically this is a semantic break, but it's assumed that no one
is currently doing this.
This still leaves a few unsolved issues with regards to optimizing sub
stage redraws that need to be addressed in further work so this can only
be considered a stepping stone a this point:
» Because we have no reliable way to determine if the painting of any
given actor is being modified any optimizations implemented using
_clutter_actor_queue_redraw_with_clip must be overridable by a
subclass, and technically must be opt-in for existing classes to avoid
a change in semantics. E.g. consider that a user connects to the paint
signal for ClutterTexture and paints a circle instead of a rectangle.
In this case any original logic to queue clipped redraws would be
incorrect.
» Currently only the implementation of an actor has enough information
with which to queue clipped redraws. E.g. It is not possible for
generic code in clutter-actor.c to queue a clipped redraw when hiding
an actor because actors have no way to report a "paint box". (remember
actors can draw outside their allocation and actors with depth may
also be projected outside of their allocation)
» The current plan is to add a actor_class->get_paint_cuboid()
virtual so actors can report a bounding cube for everything they
would draw in their current state and use that to queue clipped
redraws against the stage by projecting the paint cube into stage
coordinates.
» Our heuristics for promoting clipped redraws into full redraws to
avoid blocking the GPU while we wait for the vsync need improving:
» vsync issues aren't relevant for redirected/composited applications
so they should use different heuristics. In this case we instead
need to trade off the cost of blitting when using glXCopySubBuffer
vs promoting to a full redraw and flipping instead.
clutter/clutter-actor.c | 402 ++++++++++++++++++++++-------
clutter/clutter-actor.h | 20 ++
clutter/clutter-debug.h | 6 +-
clutter/clutter-main.c | 4 +-
clutter/clutter-private.h | 39 ++-
clutter/clutter-stage-window.c | 29 +++
clutter/clutter-stage-window.h | 82 +++---
clutter/clutter-stage.c | 64 +++++
clutter/glx/clutter-backend-glx.c | 185 ++------------
clutter/glx/clutter-backend-glx.h | 5 +
clutter/glx/clutter-glx-texture-pixmap.c | 14 +-
clutter/glx/clutter-stage-glx.c | 426 +++++++++++++++++++++++++++++++
clutter/glx/clutter-stage-glx.h | 8 +-
clutter/x11/clutter-x11-texture-pixmap.c | 172 ++++++++++---
14 files changed, 1116 insertions(+), 340 deletions(-)
commit 09d8460a5c3f905573378172ed553fd57d49913e
Author: Øyvind Kolås <pippin@linux.intel.com>
Date: Tue Mar 2 17:03:03 2010 +0000
animator: s/clutter_animator_run/clutter_animator_start/
This is consistent with choice of words in clutter_timeline_start and
makes the API less surprising.
clutter/clutter-animator.c | 4 ++--
clutter/clutter-animator.h | 2 +-
doc/reference/clutter/clutter-sections.txt | 2 +-
tests/interactive/test-animator.c | 2 +-
4 files changed, 5 insertions(+), 5 deletions(-)
commit 9d1ea81dc51464e86d7a4eee27874136e9e34cad
Author: Robert Bragg <robert@linux.intel.com>
Date: Tue Mar 2 02:07:40 2010 +0000
cogl debug: Adds missing guards around debug cogl_args[]
commit 511e5ceb516dc accidentally removed the #ifdef COGL_ENABLE_DEBUG
guards around the "cogl-debug" and "cogl-no-debug" cogl_args[] which
this patch restores.
clutter/cogl/cogl/cogl-debug.c | 2 ++
1 file changed, 2 insertions(+)
commit aba6c5acc7f1cb15f92666d1681a95b5a805efaf
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Tue Mar 2 15:08:01 2010 +0000
flow-layout: Provide a preferred size
The FlowLayout fails to provide a preferred size in case no sizing is
specified on one axis. It should, instead, have the preferred size of
the sum of its children, depending on the orientation property.
http://bugzilla.openedhand.com/show_bug.cgi?id=2013
clutter/clutter-flow-layout.c | 92 +++++++++++++++++++++++++++---------
tests/interactive/test-flow-layout.c | 20 ++++----
2 files changed, 82 insertions(+), 30 deletions(-)
commit e3fba5f2e80a4c72cc4ef0c193a0b6569e1d8cbf
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Tue Mar 2 13:32:46 2010 +0000
build: Require libtool >= 2.2.6
Update the configure.ac to use the LT_INIT() instead of the deprecated
AC_PROG_LIBTOOL. This also allows us to depend on a specific libtool
version, namely one that doesn't thoroughly suck.
configure.ac | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
commit 9a55ddc7c36185b31120b5c5275dac60f5926d8d
Author: Øyvind Kolås <pippin@linux.intel.com>
Date: Tue Mar 2 12:38:51 2010 +0000
animator: restore accidentally removed break
In 505e5966 a break statement was removed by accident, causing the
animator to enter infinite loops if no initial key is present.
clutter/clutter-animator.c | 2 ++
1 file changed, 2 insertions(+)
commit 3a84af0106522e46d930fc81013c86465357dc89
Merge: 0baeabc2a a2573ad2a
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Tue Mar 2 12:25:45 2010 +0000
Merge branch 'eglnative-update'
* eglnative-update:
eglnative: Add CLUTTER_FB_DEVICE
eglnative: Update implementation
commit a2573ad2ad39931d2a817d4585d87b70c3f86526
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Mon Mar 1 11:38:41 2010 +0000
eglnative: Add CLUTTER_FB_DEVICE
Some EGL drivers for embedded devices require a specific framebuffer
device to be opened and passed to eglCreateWindowSurface(). Since it's
optional, we can provide an environment variabled called
CLUTTER_FB_DEVICE that can be used to specify the path of the device
to be opened.
http://bugzilla.openedhand.com/show_bug.cgi?id=1997
clutter/eglnative/clutter-backend-egl.c | 59 ++++++++++++++++++++++++++++++---
clutter/eglnative/clutter-backend-egl.h | 3 ++
2 files changed, 57 insertions(+), 5 deletions(-)
commit b4e9f40394fb2e4d63bccc9f9d932a5da87cc2a2
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Sat Feb 27 09:42:42 2010 +0000
eglnative: Update implementation
Update the EGL native framebuffer backend to be 1.2-ready:
» create the EGL context and the surface inside the create_context()
implementation so that a context is always available
» simplify the StageWindow implementation
» clean up old code
http://bugzilla.openedhand.com/show_bug.cgi?id=1997
clutter/eglnative/clutter-backend-egl.c | 186 +++++++++++++++++++++--
clutter/eglnative/clutter-backend-egl.h | 20 ++-
clutter/eglnative/clutter-event-egl.c | 60 +++++---
clutter/eglnative/clutter-stage-egl.c | 259 +++++++-------------------------
clutter/eglnative/clutter-stage-egl.h | 8 +-
5 files changed, 275 insertions(+), 258 deletions(-)
commit 0baeabc2aa1a4b2a1908b7acd15f947cb8b1eb4d
Author: Owen W. Taylor <otaylor@fishsoup.net>
Date: Mon Mar 1 13:54:03 2010 -0500
Fall back in _cogl_texture_2d_new_from_bitmap()
Just like _cogl_texture_2d_new_with_size(),
_cogl_texture_2d_new_from_bitmap() needs to check if an unsliced
texture can be created at the given size, or if hardware
limitations prevent this.
http://bugzilla.openedhand.com/show_bug.cgi?id=2014
Signed-off-by: Neil Roberts <neil@linux.intel.com>
clutter/cogl/cogl/cogl-texture-2d.c | 3 +++
1 file changed, 3 insertions(+)
commit 74a27bbb1c0ae12ba937d215323d5a716781cb1b
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Tue Mar 2 09:53:55 2010 +0000
docs: Documentation fixes
Let's see if we can get a 100% coverage for Clutter too.
clutter/clutter-animatable.h | 9 +++++
clutter/clutter-animator.c | 5 +--
clutter/clutter-box.c | 3 ++
clutter/clutter-box.h | 49 +++++++++++++++++++++++++++
clutter/clutter-container.h | 9 +++++
clutter/clutter-device-manager.h | 13 ++++++--
clutter/clutter-media.h | 9 +++++
clutter/clutter-scriptable.h | 9 +++++
clutter/clutter-version.h.in | 38 +++++++++++++++++++++
clutter/eglnative/clutter-backend-egl.c | 7 ++++
clutter/glx/clutter-glx-texture-pixmap.c | 53 +++++++++++++++---------------
clutter/glx/clutter-glx-texture-pixmap.h | 16 +++++++++
clutter/x11/clutter-backend-x11.c | 8 +++++
clutter/x11/clutter-x11-texture-pixmap.c | 36 +++++++++++++++-----
clutter/x11/clutter-x11-texture-pixmap.h | 20 ++++++++++-
clutter/x11/clutter-x11.h | 8 ++++-
doc/reference/clutter/Makefile.am | 4 ---
doc/reference/clutter/clutter-sections.txt | 4 +--
18 files changed, 252 insertions(+), 48 deletions(-)
commit c0a553163b5e82cb70e956e802d7f9b61bb13948
Author: Neil Roberts <neil@linux.intel.com>
Date: Mon Mar 1 18:08:41 2010 +0000
cogl: Support any format in cogl_read_pixels
cogl_read_pixels() no longer asserts that the format passed in is
RGBA_8888 but instead accepts any format. The appropriate GL enums for
the format are passed to glReadPixels so OpenGL should be perform a
conversion if neccessary.
It currently assumes glReadPixels will always give us premultiplied
data. This will usually be correct because the result of the default
blending operations for Cogl ends up with premultiplied data in the
framebuffer. However it is possible for the framebuffer to be in
whatever format depending on what CoglMaterial is used to render to
it. Eventually we may want to add a way for an application to inform
Cogl that the framebuffer is not premultiplied in case it is being
used for some special purpose.
If the requested format is not premultiplied then Cogl will convert
it. The tests have been changed to read the data as premultiplied so
that they won't be affected by the conversion. Picking in Clutter has
been changed to use COGL_PIXEL_FORMAT_RGB_888 because it doesn't need
the alpha component. clutter_stage_read_pixels is left unchanged
because the application can't specify a format for that so it seems to
make most sense to store unpremultiplied values.
http://bugzilla.openedhand.com/show_bug.cgi?id=1959
clutter/clutter-main.c | 10 +--
clutter/cogl/cogl/cogl.c | 84 +++++++++++++++-------
clutter/cogl/cogl/cogl.h | 8 ++-
tests/conform/test-cogl-backface-culling.c | 2 +-
tests/conform/test-cogl-blend-strings.c | 4 +-
tests/conform/test-cogl-materials.c | 2 +-
tests/conform/test-cogl-multitexture.c | 2 +-
tests/conform/test-cogl-offscreen.c | 8 +--
tests/conform/test-cogl-premult.c | 2 +-
tests/conform/test-cogl-readpixels.c | 26 ++++++-
tests/conform/test-cogl-texture-mipmaps.c | 2 +-
tests/conform/test-cogl-vertex-buffer-contiguous.c | 10 +--
tests/conform/test-cogl-vertex-buffer-interleved.c | 2 +-
tests/conform/test-cogl-vertex-buffer-mutability.c | 4 +-
tests/conform/test-cogl-viewport.c | 2 +-
15 files changed, 113 insertions(+), 55 deletions(-)
commit 505e5966e4ee649b7528cdf0410a4e52d59a25ec
Author: Øyvind Kolås <pippin@linux.intel.com>
Date: Mon Mar 1 18:35:01 2010 +0000
Do not overwrite the initial key, making ease-in work as expected.
Fixes bug #2008, where a property with ease-in would jump instead of
start at the properties initial value.
clutter/clutter-animator.c | 9 ---------
1 file changed, 9 deletions(-)
commit 7d0ad7ac1b8f6b8a92d0c97180d2885a3a18bcdd
Author: Bastian Winkler <buz@netbuz.org>
Date: Mon Mar 1 17:00:41 2010 +0100
animator: Remove redundant declaration in header file
clutter_animator_property_set_interpolation was declared twice in
clutter-animator.h
http://bugzilla.openedhand.com/show_bug.cgi?id=2012
clutter/clutter-animator.h | 5 -----
1 file changed, 5 deletions(-)
commit 53eecb8469855d17e863c2113a58f0b6e9c26729
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Mon Mar 1 17:47:52 2010 +0000
docs: Add Animator.compute_value()
The clutter_animator_compute_value() has been added to the API, but it
is missing from the API reference.
doc/reference/clutter/clutter-sections.txt | 1 +
1 file changed, 1 insertion(+)
commit 1d9ddad9a3ee79d32091b12197bd18e0b283da22
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Mon Mar 1 17:45:00 2010 +0000
docs: Fix syntax error in Model's documentation
A missing opening quote sign is breaking gtk-doc for ClutterModel.
clutter/clutter-model.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
commit 1777a69f2f036e2ead5986a5c91f18480a14e4fd
Merge: 8146d8d08 7ffb62eab
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Mon Mar 1 15:37:12 2010 +0000
Merge branch 'stage-min-size-rework'
* stage-min-size-rework:
docs: Update minimum size accessors
actor: Use the TOPLEVEL flag instead of a type check
[stage] Use min-width/height props for min size
commit 8146d8d08deafd6cf86238a4a8c2fa6149e5c691
Author: Robert Bragg <robert@linux.intel.com>
Date: Fri Feb 26 09:44:29 2010 +0000
profile: avoid segfault generating reports with no stats
The clutter-profile.c print_report() code would crash if no stats had
been gathered because uprof would return NULL for the "Redrawing" timer
which we then dereferenced.
This changes the code to start by checking for the "Mainloop",
"Redrawing" and "Do Pick" timers and if none are present it returns
immediately without generating any report.
clutter/clutter-profile.c | 18 +++++++++---------
1 file changed, 9 insertions(+), 9 deletions(-)
commit b9a91594f4b37388222b587eaea7618ea8c78381
Author: Robert Bragg <robert@linux.intel.com>
Date: Fri Feb 26 09:48:43 2010 +0000
build: Fixes out of tree builds
When building the gobject introspection data the build wasn't able to
find clutter/clutter-json.h so this adds $(top_builddir) to INCLUDES.
clutter/Makefile.am | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
commit 79acb088e7f6916fb77a6341c22f9022c0f50208
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Mon Mar 1 12:56:10 2010 +0000
Remove mentions of the FSF address
Since using addresses that might change is something that finally
the FSF acknowledge as a plausible scenario (after changing address
twice), the license blurb in the source files should use the URI
for getting the license in case the library did not come with it.
Not that URIs cannot possibly change, but at least it's easier to
set up a redirection at the same place.
As a side note: this commit closes the oldes bug in Clutter's bug
report tool.
http://bugzilla.openedhand.com/show_bug.cgi?id=521
clutter/clutter-actor.c | 7 +++----
clutter/clutter-actor.h | 3 ++-
clutter/clutter-alpha.c | 6 ++----
clutter/clutter-backend.c | 11 ++++++-----
clutter/clutter-behaviour-depth.c | 4 +---
clutter/clutter-behaviour-ellipse.c | 10 +---------
clutter/clutter-behaviour-opacity.c | 4 +---
clutter/clutter-behaviour-path.c | 11 ++++++-----
clutter/clutter-behaviour-rotate.c | 4 +---
clutter/clutter-behaviour-scale.c | 4 +---
clutter/clutter-behaviour.c | 4 +---
clutter/clutter-bezier.c | 4 +---
clutter/clutter-cairo-texture.c | 6 ++----
clutter/clutter-cairo-texture.h | 7 +++----
clutter/clutter-child-meta.c | 4 +---
clutter/clutter-color.c | 4 +---
clutter/clutter-container.c | 6 +++---
clutter/clutter-event.c | 6 +++---
clutter/clutter-feature.c | 6 +++---
clutter/clutter-fixed.c | 6 +++---
clutter/clutter-frame-source.c | 6 +++---
clutter/clutter-group.c | 6 +++---
clutter/clutter-id-pool.c | 6 +++---
clutter/clutter-keysyms.h | 6 +++---
clutter/clutter-list-model.c | 6 +++---
clutter/clutter-main.c | 6 +++---
clutter/clutter-model.c | 6 +++---
clutter/clutter-private.h | 6 +++---
clutter/clutter-rectangle.c | 6 +++---
clutter/clutter-score.c | 6 +++---
clutter/clutter-script-parser.c | 6 +++---
clutter/clutter-script-private.h | 6 +++---
clutter/clutter-script.c | 6 +++---
clutter/clutter-scriptable.c | 6 +++---
clutter/clutter-shader-types.c | 6 +++---
clutter/clutter-shader.c | 6 +++---
clutter/clutter-stage.c | 6 +++---
clutter/clutter-texture.c | 6 +++---
clutter/clutter-timeline.c | 6 +++---
clutter/clutter-timeout-pool.c | 6 +++---
clutter/clutter-units.c | 6 +++---
clutter/clutter-util.c | 6 +++---
clutter/clutter-version.h.in | 6 +++---
clutter/clutter.h | 6 +++---
clutter/cogl/cogl/cogl-atlas-texture-private.h | 6 +++---
clutter/cogl/cogl/cogl-atlas-texture.c | 6 +++---
clutter/cogl/cogl/cogl-atlas.c | 6 +++---
clutter/cogl/cogl/cogl-atlas.h | 6 +++---
clutter/cogl/cogl/cogl-bitmap-fallback.c | 6 +++---
clutter/cogl/cogl/cogl-bitmap-pixbuf.c | 6 +++---
clutter/cogl/cogl/cogl-bitmap-private.h | 6 +++---
clutter/cogl/cogl/cogl-bitmap.c | 6 +++---
clutter/cogl/cogl/cogl-bitmap.h | 6 +++---
clutter/cogl/cogl/cogl-blend-string.c | 6 +++---
clutter/cogl/cogl/cogl-blend-string.h | 6 +++---
clutter/cogl/cogl/cogl-buffer-private.h | 6 +++---
clutter/cogl/cogl/cogl-buffer.c | 6 +++---
clutter/cogl/cogl/cogl-buffer.h | 6 +++---
clutter/cogl/cogl/cogl-clip-stack.c | 6 +++---
clutter/cogl/cogl/cogl-clip-stack.h | 6 +++---
clutter/cogl/cogl/cogl-color.c | 6 +++---
clutter/cogl/cogl/cogl-color.h | 6 +++---
clutter/cogl/cogl/cogl-context.c | 6 +++---
clutter/cogl/cogl/cogl-context.h | 6 +++---
clutter/cogl/cogl/cogl-debug.c | 6 +++---
clutter/cogl/cogl/cogl-debug.h | 6 +++---
clutter/cogl/cogl/cogl-deprecated.h | 6 +++---
clutter/cogl/cogl/cogl-feature-private.c | 6 +++---
clutter/cogl/cogl/cogl-feature-private.h | 6 +++---
clutter/cogl/cogl/cogl-fixed.c | 6 +++---
clutter/cogl/cogl/cogl-fixed.h | 6 +++---
clutter/cogl/cogl/cogl-framebuffer-private.h | 6 +++---
clutter/cogl/cogl/cogl-framebuffer.c | 6 +++---
clutter/cogl/cogl/cogl-handle.h | 6 +++---
clutter/cogl/cogl/cogl-internal.h | 6 +++---
clutter/cogl/cogl/cogl-journal-private.h | 6 +++---
clutter/cogl/cogl/cogl-journal.c | 6 +++---
clutter/cogl/cogl/cogl-material-private.h | 6 +++---
clutter/cogl/cogl/cogl-material.c | 6 +++---
clutter/cogl/cogl/cogl-material.h | 6 +++---
clutter/cogl/cogl/cogl-matrix-mesa.c | 6 +++---
clutter/cogl/cogl/cogl-matrix-mesa.h | 6 +++---
clutter/cogl/cogl/cogl-matrix-private.h | 6 +++---
clutter/cogl/cogl/cogl-matrix-stack.c | 6 +++---
clutter/cogl/cogl/cogl-matrix-stack.h | 6 +++---
clutter/cogl/cogl/cogl-matrix.c | 6 +++---
clutter/cogl/cogl/cogl-matrix.h | 6 +++---
clutter/cogl/cogl/cogl-offscreen.h | 6 +++---
clutter/cogl/cogl/cogl-path.c | 6 +++---
clutter/cogl/cogl/cogl-path.h | 6 +++---
clutter/cogl/cogl/cogl-pixel-buffer-private.h | 6 +++---
clutter/cogl/cogl/cogl-pixel-buffer.c | 6 +++---
clutter/cogl/cogl/cogl-pixel-buffer.h | 6 +++---
clutter/cogl/cogl/cogl-primitives.c | 6 +++---
clutter/cogl/cogl/cogl-primitives.h | 6 +++---
clutter/cogl/cogl/cogl-profile.h | 6 +++---
clutter/cogl/cogl/cogl-shader.h | 6 +++---
clutter/cogl/cogl/cogl-spans.c | 6 +++---
clutter/cogl/cogl/cogl-spans.h | 6 +++---
clutter/cogl/cogl/cogl-sub-texture-private.h | 6 +++---
clutter/cogl/cogl/cogl-sub-texture.c | 6 +++---
clutter/cogl/cogl/cogl-texture-2d-private.h | 6 +++---
clutter/cogl/cogl/cogl-texture-2d-sliced-private.h | 6 +++---
clutter/cogl/cogl/cogl-texture-2d-sliced.c | 6 +++---
clutter/cogl/cogl/cogl-texture-2d.c | 6 +++---
clutter/cogl/cogl/cogl-texture-driver.h | 6 +++---
clutter/cogl/cogl/cogl-texture-private.h | 6 +++---
clutter/cogl/cogl/cogl-texture.c | 6 +++---
clutter/cogl/cogl/cogl-texture.h | 6 +++---
clutter/cogl/cogl/cogl-types.h | 6 +++---
clutter/cogl/cogl/cogl-util.c | 6 +++---
clutter/cogl/cogl/cogl-util.h | 6 +++---
clutter/cogl/cogl/cogl-vertex-buffer-private.h | 6 +++---
clutter/cogl/cogl/cogl-vertex-buffer.c | 6 +++---
clutter/cogl/cogl/cogl-vertex-buffer.h | 6 +++---
clutter/cogl/cogl/cogl.c | 6 +++---
clutter/cogl/cogl/cogl.h | 6 +++---
clutter/cogl/cogl/driver/gl/cogl-context-driver.c | 6 +++---
clutter/cogl/cogl/driver/gl/cogl-context-driver.h | 6 +++---
clutter/cogl/cogl/driver/gl/cogl-defines.h.in | 6 +++---
clutter/cogl/cogl/driver/gl/cogl-feature-functions.h | 6 +++---
clutter/cogl/cogl/driver/gl/cogl-program.c | 6 +++---
clutter/cogl/cogl/driver/gl/cogl-program.h | 6 +++---
clutter/cogl/cogl/driver/gl/cogl-shader-private.h | 6 +++---
clutter/cogl/cogl/driver/gl/cogl-shader.c | 6 +++---
clutter/cogl/cogl/driver/gl/cogl-texture-driver.c | 6 +++---
clutter/cogl/cogl/driver/gl/cogl.c | 6 +++---
clutter/cogl/cogl/driver/gles/cogl-context-driver.c | 6 +++---
clutter/cogl/cogl/driver/gles/cogl-context-driver.h | 6 +++---
clutter/cogl/cogl/driver/gles/cogl-defines.h.in | 6 +++---
clutter/cogl/cogl/driver/gles/cogl-feature-functions.h | 6 +++---
clutter/cogl/cogl/driver/gles/cogl-gles2-wrapper.c | 6 +++---
clutter/cogl/cogl/driver/gles/cogl-gles2-wrapper.h | 6 +++---
clutter/cogl/cogl/driver/gles/cogl-program.c | 6 +++---
clutter/cogl/cogl/driver/gles/cogl-program.h | 6 +++---
clutter/cogl/cogl/driver/gles/cogl-shader-private.h | 6 +++---
clutter/cogl/cogl/driver/gles/cogl-shader.c | 6 +++---
clutter/cogl/cogl/driver/gles/cogl-texture-driver.c | 6 +++---
clutter/cogl/cogl/driver/gles/cogl.c | 6 +++---
clutter/cogl/cogl/winsys/cogl-eglnative.c | 6 +++---
clutter/cogl/cogl/winsys/cogl-eglx.c | 6 +++---
clutter/cogl/cogl/winsys/cogl-fruity.c | 6 +++---
clutter/cogl/cogl/winsys/cogl-glx.c | 6 +++---
clutter/cogl/cogl/winsys/cogl-osx.c | 6 +++---
clutter/cogl/cogl/winsys/cogl-sdl.c | 6 +++---
clutter/cogl/cogl/winsys/cogl-win32.c | 6 +++---
clutter/cogl/cogl/winsys/cogl-winsys.h | 6 +++---
clutter/eglnative/clutter-backend-egl.h | 6 +++---
clutter/eglnative/clutter-egl-headers.h | 6 +++---
clutter/eglnative/clutter-egl.h | 6 +++---
clutter/eglnative/clutter-event-egl.c | 6 +++---
clutter/eglx/clutter-backend-egl.h | 6 +++---
clutter/eglx/clutter-egl-headers.h | 6 +++---
clutter/eglx/clutter-eglx.h | 6 +++---
clutter/fruity/clutter-backend-fruity.h | 6 +++---
clutter/fruity/clutter-fruity.h | 6 +++---
clutter/glx/clutter-backend-glx.c | 6 +++---
clutter/glx/clutter-backend-glx.h | 6 +++---
clutter/glx/clutter-event-glx.c | 6 +++---
clutter/glx/clutter-event-glx.h | 6 +++---
clutter/glx/clutter-glx-texture-pixmap.c | 6 +++---
clutter/glx/clutter-glx-texture-pixmap.h | 6 +++---
clutter/glx/clutter-glx.h | 6 +++---
clutter/glx/clutter-stage-glx.c | 6 +++---
clutter/glx/clutter-stage-glx.h | 6 +++---
clutter/osx/clutter-backend-osx.c | 6 +++---
clutter/osx/clutter-backend-osx.h | 6 +++---
clutter/osx/clutter-event-osx.c | 6 +++---
clutter/osx/clutter-osx.h | 6 +++---
clutter/osx/clutter-stage-osx.c | 6 +++---
clutter/osx/clutter-stage-osx.h | 6 +++---
clutter/win32/clutter-backend-win32.c | 6 +++---
clutter/win32/clutter-backend-win32.h | 6 +++---
clutter/win32/clutter-event-win32.c | 6 +++---
clutter/win32/clutter-stage-win32.c | 6 +++---
clutter/win32/clutter-stage-win32.h | 6 +++---
clutter/win32/clutter-win32.h | 6 +++---
clutter/x11/clutter-backend-x11-private.h | 6 +++---
clutter/x11/clutter-backend-x11.c | 6 +++---
clutter/x11/clutter-backend-x11.h | 6 +++---
clutter/x11/clutter-event-x11.c | 6 +++---
clutter/x11/clutter-stage-x11.c | 6 +++---
clutter/x11/clutter-stage-x11.h | 6 +++---
clutter/x11/clutter-x11-texture-pixmap.c | 6 +++---
clutter/x11/clutter-x11-texture-pixmap.h | 6 +++---
clutter/x11/clutter-x11.h | 6 +++---
186 files changed, 543 insertions(+), 570 deletions(-)
commit 23867875a14ab6d7288d6a67c67b20a1f136be94
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Mon Mar 1 11:12:16 2010 +0000
build: Remove unused checks on platform functions
There is no need for us to check for low-level functions and header
files, especially since we haven't been checking the results until
now. This makes cross-compiling slightly more bearable.
clutter/clutter-private.h | 8 ++------
clutter/x11/clutter-backend-x11.c | 9 +++++----
clutter/x11/clutter-stage-x11.c | 4 ++++
configure.ac | 12 +++---------
4 files changed, 14 insertions(+), 19 deletions(-)
commit ce6a24eb2b5eaba4b60f82855af7a24d0f5afdad
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Sun Feb 28 10:59:29 2010 +0000
actor: Call unparent() in destroy
If the actor is an internal child of another actor then we should call
unparent() when destroying it, like clutter_actor_reparent() does;
otherwise we'll leak the actor, since the parent holds a reference to
it.
http://bugzilla.openedhand.com/show_bug.cgi?id=2009
clutter/clutter-actor.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
commit 7ffb62eab939de46b8234243cab6f6c4b40d60ec
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Sat Feb 27 18:56:34 2010 +0000
docs: Update minimum size accessors
Expand the documentation for set_minimum_size() and get_minimum_size(),
and add introspection annotations for get_minimum_size().
clutter/clutter-stage.c | 41 +++++++++++++++++++++++++++++------------
1 file changed, 29 insertions(+), 12 deletions(-)
commit 52ba9a1800302f887ebe6d2e7aa7ab4503ea6e5e
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Sat Feb 27 18:24:17 2010 +0000
actor: Use the TOPLEVEL flag instead of a type check
We can use the internal private CLUTTER_ACTOR_IS_TOPLEVEL flag, which is
set only on Stages.
clutter/clutter-actor.c | 19 +++++++++++++++----
1 file changed, 15 insertions(+), 4 deletions(-)
commit cd62dfbd1419870fb6792bcab87ea8e7d0e760f5
Author: Chris Lord <chris@linux.intel.com>
Date: Fri Feb 26 18:36:38 2010 +0000
[stage] Use min-width/height props for min size
Instead of shadowing these properties with different properties with the
same names on stage, actually use them. Behaviour should be identical,
except the minimum stage size can now be enforced by setting the
min-width/height properties as well as using the set_minimum_size
function.
clutter/clutter-actor.c | 13 ++++--
clutter/clutter-stage.c | 102 ++++++++++++++++++++++++++++++++----------------
2 files changed, 77 insertions(+), 38 deletions(-)
commit 9f67e4826c9880732e4f2a74ac42f729e7e80042
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Fri Feb 26 16:43:02 2010 +0000
docs: Update --enable-cogl-debug description
The 'no' value is not the default any more. The 'minimum' value is
always the default, regardless of the release status.
README | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
commit 62f2961f8a9b2974e0a7a11ea534f0b14f8fef1a
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Fri Feb 26 15:12:27 2010 +0000
docs: Unicode-ify NEWS
NEWS | 1302 +++++++++++++++++++++++++++++++++---------------------------------
1 file changed, 651 insertions(+), 651 deletions(-)
commit c8c62af0cf5d33f3fe3e4aab44ed49363263252c
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Fri Feb 26 15:00:47 2010 +0000
build: More options for Automake
Require automake >= 1.10, and add the following options:
» dist-bzip2: create a bz2 tarball in the dist process
» check-news: check that we changed the NEWS file prior to dist,
to avoid another release without NEWS updates, like 1.1.10
configure.ac | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
commit e0f04efa411c0987db32c056958ad2c7cf5b6736
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Fri Feb 26 10:36:17 2010 +0000
device: When changing the stage, unset the pointer actor
If we do not unset the Stage we will have stale data, and the Crossing
event when re-entering a Stage will not be emitted, as the actor under
the pointer might be the same as before.
clutter/clutter-input-device.c | 14 ++++++++++++--
1 file changed, 12 insertions(+), 2 deletions(-)
commit 5d8346829585bb4b6d4617a232f87e3dab4eee5f
Author: Neil Roberts <neil@linux.intel.com>
Date: Tue Feb 23 14:45:44 2010 +0000
cogl-vertex-buffer: Add support for unsigned int indices
This adds a COGL_INDICES_TYPE_UNSIGNED_INT enum value so that unsigned
ints can be used with cogl_vertex_buffer_indices_new. Unsigned ints
are not supported in core on GLES so a feature flag has also been
added to advertise this. GLES only sets the feature if the
GL_OES_element_index_uint extension is available. It is an error to
call indices_new() with unsigned ints unless the feature is
advertised.
http://bugzilla.openedhand.com/show_bug.cgi?id=1998
clutter/cogl/cogl/cogl-types.h | 6 +++++-
clutter/cogl/cogl/cogl-vertex-buffer.c | 17 ++++++++++++++++-
clutter/cogl/cogl/cogl-vertex-buffer.h | 8 ++++++++
clutter/cogl/cogl/driver/gl/cogl.c | 3 ++-
clutter/cogl/cogl/driver/gles/cogl-feature-functions.h | 6 ++++++
5 files changed, 37 insertions(+), 3 deletions(-)
commit 67d9d928147aa59905960480a5d0b4c19c9d1920
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Thu Feb 25 23:23:53 2010 +0000
docs: Document the "columns" syntax for ClutterModel
Like we do for other classes implementing custom properties, we should
document the syntax of the "columns" scriptable property of ClutterModel.
clutter/clutter-model.c | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)
commit 70d7bad98ba50a657204ee356fd5ac5ccf4e8bea
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Thu Feb 25 23:15:59 2010 +0000
conformance: Use g_test_verbose() for logging
Protect g_print() calls behind the g_test_verbose() check, to avoid
unwanted output during the conformance test run.
tests/conform/test-model.c | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
commit 96c31bbf0ea14c7cb6eaa824a6d5cf66d58b8d5b
Author: Bastian Winkler <buz@netbuz.org>
Date: Thu Feb 25 23:47:49 2010 +0100
model: Implement ClutterScriptable interface
Allow a ClutterModel to be constructed through the ClutterScript API.
Currently this allows a model to be generated like like this:
{
"id" : "test-model",
"type" : "ClutterListModel",
"columns" : [
[ "text-column", "gchararray" ],
[ "int-column", "gint" ],
[ "actor-column", "ClutterRectangle" ]
]
}
where 'columns' is an array containing arrays of column-name,
column-type pairs.
http://bugzilla.openedhand.com/show_bug.cgi?id=2007
.gitignore | 1 +
clutter/clutter-model.c | 105 +++++++++++++++++++++++++++++++++++++-
tests/conform/test-conform-main.c | 1 +
tests/conform/test-model.c | 34 ++++++++++++
tests/data/test-script-model.json | 9 ++++
5 files changed, 149 insertions(+), 1 deletion(-)
commit 63279f827e9d4e517c3dc88633a8b5ed47fbd74e
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Thu Feb 25 22:50:38 2010 +0000
docs: gtk-doc fixes for Animator
Fix the syntax for:
→ enumeration values
→ return values
→ @since tags
Also, fix the introspection annotations.
clutter/clutter-animator.c | 40 +++++++++++++++++++++++++++-------------
1 file changed, 27 insertions(+), 13 deletions(-)
commit 9db135c4eff97a3d3520cc05c9c3e85c153e8cc4
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Thu Feb 25 18:28:37 2010 +0000
glx: Clean up sync-to-vblank mechanism discovery
The code has gotten really complicated to follow.
As soon as we have a sync-to-vblank mechanism we should just bail out.
Also, __GL_SYNC_TO_VBLANK (which is used by nVidia) should be assumed
equivalent to a CLUTTER_VBLANK_GLX_SWAP.
clutter/glx/clutter-backend-glx.c | 169 +++++++++++++++++++++-----------------
1 file changed, 92 insertions(+), 77 deletions(-)
commit 655cb966c08b0ec3a0b73ed1b18fc9ebbe9a93b8
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Thu Feb 25 17:09:55 2010 +0000
docs: Add visual cue for Animator's key frames
We should explain what a "key frame" is for ClutterAnimator, possibly
with some sort of visual cue.
This allows me to demonstrate my poor skills at using Inkscape, as well
as my overall bad taste for graphics design.
clutter/clutter-animator.c | 21 ++
doc/reference/clutter/Makefile.am | 3 +
doc/reference/clutter/animator-key-frames.png | Bin 0 -> 11936 bytes
doc/reference/clutter/animator-key-frames.svg | 271 ++++++++++++++++++++++++++
4 files changed, 295 insertions(+)
commit d3d05261e6a394736757cebb5aad9b9267e7cf53
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Thu Feb 25 14:22:08 2010 +0000
script-parser: Remove top-level types list
The top-level types list was comically out of date, and it was only
determining whether the type we were constructing was initially unowned
or a full object. We can safely replace it with a simple type check.
clutter/clutter-script-parser.c | 36 ++++--------------------------------
1 file changed, 4 insertions(+), 32 deletions(-)
commit c0be19eff65c4c72aa5c934cee3b582903db40f6
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Thu Feb 25 14:20:05 2010 +0000
script-parser: Be more strict with "children" members
The "children" member for Container definitions should only reference
actors, and warn about any other type.
clutter/clutter-script-parser.c | 12 ++++++++++++
1 file changed, 12 insertions(+)
commit c291d5a660f4ebac3dc57acad79b8153686a47f0
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Thu Feb 25 14:08:57 2010 +0000
animator: Add a :timeline property
It would be useful to be able to share the Timeline across different
animator instances, or with different animation constructs. Also this
allows sharing definitions of Timelines in ClutterScript.
clutter/clutter-animator.c | 26 +++++++++++++++++++++++++-
1 file changed, 25 insertions(+), 1 deletion(-)
commit 641582533952c91576fb53724b70cbe6afb119db
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Thu Feb 25 14:02:29 2010 +0000
animator: Remove NULL check in remove_key()
The arguments for remove_key() can be NULL, but there is an extraneous
assertion that fails if they are. The pre-conditions should match the
documentation, in this case.
clutter/clutter-animator.c | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)
commit 4bc4c604e926b07af9ef4c02fd5f000fc939259b
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Thu Feb 25 12:45:02 2010 +0000
box: Let pack_at() create the ChildMeta, if any
A sub-class of ClutterBox might add ChildMeta support, and since
pack_at() does not go through clutter_container_add_actor(), we
need to manually call the create_child_meta() ourselves.
clutter/clutter-box.c | 5 +++++
1 file changed, 5 insertions(+)
commit 543e2d3f0609864cebb1f1eaf258108abab50770
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Thu Feb 25 12:39:24 2010 +0000
container: Expose create and destroy ChildMeta methods
It is conceivable that Container implementations might add children
outside of the Container::add() implementation - e.g. for packing at
a specific index. Since the addition (and removal) might happen outside
the common path we need to expose all the API that is implicitly called
by ClutterContainer when adding and removing a child - namely the
ChildMeta creation and destruction.
clutter/clutter-container.c | 44 ++++++++++++++++++++++--------
clutter/clutter-container.h | 4 +++
doc/reference/clutter/clutter-sections.txt | 2 ++
3 files changed, 38 insertions(+), 12 deletions(-)
commit 31b5856d69e8d53de17270da7ab59dd290e2868a
Author: Neil Roberts <neil@linux.intel.com>
Date: Wed Feb 24 23:04:39 2010 +0000
test-cogl-blend-strings: Add some more tests
The adds tests for the remaining layer combine functions, the 1 minus
value operator and the TEXTURE_N source. Note however that Cogl
currently fails when parsing a TEXTURE_N source so the test is
commented out.
tests/conform/test-cogl-blend-strings.c | 46 +++++++++++++++++++++++++++++++++
1 file changed, 46 insertions(+)
commit 14999bec5e6b3d0aab057ef544f233d968e5cf67
Author: Neil Roberts <neil@linux.intel.com>
Date: Wed Feb 24 11:13:55 2010 +0000
gles2: Remove the special wrapper for glBindTexture
Previously the GLES2 backend needed a special wrapper for
glBindTexture because it needed to know the internal GL format of the
texture in order to correctly implement the GL_MODULATE texture env
mode. When GL_MODULATE is used then the RGB values are taken from the
previous texture layer rather than being fetched from the
texture. However since the material API was added Cogl no longer uses
the GL_MODULATE texture env mode but instead always uses GL_COMBINE.
Compiling the GLES2 backend broke since the more-texture-backends
branch merge because the cogl_get_internal_gl_format function was
removed and there was one place in GLES2 specific code that was using
this to bind the texture.
clutter/cogl/cogl/cogl-material.c | 10 ----------
clutter/cogl/cogl/cogl-texture-2d-sliced.c | 5 ++---
clutter/cogl/cogl/cogl-texture-driver.h | 7 -------
clutter/cogl/cogl/driver/gl/cogl-texture-driver.c | 12 ------------
clutter/cogl/cogl/driver/gles/cogl-gles2-wrapper.c | 22 ----------------------
clutter/cogl/cogl/driver/gles/cogl-gles2-wrapper.h | 12 ------------
.../cogl/cogl/driver/gles/cogl-texture-driver.c | 13 -------------
7 files changed, 2 insertions(+), 79 deletions(-)
commit eba07020c549ff0ede9982c6d911d67e353ca5a3
Author: Neil Roberts <neil@linux.intel.com>
Date: Wed Feb 24 16:50:32 2010 +0000
cogl-gles2-wrapper: Add support for the layer combine operations
The texture layer combine functions are now hard coded to GL_COMBINE
instead of GL_MODULATE. The combine function can be customized with
all the parameters of GL_COMBINE. A shader is generated to implement
the given parameters.
Currently it will try to generate code for the constant color but it
will use a uniform which does not exist.
clutter/cogl/cogl/cogl-blend-string.c | 9 -
clutter/cogl/cogl/driver/gles/cogl-gles2-wrapper.c | 382 +++++++++++++++++++--
clutter/cogl/cogl/driver/gles/cogl-gles2-wrapper.h | 16 +
3 files changed, 371 insertions(+), 36 deletions(-)
commit 02b952394ae9efe9e80b803e671bca1b1f711a9a
Author: Neil Roberts <neil@linux.intel.com>
Date: Wed Feb 24 10:42:59 2010 +0000
gles2: Implement a wrapper for glGetIntegerv(GL_MAX_TEXTURE_UNITS)
The GLES2 backend for Cogl is failing to compile because
GL_MAX_TEXTURE_UNITS is not defined. Let's define it and provide a
wrapper which uses GL_MAX_TEXTURE_IMAGE_UNITS or
COGL_GLES2_MAX_TEXTURE_UNITS, whichever is the smallest.
clutter/cogl/cogl/driver/gles/cogl-gles2-wrapper.c | 6 ++++++
clutter/cogl/cogl/driver/gles/cogl-gles2-wrapper.h | 2 ++
2 files changed, 8 insertions(+)
commit 3bc0672feff7c58326c4d50612bedf15aa9c02cb
Author: Øyvind Kolås <pippin@linux.intel.com>
Date: Thu Feb 25 12:30:07 2010 +0000
animator: handle no initial key
Fixing the crasher reported in bug #1995.
clutter/clutter-animator.c | 108 +++++++++++++++++++++++++++------------------
1 file changed, 65 insertions(+), 43 deletions(-)
commit d2db512788aac496a3741cb424caea41cf4357a1
Author: Øyvind Kolås <pippin@linux.intel.com>
Date: Thu Feb 25 11:48:44 2010 +0000
animator: added clutter_animator_compute_value
Allow querying the computed values of properties managed by a
ClutterAnimator.
clutter/clutter-animator.c | 212 ++++++++++++++++++++++++++++++++++++++++++---
clutter/clutter-animator.h | 12 +++
2 files changed, 211 insertions(+), 13 deletions(-)
commit e8d32fd153268c653c1adc5c66f30f0ee624b432
Author: Øyvind Kolås <pippin@linux.intel.com>
Date: Thu Feb 25 11:28:32 2010 +0000
animator: removed bogus arg in keys interpolation accessor
A bogus ClutterInterpolation argument had been carried from
clutter_animator_set_interpolation to clutter_animator_get_interpolation
in copy and paste.
clutter/clutter-animator.c | 16 +++++++---------
clutter/clutter-animator.h | 3 +--
2 files changed, 8 insertions(+), 11 deletions(-)
commit be8f53f229397e72fcf5a1bed245d555ea4747e9
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Thu Feb 25 12:01:03 2010 +0000
animation: Fix a typo
This will teach me to check before compiling a version-dependent branch
that I'm actually using my jhbuild environment and not the system
libraries.
clutter/clutter-animation.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
commit 26e22b2ede0eb0fdfbe3d96189cb2aa196da83f8
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Thu Feb 25 10:22:36 2010 +0000
Conditionally use G_VALUE_COLLECT_INIT() macro
GLib 2.24 (but starting from the 2.23.2 unstable release) added a new
macro for collecting GValues from a va_list.
The newly added G_VALUE_COLLECT_INIT() macro should be used in place
of initializing the GValue and calling G_VALUE_COLLECT(), and improves
the collection performances by avoiding multiple checks, free and
initialization calls.
clutter/clutter-animation.c | 8 ++++++++
clutter/clutter-animator.c | 7 ++++++-
clutter/clutter-box.c | 7 +++++++
clutter/clutter-container.c | 7 +++++++
clutter/clutter-interval.c | 10 ++++++++++
clutter/clutter-layout-manager.c | 7 +++++++
6 files changed, 45 insertions(+), 1 deletion(-)
commit bd303d6efb7dfddbdf671f7c66ff5b73bb216f3f
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Wed Feb 24 16:43:17 2010 +0000
conform: Verify parsing of multiple properties
The ClutterAnimator support for parsing multiple properties should be
verified in the conformance test suite.
http://bugzilla.openedhand.com/show_bug.cgi?id=2003
.gitignore | 1 +
tests/conform/test-animator.c | 98 +++++++++++++++++++++++++++++++++++++++
tests/conform/test-conform-main.c | 1 +
tests/data/test-animator-3.json | 40 ++++++++++++++++
4 files changed, 140 insertions(+)
commit 59fd7e4a810f51bad31c2eafb609d545557ef264
Author: Bastian Winkler <buz@netbuz.org>
Date: Wed Feb 24 16:32:19 2010 +0100
animator: Append parsed animator keys to previously parsed ones
Reuse the GSList of the previously parsed property when building a
ClutterAnimator from script, otherwise only the last used property will
be used
http://bugzilla.openedhand.com/show_bug.cgi?id=2003
clutter/clutter-animator.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
commit fd6f6707433a8ab57c8232afee65038213d4120c
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Wed Feb 24 14:40:22 2010 +0000
Post-release version bump to 1.1.15
configure.ac | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
commit 18659b008c800b2dde6e5a2453fba04f5990f2b7
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Wed Feb 24 14:26:46 2010 +0000
Release 1.1.14
configure.ac | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
commit ec0c7fcd9bb734c3fd488b4b3ec3d469ba5e967f
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Wed Feb 24 14:23:58 2010 +0000
build: Use the right headers when enumerating them
The installed _HEADERS should be the public ones and the enumeration
types; repeating clutter-x11-texture-pixmap.h breaks with automake 1.11
and doesn't strictly make any sense.
http://bugzilla.openedhand.com/show_bug.cgi?id=2002
clutter/x11/Makefile.am | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
commit 1370d72a7a1490c1ed60f02634f146995482116d
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Wed Feb 24 14:20:14 2010 +0000
Update NEWS file
NEWS | 44 ++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 44 insertions(+)
commit d1ca0e1b8f3dc6f5b5fec0ce3fba4702b9e75386
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Wed Feb 24 12:23:46 2010 +0000
fixed layout: Store a back pointer to the Container
When set_container() is called with a NULL container we cannot use the
passed pointer to unset the CLUTTER_ACTOR_NO_LAYOUT flag. We should
store a back pointer to the container as object data (there's no need
to add a Private data structure in this case) and unset the flag on the
back pointer instead.
clutter/clutter-fixed-layout.c | 14 ++++++++++++--
1 file changed, 12 insertions(+), 2 deletions(-)
commit 3a9d842164708baa8fe877d829f9e9cdcbde3831
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Wed Feb 24 12:09:13 2010 +0000
conformance: Show the Stage to test invariants
We need to make the Stage set the MAPPED flag on itself if we want to
verify the MAPPED state. That was always the case - it just worked
before because the Stage was shown at least once.
tests/conform/test-actor-invariants.c | 9 +++++++++
1 file changed, 9 insertions(+)
commit aa8c8127059326c2d13d9f8dd6a294e787e3760e
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Wed Feb 24 12:08:07 2010 +0000
box: Do not short-circuit size negotiation for empty Boxes
The LayoutManager used might decide to have a default allocation or a
default preferred size when empty.
clutter/clutter-box.c | 31 -------------------------------
1 file changed, 31 deletions(-)
commit 523bab0868255e3f2b2910a60a868bffeb5bf64a
Author: Robert Bragg <robert@linux.intel.com>
Date: Thu Feb 11 11:45:36 2010 +0000
layout: allow wider use of the CLUTTER_ACTOR_NO_LAYOUT flag
Previously only ClutterGroup was able to set the CLUTTER_ACTOR_NO_LAYOUT
flag which allows clutter-actor.c to avoid a relayout when showing or
hiding fixed layout containers. Instead of it being the responsibility
of the container to set this flag this patch makes the layout manager
itself decide in the ::set_container method. This way both ClutterBox
and ClutterGroup can take advantage of the optimization.
clutter/clutter-fixed-layout.c | 17 +++++++++++++++++
clutter/clutter-group.c | 8 +++-----
2 files changed, 20 insertions(+), 5 deletions(-)
commit f21e649c80a3e0db5db7dc1128f7828535dbebc2
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Wed Feb 24 11:28:44 2010 +0000
docs: Detail replacement for cogl_check_extension()
The cogl_check_extension() function has been deprecated, but it's easily
replaceable with a simple strstr() call.
clutter/cogl/cogl/cogl.h | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
commit 829d3f4bc5d083320f7f1b70d25e0115e1b6512f
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Wed Feb 24 11:27:51 2010 +0000
docs: Update NEWS and README
The NEWS file was not updated for the 1.1.12 release, so we need to
update it now.
The Release Notes section for Clutter and Cogl also needs some more
entries that escaped previous releases.
NEWS | 33 +++++++++++++++++++++++++++++++++
README | 21 +++++++++++++++++++++
2 files changed, 54 insertions(+)
commit d54af2363d390bf598aaa931821a46604d4f192a
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Wed Feb 24 10:20:10 2010 +0000
build: Use template for ClutterX11 enumerationt types
Clutter and Cogl use the template Makefile.am.enums for building the
enumeration GTypes from public headers, but ClutterX11 is not.
.gitignore | 13 ++++-----
clutter/x11/Makefile.am | 77 ++++++++++++++++++++-----------------------------
2 files changed, 37 insertions(+), 53 deletions(-)
commit eb35c446b119274658ba45937e02b5cfd1ec27fe
Author: Neil Roberts <neil@linux.intel.com>
Date: Tue Feb 23 22:06:59 2010 +0000
clutter-box: Layer new actors on top of all others at the same depth
g_list_insert_sorted inserts the new actor before all others that
compare equal so for the normal case when all actors have depth==0
this has the surprising behaviour of layering the actors in reverse
order. To fix this it now manually inserts the actor in the right
place by searching until it finds an actor at a higher depth and
inserting before that.
http://bugzilla.openedhand.com/show_bug.cgi?id=1988
clutter/clutter-box.c | 25 ++++++++++++++++++++++---
1 file changed, 22 insertions(+), 3 deletions(-)
commit da0315e4d666cc7cbfcfe7dab63d731df2a02338
Author: Neil Roberts <neil@linux.intel.com>
Date: Tue Feb 23 22:10:30 2010 +0000
box: Revert "Tweak the depth sorting function"
This reverts commit 939e56e2b12e5c96fa1173be33c2786ddfe57c25.
Changing the depth sort function to have inconsistent behaviour for
nodes that compare equal breaks the stability of g_list_sort. It ends
up so that every time clutter_container_sort_depth_order is called the
order of all actors with the same depth is reversed.
http://bugzilla.openedhand.com/show_bug.cgi?id=1988
clutter/clutter-box.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
commit 1c65f2ee1e4595d3044d05cadb4f33fc2d03a6f3
Author: Robert Bragg <robert@linux.intel.com>
Date: Wed Feb 17 18:45:08 2010 +0000
cogl debug: Adds glViewport call tracing
To aid in the debugging of Clutter stage resize issues this adds a
COGL_DEBUG=opengl option that will trace "some select OpenGL calls"
(currently just glViewport calls)
clutter/cogl/cogl/cogl-debug.c | 2 ++
clutter/cogl/cogl/cogl-debug.h | 3 ++-
clutter/cogl/cogl/cogl-framebuffer.c | 6 ++++++
3 files changed, 10 insertions(+), 1 deletion(-)
commit fa3830ff20962dc72b676a5411a7fa1829a870cd
Author: Robert Bragg <robert@linux.intel.com>
Date: Wed Feb 17 17:53:28 2010 +0000
cogl debug: hint that all debugging paths are G_UNLIKELY
Most Cogl debugging code conditions are marked as G_UNLIKELY with the
intention of having the CPU branch prediction always assume the
path is disabled so having debugging support in release binaries has
negligible overhead.
This patch simply fixes a few cases where we weren't using G_UNLIKELY.
clutter/cogl/cogl/cogl-journal.c | 9 +++++----
clutter/cogl/cogl/cogl.c | 2 +-
2 files changed, 6 insertions(+), 5 deletions(-)
commit a58d6e8ee5e26185ff090845df68b61076275c21
Author: Robert Bragg <robert@linux.intel.com>
Date: Wed Feb 17 17:40:57 2010 +0000
cogl debug: Support "minimum" level debugging by default
We basically want all Clutter applications out in the wild to at least
have the basic set of COGL_DEBUG/--cogl-debug options available for
investigating issues.
configure.ac | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
commit 511e5ceb516dcbf2c406a7c2e8e0e56d2135fb0d
Author: Robert Bragg <robert@linux.intel.com>
Date: Wed Feb 17 14:38:11 2010 +0000
cogl debug: Makes COGL_DEBUG=all|verbose|help more useful
COGL_DEBUG=all wasn't previously useful as there are several options
that change the behaviour of Cogl and all together wouldn't help anyone
debug anything.
This patch makes it so COGL_DEBUG=all|verbose now only enables options
that don't change the behaviour of Cogl, i.e. they only affect the
amount of noise we'll print to a terminal.
In addition to that this patch also improves the output from
COGL_DEBUG=help so we now print a table of options including one liner
descriptions of what each option enables.
clutter/cogl/cogl/cogl-debug.c | 121 ++++++++++++++++++++++-------
clutter/cogl/cogl/cogl-debug.h | 37 ++++-----
clutter/cogl/cogl/cogl-texture-2d-sliced.c | 2 +-
3 files changed, 111 insertions(+), 49 deletions(-)
commit 939e56e2b12e5c96fa1173be33c2786ddfe57c25
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Tue Feb 23 17:59:09 2010 +0000
box: Tweak the depth sorting function
By changing the depth sorting function we can achieve the same effect as
ClutterGroup but without the costly append+sort.
http://bugzilla.openedhand.com/show_bug.cgi?id=1988
clutter/clutter-box.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
commit 95960ab902852e9c4830815b89d0a315fb9e4c50
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Tue Feb 23 16:51:26 2010 +0000
cogl: Add deprecation annotation to CoglMaterial ref/unref
The G_GNUC_DEPRECATED annotation was missing from the material ref and
unref functions.
clutter/cogl/cogl/cogl-material.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
commit a9941e94995d2701783f055e69fba52a64f609e0
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Tue Feb 16 20:08:35 2010 +0000
debug: Split debugging notes from behavioural modifiers
Some of the ClutterDebugFlags are not meant as a logging facility: they
actually change Clutter's behaviour at run-time.
It would be useful to have this distinction ratified, and thus split
ClutterDebugFlags into two: one DebugFlags for logging facilities and
another set of flags for behavioural changes.
This split is warranted because:
• it should be possible to do "CLUTTER_DEBUG=all" and only have
log messages on the output
• it should be possible to use behavioural modifiers even on a
Clutter that has been compiled without debugging messages
support
The commit adds two new debugging flags:
ClutterPickDebugFlags - controlled by the CLUTTER_PICK environment
variable
ClutterPaintDebugFlags - controlled by the CLUTTER_PAINT environment
variable
The PickDebugFlags are:
nop-picking
dump-pick-buffers
While the PaintDebugFlags is:
disable-swap-events
The mechanism is equivalent to the CLUTTER_DEBUG environment variable,
but it does not depend on the debug level selected when configuring and
compiling Clutter. The picking and painting debugging flags are
initialized at clutter_init() time.
http://bugzilla.openedhand.com/show_bug.cgi?id=1991
clutter/clutter-debug.h | 14 ++++++++---
clutter/clutter-main.c | 49 +++++++++++++++++++++++++++++++--------
clutter/glx/clutter-backend-glx.c | 6 +++--
3 files changed, 54 insertions(+), 15 deletions(-)
commit a9c307ff5d94489b30d7398ac80072fe7222a434
Author: Neil Roberts <neil@linux.intel.com>
Date: Wed Feb 17 22:16:17 2010 +0000
cogl-vertex-buffer: Fix the malloc fallback for indices
The size of the malloc'd buffer for indices when VBOs are not
available was too small so memory corruption would result if it was
used.
http://bugzilla.o-hand.com/show_bug.cgi?id=1996
clutter/cogl/cogl/cogl-vertex-buffer.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
commit 14669657737cc1547fb0db261232e63bdd2755d9
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Mon Feb 22 11:34:04 2010 +0000
device: Motion events compression should honour the device
The motion event compression should be affected by the device field of
the event; that is: we should compress motion events coming from the
same device.
clutter/clutter-stage.c | 29 ++++++++++++++++++++++-------
1 file changed, 22 insertions(+), 7 deletions(-)
commit 5ed4732737202c3051044455a91dc70c213fb800
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Mon Feb 22 11:30:14 2010 +0000
device: Force ENTER on Stage with overlapping Actors
If an actor is on the boundary of a Stage and the pointer for a device
enters the Stage over that actor, the sequence of events currently is:
➔ ENTER (source: actor, related: NULL)
➔ MOTION
Thus the Stage never gets an ENTER event. This is a regression from
Clutter 1.0.
The correct sequence is:
➔ ENTER (source: stage, related: NULL)
➔ ENTER (source: actor, related: stage)
➔ MOTION
This also maps to the sequence of events sythesized by Clutter when
leaving the Stage through an actor overlapping the Stage boundary.
http://bugzilla.moblin.org/show_bug.cgi?id=9781
clutter/clutter-input-device.c | 27 +++++++++++++++++++++++----
1 file changed, 23 insertions(+), 4 deletions(-)
commit ee33357fd5d08be824a5ecb3161a79568afa4e5c
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Thu Feb 18 16:58:29 2010 +0000
stage: Only clutter_stage_get_default() creates the default stage
The introduction of the StageManager in 0.8 implied that the first Stage
instance to be created was automatically assigned the status of "default
stage". This was all well and good, since the default stage was created
behind the curtains by the initialization sequence.
Now that the initialization sequence does not create a default stage any
longer, it means that the first stage created using clutter_stage_new()
gets to be the default, and all special and warm and fuzzy - which also
means that the first stage created by clutter_stage_new() cannot be
destroyed or handled as any other stage. Whoopsie.
Let's go back to the old semantics: the stage created by the first
invocation of clutter_stage_get_default() is the default stage, and
nothing else can be set as default. One day we'll be able to break the
API and the whole default stage business will be a thing of the past.
clutter/clutter-private.h | 10 ++++++----
clutter/clutter-stage-manager.c | 32 +++++++++++++++++++++++++-------
clutter/clutter-stage.c | 1 +
3 files changed, 32 insertions(+), 11 deletions(-)
commit 9a6de8757f27ff8a8cf9f89209f9366e03b7aadf
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Thu Feb 18 11:34:06 2010 +0000
docs: Document the InputDevice update method
Embedding toolkits should benefit from a proper documentation of
clutter_input_device_update_from_event(): its meaning, its use and
the caveats for the "update_stage" argument.
clutter/clutter-input-device.c | 49 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 49 insertions(+)
commit a2afc9d7ba0a80733044b97498a7df26de5a4ab2
Author: Neil Roberts <neil@linux.intel.com>
Date: Wed Feb 17 18:18:38 2010 +0000
win32: Fixup compilation errors from b398292089b0f7
That commit added some Win32 code which breaks compilation.
Thanks to Samuel Degrande for help with this.
clutter/win32/clutter-backend-win32.c | 5 ++---
clutter/win32/clutter-device-manager-win32.c | 18 ++++++------------
clutter/win32/clutter-event-win32.c | 2 +-
3 files changed, 9 insertions(+), 16 deletions(-)
commit 5de743de705ba9bb9a2061a66045b32091165ad5
Author: Robert Bragg <robert@linux.intel.com>
Date: Tue Feb 16 14:53:10 2010 +0000
cogl_texture_new_from_foreign: improve docs
Improve the explanation of what the x_pot_waste and y_pot_waste
arguments can be used for.
clutter/cogl/cogl/cogl-texture.h | 15 +++++++++++----
1 file changed, 11 insertions(+), 4 deletions(-)
commit 9c06c94374c61c019ca49fa6fd80679e6ad2f29a
Author: Robert Bragg <robert@linux.intel.com>
Date: Tue Feb 16 14:23:11 2010 +0000
cogl-texture: for foreign textures; always trust user geom
We now never query the width and height of the given texture object
from OpenGL. The problem is that the user may be creating a Cogl
texture from a texture_from_pixmap object where glTexImage2D was
never called and the texture_from_pixmap spec doesn't clarify that
it's reliable to query the width from OpenGL.
This should address:
http://bugzilla.openedhand.com/show_bug.cgi?id=1502
Thanks to Johan Bilien for reporting
clutter/cogl/cogl/cogl-texture-2d-sliced.c | 24 +++++++++---------------
1 file changed, 9 insertions(+), 15 deletions(-)
commit 8b040cac4dfaaa9d91635d31d93a79d00f637772
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Wed Feb 17 19:02:43 2010 +0000
docs: Fixes for DeviceManager
clutter/clutter-device-manager.h | 12 ++++++------
doc/reference/clutter/clutter-sections.txt | 6 ++++++
2 files changed, 12 insertions(+), 6 deletions(-)
commit 51a3e49c8228a22c1fbcd42971ad27d26d83991b
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Wed Feb 17 18:21:50 2010 +0000
device: Allow updating devices from embedding toolkits
Embedding toolkits most likely will disable the event handling, so all
the input device code will not be executed. Unfortunately, the newly
added synthetic event generation of ENTER and LEAVE event pairs depends
on having input devices.
In order to unbreak things without reintroducing the madness of the
previous code we should allow embedding toolkits to just update the
state of an InputDevice by using the data contained inside the
ClutterEvent. This strategy has two obvious reasons:
• the embedding toolkit is creating a ClutterEvent by translating
a toolkit-native event anyway
• this is exactly what ClutterStage does when processing events
We are, essentially, deferring input device handling to the embedding
toolkits, just like we're deferring event handling to them.
clutter/clutter-event.h | 2 -
clutter/clutter-input-device.c | 59 ++++++++++++++++++++++++++++++
clutter/clutter-input-device.h | 5 +++
clutter/clutter-types.h | 2 +
doc/reference/clutter/clutter-sections.txt | 2 +
5 files changed, 68 insertions(+), 2 deletions(-)
commit b398292089b0f70b9457985426d6b962d9179fa7
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Wed Feb 17 17:06:25 2010 +0000
device: Impose per-backend DeviceManager
The DeviceManager class should be abstract in Clutter, and implemented
by each backend, as different backends will have different ways to
detect, initialize and list devices; the X11 backend alone has *two*
ways of dealing with devices.
This commit makes DeviceManager an abstract class and delegates the
device initialization and enumeration to per-backend sub-classes.
The responsible for creating the device manager is, obviously, the
backend singleton.
The X11 and Win32 backends have been updated to the new layout; the
Win32 backend has been updated blindly, so it might require additional
testing.
clutter/clutter-backend.h | 38 +--
clutter/clutter-device-manager.c | 166 +++++++++----
clutter/clutter-device-manager.h | 51 +++-
clutter/clutter-private.h | 7 -
clutter/win32/Makefile.am | 2 +
clutter/win32/clutter-backend-win32.c | 38 +--
clutter/win32/clutter-backend-win32.h | 3 +-
clutter/win32/clutter-device-manager-win32.c | 173 +++++++++++++
clutter/win32/clutter-device-manager-win32.h | 60 +++++
clutter/win32/clutter-event-win32.c | 34 ++-
clutter/x11/Makefile.am | 2 +
clutter/x11/clutter-backend-x11.c | 168 +++----------
clutter/x11/clutter-backend-x11.h | 3 +-
clutter/x11/clutter-device-manager-x11.c | 349 +++++++++++++++++++++++++++
clutter/x11/clutter-device-manager-x11.h | 68 ++++++
clutter/x11/clutter-event-x11.c | 14 +-
16 files changed, 930 insertions(+), 246 deletions(-)
commit 0bf6d57ab128f301588695d011a9ab5d1b1dce1a
Author: Chris Lord <chris@linux.intel.com>
Date: Wed Feb 17 16:56:30 2010 +0000
[event-x11] Don't relayout on window move
ConfigureNotify is delivered on window movements too, but there is no
need to queue a relayout on these as the viewport hasn't changed size.
Check for the window actually changing size on ConfigureNotify before
queueing a relayout.
This fixes laggy window movement when moving a window in response to
Clutter mouse motion events.
clutter/x11/clutter-event-x11.c | 26 ++++++++++++++++----------
1 file changed, 16 insertions(+), 10 deletions(-)
commit 05054bed87866d10c927642fe6273c5bd8f89a95
Author: Neil Roberts <neil@linux.intel.com>
Date: Wed Feb 17 15:58:32 2010 +0000
cogl-clip-stack: Round the coords when clipping to a window rect
The size and position of the window rectangle for clipping in
try_pushing_rect_as_window_rect is calculated by projecting the
rectangle coordinates. Due to rounding errors, this can end up with
slightly off numbers like 34.999999. These were then being cast
directly to an integer so it could end up off by one.
This uses a new macro called COGL_UTIL_NEARBYINT which is a
replacement for the C99 nearbyint function.
clutter/cogl/cogl/cogl-clip-stack.c | 6 +++++-
clutter/cogl/cogl/cogl-util.h | 8 ++++++++
2 files changed, 13 insertions(+), 1 deletion(-)
commit a726ef32aa4721070b57df2e08c304096cb24736
Author: Neil Roberts <neil@linux.intel.com>
Date: Wed Feb 17 14:38:45 2010 +0000
test-cogl-vertex-buffer: Fix the maximum index number
It was passing the number of vertices to
cogl_vertex_buffer_draw_elements but instead it should take the
maximum index which would be the number of vertices minus one. This
was causing errors to be reported with the checks filterset of Bugle.
tests/interactive/test-cogl-vertex-buffer.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
commit fbcaf1e0b34f68934e0c84b01adfa5ea920c6c6a
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Wed Feb 17 10:46:16 2010 +0000
Improve LEAVE events for border actors
If an actor is lying on the border of the Stage it might miss the LEAVE
event when the pointer of a device leaves the Stage window. Since the
backend is unsetting the Stage back pointer on the InputDevice we can
queue the emission of a LEAVE event on the pointer actor as well.
http://bugzilla.moblin.org/show_bug.cgi?id=9677
clutter/clutter-input-device.c | 23 ++++++++++++++++++++++-
tests/interactive/test-events.c | 22 +++++++++++++++++-----
2 files changed, 39 insertions(+), 6 deletions(-)
commit 719e314b8e364955b046c990ddc1c9f07b0cc55f
Author: Chris Lord <chris@linux.intel.com>
Date: Tue Feb 16 18:25:46 2010 +0000
[stage-x11] Fix a warning due to a missing cast
I stupidly forgot to cast a ClutterStage to a ClutterActor and somehow
missed or didn't get the compiler warning. Fix.
clutter/x11/clutter-stage-x11.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
commit f9f03894a691cfb8f791f34c684d82f8a6d5b5b8
Author: Chris Lord <chris@linux.intel.com>
Date: Tue Feb 16 18:17:55 2010 +0000
[stage-x11] Fix resizing for foreign windows
As well as manually setting the geometry size, we needed to queue a
relayout. This is what the ConfigureNotify handler would normally do,
but we don't get this event when using a foreign window (obviously).
This should fix resizing in things like gtk-clutter.
clutter/x11/clutter-stage-x11.c | 5 +++++
1 file changed, 5 insertions(+)
commit df6e7aee73a3c3818acab8218732659eb77a3cdc
Author: Chris Lord <chris@linux.intel.com>
Date: Tue Feb 16 17:46:52 2010 +0000
[stage-x11] Set the geometry size for foreign wins
If we get into the resize function and it's a foreign window, set the
geometry size so that the allocate will set the backend size and call
glViewport.
clutter/x11/clutter-stage-x11.c | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
commit c2d016471258c529d7829ed807e76a4e029b614b
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Tue Feb 16 16:31:20 2010 +0000
Add test-stage-sizing to the ignore file
.gitignore | 1 +
1 file changed, 1 insertion(+)
commit d42f928c43994331017bca7145b7b06fd5848909
Author: Chris Lord <chris@linux.intel.com>
Date: Tue Feb 16 15:39:08 2010 +0000
[test-interactive] Add a stage sizing test
Add an interactive stage sizing test to test the interaction of
fullscreening/resizing/expanding/shrinking a visible stage.
tests/interactive/Makefile.am | 3 +-
tests/interactive/test-stage-sizing.c | 113 ++++++++++++++++++++++++++++++++++
2 files changed, 115 insertions(+), 1 deletion(-)
commit 1117b6a9ac974dd5855c5e76965c15329c608ff4
Author: Chris Lord <chris@linux.intel.com>
Date: Tue Feb 16 14:50:14 2010 +0000
[stage-x11] Fix switching fullscreen mode
Setting/unsetting fullscreen on a mapped or unmapped window now works
correctly.
If you unfullscreen a window that was initially full-screened, it will
unset the fullscreen hint and the WM will likely push the size down to
the largest valid size.
If the window was previously un-fullscreened, Clutter will restore the
previous size.
Fullscreening also now works if the WM switches the hint without the
application's knowledge (as happens when you resize a window to the size
of the screen, for example, with stock metacity).
clutter/clutter-stage.c | 3 +-
clutter/x11/clutter-event-x11.c | 13 ++++++--
clutter/x11/clutter-stage-x11.c | 71 +++++++++++++++++++++++------------------
clutter/x11/clutter-stage-x11.h | 2 +-
4 files changed, 54 insertions(+), 35 deletions(-)
commit dd36c3ad5c4f3d25d0286cf1c2a9a25abf7d2ea4
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Tue Feb 16 12:32:37 2010 +0000
Post-release version bump to 1.1.13
configure.ac | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
commit 21354b2b7518c9518fa8405f07ed1f929736d4a2
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Tue Feb 16 12:21:15 2010 +0000
Release 1.1.12 (developers snapshot)
configure.ac | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
commit 7a3eb452b802e5b38542d224da179c4267706e7b
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Tue Feb 16 12:16:02 2010 +0000
conform: Do not resize the stage
Since all conformance tests share the same state we should not touch
stuff like the stage size; sharing is already fairly complex and adds a
lot of caveats on the implementation of a conformance test unit, and if
we make tests influence later ones then we might slip in bugs or false
negatives - thus defeating the whole point of a conformance test suite.
tests/conform/test-cogl-offscreen.c | 1 -
tests/conform/test-cogl-readpixels.c | 1 -
tests/conform/test-cogl-viewport.c | 1 -
tests/conform/test-pick.c | 1 -
4 files changed, 4 deletions(-)
commit 4cadc7300504828fa0db8cb21e1b9d8e23be6319
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Tue Feb 16 12:15:23 2010 +0000
conform: Use a 640x480 stage in test-pick
Do not resize the stage to a smaller size: the default size is perfectly
fine.
tests/conform/test-pick.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
commit 958545aa70e526a12720bf2dd0d9b9a24d273b8d
Author: Neil Roberts <neil@linux.intel.com>
Date: Tue Feb 16 12:01:18 2010 +0000
cogl-atlas-texture: Don't use the atlas if FBOs aren't supported
If FBOs aren't supported then it will end up very slow to reorganize
the atlas. Also currently the CoglTexture2D backend will refuse to
create any textures anyway so the full atlas texture won't be created.
clutter/cogl/cogl/cogl-atlas-texture.c | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
commit a5021ba30f553d641399545d9777eb5b4b385ac1
Author: Neil Roberts <neil@linux.intel.com>
Date: Tue Feb 16 11:58:47 2010 +0000
cogl-atlas-texture: Check for errors when creating the atlas texture
cogl_texture_2d_new may fail in certain circumstances so
cogl_atlas_texture_reserve_space should detect this and also
fail. This will cause cogl_texture_new to fallback to a sliced
texture.
Thanks to Vladimir Ivakin for reporting this problem.
clutter/cogl/cogl/cogl-atlas-texture.c | 19 ++++++++++++-------
1 file changed, 12 insertions(+), 7 deletions(-)
commit e65bb38720c8990684ce24bda08b78d8da49cc1b
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Tue Feb 16 11:38:51 2010 +0000
conform: Use g_assert_cmpint() in cogl-readpixels test
The g_assert_cmpint() macro prints out not just the assertion condition
but also the assertion contents; this is useful to catch wrong values
without incrementing the verbosity of the test itself.
tests/conform/test-cogl-readpixels.c | 18 ++++++++----------
1 file changed, 8 insertions(+), 10 deletions(-)
commit 56f164f8a1c634e2d0ba6ffb5879672d456e1488
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Mon Feb 15 19:03:37 2010 +0000
docs: Document SWAP_EVENTS feature flag
clutter/clutter-feature.h | 1 +
1 file changed, 1 insertion(+)
commit 2fcb644e4fb02375bdf8b1f54677bcde7abdceba
Author: Chris Lord <chris@linux.intel.com>
Date: Mon Feb 15 18:53:58 2010 +0000
[stage] Fix some races to do with window resizing
When we resize, we relied on the stage's allocate to re-initialise the
GL viewport. Unfortunately, if we resized within Clutter, the new size
was cached before the window is actually resized, so glViewport wasn't
being called after resizing (some of the time, it's a race condition).
Change the way resizing works slightly so that we only resize when the
geometry size doesn't match our preferred size, and queue a relayout on
ConfigureNotify so the glViewport gets called.
Also change window creation slightly so that setting the size of a
window before it's realized works correctly.
clutter/clutter-stage.c | 36 +++++++++++++++---------------------
clutter/glx/clutter-stage-glx.c | 19 +++++++++++++++++--
clutter/x11/clutter-event-x11.c | 13 +++++++++++++
clutter/x11/clutter-stage-x11.c | 24 ++++++++++--------------
4 files changed, 55 insertions(+), 37 deletions(-)
commit 0d428655e23c18064176aa823db0d7165581ba02
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Mon Feb 15 16:09:26 2010 +0000
actor: Turn push/pop_internal into Actor methods
Since the "internal" state is global, it will leak onto actors that you
didn't intend for it to, because it applies not just to the actors you
create, but also to any actors *they* create. Eg, if you have a dialog
box class, you might push/pop_internal around creating its buttons, so
that those buttons get marked as internal to the dialog box. But
ctx->internal_child will still be set during the *button*'s constructor
as well, and so, eg, the label and icon inside the button actor will
*also* be marked as internal children, even if that isn't what the
button class wanted.
The least intrusive change at this point is to make push_internal() and
pop_internal() two methods of the Actor class, and take a ClutterActor
pointer as the argument - thus moving the locality of the internal_child
counter to the Actor itself.
http://bugzilla.openedhand.com/show_bug.cgi?id=1990
clutter/clutter-actor.c | 31 ++++++++++++++++++-------------
clutter/clutter-actor.h | 4 ++--
clutter/clutter-private.h | 2 --
tests/conform/test-actor-destroy.c | 4 ++--
4 files changed, 22 insertions(+), 19 deletions(-)
commit 2229cafc3833a017b3a107b4f6b207f0a95908f5
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Mon Feb 15 12:04:50 2010 +0000
stage: Add sanity checks for get_pending_swaps()
The master clock might have a Stage during its destruction phase,
without a StageWindow attached to it. If this happens and we try
to dereference the StageWindow to get its class and call a virtual
function we might experience some slight turbulence and... then...
explode.
http://bugzilla.openedhand.com/show_bug.cgi?id=1987
clutter/clutter-master-clock.c | 21 +++++++++++++--------
clutter/clutter-stage.c | 10 +++++++++-
2 files changed, 22 insertions(+), 9 deletions(-)
commit fef82fae5c716f15cd345fcfbc37f01578a82580
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Mon Feb 15 11:58:55 2010 +0000
build: Enable experimental COGL API in tests/conform
Enable the experimental API when building the conformance test suite.
tests/conform/Makefile.am | 1 +
tests/conform/test-cogl-pixel-buffer.c | 3 ---
2 files changed, 1 insertion(+), 3 deletions(-)
commit 032121ce17fb825592ba435cf260107b52f8196c
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Mon Feb 15 11:57:48 2010 +0000
build: Disable deprecated API in tests/conform
We should not be using deprecated API in the conformance test suite.
tests/conform/Makefile.am | 1 +
1 file changed, 1 insertion(+)
commit c3354cb2c0acc7d80b2cea3f970a1d83a47d585c
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Mon Feb 15 11:56:34 2010 +0000
conform: Do not use deprecated API
There is no more type-specific ref/unref pairs: it is all under
CoglHandle now.
tests/conform/test-cogl-blend-strings.c | 6 +++---
tests/conform/test-cogl-multitexture.c | 2 +-
tests/conform/test-cogl-texture-mipmaps.c | 2 +-
3 files changed, 5 insertions(+), 5 deletions(-)
commit d607400f01be1c1e26f54b3d83794e0d246e8db0
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Mon Feb 15 11:45:35 2010 +0000
x11: Do not set pid or title on foreign windows
If a StageX11 is using a foreign window we should not need to set the
_NET_WM_PID or the WM_TITLE properies.
http://bugzilla.openedhand.com/show_bug.cgi?id=1989
clutter/x11/clutter-stage-x11.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
commit 89191e8bbc591f33dd0f45e2317f31eeaa7d4023
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Mon Feb 15 11:44:02 2010 +0000
docs: Mention signal-swapped-after modifier
The signal-swapped-after:: modifier for signal connection inside the
clutter_actor_animate* variadic arguments functions is not mentioned in
the documentation.
clutter/clutter-animation.c | 34 ++++++++++++++++++++++++----------
1 file changed, 24 insertions(+), 10 deletions(-)
commit 262782feae4e8130321be414f7aac9141ae22eab
Author: Damien Lespiau <damien.lespiau@intel.com>
Date: Mon Feb 8 19:18:36 2010 +0000
docs: Add 2010 in COGL's Copyright notice
While at it, fix the usage of <year> in <copyright> to let the
stylesheet do the collation when having several years.
doc/reference/clutter/clutter-docs.xml.in | 7 +++++--
doc/reference/cogl/cogl-docs.xml.in | 1 +
2 files changed, 6 insertions(+), 2 deletions(-)
commit 01bf50905689b363877f85942403cdc947f8c82c
Author: Damien Lespiau <damien.lespiau@intel.com>
Date: Fri Feb 12 17:24:15 2010 +0000
cogl-buffer: fix compilation for GL ES
In the frenzy of the last 10mins before API freeze, I obviously forgot
to update the OpenGL path for _cogl_buffer_hints_to_gl_enum(). This
commit fixes this.
clutter/cogl/cogl/cogl-buffer.c | 15 +++++----------
1 file changed, 5 insertions(+), 10 deletions(-)
commit e668a2f228acb1f38853eea4245f87e10e82fe23
Author: Neil Roberts <neil@linux.intel.com>
Date: Fri Feb 12 15:33:56 2010 +0000
cogl-atlas-texture: Flush the journal before adding a new texture
When the atlas is reorganised we could potentially be moving around
textures that are already referenced in the journal. We therefore need
to flush the journal otherwise they will be rendered with incorrect
texture coordinates. We also need to flush the journal even if we are
not reorganizing so that we can rely on the old texture contents
remaining in the atlas after migrating a texture out.
clutter/cogl/cogl/cogl-atlas-texture.c | 26 +++++++++++++++++++++++++-
1 file changed, 25 insertions(+), 1 deletion(-)
commit 4be4f56bdf463ccac89c7068b47ba1450bee95ee
Author: Neil Roberts <neil@linux.intel.com>
Date: Fri Feb 12 10:08:51 2010 +0000
cogl-sub-texture: Optimise taking a sub texture of a sub texture
When creating a Cogl sub-texture, if the full texture is also a sub
texture it will now just offset the x and y and reference the full
texture instead. This avoids one level of indirection when rendering
the texture which reduces the chances of getting rounding errors in
the calculations.
clutter/cogl/cogl/cogl-sub-texture-private.h | 17 +++++-
clutter/cogl/cogl/cogl-sub-texture.c | 29 +++++++--
clutter/cogl/cogl/cogl-texture.h | 4 ++
tests/conform/test-cogl-sub-texture.c | 89 ++++++++++++++++++----------
4 files changed, 99 insertions(+), 40 deletions(-)
commit 2018b5b16750b090c5592ebd5262fc66d809183e
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Fri Feb 12 16:24:27 2010 +0000
actor: Split get_paint_opacity() from the type check
Since get_paint_opacity() recurses through the hierarchy it might lead
to a lot of type checks while we walk the parent-child chain. We can
split the recursive function from the public entry point and perform the
type check just once.
clutter/clutter-actor.c | 55 +++++++++++++++++++++++++++++++------------------
1 file changed, 35 insertions(+), 20 deletions(-)
commit 37d51cb78e41ea36f01c049eda6163bddc84ce33
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Fri Feb 12 16:18:12 2010 +0000
actor: Do not call get_opacity() from get_paint_opacity()
We already have access to the opacity private field, there's no need to
go through the public API.
clutter/clutter-actor.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
commit 124f30cccef75feabb0933c074753b392f373e82
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Fri Feb 12 15:52:07 2010 +0000
docs: Fixes for Cogl
clutter/cogl/cogl/cogl-material.h | 1 +
clutter/cogl/cogl/cogl-pixel-buffer.h | 2 +-
doc/reference/cogl/Makefile.am | 3 ++-
doc/reference/cogl/cogl-sections.txt | 8 ++++----
4 files changed, 8 insertions(+), 6 deletions(-)
commit 27e6c3b1e0db6fcb36a8f7e44e457b672ee34565
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Fri Feb 12 14:46:43 2010 +0000
build: Use -Wuninitialized instead of -Wno-uninitialized
We want to be warned about uninitialized variables.
configure.ac | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
commit 00c4bfc3c69ba1c1c37852392b46c0fe601a98a1
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Fri Feb 12 14:45:49 2010 +0000
analysis: Interactive tests
Abort if test-behave was passed the wrong type of behaviour to test.
tests/interactive/test-behave.c | 4 ++++
1 file changed, 4 insertions(+)
commit 46182233c031c480b5d4d1f6109ab28a6199d369
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Fri Feb 12 14:45:04 2010 +0000
analysis: Conformance tests
Initialize ClutterPathNote members to 0 using "{ 0, }".
tests/conform/test-path.c | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
commit 78f1f508af88ccd9652d38811a4ebc6662c566dd
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Thu Feb 11 15:24:41 2010 +0000
analysis: x11: ClutterEvent
Remove an unused variable.
clutter/x11/clutter-event-x11.c | 3 ---
1 file changed, 3 deletions(-)
commit 081696fdb5d83c41ed201277db272572eb534db2
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Thu Feb 11 15:24:17 2010 +0000
analysis: CoglPangoRenderer
Remove unused variables.
clutter/cogl/pango/cogl-pango-render.c | 17 +++++++----------
1 file changed, 7 insertions(+), 10 deletions(-)
commit 2d8bdf9e5ebd101b40854e0066b06037dd261ea5
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Thu Feb 11 15:20:25 2010 +0000
analysis: ClutterTimeoutPool
Do not pre-initialize the list iterator, the for loop will do it for us.
clutter/clutter-timeout-pool.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
commit 9c8f8818784ba7c709c70ead6d8e103ee28d0c8c
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Thu Feb 11 15:20:07 2010 +0000
analysis: ClutterTimeline
Remove an unused variable.
clutter/clutter-timeline.c | 4 ----
1 file changed, 4 deletions(-)
commit 65af411cb4675eab722fe16acc93fa6e7183e3c8
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Thu Feb 11 15:19:46 2010 +0000
analysis: ClutterTexture
Remove unused variables.
clutter/clutter-texture.c | 25 +++++++++----------------
1 file changed, 9 insertions(+), 16 deletions(-)
commit 09644e4bb6cff70d2c9a59bbe9b461b7e53676e2
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Thu Feb 11 15:19:32 2010 +0000
analysis: ClutterText
Remove unused variables.
clutter/clutter-text.c | 2 --
1 file changed, 2 deletions(-)
commit c2d434e3af3d3b862866273a7dd15541ecbebcd5
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Thu Feb 11 15:19:18 2010 +0000
analysis: ClutterStage
Remove unused variables.
clutter/clutter-stage.c | 8 +-------
1 file changed, 1 insertion(+), 7 deletions(-)
commit 136e8c1acb15c078c0898a834f55666c6f0ef384
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Thu Feb 11 15:17:53 2010 +0000
analysis: ClutterScriptParser
We parse a JSON value depending on the initial state of an uninitialized
variable. Ouch.
clutter/clutter-script-parser.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
commit 4d9010dd5e9c5a69ba5f7a0c3969ce5ac337c08d
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Thu Feb 11 15:17:32 2010 +0000
analysis: ClutterRectangle
Remove unused variables.
clutter/clutter-rectangle.c | 10 +++-------
1 file changed, 3 insertions(+), 7 deletions(-)
commit 8ba65cfd4aba677530b25d9ab1323d2b1b281282
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Thu Feb 11 15:17:07 2010 +0000
analysis: ClutterModel
Remove unused variables.
clutter/clutter-model.c | 10 ----------
1 file changed, 10 deletions(-)
commit bea1a0a6a22ecd0ed96720bcecb3919d3fbb2757
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Thu Feb 11 15:13:40 2010 +0000
analysis: ClutterMain
• Remove unused variables.
• Do not pre-initialize ClutterActor's GType; pre-emptive optimizations
like these are more black magic than real optimization.
clutter/clutter-main.c | 21 ++++++---------------
1 file changed, 6 insertions(+), 15 deletions(-)
commit 66920ea540834c0264434f64a0dcfae4150e625f
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Thu Feb 11 15:13:20 2010 +0000
analysis: ClutterInterval
Remove unused variables.
clutter/clutter-interval.c | 8 --------
1 file changed, 8 deletions(-)
commit 853f9941da5f40b936307ce45f67265f978d9c2b
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Thu Feb 11 15:11:51 2010 +0000
analysis: ClutterBoxLayout
Remove an useless assignment. The n_expand_children is not used outside
the extra_space check, and if n_expand_children is 0 then the extra
space we allocate is 0.
clutter/clutter-box-layout.c | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
commit cd058562538633962089cd30787b7a98d9733144
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Thu Feb 11 15:11:25 2010 +0000
analysis: ClutterBehaviour
Remove an unused variable.
clutter/clutter-behaviour.c | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
commit 6dc0e9632cc2597240d9e42c98cd567dbcc1dbec
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Thu Feb 11 15:09:51 2010 +0000
analysis: ClutterAnimation
• Remove one unused variable.
• We ignore the result of get_timeline_internal() so we need to tell
the compiler that - though a better solution would be to split the
timeline implicit creation into its own function.
clutter/clutter-animation.c | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
commit a287ca7a2824efef2608877555711c408122a400
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Thu Feb 11 15:09:12 2010 +0000
analysis: ClutterAnimator/2
Clean up an unused variable.
clutter/clutter-animator.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
commit 667222c301ca0f19c570938055208e564e4d02ef
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Thu Feb 11 15:08:19 2010 +0000
analysis: ClutterAnimator/1
Do not de-reference a void*; use a temporary variable -- after
checking the contents of the pointer. This actually simplifies
the readability and avoids pulling a Lisp with the parentheses.
clutter/clutter-animator.c | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
commit fcd3cfc0bfc656d63088a443355b30e7b50d2850
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Thu Feb 11 15:07:38 2010 +0000
analysis: ClutterAlpha
Clean up unused variables.
clutter/clutter-alpha.c | 12 ++----------
1 file changed, 2 insertions(+), 10 deletions(-)
commit aa6d7a30291c199fc1d26a93574d88c027367bf0
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Thu Feb 11 15:05:18 2010 +0000
analysis: ClutterActor
Clean up ClutterActor for unused variables.
clutter/clutter-actor.c | 12 +-----------
1 file changed, 1 insertion(+), 11 deletions(-)
commit 7a372bc0011b6301cc8b46767493a23218a67cff
Author: Neil Roberts <neil@linux.intel.com>
Date: Fri Feb 12 14:26:33 2010 +0000
cogl: Cache the value for GL_MAX_TEXTURE_UNITS
The function _cogl_get_max_texture_units is called quite often while
rendering and it returns a constant value so we might as well cache
the result. Calling glGetInteger on Mesa can be expensive because it
flushes a lot of state.
clutter/cogl/cogl/cogl-context.c | 2 ++
clutter/cogl/cogl/cogl-context.h | 4 ++++
clutter/cogl/cogl/cogl.c | 12 +++++++++---
3 files changed, 15 insertions(+), 3 deletions(-)
commit 22c33b2fea1fd60239280aa1f4fd112f533688aa
Author: Robert Bragg <robert@linux.intel.com>
Date: Thu Feb 11 16:12:26 2010 +0000
cogl: resolves some low hanging issues flagged by clang
An initial pass over the Cogl source code using the Clang static
analysis tool flagged a few low hanging issues such as un-used variables
or redundant initializing of variables which this patch fixes.
clutter/cogl/cogl/cogl-texture-2d-sliced.c | 9 ++-------
clutter/cogl/cogl/cogl-texture.c | 8 ++++----
2 files changed, 6 insertions(+), 11 deletions(-)
commit 18305cbd98e02ab139beef769cbc90a2121bd1f5
Author: Robert Bragg <robert@linux.intel.com>
Date: Thu Feb 11 15:33:01 2010 +0000
cogl_rectangle: avoid redundant copy of geometry
All the cogl_rectangle* APIs normalize their input into into an array of
_CoglMutiTexturedRect rectangles and pass these on to our work horse;
_cogl_rectangles_with_multitexture_coords. The definition of
_CoglMutiTexturedRect had 4 separate float members, x_1, y_1, x_2 and
y_2 which meant for some common cases we were having to copy out from an
array into these members. We are now able to simply point into the users
array avoiding a copy which seems desirable when submiting lots of
rectangles.
clutter/cogl/cogl/cogl-journal-private.h | 5 +-
clutter/cogl/cogl/cogl-journal.c | 31 ++++---
clutter/cogl/cogl/cogl-primitives.c | 135 ++++++++++++++++---------------
3 files changed, 91 insertions(+), 80 deletions(-)
commit 5f18fc928d85499d6ee2ac433dde247286e2de4e
Author: Robert Bragg <robert@linux.intel.com>
Date: Wed Feb 10 22:47:49 2010 +0000
cogl: explicitly mark cogl_<object>_ref/unref APIs as deprecated
This uses the G_GNUC_DEPRECATED macros to mark the
cogl_{texture,vertex_buffer,shader}_ref and unref APIs as deprecated.
Since this flagged that cogl-pango-display-list.c and
clutter-glx-texture-pixmap.c were still using deprecated _ref/_unref
APIs they have now been changed to use the cogl_handle_ref/unref API
instead.
clutter/cogl/cogl/cogl-shader.h | 8 ++++++--
clutter/cogl/cogl/cogl-texture.h | 4 ++--
clutter/cogl/cogl/cogl-vertex-buffer.h | 4 ++--
clutter/cogl/pango/cogl-pango-display-list.c | 8 ++++----
clutter/glx/clutter-glx-texture-pixmap.c | 2 +-
5 files changed, 15 insertions(+), 11 deletions(-)
commit 48660349dbcabdde05fc9e1334734bcc62bb790e
Author: Robert Bragg <robert@linux.intel.com>
Date: Wed Feb 10 22:30:37 2010 +0000
cogl: cleanly separate primitives + paths code
The function prototypes for the primitives API were spread between
cogl-path.h and cogl-texture.h and should have been in a
cogl-primitives.h.
As well as shuffling the prototypes around into more sensible places
this commit splits the cogl-path API out from cogl-primitives.c into
a cogl-path.c
clutter/cogl/cogl/Makefile.am | 3 +
clutter/cogl/cogl/cogl-internal.h | 28 +
clutter/cogl/cogl/cogl-path.c | 1121 +++++++++++++++++++++++++++++++++++
clutter/cogl/cogl/cogl-path.h | 33 +-
clutter/cogl/cogl/cogl-primitives.c | 1078 ---------------------------------
clutter/cogl/cogl/cogl-primitives.h | 188 +++++-
clutter/cogl/cogl/cogl-texture.h | 133 -----
clutter/cogl/cogl/cogl.h | 1 +
8 files changed, 1316 insertions(+), 1269 deletions(-)
commit 9f5a3e14451ed77f47260bbd6a1b2271e8003361
Author: Robert Bragg <robert@linux.intel.com>
Date: Wed Feb 10 18:18:30 2010 +0000
cogl: remove redundant _cogl_journal_flush prototype
There was a redundant _cogl_journal_flush function prototype in
cogl-primitives.h
clutter/cogl/cogl/cogl-clip-stack.c | 1 +
clutter/cogl/cogl/cogl-framebuffer.c | 1 +
clutter/cogl/cogl/cogl-journal-private.h | 5 +++--
clutter/cogl/cogl/cogl-material.c | 1 +
clutter/cogl/cogl/cogl-primitives.h | 3 ---
clutter/cogl/cogl/cogl-texture-2d-sliced.c | 1 +
clutter/cogl/cogl/cogl-texture-2d.c | 1 +
clutter/cogl/cogl/cogl-vertex-buffer.c | 1 +
clutter/cogl/cogl/driver/gl/cogl-program.c | 1 +
9 files changed, 10 insertions(+), 5 deletions(-)
commit 7edcbaa1f9444848fcaac052557f7c444e3905e0
Author: Robert Bragg <robert@linux.intel.com>
Date: Wed Feb 10 01:57:32 2010 +0000
cogl: improves header and coding style consistency
We've had complaints that our Cogl code/headers are a bit "special" so
this is a first pass at tidying things up by giving them some
consistency. These changes are all consistent with how new code in Cogl
is being written, but the style isn't consistently applied across all
code yet.
There are two parts to this patch; but since each one required a large
amount of effort to maintain tidy indenting it made sense to combine the
changes to reduce the time spent re indenting the same lines.
The first change is to use a consistent style for declaring function
prototypes in headers. Cogl headers now consistently use this style for
prototypes:
return_type
cogl_function_name (CoglType arg0,
CoglType arg1);
Not everyone likes this style, but it seems that most of the currently
active Cogl developers agree on it.
The second change is to constrain the use of redundant glib data types
in Cogl. Uses of gint, guint, gfloat, glong, gulong and gchar have all
been replaced with int, unsigned int, float, long, unsigned long and char
respectively. When talking about pixel data; use of guchar has been
replaced with guint8, otherwise unsigned char can be used.
The glib types that we continue to use for portability are gboolean,
gint{8,16,32,64}, guint{8,16,32,64} and gsize.
The general intention is that Cogl should look palatable to the widest
range of C programmers including those outside the Gnome community so
- especially for the public API - we want to minimize the number of
foreign looking typedefs.
clutter/cogl/cogl/cogl-atlas-texture.c | 52 ++--
clutter/cogl/cogl/cogl-atlas.c | 22 +-
clutter/cogl/cogl/cogl-atlas.h | 18 +-
clutter/cogl/cogl/cogl-bitmap-fallback.c | 82 +++---
clutter/cogl/cogl/cogl-bitmap-pixbuf.c | 60 ++--
clutter/cogl/cogl/cogl-bitmap-private.h | 30 +-
clutter/cogl/cogl/cogl-bitmap.c | 34 +--
clutter/cogl/cogl/cogl-bitmap.h | 15 +-
clutter/cogl/cogl/cogl-blend-string.c | 12 +-
clutter/cogl/cogl/cogl-blend-string.h | 4 +-
clutter/cogl/cogl/cogl-buffer-private.h | 14 +-
clutter/cogl/cogl/cogl-buffer.c | 8 +-
clutter/cogl/cogl/cogl-buffer.h | 26 +-
clutter/cogl/cogl/cogl-clip-stack.c | 16 +-
clutter/cogl/cogl/cogl-clip-stack.h | 14 +-
clutter/cogl/cogl/cogl-color.h | 75 +++--
clutter/cogl/cogl/cogl-context.c | 2 +-
clutter/cogl/cogl/cogl-context.h | 10 +-
clutter/cogl/cogl/cogl-debug.c | 8 +-
clutter/cogl/cogl/cogl-debug.h | 4 +-
clutter/cogl/cogl/cogl-feature-private.c | 19 +-
clutter/cogl/cogl/cogl-feature-private.h | 14 +-
clutter/cogl/cogl/cogl-fixed.c | 24 +-
clutter/cogl/cogl/cogl-fixed.h | 72 +++--
clutter/cogl/cogl/cogl-handle.h | 2 +-
clutter/cogl/cogl/cogl-internal.h | 32 ++-
clutter/cogl/cogl/cogl-journal.c | 26 +-
clutter/cogl/cogl/cogl-material-private.h | 67 +++--
clutter/cogl/cogl/cogl-material.c | 22 +-
clutter/cogl/cogl/cogl-material.h | 175 +++++++-----
clutter/cogl/cogl/cogl-matrix.h | 110 ++++----
clutter/cogl/cogl/cogl-path.h | 138 +++++----
clutter/cogl/cogl/cogl-pixel-buffer-private.h | 9 +-
clutter/cogl/cogl/cogl-pixel-buffer.c | 53 ++--
clutter/cogl/cogl/cogl-pixel-buffer.h | 46 +--
clutter/cogl/cogl/cogl-primitives.c | 48 ++--
clutter/cogl/cogl/cogl-primitives.h | 13 +-
clutter/cogl/cogl/cogl-shader.h | 96 ++++---
clutter/cogl/cogl/cogl-sub-texture-private.h | 14 +-
clutter/cogl/cogl/cogl-sub-texture.c | 70 ++---
clutter/cogl/cogl/cogl-texture-2d-private.h | 4 +-
clutter/cogl/cogl/cogl-texture-2d-sliced-private.h | 6 +-
clutter/cogl/cogl/cogl-texture-2d-sliced.c | 163 +++++------
clutter/cogl/cogl/cogl-texture-2d.c | 34 +--
clutter/cogl/cogl/cogl-texture-private.h | 6 +-
clutter/cogl/cogl/cogl-texture.c | 106 +++----
clutter/cogl/cogl/cogl-texture.h | 220 ++++++++-------
clutter/cogl/cogl/cogl-types.h | 15 +-
clutter/cogl/cogl/cogl-util.c | 30 +-
clutter/cogl/cogl/cogl-vertex-buffer-private.h | 2 +-
clutter/cogl/cogl/cogl-vertex-buffer.c | 18 +-
clutter/cogl/cogl/cogl-vertex-buffer.h | 6 +-
clutter/cogl/cogl/cogl.c | 52 ++--
clutter/cogl/cogl/cogl.h | 310 +++++++++++++--------
clutter/cogl/cogl/driver/gl/cogl-program.c | 18 +-
clutter/cogl/cogl/driver/gl/cogl-shader.c | 2 +-
clutter/cogl/cogl/driver/gl/cogl-texture-driver.c | 2 +-
clutter/cogl/cogl/driver/gl/cogl.c | 8 +-
clutter/cogl/cogl/driver/gles/cogl-gles2-wrapper.c | 6 +-
clutter/cogl/cogl/driver/gles/cogl-gles2-wrapper.h | 12 +-
clutter/cogl/cogl/driver/gles/cogl-program.c | 42 +--
clutter/cogl/cogl/driver/gles/cogl-shader.c | 4 +-
.../cogl/cogl/driver/gles/cogl-texture-driver.c | 4 +-
clutter/cogl/doc/CODING_STYLE | 49 ++++
64 files changed, 1491 insertions(+), 1184 deletions(-)
commit 8c9472bc4c0350bc28f6ca152e82a0a507063d19
Author: Robert Bragg <robert@linux.intel.com>
Date: Fri Feb 5 16:32:19 2010 +0000
cogl: deprecates cogl_check_extension
OpenGL is an implementation detail for Cogl so it's not appropriate to
expose OpenGL extensions through the Cogl API.
Note: Clutter is currently still using this API, because it is still
doing raw GL calls in ClutterGLXTexturePixmap, so this introduces a
couple of (legitimate) build warnings while compiling Clutter.
clutter/cogl/cogl/cogl-feature-private.c | 4 ++--
clutter/cogl/cogl/cogl-internal.h | 1 +
clutter/cogl/cogl/cogl.c | 32 ++++++++++++++++++++++++++++++++
clutter/cogl/cogl/cogl.h | 11 ++++++++++-
clutter/cogl/cogl/driver/gl/cogl.c | 31 +++----------------------------
clutter/cogl/cogl/driver/gles/cogl.c | 25 -------------------------
clutter/glx/clutter-backend-glx.c | 6 +++---
clutter/glx/clutter-glx-texture-pixmap.c | 5 +++--
8 files changed, 54 insertions(+), 61 deletions(-)
commit b898f0e227aeabeb0513d1228a8f432c467d95b9
Author: Robert Bragg <robert@linux.intel.com>
Date: Tue Feb 9 19:34:32 2010 +0000
never presume queuing redraws on invisible actors is redundant
This replaces code like this:
if (CLUTTER_ACTOR_IS_VISIBLE (self))
clutter_actor_queue_redraw (self);
with:
clutter_actor_queue_redraw (self);
clutter_actor_queue_redraw internally knows what can be optimized when
the actor is not visible, but it also knows that the queue_redraw signal
must always be sent in case a ClutterClone is cloning a hidden actor.
clutter/clutter-actor.c | 11 ++++-------
clutter/clutter-group.c | 12 ++++--------
clutter/clutter-rectangle.c | 9 +++------
clutter/clutter-stage.c | 8 +++-----
clutter/clutter-text.c | 30 ++++++++++--------------------
clutter/clutter-texture.c | 9 +++------
6 files changed, 27 insertions(+), 52 deletions(-)
commit bfb271b40332240f40c79dabf8f78f7a68293286
Author: Robert Bragg <robert@linux.intel.com>
Date: Tue Feb 9 19:19:44 2010 +0000
box: port a ClutterGroup::foreach fix to ClutterBox
ClutterGroup::foreach was recently changed (ref: ce030a3fce) to use
g_list_foreach() to iterate the children instead of manually iterating
the list so it would safely handle calls like:
clutter_container_foreach (container, clutter_actor_destroy);
(In this example clutter_actor_destroy will result in the current
list item being iterated being freed.)
clutter/clutter-box.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
commit 60a4664d6e4f67b5e527cc2ecd190a538ed994ec
Author: Robert Bragg <robert@linux.intel.com>
Date: Tue Feb 9 19:06:59 2010 +0000
box: Adds missing copyright header
Adds a Copyright (C) 2009,2010 Intel Corporation header
clutter/clutter-box.c | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)
commit 4355621aebb075bc34b50a89f8ba99e8b8e12ff7
Author: Robert Bragg <robert@linux.intel.com>
Date: Tue Feb 9 18:54:28 2010 +0000
group: make it comparable to ClutterBox
There is a lot of duplication between ClutterGroup and ClutterBox so
this makes the two files diff-able so that new fixes can easily be
ported to both and bug fixes missing in one or the other can be spotted
more easily. This doesn't change the behaviour of either actor; it's
really just a shuffle around of code and normalizes the coding style to
make the files comparable.
This has already uncovered one bug in ClutterBox, and also highlights
a bug in ClutterGroup + many other actors:
1) ClutterGroup::real_foreach was recently changed to use
g_list_foreach instead of manually iterating the child list so it can
safely handle calls like:
clutter_container_foreach (container, clutter_actor_destroy);
ClutterBox is still manually iterating the list.
2) In ClutterGroup we guard _queue_redraw() calls like this:
if (CLUTTER_ACTOR_IS_VISIBLE (container))
clutter_actor_queue_redraw (CLUTTER_ACTOR (container));
In ClutterBox we don't:
I think ClutterBox is correct here because
clutter_actor_queue_redraw already optimizes the case where the
actor's not visible, but it also considers that the actor may be
cloned and so the guard in ClutterGroup could break clones. This
actually highlights a wider clutter bug since the same kinds of
guards can be found in all other clutter actors.
clutter/clutter-box.c | 1 -
clutter/clutter-group.c | 366 ++++++++++++++++++++++--------------------------
2 files changed, 167 insertions(+), 200 deletions(-)
commit 34c7611407154fcbb61c82c959c2a38972c2534f
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Fri Feb 12 11:38:47 2010 +0000
docs: Update the backend HACKING file
Clarify the Backend::create_context() vfunc role, and the
Stage::realize() vfunc with regards to creating the GL/GLES
context.
doc/HACKING.backends | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
commit 44818a48273baa7dabfbb9370ac218ae8b0cf38e
Author: Neil Roberts <neil@linux.intel.com>
Date: Thu Feb 11 14:20:48 2010 +0000
cogl: Add a fallback for when the signbit macro is missing
The signbit macro is defined in C99 so it should be available but some
versions of GCC don't appear to define it by default. If it's not
available we can use a hack to test the bit directly.
clutter/cogl/cogl/cogl-sub-texture.c | 2 +-
clutter/cogl/cogl/cogl-texture-2d.c | 2 +-
clutter/cogl/cogl/cogl-util.h | 27 ++++++++++++++++++++++++++-
3 files changed, 28 insertions(+), 3 deletions(-)
commit 59463c2213b79a553d3d7999bb56106fb7c5a4ad
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Wed Feb 10 17:20:31 2010 +0000
Do a sanity check on _clutter_do_pick() arguments
We should check that the passed ClutterStage pointer is indeed: a) still
valid and b) a Stage.
clutter/clutter-main.c | 1 +
1 file changed, 1 insertion(+)
commit d0734bc4741d77e7c239cf860b73b49e9564aa91
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Wed Feb 10 17:12:27 2010 +0000
input-device: Do not pick() on NULL stages
If the stage associated to the InputDevice is not set we should
short-circuit out and return NULL. This will result in a pick()
done on the event's stage - if applicable.
http://bugzilla.moblin.org/show_bug.cgi?id=9602
clutter/clutter-input-device.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
commit 4208169ab48795ca8f10287bd67031e161bf1f82
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Wed Feb 10 15:38:41 2010 +0000
text: Bump up the preferred height
Instead of returning a sub-pixel height round up the preferred height to
the nearest integral value that is not less than the size reported by
Pango, once converted in pixels.
clutter/clutter-text.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
commit f54b29a0c0c182f1396abd9df7d46d99b81a133d
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Wed Feb 10 15:38:07 2010 +0000
test-text-field: Tone down the border
Use a low opacity for the text field border.
tests/interactive/test-text-field.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
commit 2670fc58710b1d9d1ad5afae7b6ac397e1dc54dd
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Wed Feb 10 15:37:26 2010 +0000
test-text-field: Use ActorBox methods for the border
Clamp to pixel and use get_size() when painting the border of the text
field.
tests/interactive/test-text-field.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
commit 3fdb0a59509aeaeb07c276ebd09df355626cfb92
Author: Robert Bragg <robert@linux.intel.com>
Date: Wed Feb 10 11:57:58 2010 +0000
uprof: make the Redrawing timer a child of the Master Clock
Previously it was a child of the Mainloop, but it's more closely
a child of the Master Clock.
clutter/clutter-backend.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
commit 1899dbdc270e0bd494d174dd6bfbb9c5d18e174f
Author: Robert Bragg <robert@linux.intel.com>
Date: Wed Feb 10 12:18:41 2010 +0000
backend-glx: Fix glXQueryVersion test
This fixes some backwards logic for asserting that we have a GLX major
version == 1 and a minor version >= 2. (NB: Although we technically
depend on GLX 1.3 features, we still have to support drivers that report
GLX 1.2 because there are a lot of mesa drivers out there incorrectly
report GLX 1.2 even though they export extensions that depend on GLX
1.3)
clutter/glx/clutter-backend-glx.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
commit ce1bb3d858fd02d6bcfb94b2b8999cfd7d0a4535
Author: Neil Roberts <neil@linux.intel.com>
Date: Wed Feb 10 12:41:09 2010 +0000
cogl-material: Layers are not equal if the filters aren't equal
A material layer can not be considered equal if it is using different
texture filtering modes. This was causing problems where rectangles
with different filters would end up batched together and then rendered
with the wrong filter mode.
clutter/cogl/cogl/cogl-material.c | 5 +++++
1 file changed, 5 insertions(+)
commit b61c2b510b5f5a72ae6181cdce646d7018fbd996
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Wed Feb 10 10:58:14 2010 +0000
build: Tweak internal defines for building Clutter
When building Clutter we should:
• disable Cogl deprecated API;
• enable experimental API.
clutter/Makefile.am | 2 ++
1 file changed, 2 insertions(+)
commit 4a9f08639f7127719f5b59ee9287641ba4912063
Author: Robert Bragg <robert@linux.intel.com>
Date: Wed Jan 20 18:53:36 2010 +0000
debug: Adds CLUTTER_DEBUG=disable-swap-events option
This allows us to forcibly disable the use of the GLX_INTEL_swap_events
extension for testing or debugging purposes.
clutter/clutter-debug.h | 37 +++++++++++++++++++------------------
clutter/clutter-main.c | 3 ++-
clutter/glx/clutter-backend-glx.c | 3 ++-
3 files changed, 23 insertions(+), 20 deletions(-)
commit 5d702853b814445590aafe448bfc8f7993b06638
Author: Robert Bragg <robert@linux.intel.com>
Date: Thu Nov 12 20:37:01 2009 +0000
glx backend: Adds support for GLX_INTEL_swap_event
If your OpenGL driver supports GLX_INTEL_swap_event that means when
glXSwapBuffers is called it returns immediatly and an XEvent is sent when
the actual swap has finished.
Clutter can use the events that notify swap completion as a means to
throttle rendering in the master clock without blocking the CPU and so it
should help improve the performance of CPU bound applications.
clutter/clutter-feature.h | 3 +-
clutter/clutter-master-clock.c | 72 +++++++++++++++++++++++++----
clutter/clutter-private.h | 2 +
clutter/clutter-stage-window.c | 13 ++++++
clutter/clutter-stage-window.h | 3 ++
clutter/clutter-stage.c | 8 ++++
clutter/glx/Makefile.am | 2 +
clutter/glx/clutter-backend-glx.c | 56 ++++++++++++++++++-----
clutter/glx/clutter-backend-glx.h | 3 ++
clutter/glx/clutter-event-glx.c | 96 +++++++++++++++++++++++++++++++++++++++
clutter/glx/clutter-event-glx.h | 38 ++++++++++++++++
clutter/glx/clutter-stage-glx.c | 21 +++++++++
clutter/glx/clutter-stage-glx.h | 2 +
clutter/x11/clutter-backend-x11.c | 10 ++++
clutter/x11/clutter-backend-x11.h | 7 +++
clutter/x11/clutter-event-x11.c | 5 ++
doc/HACKING.backends | 8 ++++
17 files changed, 327 insertions(+), 22 deletions(-)
commit 848db1ee4cc910542435bbcd3a57933bdf70269e
Author: Robert Bragg <robert@linux.intel.com>
Date: Thu Jan 14 14:03:23 2010 +0000
glx backend: when running with GLX 1.3 then create GLXWindows for stages
Some extensions only support GLX versions > 1.3 and may not support
old style X Windows as GLXDrawables, so we now create GLXWindows for
stages when possible.
clutter/glx/clutter-backend-glx.c | 72 ++++++++++++++++++++++++++++++---------
clutter/glx/clutter-backend-glx.h | 1 +
clutter/glx/clutter-stage-glx.c | 28 +++++++++++++++
clutter/glx/clutter-stage-glx.h | 1 +
4 files changed, 86 insertions(+), 16 deletions(-)
commit ca3ab41a1b12f661fe6eecddfaf5e03b0d94d682
Author: Neil Roberts <neil@linux.intel.com>
Date: Tue Feb 9 18:33:09 2010 +0000
clutter-backend: Fix the error check in _clutter_backend_create_stage
Commit d2bdd3cb62 fixed some compiler warnings but also broke the
ability to create a stage. Although not having warnings from the
compiler is nice, it is also nice to be able to create a stage so lets
not invert the meaning of the error check.
clutter/clutter-backend.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
commit 7b1925df82fa92fd68623c9a999ece6bf4ddfde3
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Tue Feb 9 17:07:08 2010 +0000
cogl: Move material_copy() out of the deprecated section
We strongly suggest people should be using cogl_material_copy(), but it
was hidden behind the deprecation guards.
clutter/cogl/cogl/cogl-material.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
commit d2bdd3cb62c1cba24619ae843cf087709a02643d
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Tue Feb 9 16:57:14 2010 +0000
Fix some compiler warnings
GCC complains that some variable might be used uninitialized.
clutter/clutter-backend.c | 6 ++++--
clutter/clutter-bin-layout.c | 1 +
clutter/clutter-flow-layout.c | 6 ++++++
clutter/clutter-text.c | 6 ++----
clutter/cogl/cogl/cogl-matrix-stack.c | 6 +++++-
5 files changed, 18 insertions(+), 7 deletions(-)
commit 193c477495488446d2f3d8ab0184f882f3255f48
Author: Neil Roberts <neil@linux.intel.com>
Date: Tue Feb 9 16:30:28 2010 +0000
cogl-bitmap: Remove const from premult_alpha_last_four_pixels_sse2
The function modifies the pixels pointed by p in-place so the pointer
can not be constant. The compiler was accepting this because the
modification is done from inline assembler.
clutter/cogl/cogl/cogl-bitmap-fallback.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
commit f5d2f58b03bf03b69f6cb92b3bdddb92b8a8ecc2
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Tue Feb 9 15:29:29 2010 +0000
docs: Clean up the unused symbols for Cogl
Gtk-doc is reporting a lot of false positives in the unused text file,
mostly because of new private files that have been added to Cogl but not
to the gtk-doc ignore list for the Cogl API reference.
Once the false positives have been removed we have a couple of really
missing symbols that should be added to the cogl-sections.txt file.
doc/reference/cogl/Makefile.am | 54 ++++++++++++++++++++----------------
doc/reference/cogl/cogl-sections.txt | 7 +++++
2 files changed, 37 insertions(+), 24 deletions(-)
commit ecc5ffe91ace38c9d288251807e721a4cd71b052
Author: Bastian Winkler <buz@netbuz.org>
Date: Tue Feb 9 15:19:03 2010 +0100
cogl-buffer: Use correct argument types in cogl_buffer_set_data_EXP
offset and size arguments are gsize in cogl-buffer.h
http://bugzilla.openedhand.com/show_bug.cgi?id=1980
Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
clutter/cogl/cogl/cogl-buffer.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
commit 9aac36b47e43e95d12c8d28bd3671e6f5e000d32
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Tue Feb 9 14:48:11 2010 +0000
docs: Move some Cogl defines in the private section
The PixelFormat bit and mask #defines should not be used and are there
mostly for convenience, so we can push them to the "private" sub-section
of the API reference.
This pushed Cogl's API reference coverage to 100%.
doc/reference/cogl/cogl-sections.txt | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
commit 7ebb1e7157ab5d3efbeb37d7879d851adc7da40e
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Tue Feb 9 14:41:37 2010 +0000
docs: Fixes for Cogl API reference
98% symbol docs coverage.
335 symbols documented.
0 symbols incomplete.
8 not documented.
Not bad, if I may say so.
clutter/cogl/cogl/cogl-buffer.h | 12 ++++++---
clutter/cogl/cogl/cogl-color.h | 41 +++++++++++++++++++++++++++++++
clutter/cogl/cogl/cogl-fixed.h | 2 +-
clutter/cogl/cogl/cogl-material-private.h | 2 +-
clutter/cogl/cogl/cogl-matrix.h | 3 ++-
clutter/cogl/cogl/cogl-types.h | 23 ++++++++++++++++-
doc/reference/cogl/cogl-sections.txt | 16 +++---------
7 files changed, 80 insertions(+), 19 deletions(-)
commit 1d28ed035f360b14cfbf5b01db4ffe2979172cf0
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Tue Feb 9 13:39:08 2010 +0000
Post-release bump to 1.1.11
configure.ac | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
commit a24d4d21a0eeca771476705ef407d55fdb32e68f
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Tue Feb 9 12:31:42 2010 +0000
Release 1.1.10
Brown paper bag release.
configure.ac | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
commit 738e73873dd0c05a44f7cb0ad40c8a854e0c75a6
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Tue Feb 9 12:59:18 2010 +0000
Update NEWS file
NEWS | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
commit cccf23caa481a239b747d1fdd5e0ca5ae7f6682c
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Tue Feb 9 11:29:39 2010 +0000
build: Always build conformance tests with debug symbols
Having the conformance test suite build without debug symbols doesn't
make any sense.
tests/conform/Makefile.am | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
commit e46db37c03b6adae1594729c2c5c86e65701d95b
Author: Robert Bragg <robert@linux.intel.com>
Date: Tue Feb 9 13:00:39 2010 +0000
conform: fix stack corruption in test-behaviours.c
The test was calling g_object_get to fetch the "opacity-start" property
(unsigned int) into a guint8 local variable. It's a bit of a mean trap
given that the getter function returns guint8 values so this also adds a
comment explaining what's going on.
tests/conform/test-behaviours.c | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
commit a02253f19a722dcfbf0a32543dd563127dd7b80e
Author: Neil Roberts <neil@linux.intel.com>
Date: Tue Feb 9 12:21:10 2010 +0000
cogl-texture-2d: Use _cogl_texture_driver_gen to generate the GL tex
_cogl_texture_driver_gen is needed to set the texture minification
mode to Cogl's default of GL_LINEAR. There was also a line to set this
in _cogl_texture_2d_new_with_size but it wasn't working because it was
called *before* the texture was bound. If the texture was later
rendered with the default material it then it would end up with GL's
default mipmap filtering mode but without mipmaps so it would render
white squares instead.
clutter/cogl/cogl/cogl-texture-2d.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
commit 1b2ff7eff7e97d8542e35514bfa010be706973ee
Author: Neil Roberts <neil@linux.intel.com>
Date: Fri Dec 18 21:17:21 2009 +0000
cogl: Use SSE2 when possible for premultiplying
This adds a fast path for premultiplying an RGBA image using SSE2
instructions. SSE registers are 128-bit and we need at least 16-bits
per component for the intermediate result of the multiplication so we
can do two pixels in parallel with one register. The function
interleaves 2 SSE registers to multiply 4 pixels in one function call
with the hope that this will pipeline better.
http://bugzilla.openedhand.com/show_bug.cgi?id=1939
Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
clutter/cogl/cogl/cogl-bitmap-fallback.c | 104 ++++++++++++++++++++++++++++++-
1 file changed, 103 insertions(+), 1 deletion(-)
commit bbb058df40a5e1acf7b8e42049c3cd5d966f762d
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Tue Feb 9 10:34:41 2010 +0000
actor: Improve readability of raise/lower warnings
• Add the function name in the warning, since the text is the same in
both clutter_actor_raise() and clutter_actor_lower().
• If an actor has a name then prefer it to the type name.
clutter/clutter-actor.c | 46 +++++++++++++++++++++++++++++-----------------
1 file changed, 29 insertions(+), 17 deletions(-)
commit 7664568fff63501339d2cb1682ae1a9f1c27e068
Author: Halton Huo <halton.huo@gmail.com>
Date: Tue Feb 9 10:21:37 2010 +0000
Remove return from void functions
This patch fixes compilation on suncc.
http://bugzilla.openedhand.com/show_bug.cgi?id=1978
Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
clutter/cogl/cogl/cogl-buffer.c | 2 +-
clutter/cogl/cogl/cogl-sub-texture.c | 2 +-
clutter/cogl/cogl/cogl-texture.c | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
commit a23ce8606860075e35fca28eb82e57e340f2b9b9
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Mon Feb 8 18:09:14 2010 +0000
Post-release bump to 1.1.9
configure.ac | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
commit a2889ed0772503dce504ab260fbbf662a0ad25d8
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Mon Feb 8 17:57:48 2010 +0000
Release Clutter 1.1.8
configure.ac | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
commit a139bf9c40f88b46055e4cd9754ba51acca97c87
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Mon Feb 8 17:56:35 2010 +0000
test-animator: Do not use mid-function blocks
The test_animator_properties unit is so small that declaring a
mid-function block for two variables is not that clever.
tests/conform/test-animator.c | 57 +++++++++++++++++++++----------------------
1 file changed, 28 insertions(+), 29 deletions(-)
commit 4d9327bbe14c2771896999844df3eac28da75347
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Mon Feb 8 17:55:29 2010 +0000
animator: Zero the AnimatorKey:value member
The test suite is showing random segfaults because the GValue member of
AnimatorKey is not zero-ed on creation.
clutter/clutter-animator.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
commit d62ddc374f88448fbde6db11ed4b10a594ecc5c4
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Mon Feb 8 17:37:00 2010 +0000
docs: Fixes for ClutterAnimator
clutter/clutter-animator.c | 2 +-
clutter/clutter-animator.h | 16 ++++++++--------
doc/reference/clutter/clutter-sections.txt | 1 +
3 files changed, 10 insertions(+), 9 deletions(-)
commit 9806f78905eea6e7c3b5b1f35b35650a823cb295
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Mon Feb 8 17:34:11 2010 +0000
Merge me
NEWS | 4 ++++
1 file changed, 4 insertions(+)
commit 814d3acd0730f2e418ccc44d550e1fa369c142fe
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Mon Feb 8 17:27:20 2010 +0000
docs: Update NEWS
NEWS | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 53 insertions(+)
commit 419afc01e8f2c96f7cf5c0962e5c421f8f3a476f
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Mon Feb 8 17:27:13 2010 +0000
docs: Update the release notes
README | 6 ++++++
1 file changed, 6 insertions(+)
commit c02dded0f6793ad377b566360371c23dbe61b4bc
Author: Damien Lespiau <damien.lespiau@intel.com>
Date: Mon Feb 8 17:11:43 2010 +0000
cogl-buffer: Use TEXTURE as the only value for CoglBufferUsageHint
We should try to use more explicit defines than GL for our hints. For
now we only support using a CoglBuffer to generate textures.
clutter/cogl/cogl/cogl-buffer.c | 38 ++++++++--------------------------
clutter/cogl/cogl/cogl-buffer.h | 12 +++--------
clutter/cogl/cogl/cogl-pixel-buffer.c | 2 +-
tests/conform/test-cogl-pixel-buffer.c | 12 +++++------
4 files changed, 19 insertions(+), 45 deletions(-)
commit 54a6df22b038b047931dc108df35bc9e097d4e5e
Author: Damien Lespiau <damien.lespiau@intel.com>
Date: Tue Feb 2 16:44:16 2010 +0000
cogl-buffer: make sure the code compiles on GL ES
OpenGL ES has no PBO extension, so we fallback to using a malloc'ed
buffer. Make sure the OpenGL-only defines don't leak into the OpenGL ES
compilation.
clutter/cogl/cogl/cogl-buffer.c | 28 ++++++++++++++++++++++++++++
clutter/cogl/cogl/cogl-pixel-buffer.c | 7 +++++++
clutter/cogl/cogl/cogl-texture.c | 5 ++++-
3 files changed, 39 insertions(+), 1 deletion(-)
commit d0fe4795368ddc55411fb081832bfcdfdfeb4314
Author: Damien Lespiau <damien.lespiau@intel.com>
Date: Tue Feb 2 12:59:51 2010 +0000
cogl-pixel-buffer: Add a fallback path
First, let's add a new public feature called, surprisingly,
COGL_FEATURE_PBOS to check the availability of PBOs and provide a
fallback path when running on older GL implementations or on OpenGL ES
In case the underlying OpenGL implementation does not provide PBOs, we
need a fallback path (a malloc'ed buffer). The CoglPixelBufer
constructors will instanciate a subclass of CoglBuffer that handles
map/unmap and set_data() with a malloc'ed buffer.
The public feature is useful to check before using set_data() on a
buffer as it will mean doing a memcpy() when not supporting PBOs (in
that case, it's better to create the texture directly instead of using a
CoglBuffer).
clutter/cogl/cogl/cogl-pixel-buffer.c | 56 ++++++++++++++++++++--
clutter/cogl/cogl/cogl-texture.c | 38 ++++++++++-----
clutter/cogl/cogl/cogl-types.h | 4 +-
.../cogl/cogl/driver/gl/cogl-feature-functions.h | 5 ++
4 files changed, 88 insertions(+), 15 deletions(-)
commit b5d5821304e8ca15ee4411bf7ff8f26a6a23c855
Author: Damien Lespiau <damien.lespiau@intel.com>
Date: Fri Jan 22 15:38:31 2010 +0000
tests: Add a test for CoglPixelBuffers
Exercise the whole public CoglBuffer / CoglPixelBuffer and
cogl_texture_new_from_buffer API.
.gitignore | 1 +
tests/conform/Makefile.am | 1 +
tests/conform/test-cogl-pixel-buffer.c | 337 +++++++++++++++++++++++++++++++++
tests/conform/test-conform-main.c | 3 +
4 files changed, 342 insertions(+)
commit b7f049495b527547d093ca337588ceb289c9cb2b
Author: Damien Lespiau <damien.lespiau@intel.com>
Date: Fri Jan 22 15:07:27 2010 +0000
cogl-texture: Add a new constructor to turn CoglBuffers into textures
The only goal of using COGL buffers is to use them to create
textures. cogl_texture_new_from_buffer() is the new symbol to create
textures out of buffers.
clutter/cogl/cogl/cogl-texture.c | 55 +++++++++++++++++++++++++++++++++
clutter/cogl/cogl/cogl-texture.h | 60 ++++++++++++++++++++++++++++++++++++
doc/reference/cogl/cogl-sections.txt | 3 ++
3 files changed, 118 insertions(+)
commit abbb668163537598790cb3eca564ea19b1e010ad
Author: Damien Lespiau <damien.lespiau@intel.com>
Date: Sun Jan 10 18:04:29 2010 +0000
cogl-pixel-buffer: add a pixel buffer object class
This subclass of CoglBuffer aims at wrapping PBOs or other system
surfaces like DRM buffer objects. Two constructors are available:
cogl_pixel_buffer_new() with a size when you only care about the size of
the buffer (such a buffer can be used to store several texture data such
as the three planes of a I420 frame).
cogl_pixel_buffer_new_full() is more a 1:1 mapping between the data and
an underlying surface, with the possibility of having access to a low
level memory buffer that may have a stride.
clutter/cogl/cogl/Makefile.am | 3 +
clutter/cogl/cogl/cogl-pixel-buffer-private.h | 72 ++++++
clutter/cogl/cogl/cogl-pixel-buffer.c | 317 ++++++++++++++++++++++++++
clutter/cogl/cogl/cogl-pixel-buffer.h | 165 ++++++++++++++
clutter/cogl/cogl/cogl.h | 1 +
doc/reference/cogl/cogl-sections.txt | 6 +
6 files changed, 564 insertions(+)
commit b5e9710cdf5795f532fe46b9dfcc704a07d99ac9
Author: Damien Lespiau <damien.lespiau@intel.com>
Date: Sun Jan 10 17:28:24 2010 +0000
cogl-buffer: add an abstract class around openGL's buffer objects
Buffer objects are cool! This abstracts the buffer API first introduced
by GL_ARB_vertex_buffer_object and then extended to other objects.
The coglBuffer abstract class is intended to be the base class of all
the buffer objects, letting the user map() buffers. If the underlying
implementation does not support buffer objects (or only support VBO but
not FBO for instance), fallback paths should be provided.
clutter/cogl/cogl/Makefile.am | 3 +
clutter/cogl/cogl/cogl-buffer-private.h | 102 ++++++++++++
clutter/cogl/cogl/cogl-buffer.c | 282 +++++++++++++++++++++++++++++++
clutter/cogl/cogl/cogl-buffer.h | 287 ++++++++++++++++++++++++++++++++
clutter/cogl/cogl/cogl-context.c | 2 +
clutter/cogl/cogl/cogl-context.h | 5 +
clutter/cogl/cogl/cogl.h | 4 +
doc/reference/cogl/cogl-docs.xml.in | 21 +++
doc/reference/cogl/cogl-sections.txt | 17 ++
9 files changed, 723 insertions(+)
commit de8a6314f12854e748de515afb487af56eaac845
Author: Damien Lespiau <damien.lespiau@intel.com>
Date: Mon Jan 25 11:21:05 2010 +0000
cogl: new textures sould have GL_TEXTURE_MIN_FILTER set to GL_LINEAR
The only way the user has to set the mipmap filters is through the
material/layer API. This API defaults to GL_LINEAR/GL_LINEAR for the max
and min filters. With the main use case of cogl being 2D interfaces, it
makes sense do default to GL_LINEAR for the min filter.
When creating new textures, we did not set any filter on them, using
OpenGL defaults': GL_NEAREST_MIPMAP_LINEAR for the min filter and
GL_LINEAR for the max filter. This will make the driver allocate memory
for the mipmap tree, memory that will not be used in the nominal case
(as the material API defaults to GL_LINEAR).
This patch tries to ensure that the min filter is set to GL_LINEAR
before any glTexImage*() call is done on the texture by setting the
filter when generating new OpenGL handles.
clutter/cogl/cogl/cogl-texture-2d-sliced.c | 9 ++++----
clutter/cogl/cogl/cogl-texture-2d.c | 9 ++++----
clutter/cogl/cogl/cogl-texture-driver.h | 9 ++++++++
clutter/cogl/cogl/driver/gl/cogl-texture-driver.c | 27 ++++++++++++++++++++++
.../cogl/cogl/driver/gles/cogl-texture-driver.c | 27 ++++++++++++++++++++++
5 files changed, 72 insertions(+), 9 deletions(-)
commit c0f65212baee25dd4e66f4366a54bd847c782eb3
Author: Damien Lespiau <damien.lespiau@intel.com>
Date: Mon Jan 11 00:15:25 2010 +0000
cogl: Introduce the GE_RET() debug macro
Some GL functions have a return value that the GE() macro is not able to
handle. Let's define a new Ge_RET() macro which will be able to handle
functions such as glMapBuffer().
While at it, removed the unused variadic dots to the GE() macro.
clutter/cogl/cogl/cogl-internal.h | 14 +++++++++++++-
1 file changed, 13 insertions(+), 1 deletion(-)
commit 069ba6daf9d39b471eb5c1de6e621f1343d5f00c
Merge: cc6aefad3 6ab90899b
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Mon Feb 8 16:53:11 2010 +0000
Merge branch 'animator-parser'
* animator-parser:
docs: Describe the Animation definition syntax
animator: Provide a ClutterScript parser
animator: Allow retrieving type property type from a key
script: Use a node when resolving an animation mode
commit 6ab90899badf7820ffc4f40f23bf18c979762577
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Mon Feb 8 16:50:29 2010 +0000
docs: Describe the Animation definition syntax
The ClutterAnimator documentation needs a section on the syntax of its
ClutterScript definition, possibly with an example.
clutter/clutter-animator.c | 59 ++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 59 insertions(+)
commit 4dd11d6915f75ba62b8292c3138d4cc11a28fb21
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Mon Feb 8 15:52:18 2010 +0000
animator: Provide a ClutterScript parser
The whole point of having the Animator class is that the developer can
describe a complex animation using ClutterScript. Hence, ClutterAnimator
should hook into the Script machinery and parse a specific description
format for its keys.
.gitignore | 2 +
clutter/clutter-animator.c | 303 +++++++++++++++++++++++++++++++++++---
tests/conform/Makefile.am | 1 +
tests/conform/test-animator.c | 88 +++++++++++
tests/conform/test-conform-main.c | 2 +
tests/data/Makefile.am | 2 +
tests/data/test-animator-1.json | 5 +
tests/data/test-animator-2.json | 29 ++++
8 files changed, 409 insertions(+), 23 deletions(-)
commit 790a13c0d9d2249747cfb81dcb13f83c6cc2cec1
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Mon Feb 8 15:47:46 2010 +0000
animator: Allow retrieving type property type from a key
When asking a key for its target value we also ask the developer to pass
in an initialized GValue - but we don't make it easy to know the type of
the GValue. A developer has to ask the GObject class for the GParamSpec
and then initialize the GValue, instead.
Since we know the type of the GValue we should provide a getter for it.
We should also allow developers to throw at us GValue with compatible and
transformable types.
Finally, all the accessors should be constified.
clutter/clutter-animator.c | 93 +++++++++++++++++++++++++++++++++-------------
clutter/clutter-animator.h | 13 ++++---
2 files changed, 75 insertions(+), 31 deletions(-)
commit 09f91ff6eab3d617be88e11bd17c226fa4d23aed
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Mon Feb 8 15:45:43 2010 +0000
script: Use a node when resolving an animation mode
Instead of taking a string and duplicating the "is it a string or an
integer" check in both Alpha and Animation, the function in
ClutterScript that resolves the animation mode values should take a
JsonNode and do all the checks it needs.
clutter/clutter-alpha.c | 21 +++++-------------
clutter/clutter-animation.c | 25 +++++----------------
clutter/clutter-script-parser.c | 47 +++++++++++++++++++++++++---------------
clutter/clutter-script-private.h | 2 +-
4 files changed, 41 insertions(+), 54 deletions(-)
commit cc6aefad345f4490f59f33eaef6f7589de1f3f9b
Author: Robert Bragg <robert@linux.intel.com>
Date: Thu Jan 14 18:11:57 2010 +0000
cogl path: make sure marking the clip state dirty takes affect
When we trashed the contents of the stencil buffer during
_cogl_path_fill_nodes we marked the clip stack state as dirty and expected
the clip stack code would clean up our glStencilFunc state.
The problem is that we only try and update the clip state during
_cogl_journal_init (when we flush the framebuffer state) which is only
called when the journal first gets something logged in it.
To make sure the stencil state is cleaned up we now also flush the journal
so _cogl_journal_init will be called for the next logged rectangle.
clutter/cogl/cogl/cogl-primitives.c | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
commit 24338a7511cd09298695f0a0b51ea6a97fa6786a
Author: Neil Roberts <neil@linux.intel.com>
Date: Fri Feb 5 21:56:31 2010 +0000
clutter-master-clock: Don't wait for a frame if time goes backwards
If we aren't syncing to vblank or if the last dispatch didn't cause a
redraw then the master clock will try to wait at least a small amount
of time before dispatching again. However if time goes backwards then
it would not do a dispatch until time catches up again. To fix this it
know just runs a dispatch immediately if time goes backwards.
This is related to Moblin bug #3839. There was a similar fix for this
in 9dc012c07, however that only fixed the case where timelines
wouldn't update. If there are no animations running then the master
clock won't even try updating timelines until time catches up.
http://bugzilla.o-hand.com/show_bug.cgi?id=1974
clutter/clutter-master-clock.c | 11 +++++++++++
1 file changed, 11 insertions(+)
commit 8ac27e60707b2dfd13ba978b81421423e37ebf98
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Mon Feb 8 10:40:39 2010 +0000
test-flow-layout: Remove unneeded Stage sizing
The bug with resizable stages getting a 1, 1 window on X11 has been
fixed by Chris.
tests/interactive/test-flow-layout.c | 1 -
1 file changed, 1 deletion(-)
commit 6106010b6f20980fc51d1431b623567eed10853d
Merge: 4cc269a46 c82c94e62
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Mon Feb 8 10:34:22 2010 +0000
Merge remote branch 'origin/cwiiis-stage-resize'
* origin/cwiiis-stage-resize:
[stage-x11] Set the default size differently
[stage] Set default size correctly
Revert "[x11] Don't set actor size on ConfigureNotify"
[x11] Don't set actor size on ConfigureNotify
[stage] Now that get_geometry works, use it
[stage-x11] make get_geometry always get geometry
[stage] Get the current size correctly
[stage] Set minimum width/height to 1x1
[stage] Add set/get_minumum_size
commit 4cc269a4687f6ca4fcd88ada134cfa00e2b13a1a
Author: Øyvind Kolås <pippin@linux.intel.com>
Date: Fri Feb 5 12:32:00 2010 +0000
Add ClutterAnimator
ClutterAnimator is a class for managing the animation of multiple
properties of multiple actors over time with keyframing of values.
The Animator class is meant to be used to effectively describe
animations using the ClutterScript definition format, and to construct
complex implicit animations from the ground up.
Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
.gitignore | 1 +
clutter/Makefile.am | 2 +
clutter/clutter-animator.c | 1435 ++++++++++++++++++++++++++++
clutter/clutter-animator.h | 166 ++++
clutter/clutter-types.h | 1 +
clutter/clutter.h | 1 +
doc/reference/clutter/clutter-docs.xml.in | 4 +-
doc/reference/clutter/clutter-sections.txt | 48 +
doc/reference/clutter/clutter.types | 1 +
tests/interactive/Makefile.am | 1 +
tests/interactive/test-animator.c | 134 +++
11 files changed, 1793 insertions(+), 1 deletion(-)
commit c82c94e6205eda962faf5a51e663680c313be062
Author: Chris Lord <chris@linux.intel.com>
Date: Sun Feb 7 19:17:43 2010 +0100
[stage-x11] Set the default size differently
We want to set the default size without triggering the layout machinary,
so change the window creation process slightly so we start with a
640x480 window.
clutter/clutter-stage.c | 3 ---
clutter/glx/clutter-stage-glx.c | 4 +++-
clutter/x11/clutter-stage-x11.c | 4 ++--
3 files changed, 5 insertions(+), 6 deletions(-)
commit b968defae92f3fbd5a4a762b4c817ab58989ee82
Author: Chris Lord <chris@linux.intel.com>
Date: Sun Feb 7 14:18:14 2010 +0100
[stage] Set default size correctly
Due to the way the new sizing works, clutter stage must set its size in
init (to maintain old behaviour) and the properties on the X11 stage
must be initialised to 1x1 so that it actually goes ahead with the
resize.
Fixes stages that aren't user resizable and have no size set from
appearing at 1x1.
clutter/clutter-stage.c | 3 +++
clutter/x11/clutter-stage-x11.c | 4 ++--
2 files changed, 5 insertions(+), 2 deletions(-)
commit 8083dc418b3c2b069a9b0db9323650050a3f63b1
Author: Chris Lord <chris@linux.intel.com>
Date: Sat Feb 6 16:57:37 2010 +0100
Revert "[x11] Don't set actor size on ConfigureNotify"
This reverts commit 29cc027f069c9ad900b9044cd40075c2d17be736.
I misunderstood the problem, this commit breaks resizes coming from
outside of Clutter.
clutter/x11/clutter-event-x11.c | 4 ++++
clutter/x11/clutter-stage-x11.c | 5 +----
clutter/x11/clutter-stage-x11.h | 1 -
3 files changed, 5 insertions(+), 5 deletions(-)
commit 29cc027f069c9ad900b9044cd40075c2d17be736
Author: Chris Lord <chris@linux.intel.com>
Date: Sat Feb 6 16:47:22 2010 +0100
[x11] Don't set actor size on ConfigureNotify
Calling clutter_actor_set_size in response to ConfigureNotify makes
setting the size of the stage racy - the most common result of which
seems to be that you can't set the stage dimensions to anything less
than 640x480.
Instead, add a first_allocation bit to the private structure of the X11
stage and force the first resize (necessary or the default stage will be
a 1x1 window).
clutter/x11/clutter-event-x11.c | 4 ----
clutter/x11/clutter-stage-x11.c | 5 ++++-
clutter/x11/clutter-stage-x11.h | 1 +
3 files changed, 5 insertions(+), 5 deletions(-)
commit cea9de7f047cb8c2b1d54f41ca1d77c3aff882e0
Author: Chris Lord <chris@linux.intel.com>
Date: Sat Feb 6 15:41:01 2010 +0100
[stage] Now that get_geometry works, use it
We want the actual window geometry in clutter_stage_set_minimum_size,
not the set size. Now that the geometry function has been changed to do
what it says, use it.
clutter/clutter-stage.c | 14 ++++++--------
1 file changed, 6 insertions(+), 8 deletions(-)
commit 4887707bb34faca0d7ad92f6628d18345163f5e0
Author: Chris Lord <chris@linux.intel.com>
Date: Sat Feb 6 15:34:55 2010 +0100
[stage-x11] make get_geometry always get geometry
Now that we have a minimum size getter on the stage object, change
get_geometry to actually always return the geometry. This fixes stages
that are set as user-resizable appearing at 1x1 size.
This will need changing in other back-ends too.
clutter/x11/clutter-stage-x11.c | 57 +++++++++++++++++------------------------
1 file changed, 23 insertions(+), 34 deletions(-)
commit 27e33aa14ff5d14f6066da74922c960a037b5089
Author: Chris Lord <chris@linux.intel.com>
Date: Sat Feb 6 14:59:51 2010 +0100
[stage] Get the current size correctly
Get the current size of the stage correctly in
clutter_stage_set_minimum_size. The get_geometry StageWindow function is
not equivalent of the current size, use clutter_actor_get_size().
clutter/clutter-stage.c | 14 ++++++++------
1 file changed, 8 insertions(+), 6 deletions(-)
commit be11564b556a1b1c08b7b9e7a0a94bc00c4e6550
Author: Chris Lord <chris@linux.intel.com>
Date: Sat Feb 6 14:04:47 2010 +0100
[stage] Set minimum width/height to 1x1
Whoops, to maintain the old behaviour, make sure the default minimum
width/height are 1x1.
clutter/clutter-stage.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
commit fd11d3098f0182f24666ed77973269111cb0a8f5
Author: Chris Lord <chris@linux.intel.com>
Date: Sat Feb 6 11:23:37 2010 +0000
[stage] Add set/get_minumum_size
Add two functions to set/get the minimum stage size. This takes effect
when a stage is set to user resizable.
clutter/clutter-stage.c | 75 ++++++++++++++++++++++++++++++
clutter/clutter-stage.h | 7 +++
clutter/x11/clutter-stage-x11.c | 6 +--
doc/reference/clutter/clutter-sections.txt | 2 +
4 files changed, 87 insertions(+), 3 deletions(-)
commit f973b73208bad266a2362e22e5aed1a0780d096d
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Sat Feb 6 11:00:50 2010 +0000
Add cogl-subtexture test to the Git ignore file
.gitignore | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
commit e55966d675e57d516ea5aff36b03fde63d4839d3
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Fri Feb 5 16:22:09 2010 +0000
Deprecate clutter_util_next_p2()
The next_p2() function should have never been publicly exposed by
Clutter.
clutter/clutter-util.c | 15 ++++++++-------
clutter/clutter-util.h | 9 ++++++---
tests/interactive/test-shader.c | 19 +++++++++++++++++--
3 files changed, 31 insertions(+), 12 deletions(-)
commit bbaf6b233d0120e3199d779eeb2829e56ecc279b
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Fri Feb 5 15:31:18 2010 +0000
docs: Fix whitespace in the App manual stub
doc/manual/clutter-manual.xml.in | 185 +++++++++++++++++----------------------
1 file changed, 81 insertions(+), 104 deletions(-)
commit dcdb97006b563407d43f19779ac47f0330052541
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Fri Feb 5 14:47:39 2010 +0000
build: Add suppressions file to EXTRA_DIST
tests/data/Makefile.am | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
commit 830f2402d4f49b7173eb7fa0bda5762a4c430c9a
Merge: 1bdc3db9a 6b1b27d4f
Author: Neil Roberts <neil@linux.intel.com>
Date: Sat Feb 6 00:20:07 2010 +0000
Merge branch 'more-texture-backends'
This adds three new texture backends.
- CoglTexture2D: This is a trimmed down version of CoglTexture2DSliced
which only supports a single texture and only works with the
GL_TEXTURE_2D target. The code is a lot simpler so it has a less
overheads than dealing with slices. Cogl will use this wherever
possible.
- CoglSubTexture: This is used to get a CoglHandle to represent a
subregion of another texture. The texture can be used as if it was a
standalone texture but it does not need to copy the resources.
- CoglAtlasTexture: This collects RGB and RGBA textures into a single
GL texture with the aim of reducing texture state changes and
increasing batching. The backend will try to manage the atlas and
may move the textures around to close gaps in the texture. By
default all textures will be placed in the atlas.
commit 6b1b27d4f894cbefc90601eaf6214b55a71834b7
Author: Neil Roberts <neil@linux.intel.com>
Date: Sat Feb 6 00:12:10 2010 +0000
cogl-bitmap: Update the format after (un)premultiplying
The pixel format of the bitmap needs to have its premult flag cleared
or set after the premult conversion otherwise it may get converted
again.
clutter/cogl/cogl/cogl-bitmap-fallback.c | 4 ++++
clutter/cogl/cogl/cogl-texture.c | 3 +--
2 files changed, 5 insertions(+), 2 deletions(-)
commit 191d20eb56f31786660cd04aacc710344eb8df7a
Author: Neil Roberts <neil@linux.intel.com>
Date: Fri Feb 5 17:03:04 2010 +0000
cogl-atlas-texture: Fix a cut and paste error when getting the height
There was a typo in getting the height of the full texture to check
whether the sub region fits so that it was using the width
instead. This was causing crashes when debugging is enabled for some
apps.
clutter/cogl/cogl/cogl-sub-texture.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
commit 1bdc3db9ab54316f5f313dc3e991f3a621e83586
Author: Damien Lespiau <damien.lespiau@intel.com>
Date: Thu Feb 4 21:10:02 2010 +0000
docs: Use % for defines not #
Some links to defines in the gtk-doc annotations were using '#' instead
of '%'.
clutter/clutter-actor.c | 4 ++--
clutter/clutter-path.c | 10 +++++-----
clutter/cogl/cogl/cogl-fixed.c | 4 ++--
3 files changed, 9 insertions(+), 9 deletions(-)
commit 1b94cc9268e57cc49e3bac914c4b979aec955f77
Author: Damien Lespiau <damien.lespiau@intel.com>
Date: Wed Jan 27 16:03:28 2010 +0000
docs: fix new line in the cogl xml top level document
A comma in the FSF address is wrong. Supreme Offence.
doc/reference/cogl/cogl-docs.xml.in | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
commit 0ea25d661b887c27beaf0bd848dfda994d88782f
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Thu Feb 4 18:29:47 2010 +0000
event: Do not generate click count for SCROLL events
The ClutterScrollEvent structure does not have a click count field,
so Clutter should not generate the click count for events of type
CLUTTER_SCROLL.
clutter/clutter-main.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
commit 15c6fef7e3e426764bafc316794a195a086e0d03
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Thu Feb 4 16:49:06 2010 +0000
tests: Add a Valgrind suppression file
When running tests under Valgrind it would be useful to pass a
suppression file for the known one-off allocations done by Clutter
and by its dependencies. This trims the output of Valgrind and
improves the ability to actually spot leaks.
tests/README | 35 ++++++--
tests/data/clutter-1.0.suppressions | 173 ++++++++++++++++++++++++++++++++++++
2 files changed, 203 insertions(+), 5 deletions(-)
commit 1f70da62a73e3a10fe1ceb33d11f79fc29586fcf
Author: Neil Roberts <neil@linux.intel.com>
Date: Thu Feb 4 16:28:29 2010 +0000
glx: Create a colormap for the dummy window
Otherwise X will fail to create the window and throw a BadMatch error
at least on NVidia.
clutter/glx/clutter-backend-glx.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
commit 466b00a8064ad09f0574f8f46c6df0390d7c7d00
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Thu Feb 4 13:59:39 2010 +0000
glx: Clarify *why* we need the dummy window
The reason why we have a dummy, offscreen Window when we create the
GLX context is that GLX does not like it when you ask the context for
features if it's not made current to a Drawable. Maybe in the future
it will allow us to do so, but right now we have to make do with what
GLX offers us.
clutter/glx/clutter-backend-glx.c | 6 ++++++
1 file changed, 6 insertions(+)
commit ea5e33cf3a38edddef88ec30131c35bb8ab4bfaf
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Thu Feb 4 13:56:33 2010 +0000
glx: Do not leak a XVisualInfo
The XVisualInfo we retrieve for the dummy window should be freed after
we used it.
clutter/glx/clutter-backend-glx.c | 2 ++
1 file changed, 2 insertions(+)
commit e6a3b6ebe75a2c0c3709fbe12cf04c4357b54fdd
Author: Neil Roberts <neil@linux.intel.com>
Date: Wed Feb 3 23:08:30 2010 +0000
cogl-texture: Avoid copying the bitmap when premultiplying from a file
In cogl_texture_new_from_file we create and own a temporary
bitmap. There's no need to copy this data if we need to do a premult
conversion so instead it just does conversion before passing it on to
cogl_texture_new_from_bitmap.
clutter/cogl/cogl/cogl-texture.c | 23 ++++++++++++++++++-----
1 file changed, 18 insertions(+), 5 deletions(-)
commit 59198b8ab8a6a7c1c3dbfa5c72abf36f8d66c543
Author: Neil Roberts <neil@linux.intel.com>
Date: Wed Feb 3 22:54:44 2010 +0000
cogl-texture: Split out _cogl_texture_prepare_for_upload
The Cogl atlas code was using _cogl_texture_prepare_for_upload with a
NULL pointer for the dst_bmp to determine the internal format of the
texture without converting the bitmap. It needs to do this to decide
whether the texture will go in the atlas before wasting time on the
conversion. This use of the function is a little confusing so that
part of it has been split out into a new function called
_cogl_texture_determine_internal_format. The code to decide whether a
premult conversion is needed has also been split out.
clutter/cogl/cogl/cogl-atlas-texture.c | 11 +----
clutter/cogl/cogl/cogl-texture-private.h | 7 +++
clutter/cogl/cogl/cogl-texture.c | 81 +++++++++++++++++++-------------
3 files changed, 57 insertions(+), 42 deletions(-)
commit 5063f4669c2c94d7288405005f4df14e73a4f578
Author: Neil Roberts <neil@linux.intel.com>
Date: Wed Feb 3 19:54:12 2010 +0000
cogl-atlas: Make the cogl_atlas_* API internal
This just adds an underscore to every entry point for the CoglAtlas
API so that it's not exported.
clutter/cogl/cogl/cogl-atlas-texture.c | 89 ++++++++++-----------
clutter/cogl/cogl/cogl-atlas.c | 140 ++++++++++++++++-----------------
clutter/cogl/cogl/cogl-atlas.h | 32 ++++----
clutter/cogl/cogl/cogl-context.c | 2 +-
4 files changed, 132 insertions(+), 131 deletions(-)
commit cd3c5155d879782a6e6e1d7fa56043e03712b727
Author: Jussi Kukkonen <jku@linux.intel.com>
Date: Wed Feb 3 17:04:38 2010 +0000
text: implement del_word_next/del_word_prev()
Bind ctrl-backspace and ctrl-del to functions that delete a word before
or after the cursor, respectively.
Selection does not affect the deletion, but current selection is
preserved. This mimicks GTK+ functionality in GtkTextView and GtkEntry.
http://bugzilla.openedhand.com/show_bug.cgi?id=1767
Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
clutter/clutter-text.c | 95 ++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 95 insertions(+)
commit d8d728a8d7ac4bc56f058379d76f4539d01189de
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Wed Dec 9 00:50:33 2009 +0000
Remove the SDL backend
The SDL API is far too limited for the windowing system needs of
Clutter; the status of the SDL backend was always experimental, and
since the Windows platform is supported by a native backend there is
no point in having the SDL backend around any more.
README | 8 +-
clutter/Makefile.am | 2 +-
clutter/sdl/Makefile.am | 26 ---
clutter/sdl/clutter-backend-sdl.c | 207 ---------------------
clutter/sdl/clutter-backend-sdl.h | 70 -------
clutter/sdl/clutter-event-sdl.c | 377 --------------------------------------
clutter/sdl/clutter-sdl.h | 39 ----
clutter/sdl/clutter-stage-sdl.c | 197 --------------------
clutter/sdl/clutter-stage-sdl.h | 34 ----
configure.ac | 41 +----
10 files changed, 5 insertions(+), 996 deletions(-)
commit ae188d203c63d680dc58ba1e19f333719a6916d4
Author: Neil Roberts <neil@linux.intel.com>
Date: Wed Jan 20 16:41:25 2010 +0000
win32: Use a dummy window to support delayed stage creation
The Win32 backend now implements the create_context method which
creates a context and binds it to a 1x1 invisible window. That way
there will always be a context bound and the features can be retrieved
without creating the default stage. This reflects the changes in
1c6ffc8..b245d55 to the GLX backend.
clutter/win32/clutter-backend-win32.c | 194 ++++++++++++++++++++++++++++++++--
clutter/win32/clutter-backend-win32.h | 2 +
clutter/win32/clutter-stage-win32.c | 84 +++------------
3 files changed, 198 insertions(+), 82 deletions(-)
commit 479fdffc7d4f37f9ff104403dd7de685df97e0d5
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Sun Dec 6 18:56:14 2009 +0000
glx: Fix error messages and debug notes
Instead of using g_critical() inside the create_context() implementation
of the ClutterBackendGLX we should use the passed GError, so that the
error message can bubble up to the caller.
clutter/glx/clutter-backend-glx.c | 31 +++++++++++++++++++------------
1 file changed, 19 insertions(+), 12 deletions(-)
commit ede2cbfab05035247b2a6a2ca837cb8f71871c5d
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Thu Dec 3 21:07:45 2009 +0000
stage: Create the default stage on demand
Instead of creating the default stage during initialization we can
now safely create it whenever clutter_stage_get_default() is called.
To maintain the invariant, the default stage is immediately realized
by Clutter itself.
clutter/clutter-main.c | 28 ----------------------------
clutter/clutter-stage.c | 15 ++++++++++-----
2 files changed, 10 insertions(+), 33 deletions(-)
commit d2c091e62d4b9e897e8f8ef5de99f20417cc6682
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Thu Dec 3 20:49:54 2009 +0000
glx: Create the dummy Window with the GLX context
Since we must guarantee that Cogl has a GL context to query, it is too
late to use the "dummy Window" trick from within the get_features()
virtual function implementation.
Instead, we can create a dummy Window from create_context() itself and
leave it around - basically trading a default stage with a dummy X
window.
We need to have the dummy X window around all the time so that the
GLX context can be selected and made current.
clutter/clutter-main.c | 16 ++--
clutter/glx/clutter-backend-glx.c | 169 +++++++++++++++++++-------------------
clutter/glx/clutter-backend-glx.h | 1 +
3 files changed, 95 insertions(+), 91 deletions(-)
commit 5eb6fb74b660d22e7f31867b16997ee9f63bef4b
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Thu Dec 3 20:48:55 2009 +0000
feature: Make sure we have a GL context
Before asking Cogl and ClutterBackend for the list of features we must
have a GL backend ready.
clutter/clutter-feature.c | 3 +++
1 file changed, 3 insertions(+)
commit a8daaa8222c9b4aaf7e46b1bb13a2ce8097153f1
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Thu Dec 3 20:47:48 2009 +0000
stage: Move default title in Stage.init
The default title should be set from within clutter_stage_init(); at
that point clutter_init() must have been called.
clutter/clutter-main.c | 2 --
clutter/clutter-stage.c | 1 +
2 files changed, 1 insertion(+), 2 deletions(-)
commit 38f26634eec3c81d61bb3b88b24563d7e4719f67
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Thu Dec 3 17:36:03 2009 +0000
Lazily create the Pango fontmap
The Pango fontmap needed by Clutter should be initialized the first
time we need a PangoContext, not on initialization.
clutter/clutter-main.c | 35 ++++++++++++++++-------------------
1 file changed, 16 insertions(+), 19 deletions(-)
commit 6fbed66add4b8c03a0ba0f4edc1c2f0044608998
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Thu Dec 3 17:13:44 2009 +0000
Delay default stage creation
The default stage creation should be delayed as much as possible,
ideally at the end of the init() process.
clutter/clutter-backend.c | 8 ++++
clutter/clutter-main.c | 67 +++++++++++++-------------
clutter/clutter-stage.c | 6 +--
clutter/cogl/cogl/cogl-journal.c | 3 ++
clutter/glx/clutter-backend-glx.c | 98 +++++++++++++++++++++++++++++----------
clutter/glx/clutter-stage-glx.c | 5 ++
6 files changed, 126 insertions(+), 61 deletions(-)
commit 3191ea1195d5e1d55facc147760b273efca76867
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Thu Dec 3 17:35:19 2009 +0000
cogl-debug: Remove redundant newlines
The debugging notes wrapping g_debug() already have an implicit newline
at the end of the passed message.
clutter/cogl/cogl/cogl-handle.h | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
commit 16a5911cff90a2bba1b283ccd9a9ce6d0f435924
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Wed Feb 3 15:05:37 2010 +0000
tests: Clean up the cairo-flowers interactive test
tests/interactive/test-clutter-cairo-flowers.c | 14 ++++++--------
1 file changed, 6 insertions(+), 8 deletions(-)
commit cb52581a24c157e2bedb74c32d522dc56d9a91a2
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Wed Feb 3 14:35:45 2010 +0000
text: Add :font-description
High level toolkits might wish to construct a PangoFontDescription and
then set it directly on a ClutterText actor proxy or sub-class.
ClutterText should have a :font-description property to set (and get)
the PangoFontDescription.
http://bugzilla.openedhand.com/show_bug.cgi?id=1960
clutter/clutter-text.c | 131 +++++++++++++++--
clutter/clutter-text.h | 225 +++++++++++++++--------------
doc/reference/clutter/clutter-sections.txt | 2 +
3 files changed, 234 insertions(+), 124 deletions(-)
commit 74c0170ccc80504018f2aab849a6a311c64052a6
Author: Neil Roberts <neil@linux.intel.com>
Date: Wed Feb 3 14:31:12 2010 +0000
cogl-vertex-buffer: Refix disabling texture coord arrays
Commit 92a375ab4 changed the initial value of max_texcoord_attrib_unit
to -1 so that it could disable the texture coord array for the first
texture unit when there are no texture coords used in the vbo. However
max_texcoord_attrib_unit was an unsigned value so this actually became
G_MAXUINT. The disabling loop at the bottom still worked because
G_MAXUINT+1==0 but the check for whether any texture unit is greater
than max_texcoord_attrib_unit was failing so it would always end up
disabling all texture units. This is now fixed by changing
max_texcoord_attrib_unit to be signed.
clutter/cogl/cogl/cogl-vertex-buffer.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
commit 301863d43bc79e792f8fe3ea5e9185d87cb74069
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Tue Feb 2 17:07:22 2010 +0000
text: Fixes for selection bound
The commit ecbb7ce41a1a759e246fce07f146b8bed5e3d730 exposed some issues
when positioning the cursor with the mouse pointer: the selection is
not moved along with the cursor when inserting a single character or a
string.
Also, some freeze_notify() are called too early, leading to decoupling
from their respective thaw_notify().
http://bugzilla.openedhand.com/show_bug.cgi?id=1955
clutter/clutter-text.c | 44 +++++++++++++++++++-------------------------
1 file changed, 19 insertions(+), 25 deletions(-)
commit 5bec49aea931e6835b97e549e23458a6214548ce
Author: Kristian Høgsberg <krh@bitplanet.net>
Date: Wed Jan 27 12:55:18 2010 -0500
Use ClutterTimeline in test-clutter-cairo-flowers.c
http://bugzilla.openedhand.com/show_bug.cgi?id=1969
Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
tests/interactive/test-clutter-cairo-flowers.c | 24 +++++++++++++++++-------
1 file changed, 17 insertions(+), 7 deletions(-)
commit c9a6e63fa4d1d710d9efeb850f3fc336933ee2a8
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Tue Feb 2 14:50:03 2010 +0000
docs: Clarify Group's sizing semantics
The documentation for ClutterGroup behaviour when setting an explicit
size is not accurate - or, actually, it was accurate by the time
ClutterGroup was first written but has been neglected in the following
release cycles.
To avoid confusion for new users of Clutter the documentation should be
slightly expanded, mentioning the exact semantics of ClutterGroup with
regards to: preferred size, explicitly set size and how to constrain the
visible area of a ClutterGroup to an explicitly set size.
Based on a patch by: Neil Roberts <neil@linux.intel.com>
clutter/clutter-group.c | 16 ++++++++++++----
1 file changed, 12 insertions(+), 4 deletions(-)
commit 12b004b0e7e13ca64d7d35cd3fe083f582b7aa09
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Tue Feb 2 12:56:04 2010 +0000
tests: Add an initial Behaviour conformance suite
The coverage of the Behaviour sub-classes is currently abysmal. An
initial test suite for Behaviours should at least verify that the
accessors and the constructors are doing the right thing.
This initial test suite just verifies the BehaviourOpacity sub-class,
but it already bumps up the overall coverage by 2%.
.gitignore | 1 +
tests/conform/Makefile.am | 1 +
tests/conform/test-behaviours.c | 87 +++++++++++++++++++++++++++++++++++++++
tests/conform/test-conform-main.c | 2 +
4 files changed, 91 insertions(+)
commit f94e6911510b5376dd490c1f8724e616aaf2e5dc
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Tue Feb 2 12:54:51 2010 +0000
behaviour: Clean up BehaviourOpacity
• Use a consistent coding style
• Call set_bounds() from set_property(), because we need proper
notification on the modified property
clutter/clutter-behaviour-opacity.c | 56 +++++++++++++++++++++----------------
1 file changed, 32 insertions(+), 24 deletions(-)
commit 521d71d4bc4ca4b06343365c71c9520b1ebfdc7f
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Mon Feb 1 15:47:50 2010 +0000
event: Unify the off-stage motion events delivery behaviour
When we disable the per-actor events delivery Clutter replicates the X11
implicit soft grab for motion events with off-stage. The implicit grab
is done whenever the pointer of a device leaves a window with a button
still pressed; with the implicit grab in place the window still receives
motion events even after the LeaveNotify - until the button is released.
The implicit grab is not honoured in the per-actor event deliver case,
though, so we have a mismatch between two in theory equivalent cases.
Luckily, the fix is pretty trivial: when we check for a motion event
with a stage set but without an actor set, and that has off-stage
coordinates, we arbitrarily set the source to be the stage of the event
and emit the pointer event.
clutter/clutter-main.c | 40 ++++++++++++++++++++++++++++++++++------
1 file changed, 34 insertions(+), 6 deletions(-)
commit 46d6697b9170ba110439cbf61d152890b35a3837
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Mon Feb 1 14:53:13 2010 +0000
build: -Wformat is required for -Wformat-security
GCC will ignore -Wformat-security without -Wformat on the same compiler
flags.
configure.ac | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
commit 157a0cf9364a9e60b29e5e88ca1783d9e174a635
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Mon Feb 1 14:48:50 2010 +0000
build: Retrieve X11 cflags and libraries
When using pkg-config to check for the x11 package compiler flags and
libraries we actually need to retrieve those values from the pc file.
This should also fix the issue with non-canonical installations of the
X11 headers and shared objects.
http://bugzilla.openedhand.com/show_bug.cgi?id=1966
configure.ac | 5 +++++
1 file changed, 5 insertions(+)
commit 145cc9d3dfd1dc51f254eefde35042fc20a6375e
Merge: aa6731e33 5f1c8a17e
Author: Neil Roberts <neil@linux.intel.com>
Date: Mon Feb 1 13:37:19 2010 +0000
Merge remote branch 'master' into texture-debugging
Conflicts:
clutter/cogl/cogl/cogl-context.h
commit aa6731e338a88d03e718980604ac8f2393391a9f
Author: Neil Roberts <neil@linux.intel.com>
Date: Mon Feb 1 13:25:19 2010 +0000
cogl-material: Compare GL texture numbers for material layer textures
When deciding if a material layer is equal it now compares the GL
target and texture number if the textures are not sliced. This is
needed to get batching across atlased textures.
clutter/cogl/cogl/cogl-material.c | 25 ++++++++++++++++++++++++-
1 file changed, 24 insertions(+), 1 deletion(-)
commit abe91784c4ba98417eabe0649bf73381afbd6fc7
Author: Neil Roberts <neil@linux.intel.com>
Date: Mon Feb 1 12:11:58 2010 +0000
cogl: Let GL do the format conversion when uploading texture data
Cogl accepts a pixel format for both the data in memory and the
internal format to be used for the texture. If they do not match then
it would convert them using the CoglBitmap functions before uploading
the data. However, GL also lets you specify both formats so it makes
more sense to let GL do the conversion. The driver may need the
texture in a specific format so it may end up being converted anyway.
The cogl_texture_upload_data functions have been removed and replaced
with a single function to prepare the bitmap. This will only do the
premultiplication conversion because that is the only part that GL
can't do directly.
clutter/cogl/cogl/cogl-atlas-texture.c | 111 +++++++--------
clutter/cogl/cogl/cogl-texture-2d-sliced.c | 220 ++++++++++++++++-------------
clutter/cogl/cogl/cogl-texture-2d.c | 92 ++++++------
clutter/cogl/cogl/cogl-texture-private.h | 44 ++----
clutter/cogl/cogl/cogl-texture.c | 136 ++++++++----------
5 files changed, 290 insertions(+), 313 deletions(-)
commit e83ffb1fa3436bf1506c32856b2a3ba23254e068
Author: Neil Roberts <neil@linux.intel.com>
Date: Fri Jan 29 15:15:08 2010 +0000
cogl: Do the premult conversion in-place rather than copying to a new buffer
The premult part of _cogl_convert_premult has now been split out as
_cogl_convert_premult_status. _cogl_convert_premult has been renamed
to _cogl_convert_format to make it less confusing. The premult
conversion is now done in-place instead of copying the
buffer. Previously it was copying the buffer once for the format
conversion and then copying it again for the premult conversion. The
premult conversion never changes the size of the buffer so it's quite
easy to do in place. We can also use the separated out function
independently.
clutter/cogl/cogl/cogl-atlas-texture.c | 6 +-
clutter/cogl/cogl/cogl-bitmap-fallback.c | 142 +++++++++++------------------
clutter/cogl/cogl/cogl-bitmap-pixbuf.c | 6 +-
clutter/cogl/cogl/cogl-bitmap-private.h | 22 ++---
clutter/cogl/cogl/cogl-bitmap.c | 102 ++++++++-------------
clutter/cogl/cogl/cogl-texture-2d-sliced.c | 12 +--
clutter/cogl/cogl/cogl-texture-2d.c | 12 +--
clutter/cogl/cogl/cogl-texture.c | 6 +-
8 files changed, 123 insertions(+), 185 deletions(-)
commit 72fba19eac68ffa30c3f60aeecfdbfa6a2da7bd4
Author: Neil Roberts <neil@linux.intel.com>
Date: Fri Jan 29 12:19:42 2010 +0000
cogl-atlas-texture: Use a single atlas for both RGB and RGBA textures
The internal format of the atlas texture is still set to the
appropriate format so Cogl will disable blending for textures that are
intended to be RGB. This should end up ignoring the alpha channel from
the texture in the atlas. This makes the code slightly easier to
maintain and should also improve the chances of batching.
clutter/cogl/cogl/cogl-atlas-texture.c | 134 ++++++++++++---------------------
clutter/cogl/cogl/cogl-context.c | 18 ++---
clutter/cogl/cogl/cogl-context.h | 8 +-
3 files changed, 57 insertions(+), 103 deletions(-)
commit ad6bd2ee88770c2ce86f81f7a64b6b121c3418d6
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Mon Feb 1 12:18:10 2010 +0000
actor: Reword the allocation cycle warning
Since we're allowing allocation cycles saying that calling
queue_relayout() inside an allocation cycle "is not allowed" is kind of
confusing. We should say that "it is not recommended".
clutter/clutter-actor.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
commit 5f1c8a17e4f81ead1747b47939d593c80246bf06
Merge: ecbb7ce41 8a4b64715
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Mon Feb 1 11:26:56 2010 +0000
Merge branch 'device-manager'
* device-manager: (37 commits)
x11: Re-enable XI1 extension keyboards
x11: Always handle core device events before XI events
docs: Documentation fixes for DeviceManager
device-manager: Fix the signals definition
docs: Add sections for InputDevice and DeviceManager
docs: Add clutter_input_device_get_device_name()
tests: Print out the device details on motion
Always register core devices
device: Remove unused is_default member
win32: Experimental implementation of device support
tests: Print the device name, as well as its Id
x11: Fill out the :name property of the InputDevices
device: Add the :name property to InputDevice
x11: Store core devices on the X11 Backend singleton
device: Unset the cursor actor when leaving the stage
device: Add pointer actor getter
x11: Discard the LeaveNotify for off-stage ButtonRelease
device: Do not overwrite the stage for an InputDevice
event: Off-stage button releases have a click count of 1
event: Scroll events do not have click count
...
commit ecbb7ce41a1a759e246fce07f146b8bed5e3d730
Author: Alejandro Piñeiro <apinheiro@igalia.com>
Date: Mon Jan 25 16:13:58 2010 +0100
Fix problems with "position" and "selection-bound" change notification
Added a "selection-bound" notify on clutter_text_clear_selection as it
changes the value.
Added utility function clutter_text_set_positions, in order to
change both cursor position and selection bound inside a
g_object_[freeze/thaw]_notify block
Added g_object_[freeze/thaw]_notify in other functions that changes
both cursor position and selection bound
Solves http://bugzilla.openedhand.com/show_bug.cgi?id=1955
clutter/clutter-text.c | 77 ++++++++++++++++++++++++++++++++++----------------
1 file changed, 53 insertions(+), 24 deletions(-)
commit 579a9a2665b402405820585dacba137984700110
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Mon Feb 1 11:04:59 2010 +0000
stage: Add :key-focus property
ClutterStage has both set_key_focus() and get_key_focus() methods, but
there is no :key-focus property. This means that it is not possible to
get notifications when the key-focus has changes except by connecting to
both the ::key-focus-in and ::key-focus-out signals and do additional
bookkeeping.
http://bugzilla.openedhand.com/show_bug.cgi?id=1956
Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
clutter/clutter-stage.c | 30 +++++++++++++++++++++++++++++-
1 file changed, 29 insertions(+), 1 deletion(-)
commit 95712f9897db7f06a6ca34661f20b388dd5a5f77
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Fri Jan 29 10:13:57 2010 +0000
docs: Update the README
Clean up the grammar and some wrinkles in the text.
README | 91 ++++++++++++++++++++++++++++++++++++++++++------------------------
1 file changed, 58 insertions(+), 33 deletions(-)
commit 5b9259ba807f4151d08bf2ea868c2cdeed97e975
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Fri Jan 29 09:31:13 2010 +0000
docs: Update the configure switches in the README
README | 13 ++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)
commit 763fcabd8b287445d32eadb6086b0438e3962294
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Fri Jan 29 09:29:53 2010 +0000
build: Warn with --disable-conformance and --enable-gcov
When building Clutter without conformance test suite we ought to warn
the user that the coverage report is not going to be accurate.
configure.ac | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
commit 21d21adbc45a6e0023e4a21b357fbf392b469fb2
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Fri Jan 29 09:29:37 2010 +0000
Remove tabs from configure.ac
configure.ac | 51 ++++++++++++++++++++++++++++-----------------------
1 file changed, 28 insertions(+), 23 deletions(-)
commit 5f5f6d825f6460f532f0c0448fc403cdb95e4697
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Fri Jan 29 09:26:47 2010 +0000
build: Allow disabling the conformance test suite
When building Clutter for packaging on headless boxes it's pointless to
allow building the conformance test to be built (and run on 'make
check').
configure.ac | 14 +++++++++++++-
tests/Makefile.am | 25 ++++++++++++++++++++-----
2 files changed, 33 insertions(+), 6 deletions(-)
commit 7a1ebcbced45c21937c4407e28274fdb4a92af52
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Wed Jan 27 21:26:26 2010 +0000
Whitespace fixes in cogl-util
clutter/cogl/cogl/cogl-util.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
commit 578e83e463d4d681de27f1b4e5d64dea8161f0f7
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Wed Jan 27 21:16:28 2010 +0000
Whitespace fixes
clutter/clutter-frame-source.c | 3 ++-
clutter/clutter-timeout-interval.c | 38 +++++++++++++++++++++++---------------
clutter/clutter-timeout-pool.c | 5 +++--
3 files changed, 28 insertions(+), 18 deletions(-)
commit 2d5eeba5d89c129f991f367f0e80c3a152f19e52
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Wed Jan 27 21:14:43 2010 +0000
docs: Fixes for TimeoutPool and Frame sources
The TimeoutPool is not used by ClutterTimeline any more, so we need to
remove a sentence from its description. We also need to fix the gtk-doc
syntax errors.
clutter/clutter-frame-source.c | 25 +++++++++++++------------
clutter/clutter-timeout-pool.c | 8 +-------
2 files changed, 14 insertions(+), 19 deletions(-)
commit 046a4b80476794bebdfd9005c826a64b7c8c9f81
Author: Neil Roberts <neil@linux.intel.com>
Date: Fri Jan 22 18:14:57 2010 +0000
cogl: Use the colours of COGL_DEBUG=rectangles to debug batching
Instead of assigning a new colour to each quad of a batch, the
rectangle debugging code now assigns a new colour to each batch so
that it can be used to visually see what is being batched. The colour
is stored in a global variable that is reset during cogl_clear. This
improves the chances that the same colour will be used for a batch in
the next frames to avoid flickering.
clutter/cogl/cogl/cogl-context.h | 6 +++++
clutter/cogl/cogl/cogl-journal.c | 54 +++++++++++++++++++++++++++-------------
clutter/cogl/cogl/cogl.c | 11 ++++++++
3 files changed, 54 insertions(+), 17 deletions(-)
commit 92a375ab47296a81d739ca29b0972c7abe6eda16
Author: Neil Roberts <neil@linux.intel.com>
Date: Tue Jan 26 13:46:27 2010 +0000
cogl-vertex-buffer: Fix disabling the texture arrays from previous prim
When setting up the state for the vertex buffer,
enable_state_for_drawing_buffer tries to keep track of the highest
numbered texture unit in use. It then disables any texture arrays for
units that were previously enabled if they are greater than that
number. However if there is no texturing in the VBO then the max used
unit would be left at 0 which it would later think meant unit 0 is
still in use so it wouldn't disable it. To fix this it now initialises
the max used unit to -1 which it should interpret as ‘no units are in
use’ so it will later disable the arrays for all units.
Thanks to Jon Mayo for reporting the bug.
http://bugzilla.openedhand.com/show_bug.cgi?id=1957
clutter/cogl/cogl/cogl-vertex-buffer.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
commit f288eae0fc454876c2beb87b1205681a338d7f65
Author: Neil Roberts <neil@linux.intel.com>
Date: Wed Jan 27 12:06:22 2010 +0000
docs: Add some notes about the CoglPixelFormat enums
The pixel format enums didn't explain what order in memory the
components should be so it was difficult to use them.
clutter/cogl/cogl/cogl-types.h | 22 +++++++++++++++++++---
1 file changed, 19 insertions(+), 3 deletions(-)
commit da392e24a55ad34bdc8fe9ac0841eca574f76194
Author: Neil Roberts <neil@linux.intel.com>
Date: Wed Jan 27 11:02:34 2010 +0000
docs: Fix some of the examples for the animation docs
In the example for clutter_actor_animate the "x" and "y" properties
are floats so they need to be passed float values in the var args
otherwise it will crash. There was also a missing comma.
There were some other minor problems with the behaviours example which
would cause it not to compile.
doc/reference/clutter/clutter-animation-tutorial.xml | 11 +++++------
1 file changed, 5 insertions(+), 6 deletions(-)
commit 52cb54f5fa665fdf06270fc58121617b44877639
Author: Damien Lespiau <damien.lespiau@intel.com>
Date: Tue Jan 26 18:47:25 2010 +0000
cogl: Fix checks of the number of available texture units
We were checking the number of texture units against the GL enum that is
used in glGetInteger() to query that number. Let's abstract this in a
little function.
Took the opportunity to dig a bit on the usage of GL limits for the
number of texture (image) units and document our use of them. We'll need
something finer grained if we want to fully exploit texture image units
with a programmable pipeline.
clutter/cogl/cogl/cogl-internal.h | 2 ++
clutter/cogl/cogl/cogl-material.c | 10 ++--------
clutter/cogl/cogl/cogl.c | 30 ++++++++++++++++++++++++++++++
3 files changed, 34 insertions(+), 8 deletions(-)
commit 87d19b8d182c2524a5d3c30921fe2c3d4d120606
Author: Damien Lespiau <damien.lespiau@intel.com>
Date: Sun Nov 15 20:17:47 2009 +0000
cogl: Fix gl equivalent of blend string
An example of what could be the equivalent of
"RBG = REPLACE(TEXTURE)
A = MODULATE(PREVIOUS,TEXTURE)"
using the ARB_texture_env_combine extension was given, but it seems that
a few typo were left:
* remove a spurius GL_COMBINE_ALPHA
* use the _ALPHA variant of SRCN and OPERANDN when setting up the
alpha combiner
doc/reference/cogl/blend-strings.xml | 9 ++++-----
1 file changed, 4 insertions(+), 5 deletions(-)
commit afb30f4013fdcb58ee35af919fdb739ab587683c
Author: Damien Lespiau <damien.lespiau@intel.com>
Date: Wed Nov 18 01:13:11 2009 +0000
tests: blend-string: use g_assert_cmpint
It's very useful to see the actual number the reference value is
compared too when the test fails. GTest has g_assert_cmp$type()
functions for that, so make good use of them.
tests/conform/test-cogl-blend-strings.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
commit de31cbf4f7932f8d48583a476c5af9f6eed6adbd
Author: Damien Lespiau <damien.lespiau@intel.com>
Date: Tue Jan 26 16:59:50 2010 +0000
test-cogl-multitexture: use several materials with texture matrices
A small doubt has risen about the use of CoglTextureUnit in materials:
will texture matrices still work if we have several materials, each of
them having at texture on the same texture unit? The answer is yes!
test-cogl-multitexture has been extended to use 2 materials with about
the same setup except a little difference: the texture matrices for the
lightmaps rotate in opposite directions.
While at it, changed the rotation behaviour by an implicit animation
with a small additional bonus bling.
tests/interactive/test-cogl-multitexture.c | 143 ++++++++++++++++++++---------
1 file changed, 102 insertions(+), 41 deletions(-)
commit 06d8ebb0ba2d468d492eeb94dede095a14eec909
Author: Damien Lespiau <damien.lespiau@intel.com>
Date: Sun Nov 15 19:54:17 2009 +0000
cogl: Create CoglTextureUnit with its associated unit number
The index field of CoglTextureUnit was never set, leading to the
creation of units with index set to 0. When trying to retrieve a texture
unit by its index (!= 0) with _cogl_get_texture_unit(), a new one was
created as it could not find it back in the list of textures units:
ctx->texture_units.
http://bugzilla.openedhand.com/show_bug.cgi?id=1958
clutter/cogl/cogl/cogl.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
commit 8fc07c51a9c71aec77e4b76416ffedc72da309e2
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Thu Jan 21 17:41:10 2010 +0000
actor: Use GParamSpecUint for :opacity
The :opacity property is defined using a GParamSpecUchar. This usually
leads to issues with language bindings that don't have an 'unsigned
char' type and that need to explicitly handle the conversion between
G_TYPE_UCHAR and G_TYPE_INT or G_TYPE_UINT.
The property definition already specifies an interval size of [0, 255]
on the values; more importantly, GObject already implicitly transforms
between G_TYPE_UCHAR and G_TYPE_UINT (the GValue transformation
functions are registered at type system initialization time) so
switching between a GParamSpecUchar and a GParamSpecUint should not be
an ABI break.
I have tested a simple program using the opacity property before and
after the change and I cannot see any run-time warnings related to this
issue.
clutter/clutter-actor.c | 18 +++++++++---------
1 file changed, 9 insertions(+), 9 deletions(-)
commit d0f7debfba4879c3df20c0067789b063e18d93ce
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Fri Jan 22 21:44:28 2010 +0000
test-easing: Do not reconnect signals multiple times
The test should keep track of the last animation and avoid reconnecting
signals to the same instance in case the -r argument has been passed.
tests/interactive/test-easing.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
commit 7073e69b4e504ddbaffad4a6139e93ddbd40b9f8
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Fri Jan 22 21:42:55 2010 +0000
animation: Verify internal state
Be more drastic if the internal state is broken, and assert() if the
expected Alpha and Timeline instances we need are not valid. This
usually implies a library bug or a massive heap corruption.
clutter/clutter-animation.c | 4 ++++
1 file changed, 4 insertions(+)
commit 8daa3035e563870fc614813fd6329c63542b129e
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Fri Jan 22 21:42:10 2010 +0000
docs: Fix the Animation:object property
There is a typo in the Animation:object property gtk-doc declaration.
clutter/clutter-animation.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
commit 0788aa43b29454efed3f60160b87881a1c84f603
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Fri Jan 22 21:41:33 2010 +0000
animation: Add more debug annotations
We need some better tracking of the Animation's lifetime.
clutter/clutter-animation.c | 16 ++++++++++++++--
1 file changed, 14 insertions(+), 2 deletions(-)
commit 7fa7c4a1b621eff0533ff70b1b6c9be001f62e2a
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Fri Jan 22 21:36:41 2010 +0000
animation: Transform if necessary
The Animation code does transformation of values between type A and A'
after checking for compatibility using g_value_type_compatible(). This
is incorrect: compatibility means that the two types can be copied. The
correct conversion should follow:
if (compatible (type (A), type (A')))
copy (A, A');
else
if (transformable (type (A), type (A')))
transform (A, A');
else
error("Unable to trasform type A in A'");
The transformation might still fail, so we need to check for errors
there as well as a fall-through case.
clutter/clutter-animation.c | 42 ++++++++++++++++++++++--------------------
1 file changed, 22 insertions(+), 20 deletions(-)
commit 94249efff7ec46bbeaac04800d5a9a30c05dcde3
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Fri Jan 22 21:33:28 2010 +0000
animation: Check for value transformability
We should not just check for compatibility, but also for the ability to
transform a GValue of type A into another of type A'.
Usually compatibility is enough, especially if types can be
introspected beforehand; some times, though, we also need to check for
transformability as a type can provide the transformation functions
necessary for the operation.
clutter/clutter-animation.c | 29 ++++++++++++++++++++---------
1 file changed, 20 insertions(+), 9 deletions(-)
commit 996614cfaf582bbfbf86874a95b4a7eef3c50630
Author: Neil Roberts <neil@linux.intel.com>
Date: Thu Jan 21 15:34:19 2010 +0000
cogl-atlas-texture: Add a debug option to disable the atlas
If the user specifies the 'disable-atlas' debug option then no texture
will be put in the atlas.
clutter/cogl/cogl/cogl-atlas-texture.c | 5 +++++
clutter/cogl/cogl/cogl-debug.c | 3 ++-
clutter/cogl/cogl/cogl-debug.h | 3 ++-
3 files changed, 9 insertions(+), 2 deletions(-)
commit 4695383281d4b74baa10d78253a27b2eb541eef3
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Fri Jan 22 00:06:17 2010 +0000
build: Use no-define
We don't need the PACKAGE and VERSION defines in the config.h.
configure.ac | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
commit f7e7985344420caf4897777ced6f04cddb7052ee
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Thu Jan 21 23:57:38 2010 +0000
build: Add no-portability option to automake
We require the GNU version of make for some of our rules, and it's been
so for a while now.
configure.ac | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
commit a545f66a5c34b66d1a31387105d114ca3edd3a46
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Thu Jan 21 23:41:18 2010 +0000
master clock: Improve the timeline advancement protection
The commit 1c69c61745ed510f0b6ab16cb963ca01994cb9fc which improved the
protection against timeline removals during the master clock advancement
was only doing half the job - and actually broke the chaining of
animations inside the ::completed signal.
We cannot simply take a reference on the timelines and still use the list
held by the master clock because the do_tick() might result in the
creation of a new timeline, which gets added at the end of the list with
no reference increase and thus gets disposed at the end of the iteration.
We also cannot steal the master clock timelines list because a timeline
might be removed as the direct result of do_tick() and remove_timeline()
would not find the timeline, failing and leaving a dangling pointer
behind.
For this reason we copy the list of timelines out of the one that the
Master Clock holds, take a reference on each timeline, advance them all,
release the reference and free the list.
clutter/clutter-master-clock.c | 39 +++++++++++++++++++++++++++------------
1 file changed, 27 insertions(+), 12 deletions(-)
commit 8a4b64715486699dd8d0ea2146d0adea37d2a6c7
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Wed Jan 20 19:40:58 2010 +0000
x11: Re-enable XI1 extension keyboards
The extension keyboard support in XInput 1.x is hopelessly broken.
Nevertheless, it's possible to use some bits of it, as we prefer the
core keyboard events to the XInput events, thus at least having proper
handling for X11 key events on the Stage window.
clutter/x11/clutter-backend-x11.c | 2 --
clutter/x11/clutter-event-x11.c | 28 ++++++++++++++++++++++++++--
clutter/x11/clutter-input-device-x11.c | 21 ++++++++++++++-------
tests/interactive/test-devices.c | 12 +++++++-----
4 files changed, 47 insertions(+), 16 deletions(-)
commit 94f9f3bd9345d8eb1551c429615473134e3f4e8f
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Fri Jan 15 16:28:00 2010 +0000
x11: Always handle core device events before XI events
The XI 1.0 layer is complementary to the X11 core devices handling; this
means that core events will still be emitted for the core pointer and
keyboard devices, and that secondary (floating) devices should be
handled on top of that.
Thus, the XI event handling code should be executed (if explicitly
compiled in and enabled) if the core device events have not been parsed.
Note: this is going away with XI2, which completely replaces both core and
XI1 events.
clutter/x11/clutter-event-x11.c | 499 ++++++++++++++++++----------------------
1 file changed, 224 insertions(+), 275 deletions(-)
commit dc39e9eff9de0797086ea1a505855724296981f7
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Fri Jan 15 15:29:52 2010 +0000
docs: Documentation fixes for DeviceManager
clutter/clutter-device-manager.c | 7 ++++++-
doc/reference/clutter/clutter-sections.txt | 2 --
doc/reference/clutter/clutter.types | 2 ++
3 files changed, 8 insertions(+), 3 deletions(-)
commit 65c7ff7d05389a10eed1d881ca572082f03932fe
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Fri Jan 15 15:29:14 2010 +0000
device-manager: Fix the signals definition
Add documentation for the signals, as well as using the correct type for
the marshallers.
clutter/clutter-device-manager.c | 26 +++++++++++++++++++++++---
1 file changed, 23 insertions(+), 3 deletions(-)
commit 0b47acf60b46b64ae838471765d86e1c65c01cc0
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Fri Jan 15 14:56:43 2010 +0000
docs: Add sections for InputDevice and DeviceManager
doc/reference/clutter/clutter-docs.xml.in | 2 ++
1 file changed, 2 insertions(+)
commit 8ead5abba0ebe9c5b5c1b749bb28f7879d63aa49
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Fri Jan 15 14:42:19 2010 +0000
docs: Add clutter_input_device_get_device_name()
doc/reference/clutter/clutter-sections.txt | 1 +
1 file changed, 1 insertion(+)
commit 1f5a7b61b761bf8426b1229c481574c273a5964f
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Fri Jan 15 12:24:21 2010 +0000
tests: Print out the device details on motion
The test-device interactive test should print out the device name and id
when it detects a motion event.
tests/interactive/test-devices.c | 31 ++++++++++++++++++++++++++++++-
1 file changed, 30 insertions(+), 1 deletion(-)
commit d8e167f1519499a27ee04a9a0d167b5ffed3ce8e
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Fri Jan 15 12:22:29 2010 +0000
Always register core devices
Even with XInput support we should always register core devices. This
allows us to handle enter and leave events correctly on the Stage and
to have a working XInput 1.x support in Clutter.
clutter/x11/clutter-backend-x11.c | 87 +++++++++++-----------------------
clutter/x11/clutter-backend-x11.h | 1 +
clutter/x11/clutter-event-x11.c | 47 +++++++++++++++++-
clutter/x11/clutter-input-device-x11.c | 14 +++---
4 files changed, 82 insertions(+), 67 deletions(-)
commit e0b8d631593c0539c47de0158d5425391d7cdbc0
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Fri Jan 15 11:52:27 2010 +0000
device: Remove unused is_default member
The is_default member of the InputDevice structure was not used
anywhere.
clutter/clutter-private.h | 2 --
clutter/x11/clutter-backend-x11.c | 11 ++---------
2 files changed, 2 insertions(+), 11 deletions(-)
commit 74dbcede25c9dee5b40cb057a26263d580800e7e
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Fri Jan 15 11:47:05 2010 +0000
win32: Experimental implementation of device support
Mostly lifted from the core pointer and keyboard X11 backend support.
The win32 backend registers two devices (a core pointer and a core
keyboard) and assigns them to the event structure when doing the
translation from native events to Clutter events.
Thanks to: Samuel Degrande <Samuel.Degrande@lifl.fr> for testing this
patch.
clutter/win32/clutter-backend-win32.c | 23 +++++++++++++++
clutter/win32/clutter-backend-win32.h | 3 ++
clutter/win32/clutter-event-win32.c | 55 ++++++++++++++++++++++-------------
3 files changed, 61 insertions(+), 20 deletions(-)
commit 850dd5a38fe17e82b16e19144db4ac516e349dbb
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Fri Jan 15 11:40:01 2010 +0000
tests: Print the device name, as well as its Id
The test-devices interactive test should display the device name along
with the id.
tests/interactive/test-devices.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
commit 66740e8000ea92b04da663a0d2ce890271d2af2f
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Fri Jan 15 11:38:58 2010 +0000
x11: Fill out the :name property of the InputDevices
For the core pointer and keyboard we assign the names ourselves; for
devices coming from XI we can use the XDeviceInfo.name member.
clutter/x11/clutter-backend-x11.c | 5 ++++-
clutter/x11/clutter-event-x11.c | 9 ++++++---
2 files changed, 10 insertions(+), 4 deletions(-)
commit cf4e05930a1243f9b58617a4a50833d5bab705b1
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Fri Jan 15 11:37:43 2010 +0000
device: Add the :name property to InputDevice
The InputDevice should have a name, possibly user readable, coming from
the backend.
clutter/clutter-input-device.c | 46 +++++++++++++++++++++++++++++++++++++++++-
clutter/clutter-input-device.h | 6 +++---
clutter/clutter-private.h | 9 +++++++++
3 files changed, 57 insertions(+), 4 deletions(-)
commit 79ad2b6a72bd91273e139e72af36d9b6db264001
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Fri Jan 15 11:21:52 2010 +0000
x11: Store core devices on the X11 Backend singleton
Instead of overloading the device id of 0 and 1 we should treat the core
devices as special, and have a pointer inside the X11 backend singleton
structure, for fast access.
clutter/x11/clutter-backend-x11.c | 8 +++--
clutter/x11/clutter-backend-x11.h | 3 ++
clutter/x11/clutter-event-x11.c | 13 +++----
clutter/x11/clutter-input-device-x11.c | 63 ++++++++++++++++++++++++++++++++++
4 files changed, 77 insertions(+), 10 deletions(-)
commit 8a579838d54d2b6f552fd32d9772f6e04f178179
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Thu Jan 14 17:14:33 2010 +0000
device: Unset the cursor actor when leaving the stage
When an InputDevice leaves a stage we set the stage member of
InputDevice to NULL. We should also unset the cursor_actor (as the
device is obviously not on an actor any more).
When the device re-enters the Stage the ENTER/LEAVE event generation
machinery will then be able to emit the ENTER event on the Stage.
clutter/clutter-input-device.c | 43 +++++++++++++++++++++++++++---------------
1 file changed, 28 insertions(+), 15 deletions(-)
commit 55e4315aa5889185a055f3ab2d5b5d4c9cae4dc4
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Tue Jan 12 11:53:12 2010 +0000
device: Add pointer actor getter
ClutterInputDevice should have a getter method for retrieving the
reactive actor underneath the pointer.
clutter/clutter-input-device.c | 37 ++++++++++++++++++++++++++++++
clutter/clutter-input-device.h | 3 ++-
doc/reference/clutter/clutter-sections.txt | 1 +
3 files changed, 40 insertions(+), 1 deletion(-)
commit 25c6ebbb2c70af7f268036b10dcd8d4a965c34c3
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Wed Dec 9 00:03:13 2009 +0000
x11: Discard the LeaveNotify for off-stage ButtonRelease
If the user presses a button on a pointer device and then moves out the
Stage X11 will emit the following events:
LeaveNotify ➔ MotionNotify ... ➔ ButtonRelease ➔ LeaveNotify
The second LeaveNotify differs from the first by the state field.
Unfortunately, ClutterCrossingEvent doesn't have a modifier_state field
like other events, so we cannot provide a way for programmatically
distinguishing them from a Clutter perspective. This is also an X11-ism
we might not even want to replicate on every backend with sane
enter/leave semantics.
For this reason we should check inside the X11 event processing if the
pointer device has already left the Stage and ignore the second
LeaveNotify.
clutter/x11/clutter-event-x11.c | 58 ++++++++++++++++++++++++-----------------
1 file changed, 34 insertions(+), 24 deletions(-)
commit 8736b53d7cc6fd2b53649c076ef09cb69f9b37d6
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Wed Dec 9 00:01:50 2009 +0000
device: Do not overwrite the stage for an InputDevice
The Stage field of an InputDevice is set by the backend, whenever the
pointer enters or leaves the Stage. The Stage should not overwrite the
stage field for every event it processes.
clutter/clutter-stage.c | 1 -
1 file changed, 1 deletion(-)
commit cf287db2048eae5eaa58a9cbffd42c703f345ff5
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Wed Dec 9 00:00:49 2009 +0000
event: Off-stage button releases have a click count of 1
The ButtonRelease off-stage should not have a click count of 0 but a
click count initialized to 1.
clutter/clutter-main.c | 1 +
1 file changed, 1 insertion(+)
commit bddabf6d2ca100f4d91461129d4bb097c59ac666
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Tue Dec 8 23:59:56 2009 +0000
event: Scroll events do not have click count
Remove the unneeded CLUTTER_SCROLL case from the click count checks.
clutter/clutter-main.c | 1 -
1 file changed, 1 deletion(-)
commit e30856a54d5d1e012cd2de30e519a487fd0b4f46
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Tue Dec 8 18:33:01 2009 +0000
Whitespace and indentation fixes
clutter/x11/clutter-event-x11.c | 24 ++++++++++++------------
1 file changed, 12 insertions(+), 12 deletions(-)
commit 0f9cfd9911c21933b34c07a9616f79022bcc01e3
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Mon Dec 7 23:13:52 2009 +0000
event: Clean up click-count detection
Avoid a few indirections and direct access to the Event and InputDevice
structures.
clutter/clutter-main.c | 65 ++++++++++++++++++++++++++++++++++----------------
1 file changed, 45 insertions(+), 20 deletions(-)
commit cf8a06f0186e44b3437b06c56c088e8dc465402b
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Mon Dec 7 23:05:20 2009 +0000
device: Store the current state, not the previous
The previous state for the device is used by the click count machinery
and we should not be overwriting it at every event; instead, we should
use a parallel storage for the current state coming from the windowing
system.
clutter/clutter-input-device.c | 34 +++++++++++++++++-----------------
clutter/clutter-private.h | 7 +++++++
2 files changed, 24 insertions(+), 17 deletions(-)
commit 68b47e3ed479242a94f7a8d302a2900f7e28c840
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Mon Dec 7 23:02:48 2009 +0000
tests: Fix test-events output
• The enter/leave event line should take into account the case where
the related field is set to NULL (meaning entering from off-stage
and leaving the stage).
• The ButtonRelease line shows the click count but uses the button; the
button *and* the click count should be displayed for both ButtonPress
and ButtonRelease, to verify they match.
tests/interactive/test-events.c | 16 +++++++++++-----
1 file changed, 11 insertions(+), 5 deletions(-)
commit b3a42c3b09e256732395f7c63c4a39956d32d3da
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Mon Dec 7 18:38:18 2009 +0000
docs: Update the API reference
Add the new symbols for InputDevice and DeviceManager
clutter/clutter-device-manager.c | 2 +-
clutter/clutter-device-manager.h | 2 +-
clutter/clutter-main.c | 4 +--
doc/reference/clutter/clutter-sections.txt | 49 +++++++++++++++++++++++++++---
4 files changed, 49 insertions(+), 8 deletions(-)
commit 130286979d04128b51fa8662aa13b6bbd1867ca2
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Tue Nov 24 17:54:02 2009 +0000
Do not pick when motion event delivery is disabled
The device manager does not need to update the state of the devices
when the user has disabled the delivery of motion events to actors:
the events will always be delivered as they are to the stage.
clutter/clutter-device-manager.c | 7 +++++++
1 file changed, 7 insertions(+)
commit 687c70dffa70a3256e9f734b090cb4a088e97bb1
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Tue Nov 24 16:33:03 2009 +0000
Rework the emission of LEAVE/ENTER event pairs
The LEAVE/ENTER event pairs should be queued during the InputDevice
update process, when we change the actor under the device pointer.
This commit cleans up the event emission code inside clutter-main.c
and the logic of the event processing.
clutter/clutter-device-manager.c | 4 +-
clutter/clutter-input-device.c | 81 +++++++++++++++--
clutter/clutter-main.c | 190 ++++++---------------------------------
clutter/clutter-private.h | 2 -
4 files changed, 104 insertions(+), 173 deletions(-)
commit 75f05646fa117b8096e033f9fad0ba9de1ee01ac
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Tue Nov 24 16:31:14 2009 +0000
tests: Clean up test-events
The output of test-events is a bit of a mess; this patch should clean
it up a little bit - at least enough for it to be useful again during
visual inspection.
tests/interactive/test-events.c | 101 ++++++++++++++++++++++++----------------
1 file changed, 60 insertions(+), 41 deletions(-)
commit a056ae716442e07e50ebd07cbca030776a5b3c28
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Tue Nov 24 16:22:44 2009 +0000
Add docs and licensing notices
clutter/clutter-device-manager.c | 125 ++++++++++++++++++++++++++++++++++++++-
clutter/clutter-device-manager.h | 29 +++++++++
clutter/clutter-input-device.c | 109 +++++++++++++++++++++++++++++++++-
clutter/clutter-input-device.h | 31 ++++++++++
4 files changed, 288 insertions(+), 6 deletions(-)
commit 9506510d1cf794ef530f6c4db45103efb60cca63
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Fri Jan 8 17:51:00 2010 +0000
Move all picking-related operations inside InputDevice
The InputDevice objects stores pointer coordinates, state, stage and
the actor under the cursor, so if the current backend provides us with
one attached to the Event structure then we want the InputDevice itself
to update its state and give us the ClutterActor underneath the
pointer's cursor.
clutter/clutter-device-manager.c | 24 +++++++++++
clutter/clutter-event.c | 36 ----------------
clutter/clutter-input-device.c | 91 ++++++++++++++++++++++++++++++++++++++--
clutter/clutter-input-device.h | 7 +++-
clutter/clutter-main.c | 60 +++++++++++++++-----------
clutter/clutter-master-clock.c | 7 ++--
clutter/clutter-private.h | 36 ++++++++++------
clutter/clutter-stage.c | 28 +++++++++++--
clutter/x11/clutter-event-x11.c | 36 ++++++++++------
9 files changed, 225 insertions(+), 100 deletions(-)
commit 1f87cac0695dc95be4ed0219752d454d9a285e50
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Tue Nov 24 12:53:57 2009 +0000
actor: Add :has-pointer property
ClutterActor should be able to tell whether a pointer is within
its area or not.
clutter/clutter-actor.c | 60 ++++++++++++++++++++++++++++++++++++++++++++++-
clutter/clutter-actor.h | 1 +
clutter/clutter-private.h | 3 +++
3 files changed, 63 insertions(+), 1 deletion(-)
commit d23dd9af6bf48c3c02f685505a5a34b477d4d2b3
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Mon Nov 23 16:07:16 2009 +0000
device: Make InputDevice an object and subclass it for X11
ClutterInputDevice should be a type that we can subclass per-backend
to add functionality.
clutter/Makefile.am | 2 +
clutter/clutter-event.h | 35 +------
clutter/clutter-input-device.c | 175 +++++++++++++++++++++++++++++++++
clutter/clutter-input-device.h | 64 ++++++++++++
clutter/clutter-main.c | 34 +++----
clutter/clutter-private.h | 19 +++-
clutter/clutter.h | 1 +
clutter/x11/Makefile.am | 2 +
clutter/x11/clutter-backend-x11.c | 141 ++++++--------------------
clutter/x11/clutter-input-device-x11.c | 151 ++++++++++++++++++++++++++++
clutter/x11/clutter-input-device-x11.h | 25 +++++
11 files changed, 484 insertions(+), 165 deletions(-)
commit d5331bfb5786b496cfcab925319711853db2f1d3
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Fri Nov 20 16:37:58 2009 +0000
tests: Update the devices test
Use the DeviceManager API instead of the X11 specific API.
tests/interactive/test-devices.c | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
commit 157da20e86f88bf906f0b59bafbea171a2e5e678
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Fri Nov 20 16:24:16 2009 +0000
x11: Always assign a device to pointer and key events
Even when we are not using XInput we now have fallback devices; the
X11 backend should always assign the default devices when translating
the X events to Clutter events.
clutter/x11/clutter-event-x11.c | 37 ++++++++++++++++++++++++++++---------
1 file changed, 28 insertions(+), 9 deletions(-)
commit ca16446319b6281cf63edf3b1b6d7d4f8d41e499
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Fri Nov 20 15:43:50 2009 +0000
Add :is-default flag to InputDevice
clutter/clutter-private.h | 2 ++
clutter/x11/clutter-backend-x11.c | 9 ++++++++-
2 files changed, 10 insertions(+), 1 deletion(-)
commit 3027d4327ae0c5d9bb7cc831f24d5ee5e8fb107f
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Fri Nov 20 15:36:43 2009 +0000
Port the X11 backend to the Device Manager
Use the device manager to store the input devices. Also, provide
two fallback devices when initializing the X11 backend: device 0
for the pointer and device 1 for the keyboard.
clutter/clutter-private.h | 3 -
clutter/x11/clutter-backend-x11.c | 514 +++++++++++++++++++-------------------
clutter/x11/clutter-backend-x11.h | 6 -
clutter/x11/clutter-event-x11.c | 5 +-
clutter/x11/clutter-x11.h | 2 +
5 files changed, 256 insertions(+), 274 deletions(-)
commit d34f1aa775e8a66bd0e599b32c761869b319c639
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Fri Nov 20 15:35:40 2009 +0000
Add ClutterDeviceManager
The ClutterDeviceManager is a singleton object that behaves like the
StageManager: it holds all input devices and notifies on addition and
removal.
clutter/Makefile.am | 6 +-
clutter/clutter-device-manager.c | 146 +++++++++++++++++++++++++++++++++++++++
clutter/clutter-device-manager.h | 30 ++++++++
clutter/clutter-main.c | 30 ++++----
clutter/clutter-marshal.list | 1 +
clutter/clutter-private.h | 43 ++++++++----
clutter/clutter.h | 1 +
7 files changed, 224 insertions(+), 33 deletions(-)
commit 1ef40b882349820d5edb2f1ed8885c3386d2cdf7
Author: Neil Roberts <neil@linux.intel.com>
Date: Tue Jan 19 17:14:58 2010 +0000
test-cogl-npot-texture: Use the COGL_TEXTURE_NO_ATLAS flag
If the texture is put in the atlas it won't be sliced whatever size it
is so it negates the test. We can avoid this with the NO_ATLAS flag.
tests/conform/test-cogl-npot-texture.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
commit 08b8b2791f91770d1a6e7aff163167d003b0fad3
Author: Neil Roberts <neil@linux.intel.com>
Date: Tue Jan 19 17:06:28 2010 +0000
cogl-atlas-texture: Don't create atlas textures with the premult bit
Previously the atlas textures were being created with whatever format
the first sub texture is in. Only three formats are supported so this
only matters if the first texture is a premultiplied alpha
texture. Instead it now masks out the premultiplied bit so that the
textures are always either RGB_888 or RGBA_8888.
clutter/cogl/cogl/cogl-atlas-texture.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
commit 14a28620ae13ef041696e2e3747ec00738cfd2bd
Author: Neil Roberts <neil@linux.intel.com>
Date: Fri Jan 15 22:56:37 2010 +0000
win32: Use an invisible cursor when cursor-visible is FALSE
The win32 backend now handles the WM_SETCURSOR message and sets a
fully transparent cursor if the cursor-visible property has been
cleared on the stage. The icon is stored in the library via a resource
file. The instance handle for the DLL is needed to load the resource
so there is now a DllMain function to grab the handle.
clutter/Makefile.am | 21 +++++++++++++++-
clutter/win32/Makefile.am | 2 +-
clutter/win32/clutter-backend-win32.c | 25 +++++++++++++++++++
clutter/win32/clutter-backend-win32.h | 4 ++++
clutter/win32/clutter-event-win32.c | 14 +++++++++++
clutter/win32/clutter-stage-win32.c | 44 ++++++++++++++++++++++++++++++----
clutter/win32/clutter-stage-win32.h | 2 ++
clutter/win32/invisible-cursor.cur | Bin 0 -> 86 bytes
clutter/win32/resources.rc | 1 +
configure.ac | 7 ++++++
10 files changed, 113 insertions(+), 7 deletions(-)
commit 4db89759a0aa91b353ac0bb41562addfff6d76c9
Author: Neil Roberts <neil@linux.intel.com>
Date: Mon Jan 18 17:33:08 2010 +0000
Post-release version bump to 1.1.7
configure.ac | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
commit 07ff8d26f8097a00757e6e3cfcd587bce188ae0d
Author: Neil Roberts <neil@linux.intel.com>
Date: Mon Jan 18 15:44:58 2010 +0000
Release Clutter 1.1.6
NEWS | 49 +++++++++++++++++++++++++++++++++++++++++++++++++
configure.ac | 2 +-
2 files changed, 50 insertions(+), 1 deletion(-)
commit 8daff42b3bcc9d59d7c87801b3926d8ed7c105a4
Author: Neil Roberts <neil@linux.intel.com>
Date: Mon Jan 18 15:43:25 2010 +0000
README: Clarify the required OpenGL version
Cogl will not allow OpenGL 1.2 if it doesn't have the multitexturing
extension so we should make this clear in the README.
README | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
commit fa51ff25d3555ce938922d7bbd64acb12140a774
Author: Neil Roberts <neil@linux.intel.com>
Date: Mon Jan 18 13:56:56 2010 +0000
Add build/mingw/{README,mingw-cross-compile.sh} to the dist tarball
It's quite difficult to get git working on Windows so it makes sense
to put the build instructions somewhere accessible.
build/Makefile.am | 2 +-
build/mingw/Makefile.am | 1 +
configure.ac | 1 +
3 files changed, 3 insertions(+), 1 deletion(-)
commit ff1d9cf090aef74efa1ec04b8cd490a45b148ae4
Author: Neil Roberts <neil@linux.intel.com>
Date: Mon Jan 18 12:42:20 2010 +0000
test-texture-fbo: Disconnect the paint handler for the stage
Otherwise the paint handler will still be run for the subsequent
tests. This ends up writing to the ‘state’ variable which used to be
on the stack so it will end up corrupting some stack variable. This
was causing test-cogl-premult to fail.
tests/conform/test-texture-fbo.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
commit ce030a3fce362cf4238d361743aaf9027ceed95a
Author: Neil Roberts <neil@linux.intel.com>
Date: Mon Jan 18 12:35:05 2010 +0000
clutter-group: Use g_list_foreach in clutter_group_real_foreach
g_list_foreach has better protection against the current node being
removed. This will happen for example if someone calls
clutter_container_foreach(container, clutter_actor_destroy). This was
causing valgrind errors for the conformance tests which do just that.
clutter/clutter-group.c | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
commit c4adefffd34d91fdf72365a6d11641f3c9f751cc
Author: Neil Roberts <neil@linux.intel.com>
Date: Mon Jan 18 10:53:00 2010 +0000
cogl-atlas-texture: Fix premultiplied texture formats
When uploading texture data it was just calling cogl_texture_set_data
on the large texture. This would attempt to convert the data to the
format of the large texture. All of the textures with alpha channels
are stored together regardless of whether they are premultiplied so
this was causing premultiplied textures to be unpremultiplied
again. It now just uploads the data ignoring the premult bit of the
format so that it only gets converted once.
clutter/cogl/cogl/cogl-atlas-texture.c | 232 ++++++++++++++++++++++-----------
1 file changed, 158 insertions(+), 74 deletions(-)
commit b78024bd2dbf39cb86a1c1458e477af9c9353d9e
Author: Neil Roberts <neil@linux.intel.com>
Date: Thu Jan 14 17:57:43 2010 +0000
cogl-primitives: Ensure the mipmaps for a layer before logging quads
With the atlas texture backend ensuring the mipmaps can make it become
a completely different texture which will have different texture
coordinates or may even be sliced. Therefore we need to ensure the
mipmaps before deciding which quads to log in the journal. This adds a
new private function to cogl-material which ensures the mipmaps if
needed.
clutter/cogl/cogl/cogl-material-private.h | 6 ++++++
clutter/cogl/cogl/cogl-material.c | 19 +++++++++++++++----
clutter/cogl/cogl/cogl-primitives.c | 6 ++++++
3 files changed, 27 insertions(+), 4 deletions(-)
commit 36f18e5ac57e068c3987d5b705f68fcc6f18d472
Author: Neil Roberts <neil@linux.intel.com>
Date: Mon Jan 18 09:22:04 2010 +0000
cogl: Make CoglSubTexture only work for quad rendering
The sub texture backend doesn't work well as a completely general
texture backend because for example when rendering with cogl_polygon
it needs to be able to tranform arbitrary texture coordinates without
reference to the other coordintes. This can't be done when the texture
coordinates are a multiple of one because sometimes the coordinate
should represent the left or top edge and sometimes it should
represent the bottom or top edge. For example if the s coordinates are
0 and 1 then 1 represents the right edge but if they are 1 and 2 then
1 represents the left edge.
Instead the sub-textures are now documented not to support coordinates
outside the range [0,1]. The coordinates for the sub-region are now
represented as integers as this helps avoid rounding issues. The
region can no longer be a super-region of the texture as this
simplifies the code quite a lot.
There are two new texture virtual functions:
transform_quad_coords_to_gl - This transforms two pairs of coordinates
representing a quad. It will return FALSE if the coordinates can
not be transformed. The sub texture backend uses this to detect
coordinates that require repeating which causes cogl-primitives
to use manual repeating.
ensure_non_quad_rendering - This is used in cogl_polygon and
cogl_vertex_buffer to inform the texture backend that
transform_quad_to_gl is going to be used. The atlas backend
migrates the texture out of the atlas when it hits this.
clutter/cogl/cogl/cogl-atlas-texture.c | 57 ++-
clutter/cogl/cogl/cogl-primitives.c | 21 +-
clutter/cogl/cogl/cogl-sub-texture-private.h | 15 +-
clutter/cogl/cogl/cogl-sub-texture.c | 498 +++++++++------------------
clutter/cogl/cogl/cogl-texture-2d-sliced.c | 21 ++
clutter/cogl/cogl/cogl-texture-2d.c | 17 +
clutter/cogl/cogl/cogl-texture-private.h | 10 +
clutter/cogl/cogl/cogl-texture.c | 33 +-
clutter/cogl/cogl/cogl-texture.h | 22 +-
clutter/cogl/cogl/cogl-vertex-buffer.c | 5 +
tests/conform/test-cogl-sub-texture.c | 81 ++---
tests/conform/test-conform-main.c | 2 +-
12 files changed, 348 insertions(+), 434 deletions(-)
commit 3d373c7278c47b18576edc8c8a0074654ce4a60e
Author: Samuel Degrande <Samuel.Degrande@lifl.fr>
Date: Fri Nov 27 16:53:50 2009 +0100
win32: Fix computation of the fullscreen size during stage realization
http://bugzilla.openedhand.com/show_bug.cgi?id=1905
Signed-off-by: Neil Roberts <neil@linux.intel.com>
clutter/win32/clutter-stage-win32.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
commit 12a9150f5b455e5700c745de4ad1ac5f2e43631f
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Fri Jan 15 17:32:46 2010 +0000
docs: Clarify usage of UTF-8 or ASCII art in commit messages
doc/HACKING | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
commit ea662b9ecaf1dd956f0cdc79ce04880270bf99de
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Fri Jan 15 17:06:56 2010 +0000
docs: Display the features section
The features section of the API reference is built but not used, and it
has some copy-and-paste errors.
clutter/clutter-feature.c | 11 +++++++++--
clutter/clutter-feature.h | 8 --------
doc/reference/clutter/clutter-docs.xml.in | 1 +
doc/reference/clutter/clutter-sections.txt | 2 +-
4 files changed, 11 insertions(+), 11 deletions(-)
commit cdfd9eb212829df0408431673bedfbe6b566fefe
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Fri Jan 15 14:50:06 2010 +0000
Add test-cogl-texture-mipmaps to the Git ignore file
.gitignore | 1 +
1 file changed, 1 insertion(+)
commit e019547e8c7d110332a9ba071737736a059f5b4b
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Fri Jan 15 14:48:42 2010 +0000
x11: Fix typo in clutter_x11_set_use_argb_visual() declaration
The function should have a lowercase x11, not an uppercase X11 in its
name.
clutter/x11/clutter-x11.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
commit 148145ea1ad24fb1ceca3229c4cae9c7c5755f75
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Fri Jan 15 14:47:20 2010 +0000
docs: Ignore clutter-profile.h
doc/reference/clutter/Makefile.am | 57 ++++++++++++++++++++-------------------
1 file changed, 29 insertions(+), 28 deletions(-)
commit b844653c649277eed63b6a85d29b84aab8abe641
Author: Neil Roberts <neil@linux.intel.com>
Date: Mon Jan 11 16:23:38 2010 +0000
cogl-texture: Fix manual repeating for negative coordinates
When calculating the next integer position for negative coordinates it
would not increment if the position is already a multiple of one so we
need to manually add one.
clutter/cogl/cogl/cogl-texture.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
commit a01b4eefceb1d490d918eba1729c87354695d1ca
Author: Neil Roberts <neil@linux.intel.com>
Date: Mon Jan 11 16:21:56 2010 +0000
cogl-texture-2d: Fix the coordinate wrapping for negative coordinates
The formula to wrap the coordinates to the [0,1] range was broken when
the coordinates were negative.
clutter/cogl/cogl/cogl-texture-2d.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
commit ead43995364bb8865ca5bab15d1bfd295578fff4
Merge: 34b50934b a70ebe4f5
Author: Neil Roberts <neil@linux.intel.com>
Date: Fri Jan 15 12:15:46 2010 +0000
Merge branch 'master' into more-texture-backends
commit a70ebe4f52e192c11f8db6a4fa1f419a5b175ab3
Author: Neil Roberts <neil@linux.intel.com>
Date: Fri Jan 15 12:02:09 2010 +0000
tests: Add a simple conformance test for texture mipmaps
This adds a test which renders a texture into a 1x1 pixel quad with
and without filters that use mipmaps. The pixel without mipmaps will
be one of the colors from the texture and the one with will be the
average of all the pixels in the texture.
tests/conform/Makefile.am | 1 +
tests/conform/test-cogl-texture-mipmaps.c | 147 ++++++++++++++++++++++++++++++
tests/conform/test-conform-main.c | 1 +
3 files changed, 149 insertions(+)
commit ba4622ff8bd1abde577fa26637fd1afec1b3abd6
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Thu Jan 14 15:23:41 2010 +0000
Add a notice of deprecation in the pre-Git ChangeLog
ChangeLog.pre-git-import | 6 ++++++
1 file changed, 6 insertions(+)
commit 8247bdf4f9b940fe69165ae6556511fcc9ca3a5d
Author: Neil Roberts <neil@linux.intel.com>
Date: Tue Jan 12 21:44:40 2010 +0000
cogl-framebuffer: Return gboolean from try_creating_fbo
When try_creating_fbo fails it returns 0 to report the error and if it
succeeds it returns ‘flags’. However cogl_offscreen_new_to_texture
also passes in 0 for the flags as the last fallback to create the fbo
with nothing but the color buffer. In that case it will return 0
regardless of whether it succeeded so the last fallback will always be
considered a failure.
To fix this it now just returns a gboolean to indicate whether it
succeeded and the flags used for each attempt is assigned when passing
the argument rather than from the return value of the function.
Also if the only configuration that succeeded was with flags==0 then
it would always try all combinations because last_working_flags would
also be zero. To avoid this it now uses a separate gboolean to mark
whether we found a successful set of flags.
http://bugzilla.openedhand.com/show_bug.cgi?id=1873
clutter/cogl/cogl/cogl-framebuffer.c | 56 ++++++++++++++++++------------------
1 file changed, 28 insertions(+), 28 deletions(-)
commit c6ce9c338966188248c3c1ae7b10480205fe20bf
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Thu Jan 14 14:07:04 2010 +0000
conform: Add operators tests for ClutterColor
The clutter_color_add() and clutter_color_subtract() functions are
lacking unit testing to catch eventual regressions.
.gitignore | 1 +
tests/conform/test-color.c | 57 +++++++++++++++++++++++++++++++++++++++
tests/conform/test-conform-main.c | 1 +
3 files changed, 59 insertions(+)
commit 4388509a1589dbac7aae0ebe5995ca0e06f7c70c
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Thu Jan 14 12:28:07 2010 +0000
master-clock: Add profiling timers
Use the newly-added profiling timers inside the master clock dispatch
function to see how much time we spend:
• in the whole function
• in the event processing for each stage
• in the timeline advancement
clutter/clutter-master-clock.c | 31 +++++++++++++++++++++++++++++++
1 file changed, 31 insertions(+)
commit 6e82d11daf8b1d7259c26e6a0816392a71c726f3
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Wed Jan 13 17:31:13 2010 +0000
units: Improve coverage of clutter_units_from_string()
Add a unit for an empty string as well as units for the missing unit
types like cm, mm and px.
tests/conform/test-clutter-units.c | 11 +++++++++++
1 file changed, 11 insertions(+)
commit ed735ae730ea2140ef4d1be9d1947dbdce8b1f28
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Wed Jan 13 16:57:55 2010 +0000
Add test-cogl-multitexture to the Git ignore file
.gitignore | 1 +
1 file changed, 1 insertion(+)
commit a076e0e11d222ca17dbdbadb3aa2c762d32a5730
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Wed Jan 13 16:35:53 2010 +0000
build: Add a script to format gcov report lines
Instead of using echo let's try Perl and the format() built-in.
build/Makefile.am | 2 ++
build/autotools/Makefile.am.gcov | 2 +-
build/gen-gcov.pl | 44 ++++++++++++++++++++++++++++++++++++++++
3 files changed, 47 insertions(+), 1 deletion(-)
commit 948db40c875f8eb7032582a32515737be6587067
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Mon Jan 4 14:53:03 2010 +0000
Add gcov support to the build
Using gcov it's possible to get a coverage report, that is a break down
of how much the exposed API is exercised by the conformance test suite.
.gitignore | 2 ++
Makefile.am | 3 +++
build/autotools/Makefile.am | 1 +
build/autotools/Makefile.am.gcov | 33 +++++++++++++++++++++++++++++++++
clutter/Makefile.am | 20 +++++++++++---------
configure.ac | 26 ++++++++++++++++++++++++++
6 files changed, 76 insertions(+), 9 deletions(-)
commit 5322546a4e2100bcec8aba651f8de7d849d67711
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Wed Jan 13 15:40:36 2010 +0000
build: Clean up COGL build flags
clutter/cogl/cogl/Makefile.am | 53 +++++++++++++++++++++----------------------
1 file changed, 26 insertions(+), 27 deletions(-)
commit 18d96005ec4d1395d70d71f2bef6cc378f4afb43
Author: Damien Lespiau <damien.lespiau@intel.com>
Date: Mon Nov 2 17:08:55 2009 +0000
texture: Remove reading the texture data back in ::unrealize()
Reading back the texture data in unrealize does not seem like a
desirable feature any more, clutter has evolved a lot since it was
implemented.
What's wrong with it now:
* It takes *a lot* of time to read the data back with glReadPixel(),
* When several textures share the same CoglTexture, the same data can
be read back multiple times,
* If the underlying material uses multiple texture units, only the
first one was copied back,
* In ClutterCairoTexture, we end up having two separate copies of the
data,
* GL actually manages texture memory accross system/video memory
for us!
For all the reasons above, let's get rid of the glReadPixel() in
Texture::unrealize()
Fixes: OHB#1842
clutter/clutter-texture.c | 163 +++-------------------------------------------
1 file changed, 8 insertions(+), 155 deletions(-)
commit 778e08e4e24822b0875e6aeaf168cb5cecfc8a7f
Author: Neil Roberts <neil@linux.intel.com>
Date: Tue Jan 12 14:49:55 2010 +0000
cogl-framebuffer: Add some missing GL defines
Since 755cce33a7 the framebuffer code is using the GL enums
GL_DEPTH_ATTACHMENT and GL_DEPTH_COMPONENT16. These aren't available
directly under GLES except with the OES suffix so we need to define
them manually as we do with the other framebuffer constants.
clutter/cogl/cogl/cogl-framebuffer.c | 6 ++++++
1 file changed, 6 insertions(+)
commit bb8352ca95f18ca5582abb97e20e78f69300adde
Author: Neil Roberts <neil@linux.intel.com>
Date: Tue Jan 12 14:43:36 2010 +0000
cogl: Remove the CGL_* defines
These macros used to define Cogl wrappers for the GLenum values. There are
now Cogl enums everywhere in the API where these were required so we
shouldn't need them anymore. They were in the public headers but as
they are not neccessary and were not in the API docs for Clutter 1.0
it should be safe to remove them.
clutter/cogl/cogl/cogl-material.c | 10 +-
clutter/cogl/cogl/cogl-primitives.c | 2 +-
clutter/cogl/cogl/cogl-shader.h | 2 +-
clutter/cogl/cogl/cogl-texture.h | 7 +-
clutter/cogl/cogl/driver/gl/cogl-defines.h.in | 655 ---------------------
clutter/cogl/cogl/driver/gl/cogl-texture-driver.c | 2 +-
clutter/cogl/cogl/driver/gles/cogl-defines.h.in | 597 -------------------
clutter/cogl/cogl/driver/gles/cogl-gles2-wrapper.c | 4 +-
clutter/cogl/cogl/driver/gles/cogl-gles2-wrapper.h | 65 +-
clutter/glx/clutter-glx-texture-pixmap.c | 8 +-
10 files changed, 55 insertions(+), 1297 deletions(-)
commit 1c6ffc8a238e5e7de429f35f7653695d91d9d26d
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Tue Jan 12 15:44:28 2010 +0000
stage: Add the delete-event signal
Using the ::event signal to match the CLUTTER_DELETE event type (and
block the stage destruction) can be costly, since it means checking
every single event.
The ::delete-event signal is similar in spirit to any other specialized
signal handler dealing with events, and retains the same semantics.
clutter/clutter-main.c | 9 +--------
clutter/clutter-stage.c | 49 ++++++++++++++++++++++++++++++++++++++++++++++++-
clutter/clutter-stage.h | 6 +++++-
3 files changed, 54 insertions(+), 10 deletions(-)
commit 8b950bdc87fae2626af8a96916b7f51fdea40a17
Author: Robert Bragg <robert@linux.intel.com>
Date: Tue Jan 12 11:02:09 2010 +0000
journal: Fixes logging of multiple sets of texture coordinates
If a user supplied multiple groups of texture coordinates with
cogl_rectangle_with_multitexture_coords() then we would repeatedly log only
the first group in the journal. This fixes that bug and adds a conformance
test to verify the fix.
Thanks to Gord Allott for reporting this bug.
clutter/cogl/cogl/cogl-journal.c | 8 +-
tests/conform/Makefile.am | 1 +
tests/conform/test-cogl-multitexture.c | 209 +++++++++++++++++++++++++++++++++
tests/conform/test-conform-main.c | 1 +
4 files changed, 215 insertions(+), 4 deletions(-)
commit bc8a80fee53c9eed17fab6d821846c1a0fa3460f
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Mon Jan 11 17:08:42 2010 +0000
text: Zero out the cursor_pos member
Do not trust the zero-ing done by GObject on the private data structure,
and use memset() instead to zero the ClutterGeometry structure.
clutter/clutter-text.c | 1 +
1 file changed, 1 insertion(+)
commit 5c14538c1406b1358a2747428c73fe0cf1198e94
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Mon Jan 11 17:06:52 2010 +0000
Remove obsolete code from test-text
The test-text "fake scrolling" code stopped working somewhere between
0.8 and 0.9, with the new layout code. Instead of the ::cursor-event
signal it should use an approach similar to the Scrollable interface in
the Moblin User Experience toolkit.
Right now, it makes sense to ignore this code entirely.
tests/interactive/test-text.c | 26 ++------------------------
1 file changed, 2 insertions(+), 24 deletions(-)
commit 755cce33a729817aebe4cf5c08d97c31a327c863
Author: Robert Bragg <robert@linux.intel.com>
Date: Mon Nov 30 20:04:41 2009 +0000
cogl: Support multiple fallbacks in cogl_offscreen_new_to_texture()
The Intel drivers in Mesa 7.6 (and possibly earlier versions) don't
support creating FBOs with a stencil buffer but without a depth
buffer. This reworks framebuffer allocation so that we try a number
of fallback options before failing.
The options we try in order are:
- the same options that were sucessful last time if available
- combined depth and stencil
- separate depth and stencil
- just stencil, no depth
- just depth, no stencil
- neither depth or stencil
clutter/cogl/cogl/cogl-framebuffer-private.h | 2 +-
clutter/cogl/cogl/cogl-framebuffer.c | 238 +++++++++++++++++----------
2 files changed, 156 insertions(+), 84 deletions(-)
commit 4c1231c7fe545a7764d06754d7d6be0906686e0a
Author: Damien Lespiau <damien.lespiau@intel.com>
Date: Wed Jan 6 11:48:46 2010 +0000
media: Add an API to specify which font should be used for subtitles
Allow the user of the ClutterMedia interface to specify a Pango font
description to display subtitles. Even if the underlying implementation
of the interface does not natively use Pange, it must be capable of
parsing the grammar that pango_font_description_from_string() accepts.
clutter/clutter-media.c | 64 ++++++++++++++++++++++++++++++
clutter/clutter-media.h | 45 +++++++++++----------
doc/reference/clutter/clutter-sections.txt | 2 +
3 files changed, 90 insertions(+), 21 deletions(-)
commit 8e9f56c41160452166be68202227b206a690472d
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Sun Jan 10 11:35:26 2010 +0000
build: Clean up private header/source files
Some source files should not be passed through the introspection parser,
as they are fully private and do not expose any valuable API.
Also the clutter-profile.h header is private and should not be
installed.
clutter/Makefile.am | 12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)
commit d9b91d61f5730e9ce29627f467c89070b78fb6b6
Author: Robert Bragg <robert@linux.intel.com>
Date: Wed Nov 25 14:26:32 2009 +0000
framebuffers: cogl_offscreen_new_to_texture should take a ref on the texture
We weren't taking a reference on the texture to be used as the color buffer
for offscreen rendering, so it was possible to free the texture leaving the
framebuffer in an inconsistent state.
clutter/cogl/cogl/cogl-framebuffer-private.h | 1 +
clutter/cogl/cogl/cogl-framebuffer.c | 3 +++
2 files changed, 4 insertions(+)
commit 30b557c4653d15eeb1311b516ab1f4c0035a5e83
Author: Robert Bragg <robert@linux.intel.com>
Date: Fri Jul 3 16:22:35 2009 +0100
profiling: Adds initial UProf accounting to Cogl
This adds gives Cogl a dedicated UProf context which will be linked together
with Clutter's context during clutter_init_real().
Initial timers cover _cogl_journal_flush and _cogl_journal_log_quad
You can explicitly ask for a report of Cogl statistics by exporting
COGL_PROFILE_OUTPUT_REPORT=1 but since the context is linked with Clutter's
the statisitcs will also be shown in the automatic Clutter reports.
clutter/clutter-main.c | 7 ++++++
clutter/cogl/cogl/Makefile.am | 2 ++
clutter/cogl/cogl/cogl-journal.c | 19 ++++++++++++++
clutter/cogl/cogl/cogl-profile.c | 30 ++++++++++++++++++++++
clutter/cogl/cogl/cogl-profile.h | 54 ++++++++++++++++++++++++++++++++++++++++
configure.ac | 2 +-
6 files changed, 113 insertions(+), 1 deletion(-)
commit 0b6515a1d53571fea13417d47e7bf0f4749321f8
Author: Robert Bragg <robert@linux.intel.com>
Date: Fri Apr 17 12:15:56 2009 +0100
profiling: Allow limiting statisics just to picking
This suspends and resumes all uprof timers and counters except while dealing
with picking, so as to give more focused statistics.
Be aware that there are still some issues with this profile option since
there are a few special case counters and timers that shouldn't be
suspended; noteably the frame counters are incorrect so the per frame stats
can't be trusted.
clutter/clutter-main.c | 22 ++++++++++++++++++++--
clutter/clutter-profile.c | 29 +++++++++++++++++++++++++++++
clutter/clutter-profile.h | 9 +++++++++
3 files changed, 58 insertions(+), 2 deletions(-)
commit 9cb530d42e7860d1a44f441b97910fd3903480f1
Author: Robert Bragg <robert@linux.intel.com>
Date: Wed Jan 6 18:15:13 2010 +0000
profiling: Parse --clutter-profile and CLUTTER_PROFILE= options
As we have for debugging, this adds the ability to control profiling flags
either via the command line or an environment variable.
The first option added is CLUTTER_PROFILE=disable-report
This also changes the reporting to be opt-out so you don't need to export
CLUTTER_PROFILE_OUTPUT_REPORT=1 to see a report but you can use
CLUTTER_PROFILE=disable-report to disable it if desired.
clutter/clutter-main.c | 51 +++++++++++++++++++++++++++++++++++++++++++++++
clutter/clutter-profile.c | 2 +-
clutter/clutter-profile.h | 8 ++++++++
3 files changed, 60 insertions(+), 1 deletion(-)
commit 00577558540db2c9f7bf24e870ff6231abb2b99d
Author: Robert Bragg <robert@linux.intel.com>
Date: Mon Mar 30 16:41:02 2009 +0100
profiling: Adds initial UProf support across clutter
UProf is a small library that aims to help applications/libraries provide
domain specific reports about performance. It currently provides high
precision timer primitives (rdtsc on x86) and simple counters, the ability
to link statistics between optional components at runtime and makes report
generation easy.
This adds initial accounting for:
- Total mainloop time
- Painting
- Picking
- Layouting
- Idle time
The timing done by uprof is of wall clock time. It's not based on stochastic
samples we simply sample a counter at the start and end. When dealing with
the complexities of GPU drivers and with various kinds of IO this form of
profiling can be quite enlightening as it will be able to represent where
your application is blocking unlike tools such as sysprof.
To enable uprof accounting you must configure Clutter with --enable-profile
and have uprof-0.2 installed from git://git.moblin.org/uprof
If you want to see a report of statistics when Clutter applications exit you
should export CLUTTER_PROFILE_OUTPUT_REPORT=1 before running them.
Just a final word of caution; this stuff is new and the manual nature of
adding uprof instrumentation means it is prone to some errors when modifying
code. This just means that when you question strange results don't rule out
a mistake in the instrumentation. Obviously though we hope the benfits out
weigh e.g. by focusing on very key stats and by having automatic reporting.
clutter/Makefile.am | 2 +
clutter/clutter-actor.c | 14 ++++
clutter/clutter-backend.c | 15 ++++
clutter/clutter-main.c | 94 ++++++++++++++++++++-
clutter/clutter-profile.c | 170 ++++++++++++++++++++++++++++++++++++++
clutter/clutter-profile.h | 57 +++++++++++++
clutter/clutter-stage.c | 9 ++
clutter/glx/clutter-backend-glx.c | 17 ++++
8 files changed, 376 insertions(+), 2 deletions(-)
commit bd41db7c00fc54aa8077f53177ff33bd33a19c83
Author: Robert Bragg <robert@linux.intel.com>
Date: Tue Mar 17 13:07:46 2009 +0000
Adds a --enable-profile option to configure.ac
There is nothing else hooked up to this option so far
README | 4 ++++
configure.ac | 58 +++++++++++++++++++++++++++++++++++++++++++++-------------
2 files changed, 49 insertions(+), 13 deletions(-)
commit 5157da9fc8340cebdd29989a4ea02ccf607d3c52
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Fri Jan 8 15:04:56 2010 +0000
x11: Switch back to RGB visuals by default
Since asking for ARGB by default is still somewhat experimental on X11
and not every toolkit or complex widgets (like WebKit) still do not like
dealing with ARGB visuals, we should switch back to RGB by default - now
that at least we know it works.
For applications (and toolkit integration libraries) that want to enable
the ClutterStage:use-alpha property there is a new function:
void clutter_x11_set_use_argb_visual (gboolean use_argb);
which needs to be called before clutter_init().
The CLUTTER_DISABLE_ARGB_VISUAL environment variable can still be used
to force this value off at run-time.
clutter/glx/clutter-backend-glx.c | 2 +-
clutter/x11/clutter-backend-x11.c | 70 +++++++++++++++++++++++++++++-
clutter/x11/clutter-stage-x11.c | 6 ++-
clutter/x11/clutter-x11.h | 9 +++-
doc/reference/clutter/clutter-sections.txt | 3 ++
5 files changed, 83 insertions(+), 7 deletions(-)
commit 9599adbd820db7526d77790d8b611a6b61cb2dc7
Author: Damien Lespiau <damien.lespiau@intel.com>
Date: Wed Jan 6 00:44:24 2010 +0000
doc: Fix media::{get,set}_subtitle_uri() symbol names
At first, those symbols were called {get,set}_subtitles_uri() but were
renamed to {get,set}_subtitle_uri() without updating the
clutter-section.txt file.
This fix makes gtk-doc document those symbols again.
doc/reference/clutter/clutter-sections.txt | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
commit bf4818bd759f612a9cec62c2e072544d54cc104c
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Thu Jan 7 11:08:52 2010 +0000
actor: Just emit a relayout cycle warning
Currently, ClutterActor detects a relayout cycle (an actor causing a
relayout to be queued from within an allocate() function) and aborts
after printing out a warning. This might be a little bit too anal
retentive, and it currently breaks GTK+ embedding inside clutter-gtk
so we should probably relax the behaviour a bit. Now we just emit the
warning but we still go ahead with the relayout.
clutter/clutter-actor.c | 1 -
1 file changed, 1 deletion(-)
commit 821e622de671ad4e18a55e9dbd33aee004e822df
Author: Neil Roberts <neil@linux.intel.com>
Date: Thu Jan 7 15:58:53 2010 +0000
Don't set the GLX_TRANSPARENT_TYPE attribute to choose an FBConfig
When Clutter tries to pick an ARGB visual it tried to set the
GLX_TRANSPARENT_TYPE attribute of the FBConfig to
GLX_TRANSPARENT_RGB. However the code to do this was broken so that it
was actually trying to set the non-existant attribute number 0x8008
instead. Mesa silently ignored this so it appeared as if it was
working but the Nvidia drivers do not like it.
It appears that the TRANSPARENT_TYPE attribute is not neccessary for
getting an ARGB visual anyway and instead it is intended to support
color-key transparency. Therefore we can just remove it and get all of
the FBConfigs. Then if we need an ARGB visual we can just walk the
list to look for one with depth == 32.
The fbconfig is now stored in a single variable instead of having a
separate variable for the rgb and rgba configs because the old code
only ever retrieved one of them anyway.
clutter/glx/clutter-backend-glx.c | 145 +++++++++++++++-----------------------
clutter/glx/clutter-backend-glx.h | 5 +-
2 files changed, 57 insertions(+), 93 deletions(-)
commit 8b59573190907da97c2af5a5be2e563fc66f8d51
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Tue Jan 5 18:02:29 2010 +0000
Covert stb_image.c to Unix format
The file is still in DOS format (CRLF instead of LF) and this confuses
the hell out of some versions of Git.
clutter/cogl/cogl/stb_image.c | 7544 ++++++++++++++++++++---------------------
1 file changed, 3772 insertions(+), 3772 deletions(-)
commit 58b5a46e0e6b263bd32808e4a9a46bbdd81eedfe
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Tue Jan 5 17:54:45 2010 +0000
Include cogl-defines.h before using GL types
If we are using GL* types we should also be including cogl-defines.h, as
that will include the right GL header.
clutter/cogl/cogl/cogl-shader.h | 1 +
clutter/cogl/cogl/cogl-texture.h | 1 +
2 files changed, 2 insertions(+)
commit 793fec8138b478ba1f1ea419f9ef8bed4f453e77
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Tue Jan 5 16:11:45 2010 +0000
cogl: Fix array annotations
The arrays in the cogl_program_set_uniform_* API should be marked as
such, and have their length arguments specified.
clutter/cogl/cogl/cogl-shader.h | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
commit 59105341bce12b2ec009ff953facbb7f7b10e85f
Author: Neil Roberts <neil@linux.intel.com>
Date: Tue Jan 5 11:58:12 2010 +0000
text: Store the markup attributes separately
Previously when the markup property is set it would generate an
attribute list from the markup and then merge it with the attributes
from the attribute property and store it as the effective
attributes. The markup attributes and the marked up text would then be
forgotten. This breaks if the application then later changes the
attributes property because it would try to regenerate the effective
attributes from the markup text but the stored text no longer contains
any markup. If the original markup text happened to contain entities
like '<' they would end up causing parse errors because they would
be converted to the actual symbols.
To fix this the attributes from the markup are now stored
independently from the effective attributes. The effective attributes
are now regenerated if either set of attributes changes right before a
layout is created.
http://bugzilla.openedhand.com/show_bug.cgi?id=1940
clutter/clutter-text.c | 134 ++++++++++++++++++++++++++++++-------------------
1 file changed, 82 insertions(+), 52 deletions(-)
commit 32b456fc8c4e8743c1b2c32164f7e9f67188a60e
Author: Neil Roberts <neil@linux.intel.com>
Date: Tue Jan 5 11:44:17 2010 +0000
text: Free the Pango attribute list resources
The ClutterText owns three PangoAttrList resources which were not
being unref'd. This adds the unref calls to the finalize method.
clutter/clutter-text.c | 7 +++++++
1 file changed, 7 insertions(+)
commit 64c1294cc26e034fbf8a9a05b4413f63b9cd882d
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Tue Jan 5 14:10:19 2010 +0000
x11 tfp: Plug a leak
Destroy the dummy XImage we create even on success.
http://bugzilla.openedhand.com/show_bug.cgi?id=1918
Based on a patch by: Carlos Martín Nieto <carlos@cmartin.tk>
Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
clutter/x11/clutter-x11-texture-pixmap.c | 22 +++++++++++++---------
1 file changed, 13 insertions(+), 9 deletions(-)
commit fa298b45b530c6b6821e73b011c3c7d226950ce0
Merge: 4207524e9 4adc2c2d8
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Tue Jan 5 11:04:50 2010 +0000
Merge branch 'matrix-mode'
* matrix-mode:
build: Move CoglMatrixMode to cogl-matrix-stack.h
commit 4207524e950efd3f1fa5334f6d0b9b374a0b3f93
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Tue Jan 5 11:02:39 2010 +0000
Remove trailing comma from test UI definition
The animation definition test has a trailing comma at the end of an
array item.
tests/data/test-script-animation.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
commit 2aa9d7bdc78703fc9a6354d2e54f880fde96db39
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Tue Jan 5 10:55:28 2010 +0000
script: Copy the JSON node in PropertyInfo
PropertyInfo should store a copy of the JsonNodes it references, so
that property_info_free() can safely dispose them, and we can reference
values across different UI definition data.
The implicit timeline parsing code is not copying the JsonNode; this
leads to a double free in some cases, which is masked by the GSlice
allocator and produces a heap corruption later on.
clutter/clutter-script-parser.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
commit 10963d1ae03920e202ccbd0107854f489117f89b
Author: Damien Lespiau <damien.lespiau@intel.com>
Date: Mon Dec 28 17:52:43 2009 +0100
[media] Add an API to play a subtitle file along with the media
Allow the user of the ClutterMedia interface to specify an external (as
in not multiplexed with the audio/video streams) location of a subtitle
stream.
clutter/clutter-media.c | 55 ++++++++++++++++++++++++++++++
clutter/clutter-media.h | 3 ++
doc/reference/clutter/clutter-sections.txt | 2 ++
3 files changed, 60 insertions(+)
commit 5d5c7142f7fa2447e13bcb80a272b0d9dfc28f06
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Mon Jan 4 12:03:47 2010 +0000
text: Use G_SIGNAL_ACTION for ::insert-text and ::delete-text
Both the ::insert-text and ::delete-text are "action" signals, that is
signals that are safe to (and should) be emitted using g_signal_emit()
directly.
clutter/clutter-text.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
commit bf43cb6cdc84e646add7adc592487274331d4930
Author: Alejandro Piñeiro <apinheiro@igalia.com>
Date: Fri Nov 20 15:17:41 2009 +0100
Added ClutterText::insert-text and ClutterText::delete-text signals
* clutter/clutter-marshal.list: added new marshaller
* clutter/clutter-text.c
(clutter_text_class_init): added insert-text and delete-text signals
(clutter_text_insert_unichar): emits insert-text signal
(clutter_text_insert_text): emits insert-text signal
(clutter_text_delete_text): emits delete-text signal
(clutter_text_delete_chars): emits delete-text signal
(clutter_text_set_markup_internal): emits delete-text and insert-text signals
(clutter_text_set_text): emits delete-text and insert-text signals
http://bugzilla.openedhand.com/show_bug.cgi?id=1894
clutter/clutter-marshal.list | 1 +
clutter/clutter-text.c | 87 ++++++++++++++++++++++++++++++++++++++++++--
2 files changed, 84 insertions(+), 4 deletions(-)
commit 4adc2c2d839c42eccc7187735ddcce061d25f14b
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Mon Jan 4 11:58:32 2010 +0000
build: Move CoglMatrixMode to cogl-matrix-stack.h
This avoids a redeclaration of _cogl_matrix_stack_flush_to_gl() from
using GLenum to CoglMatrixMode.
http://bugzilla.openedhand.com/show_bug.cgi?id=1928
clutter/cogl/cogl/cogl-internal.h | 7 -------
clutter/cogl/cogl/cogl-matrix-stack.h | 9 +++++++--
2 files changed, 7 insertions(+), 9 deletions(-)
commit eb9029504124daf4c032f027c2f068ec25548f3f
Author: Halton Huo <halton.huo@sun.com>
Date: Mon Jan 4 11:49:50 2010 +0000
cogl-texture: Remove return in void functions
http://bugzilla.o-hand.com/show_bug.cgi?id=1929
Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
clutter/cogl/cogl/cogl-texture.c | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)
commit b98d486fc99fd46626877be728961190dbf831dc
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Mon Jan 4 11:49:13 2010 +0000
build: Maintainer cflags go in the _CFLAGS target
The maintainer compiler flags are not pre-processor flags.
clutter/cogl/cogl/Makefile.am | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
commit 0fb51658fdba886fd5d9cb53cfca6df13aa1f7a0
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Mon Jan 4 11:43:00 2010 +0000
cogl: Const-ify vertices in cogl_polygon()
The CoglTextureVertex array passed to cogl_polygon() is a pure
in-argument and should be const-ified.
http://bugzilla.openedhand.com/show_bug.cgi?id=1917
clutter/cogl/cogl/cogl-primitives.c | 27 ++++++++++++++-------------
clutter/cogl/cogl/cogl-texture.h | 6 +++---
2 files changed, 17 insertions(+), 16 deletions(-)
commit 1c69c61745ed510f0b6ab16cb963ca01994cb9fc
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Wed Nov 11 11:00:29 2009 +0000
master-clock: Take a reference before advancing timelines
A timeline advancement might cause another timeline to be
destroyed, which will likely lead to a segmentation fault.
Before advancing the timelines we should take a reference
on them - just like we do for the stages before doing
event processing. This will prevent dispose() from running
until the end of the advancement.
http://bugzilla.openedhand.com/show_bug.cgi?id=1854
clutter/clutter-master-clock.c | 7 +++++++
1 file changed, 7 insertions(+)
commit 5ae88f5777c5ed0663937f990350f145b254692c
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Sun Jan 3 20:41:17 2010 +0000
Post-release version bump to 1.1.5
configure.ac | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
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 file changed, 1 insertion(+), 1 deletion(-)
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 file changed, 4 insertions(+)
commit 3d350078a8aa6f1bdf38c12de62e2708c5369247
Merge: a09ac0b27 934eee17a
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 file 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 file 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 file 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 file changed, 83 insertions(+), 54 deletions(-)
commit a09ac0b27ccb4a9c08a4e42e00776bf627f0e163
Merge: b6bd8be6c 34913378f
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: 7b53aa751 c7e8ddb7a
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(+)
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 file 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(+)
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 file changed, 36 insertions(+), 34 deletions(-)
commit 7b53aa7510adc60d3287740772ec97117ce78ab9
Merge: 60a6bff31 1374b5aac
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: dc47550bc c4f27b155
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: 86ce92eec b33b6287a
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 file changed, 26 insertions(+)
commit 9242d6b934710ca4001e8dc2a0f1f4bc4a738a63
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Wed Dec 9 18:10:52 2009 +0000
docs: Move RELEASING under docs/
RELEASING => doc/RELEASING | 0
1 file changed, 0 insertions(+), 0 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 file 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 file 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 file changed, 15 insertions(+)
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 file changed, 1 insertion(+)
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 file 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 file changed, 7 insertions(+), 1 deletion(-)
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 file 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 34b50934be581cde0ef2eba75f45aa36b1add14d
Author: Neil Roberts <neil@linux.intel.com>
Date: Sat Dec 5 14:20:00 2009 +0000
cogl-material: Ensure mipmaps before doing anything else on a texture
When the texture is in the atlas, ensuring the mipmaps can effectively
make it become a completely different texture so we should do this
before getting the GL handle.
clutter/cogl/cogl/cogl-material.c | 19 +++++++++++--------
1 file changed, 11 insertions(+), 8 deletions(-)
commit 231cfffa1871806713928f7b4c599d904a813fb9
Author: Neil Roberts <neil@linux.intel.com>
Date: Sat Dec 5 13:48:03 2009 +0000
cogl-atlas-texture: Remove textures from the atlas when mipmapping is required
Mipmaps don't work very well in the current atlas because there is not
enough padding between the textures. If ensure_mipmaps is called it
will now create a new texture and migrate the atlased texture to
it. It will use the same blit mechanism as when migrating so it will
try to use an FBO for a fast blit. However if this is not possible it
will end up downloading the data for the entire atlas which is not
ideal.
clutter/cogl/cogl/cogl-atlas-texture.c | 66 +++++++++++++++++++++++++++++-----
1 file changed, 57 insertions(+), 9 deletions(-)
commit 6cf5ee2cbdad4bb71a065bb7e49a534ca7ba78ac
Author: Neil Roberts <neil@linux.intel.com>
Date: Sat Dec 5 13:24:01 2009 +0000
cogl-atlas-texture: Try to do texture blits using an FBO
When reorganizing the textures, we can avoid downloading the entire
texture data if we bind the source texture in a framebuffer object and
copy the destination using glCopyTexSubImage2D. This is also
implemented using a much faster path in Mesa.
Currently it is calling the GL framebuffer API directly but ideally it
would use the Cogl offscreen API. However there is no way to tell Cogl
not to create a stencil renderbuffer which seems like a waste in this
situation.
If FBOs are not available it will fallback to reading back the entire
texture data as before.
clutter/cogl/cogl/cogl-atlas-texture.c | 198 ++++++++++++++++++++++++++++-----
1 file changed, 168 insertions(+), 30 deletions(-)
commit c51a31a2fc3f0f087a44cbccf1726c40fa581746
Author: Neil Roberts <neil@linux.intel.com>
Date: Fri Dec 4 19:43:39 2009 +0000
cogl-atlas: Add a debug option to visualize the atlas
This adds a 'dump-atlas-image' debug category. When enabled, CoglAtlas
will use Cairo to create a png which visualizes the leaf rectangles of
the atlas.
clutter/cogl/cogl/cogl-atlas.c | 76 ++++++++++++++++++++++++++++++++++++++++++
clutter/cogl/cogl/cogl-debug.c | 3 +-
clutter/cogl/cogl/cogl-debug.h | 3 +-
3 files changed, 80 insertions(+), 2 deletions(-)
commit 032d6e8aa00cd04a8084303a4942760ef5651a0c
Author: Neil Roberts <neil@linux.intel.com>
Date: Fri Dec 4 18:55:53 2009 +0000
cogl-texture-atlas: Add some debugging notes
This adds an 'atlas' category to the COGL_DEBUG environment
variable. When enabled Cogl will display messages when textures are
added to the atlas and when the atlas is reorganized.
clutter/cogl/cogl/cogl-atlas-texture.c | 62 ++++++++++++++++++++++++++++++----
clutter/cogl/cogl/cogl-debug.c | 3 +-
clutter/cogl/cogl/cogl-debug.h | 3 +-
3 files changed, 60 insertions(+), 8 deletions(-)
commit bc845e26d9cab75ecba69d12a937cf7d42bcaf71
Author: Neil Roberts <neil@linux.intel.com>
Date: Fri Dec 4 18:24:15 2009 +0000
cogl-atlas-texture: Support reorganizing the atlas when it is full
When space can't be found in the atlas for a new texture it will now
try to reorganize the atlas to make space. A new CoglAtlas is created
and all of the textures are readded in decreasing size order. If the
textures still don't fit then the size of the atlas is doubled until
either we find a space or we reach the texture size limits. If we
successfully find an organization that fits then all of the textures
will be migrated to a new texture. This involves copying the texture
data into CPU memory and then uploading it again. Potentially it could
eventually use a PBO or an FBO to transfer the image without going
through the CPU.
The algorithm for laying out the textures works a lot better if the
rectangles are added in order so we might eventually want some API for
creating multiple textures in one go to avoid reorganizing the atlas
as far as possible.
clutter/cogl/cogl/cogl-atlas-texture.c | 315 +++++++++++++++++++++++++++++----
1 file changed, 280 insertions(+), 35 deletions(-)
commit 1fb32167ec37f7b3bc8193258faa5963fe49569e
Author: Neil Roberts <neil@linux.intel.com>
Date: Fri Dec 4 13:06:32 2009 +0000
cogl: Add an atlased texture backend
This adds a CoglAtlas type which is a data structure that keeps track
of unused sub rectangles of a larger rectangle. There is a new atlased
texture backend which uses this to put multiple textures into a single
larger texture.
Currently the atlas is always sized 256x256 and the textures are never
moved once they are put in. Eventually it needs to be able to
reorganise the atlas and grow it if necessary. It also needs to
migrate the textures out of the atlas if mipmaps are required.
clutter/cogl/cogl/Makefile.am | 4 +
clutter/cogl/cogl/cogl-atlas-texture-private.h | 64 +++
clutter/cogl/cogl/cogl-atlas-texture.c | 488 +++++++++++++++++++++++
clutter/cogl/cogl/cogl-atlas.c | 520 +++++++++++++++++++++++++
clutter/cogl/cogl/cogl-atlas.h | 76 ++++
clutter/cogl/cogl/cogl-context.c | 14 +
clutter/cogl/cogl/cogl-context.h | 8 +
clutter/cogl/cogl/cogl-texture.c | 30 +-
clutter/cogl/cogl/cogl-types.h | 3 +-
9 files changed, 1194 insertions(+), 13 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 file 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 file changed, 3 insertions(+)
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 file 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 file changed, 2 insertions(+), 2 deletions(-)
commit 6c3e1989e47b17f826d25704b2433ffecc6e83b9
Author: Neil Roberts <neil@linux.intel.com>
Date: Thu Dec 3 14:46:20 2009 +0000
cogl-sub-texture: Fix the height of sub textures
The code which is used to get the texture height was accidentally
using the width due to a cut-and-paste fail.
clutter/cogl/cogl/cogl-sub-texture.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
commit 97f8eed11917fa0d545dcb08d20841f6b501c878
Author: Neil Roberts <neil@linux.intel.com>
Date: Fri Nov 27 18:45:36 2009 +0000
cogl: Add a CoglTexture2D backend
This is an optimised version of CoglTexture2DSliced that always deals
with a single texture and always uses the GL_TEXTURE_2D
target. cogl_texture_new_from_bitmap now tries to use this backend
first. If it can't create a texture with that size then it falls back
the sliced backend.
cogl_texture_upload_data_prepare has been split into two functions
because the sliced backend needs to know the real internal format
before the conversion is performed. Otherwise the converted bitmap
will be wasted if the backend can't support the size.
clutter/cogl/cogl/Makefile.am | 2 +
clutter/cogl/cogl/cogl-texture-2d-private.h | 69 +++
clutter/cogl/cogl/cogl-texture-2d.c | 623 ++++++++++++++++++++++++++++
clutter/cogl/cogl/cogl-texture-private.h | 9 +
clutter/cogl/cogl/cogl-texture.c | 75 +++-
5 files changed, 755 insertions(+), 23 deletions(-)
commit f3df76d5129ba0ed7014c6aa52be7bee67c3f7aa
Author: Neil Roberts <neil@linux.intel.com>
Date: Mon Nov 30 12:15:05 2009 +0000
cogl: Add _cogl_texture_driver_upload_to_gl
This provides a way to upload the entire data for a texture without
having to first call glTexImage and then glTexSubImage. This should be
faster especially with indirect rendering where it would needlessy
send the data for the texture twice.
clutter/cogl/cogl/cogl-texture-driver.h | 14 +++++++
clutter/cogl/cogl/driver/gl/cogl-texture-driver.c | 26 ++++++++++++
.../cogl/cogl/driver/gles/cogl-texture-driver.c | 47 ++++++++++++++++++++++
3 files changed, 87 insertions(+)
commit 19a19579ba72ea9ca4f6d406c035c3ad074fd442
Author: Neil Roberts <neil@linux.intel.com>
Date: Fri Nov 27 16:59:51 2009 +0000
cogl: Move some of the texture_2d_sliced_new_* functions into cogl-texture
new_from_data and new_from_file can be implemented in terms of
new_from_bitmap so it makes sense to move these to cogl-texture rather
than having to implement them in every texture backend.
clutter/cogl/cogl/cogl-texture-2d-sliced-private.h | 16 -----
clutter/cogl/cogl/cogl-texture-2d-sliced.c | 84 ----------------------
clutter/cogl/cogl/cogl-texture.c | 44 +++++++++---
3 files changed, 33 insertions(+), 111 deletions(-)
commit 27c4eb483d0ce219d80000613357c20fc25724e3
Author: Neil Roberts <neil@linux.intel.com>
Date: Fri Nov 27 16:40:31 2009 +0000
cogl: Add a conformance test for sub textures
This tests creating a sub texture from a larger texture using various
different texture coordinates. It also tries to read back the texture
data using cogl_texture_get_data.
tests/conform/Makefile.am | 1 +
tests/conform/test-cogl-sub-texture.c | 388 ++++++++++++++++++++++++++++++++++
tests/conform/test-conform-main.c | 1 +
3 files changed, 390 insertions(+)
commit 9752493272b39e6a8aeb1b8d667667d53de439fb
Author: Neil Roberts <neil@linux.intel.com>
Date: Fri Nov 27 16:39:16 2009 +0000
cogl: Add a sub texture backend
This adds a new texture backend which represents a sub texture of a
larger texture. The texture is created with a reference to the full
texture and a set of coordinates describing the region. The backend
simply defers to the full texture for all operations and maps the
coordinates to the other range. You can also use coordinates outside
the range [0,1] to create a repeated version of the full texture.
A new public API function called cogl_texture_new_from_sub_texture is
available to create the sub texture.
clutter/cogl/cogl/Makefile.am | 2 +
clutter/cogl/cogl/cogl-sub-texture-private.h | 56 +++
clutter/cogl/cogl/cogl-sub-texture.c | 699 +++++++++++++++++++++++++++
clutter/cogl/cogl/cogl-texture.c | 15 +-
clutter/cogl/cogl/cogl-texture.h | 27 ++
doc/reference/cogl/cogl-sections.txt | 1 +
6 files changed, 798 insertions(+), 2 deletions(-)
commit 070a91f31176eb304031fc6dc2c374ef25f92a92
Author: Neil Roberts <neil@linux.intel.com>
Date: Wed Dec 2 17:17:24 2009 +0000
cogl: Make the callback for foreach_sub_texture_in_region use const
The CoglTextureSliceCallback function pointer now takes const pointers
for the texture coordinates. This makes it clearer that the callback
should not modify the array and therefore the backend can use the same
array for both sets of coords.
clutter/cogl/cogl/cogl-journal-private.h | 2 +-
clutter/cogl/cogl/cogl-journal.c | 2 +-
clutter/cogl/cogl/cogl-primitives.c | 14 +++++++-------
clutter/cogl/cogl/cogl-texture-private.h | 4 ++--
4 files changed, 11 insertions(+), 11 deletions(-)
commit 1a1de0e278de7c06b528ae74a31580dfd576d041
Author: Neil Roberts <neil@linux.intel.com>
Date: Wed Dec 2 13:41:49 2009 +0000
cogl: Add a texture utility function for manually repeating
Given a region of texture coordinates this utility invokes a callback
enough times to cover the region with a subregion that spans the
texture at most once. Eg, if called with tx1 and tx2 as 0.5 and 3.0 it
it would invoke the callback with:
0.5,1.0 1.0,2.0 2.0,3.0
Manual repeating is needed by all texture backends regardless of
whether they can support hardware repeating because when Cogl calls
the foreach_sub_texture_in_region method then it sets the wrap mode to
GL_CLAMP_TO_EDGE and no hardware repeating is possible.
clutter/cogl/cogl/cogl-texture-private.h | 14 +++++
clutter/cogl/cogl/cogl-texture.c | 102 +++++++++++++++++++++++++++++++
2 files changed, 116 insertions(+)
commit 5fcb29c91695bdbb2aec418ba1d2956ff23612a0
Author: Neil Roberts <neil@linux.intel.com>
Date: Fri Nov 27 15:47:22 2009 +0000
cogl-primitives: Check for repeating after the coordinate transform
In _cogl_multitexture_quad_single_primitive we use a wrap mode of
GL_CLAMP_TO_EDGE if the texture coordinates are all in the range [0,1]
or GL_REPEAT otherwise. This is to avoid pulling in pixels from either
side when using GL_LINEAR filter mode and rendering the entire
texture. Previously it was checking using the unconverted texture
coordinates. This is ok unless the texture backend is radically
transforming the texture coordinates, such as in the sub texture
backend where the coordinates may map to something completely
different. We now check whether the coordinates are in range after
converting them.
clutter/cogl/cogl/cogl-primitives.c | 87 ++++++++++++++++---------------------
1 file changed, 37 insertions(+), 50 deletions(-)
commit 812d4d25bb28d8512c101701cf7cd06dc2dd95eb
Author: Neil Roberts <neil@linux.intel.com>
Date: Thu Nov 26 18:58:17 2009 +0000
cogl: Move all of the fields from CoglTexture to CoglTexture2DSliced
Most of the fields that were previously in CoglTexture are specific to
the implementation of CoglTexture2DSliced so they should be placed
there instead. For example, the 'mipmaps_dirty' flag is an
implementation detail of the ensure_mipmaps function so it doesn't
make sense to force all texture backends to have this function.
Other fields such as width, height, gl_format and format may make
sense for all textures but I've added them as virtual functions
instead. This may make more sense for a sub-texture backend for
example where it can calculate these based on the full texture.
clutter/cogl/cogl/cogl-texture-2d-sliced-private.h | 25 ++-
clutter/cogl/cogl/cogl-texture-2d-sliced.c | 204 ++++++++++++---------
clutter/cogl/cogl/cogl-texture-private.h | 21 +--
clutter/cogl/cogl/cogl-texture.c | 19 +-
4 files changed, 149 insertions(+), 120 deletions(-)
commit 071dea2fbc307eca949f5f44c4ccb6c4dd73f789
Author: Neil Roberts <neil@linux.intel.com>
Date: Thu Nov 26 17:32:52 2009 +0000
cogl: Move data only used for upload out of CoglTexture
The CoglTexture struct previously contained some fields which are only
used to upload data such as the CoglBitmap and the source GL
format. These are now moved to a separate CoglTextureUploadData struct
which only exists for the duration of one of the cogl_texture_*_new
functions. In cogl-texture there are utility functions which operate
on this new struct rather than on CoglTexture directly.
Some of the fields that were previously stored in the CoglBitmap
struct are now copied to the CoglTexture such as the width, height,
format and internal GL format.
The rowstride was previously stored in CoglTexture and this was
publicly accessible with the cogl_texture_get_rowstride
function. However this doesn't seem to be a useful function because
there is no need to use the same rowstride again when uploading or
downloading new data. Instead cogl_texture_get_rowstride now just
calculates a suitable rowstride from the format and width of the
texture.
clutter/cogl/cogl/cogl-texture-2d-sliced.c | 344 ++++++++++-----------
clutter/cogl/cogl/cogl-texture-driver.h | 6 +-
clutter/cogl/cogl/cogl-texture-private.h | 51 +--
clutter/cogl/cogl/cogl-texture.c | 93 +++---
clutter/cogl/cogl/driver/gl/cogl-texture-driver.c | 14 +-
.../cogl/cogl/driver/gles/cogl-texture-driver.c | 16 +-
6 files changed, 262 insertions(+), 262 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 file 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 file 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 file changed, 56 insertions(+)
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 file 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 file changed, 8 insertions(+)
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 file changed, 1 insertion(+), 1 deletion(-)
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 file changed, 17 insertions(+), 1 deletion(-)
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 file changed, 1 deletion(-)
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 file changed, 6 insertions(+)
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 file changed, 6 insertions(+)
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 file 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 file changed, 1 insertion(+), 1 deletion(-)
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 file changed, 1 insertion(+), 1 deletion(-)
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 file 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 file 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 file changed, 8 insertions(+)
commit 586750751a60b76e2f398be28d596009b6587c52
Merge: c2332a5d2 6e99c1aef
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 file changed, 4 insertions(+)
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 file changed, 1 insertion(+), 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.
Makefile.am | 3 ---
CODING_STYLE => doc/CODING_STYLE | 0
HACKING => doc/HACKING | 0
HACKING.backends => doc/HACKING.backends | 0
doc/Makefile.am | 5 +++++
5 files changed, 5 insertions(+), 3 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 file 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/{cookbook => common}/common.xsl | 0
doc/{cookbook => common}/devhelp.xsl | 0
doc/{cookbook => common}/html.xsl | 0
doc/{cookbook => common}/ref-html-style.xsl | 0
doc/{cookbook => common}/style.css | 0
doc/cookbook/Makefile.am | 30 ++++----
...lutter-cookbook.xml => clutter-cookbook.xml.in} | 7 +-
doc/cookbook/cookbook.xsl | 14 ----
doc/manual/Makefile.am | 84 ++++++++++++----------
doc/manual/clutter-manual.xml.in | 9 ++-
14 files changed, 112 insertions(+), 99 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 file 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 file changed, 5 insertions(+)
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 file 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 file 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 file 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(+)
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 file changed, 1 insertion(+), 1 deletion(-)
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 file changed, 13 insertions(+), 1 deletion(-)
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 file changed, 2 insertions(+)
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 file 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 file 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 file 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 file changed, 1 insertion(+), 1 deletion(-)
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 +++++++--------
...face-culling.c => test-cogl-backface-culling.c} | 4 +--
...t-blend-strings.c => test-cogl-blend-strings.c} | 4 +--
.../{test-clutter-fixed.c => test-cogl-fixed.c} | 4 +--
.../{test-materials.c => test-cogl-materials.c} | 4 +--
...est-npot-texture.c => test-cogl-npot-texture.c} | 4 +--
.../{test-premult.c => test-cogl-premult.c} | 4 +--
...uous.c => test-cogl-vertex-buffer-contiguous.c} | 4 +--
...eved.c => test-cogl-vertex-buffer-interleved.c} | 4 +--
...lity.c => test-cogl-vertex-buffer-mutability.c} | 4 +--
tests/conform/test-conform-main.c | 34 ++++++++++++----------
11 files changed, 48 insertions(+), 46 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 +-
...buffer-private.h => cogl-framebuffer-private.h} | 75 ++---
.../{cogl-draw-buffer.c => cogl-framebuffer.c} | 367 +++++++++++----------
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 +-
21 files changed, 517 insertions(+), 449 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 file 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 file changed, 2 insertions(+), 1 deletion(-)
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, 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, 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 file changed, 13 insertions(+)
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 file changed, 1 insertion(+), 1 deletion(-)
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 file changed, 22 insertions(+), 1 deletion(-)
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 file 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 file changed, 2 insertions(+), 1 deletion(-)
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 file 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 file 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 +++++-
clutter/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 file 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 file 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.in => cogl.h} | 2 +-
configure.ac | 5 ++---
4 files changed, 18 insertions(+), 14 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 file changed, 16 insertions(+)
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 file 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 file 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 file 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 file 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 file changed, 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 => ChangeLog.pre-git-import | 0
1 file changed, 0 insertions(+), 0 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 file changed, 1 insertion(+)
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 deletion(-)
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(+)
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 file changed, 1 insertion(+), 1 deletion(-)
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.
clutter/cogl/cogl/driver/gl/cogl-feature-functions.h | 12 ++++++------
1 file 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.
clutter/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 file 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 file changed, 56 insertions(+)
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 file changed, 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 file 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 file 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 file changed, 1 insertion(+), 1 deletion(-)
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 file changed, 16 insertions(+), 1 deletion(-)
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 file changed, 18 insertions(+)
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(+)
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 file 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 file changed, 50 insertions(+), 1 deletion(-)
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 file changed, 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 file changed, 13 insertions(+)
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 file 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 file 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 file changed, 23 insertions(+)
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 deletion(-)
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 file changed, 17 insertions(+)
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 file changed, 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 file 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 file changed, 1 insertion(+), 1 deletion(-)
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 file changed, 1 insertion(+), 1 deletion(-)
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 file changed, 3 insertions(+), 1 deletion(-)
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 file 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 file 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 file 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 file 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 file 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: b9e519c3b 031d4d620
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 file changed, 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 file 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 file 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(+)
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 file 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(+)
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 file changed, 1 insertion(+)
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 file changed, 1 insertion(+), 1 deletion(-)
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 file 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 file changed, 8 insertions(+)
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 file changed, 8 insertions(+)
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(+)
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 deletion(-)
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 file 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 file changed, 3 insertions(+)
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 file changed, 4 insertions(+), 1 deletion(-)
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 file changed, 10 insertions(+), 6 deletions(-)
commit 0ff420fab59221fccf711893c363145607b40898
Merge: f6e0e48ac 4258214e5
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 file 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 file 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(+)
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(+)
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(+)
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 file 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(+)
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 file changed, 1 insertion(+), 1 deletion(-)
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 file changed, 13 insertions(+), 1 deletion(-)
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 file 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 file 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 file 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 file changed, 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 file 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 file 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 file changed, 3 insertions(+)
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(+)
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 file 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 file 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 file 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 file changed, 3 insertions(+)
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 file 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 file changed, 8 insertions(+), 1 deletion(-)
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 file 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 file 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(+)
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 file 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 file changed, 18 insertions(+)
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 file changed, 8 insertions(+)
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, 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 file changed, 1 insertion(+), 1 deletion(-)
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 file changed, 1 insertion(+)
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 deletion(-)
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 file changed, 1 insertion(+), 1 deletion(-)
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 file changed, 1 insertion(+)
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 file 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 file changed, 22 insertions(+), 1 deletion(-)
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 file changed, 1 insertion(+), 1 deletion(-)
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 file 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 file 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 file 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 file changed, 30 insertions(+), 1 deletion(-)
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(+)
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 file 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 file changed, 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 file 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 file 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 file changed, 15 insertions(+)
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 file 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 file 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 file 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 file changed, 1 insertion(+), 1 deletion(-)
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, 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 file changed, 1 insertion(+), 1 deletion(-)
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 file 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 file 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 file 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 file changed, 101 insertions(+), 1 deletion(-)
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 file 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 file 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 file changed, 9 insertions(+)
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 file 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 file 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 file 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 file 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 file 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: 936779fd9 8ce8b9138
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 file changed, 2 insertions(+), 1 deletion(-)
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 file changed, 41 insertions(+)
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 file changed, 1 insertion(+), 1 deletion(-)
commit bc8a7bd5b4c70247e4bc8cccc194c12e5b6a9a2f
Author: Emmanuele Bassi <ebassi@gnome.org>
Date: Sun Oct 18 17:15:04 2009 +0100
Update ignore file
.gitignore | 13 ++++++-------
1 file 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 file 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 file changed, 4 insertions(+), 1 deletion(-)
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 file 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 file changed, 1 insertion(+)
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 file 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 file 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 | 0
clutter/{ => cogl}/pango/cogl-pango-display-list.c | 0
clutter/{ => cogl}/pango/cogl-pango-display-list.h | 0
clutter/{ => cogl}/pango/cogl-pango-fontmap.c | 0
clutter/{ => cogl}/pango/cogl-pango-glyph-cache.c | 0
clutter/{ => cogl}/pango/cogl-pango-glyph-cache.h | 0
clutter/{ => cogl}/pango/cogl-pango-private.h | 0
clutter/{ => cogl}/pango/cogl-pango-render.c | 0
clutter/{ => cogl}/pango/cogl-pango.h | 0
configure.ac | 2 +-
12 files changed, 13 insertions(+), 13 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.pc.in | 15 --
clutter/cogl/cogl/Makefile.am | 161 +++++++++++++++++++++
.../cogl/{common => cogl}/cogl-bitmap-fallback.c | 0
clutter/cogl/{common => cogl}/cogl-bitmap-pixbuf.c | 0
.../cogl/{common => cogl}/cogl-bitmap-private.h | 0
clutter/cogl/{common => cogl}/cogl-bitmap.c | 0
clutter/cogl/{ => cogl}/cogl-bitmap.h | 0
clutter/cogl/{common => cogl}/cogl-blend-string.c | 0
clutter/cogl/{common => cogl}/cogl-blend-string.h | 0
clutter/cogl/{common => cogl}/cogl-clip-stack.c | 0
clutter/cogl/{common => cogl}/cogl-clip-stack.h | 0
clutter/cogl/{common => cogl}/cogl-color.c | 0
clutter/cogl/{ => cogl}/cogl-color.h | 0
clutter/cogl/{common => cogl}/cogl-context.c | 0
clutter/cogl/{common => cogl}/cogl-context.h | 0
.../cogl/{common => cogl}/cogl-current-matrix.c | 0
.../cogl/{common => cogl}/cogl-current-matrix.h | 0
clutter/cogl/{common => cogl}/cogl-debug.c | 0
clutter/cogl/{ => cogl}/cogl-debug.h | 0
clutter/cogl/{ => cogl}/cogl-deprecated.h | 0
clutter/cogl/{common => cogl}/cogl-enum-types.c.in | 0
clutter/cogl/{common => cogl}/cogl-enum-types.h.in | 0
clutter/cogl/{common => cogl}/cogl-fixed.c | 0
clutter/cogl/{ => cogl}/cogl-fixed.h | 0
clutter/cogl/{common => cogl}/cogl-handle.h | 0
clutter/cogl/{common => cogl}/cogl-internal.h | 0
.../cogl/{common => cogl}/cogl-material-private.h | 0
clutter/cogl/{common => cogl}/cogl-material.c | 0
clutter/cogl/{ => cogl}/cogl-material.h | 0
clutter/cogl/{common => cogl}/cogl-matrix-stack.c | 0
clutter/cogl/{common => cogl}/cogl-matrix-stack.h | 3 +-
clutter/cogl/{common => cogl}/cogl-matrix.c | 0
clutter/cogl/{ => cogl}/cogl-matrix.h | 0
clutter/cogl/{ => cogl}/cogl-offscreen.h | 0
clutter/cogl/{ => cogl}/cogl-path.h | 0
clutter/cogl/{common => cogl}/cogl-primitives.c | 0
clutter/cogl/{common => cogl}/cogl-primitives.h | 6 +-
clutter/cogl/{ => cogl}/cogl-shader.h | 0
.../cogl/{common => cogl}/cogl-texture-driver.h | 0
.../cogl/{common => cogl}/cogl-texture-private.h | 0
clutter/cogl/{common => cogl}/cogl-texture.c | 0
clutter/cogl/{ => cogl}/cogl-texture.h | 0
clutter/cogl/{ => cogl}/cogl-types.h | 0
clutter/cogl/{common => cogl}/cogl-util.c | 0
clutter/cogl/{common => cogl}/cogl-util.h | 0
.../{common => cogl}/cogl-vertex-buffer-private.h | 0
clutter/cogl/{common => cogl}/cogl-vertex-buffer.c | 0
clutter/cogl/{ => cogl}/cogl-vertex-buffer.h | 0
clutter/cogl/{common => cogl}/cogl.c | 35 ++++-
clutter/cogl/{ => cogl}/cogl.h.in | 2 +-
clutter/cogl/cogl/cogl.pc.in | 17 +++
clutter/cogl/cogl/driver/Makefile.am | 7 +
clutter/cogl/cogl/driver/gl/Makefile.am | 39 +++++
.../{ => cogl/driver}/gl/cogl-context-driver.c | 0
.../{ => cogl/driver}/gl/cogl-context-driver.h | 0
.../cogl/{ => cogl/driver}/gl/cogl-defines.h.in | 0
clutter/cogl/{ => cogl/driver}/gl/cogl-fbo.c | 0
clutter/cogl/{ => cogl/driver}/gl/cogl-fbo.h | 0
.../cogl/{ => cogl/driver}/gl/cogl-primitives.c | 0
clutter/cogl/{ => cogl/driver}/gl/cogl-program.c | 0
clutter/cogl/{ => cogl/driver}/gl/cogl-program.h | 0
.../{ => cogl/driver}/gl/cogl-shader-private.h | 0
clutter/cogl/{ => cogl/driver}/gl/cogl-shader.c | 0
.../{ => cogl/driver}/gl/cogl-texture-driver.c | 0
clutter/cogl/{ => cogl/driver}/gl/cogl.c | 72 ---------
clutter/cogl/cogl/driver/gles/Makefile.am | 62 ++++++++
.../{ => cogl/driver}/gles/cogl-context-driver.c | 0
.../{ => cogl/driver}/gles/cogl-context-driver.h | 0
.../cogl/{ => cogl/driver}/gles/cogl-defines.h.in | 0
clutter/cogl/{ => cogl/driver}/gles/cogl-fbo.c | 0
clutter/cogl/{ => cogl/driver}/gles/cogl-fbo.h | 0
.../driver}/gles/cogl-fixed-fragment-shader.glsl | 0
.../driver}/gles/cogl-fixed-vertex-shader.glsl | 0
.../{ => cogl/driver}/gles/cogl-gles2-wrapper.c | 0
.../{ => cogl/driver}/gles/cogl-gles2-wrapper.h | 0
.../cogl/{ => cogl/driver}/gles/cogl-primitives.c | 0
clutter/cogl/{ => cogl/driver}/gles/cogl-program.c | 0
clutter/cogl/{ => cogl/driver}/gles/cogl-program.h | 0
.../{ => cogl/driver}/gles/cogl-shader-private.h | 0
clutter/cogl/{ => cogl/driver}/gles/cogl-shader.c | 0
.../{ => cogl/driver}/gles/cogl-texture-driver.c | 0
clutter/cogl/{ => cogl/driver}/gles/cogl-util.c | 0
clutter/cogl/{ => cogl/driver}/gles/cogl-util.h | 0
clutter/cogl/{ => cogl/driver}/gles/cogl.c | 10 --
clutter/cogl/{ => cogl/driver}/gles/stringify.sh | 0
clutter/cogl/{common => cogl}/stb_image.c | 0
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/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 +
118 files changed, 834 insertions(+), 431 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/{gles => common}/cogl-context.c | 45 ++--
clutter/cogl/{gles => common}/cogl-context.h | 23 +-
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 +++++++
.../gl/{cogl-context.h => cogl-context-driver.h} | 106 +--------
clutter/cogl/gl/cogl-context.c | 259 ---------------------
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-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 +-
25 files changed, 417 insertions(+), 601 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/{gl => common}/cogl-texture-private.h | 12 +-
clutter/cogl/{gl => common}/cogl-texture.c | 474 +----
clutter/cogl/gl/Makefile.am | 3 +-
clutter/cogl/gl/cogl-texture-driver.c | 454 +++++
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 --------------------
12 files changed, 1188 insertions(+), 2611 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 file 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 file 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 file 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 file changed, 2 insertions(+)
commit a9d2c0f6903fff5a5b445265040f8bb689c10750
Merge: b5adbf89b 70c812845
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: ee9f8c3bd c5551184b
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 file changed, 1 insertion(+), 1 deletion(-)
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 file changed, 9 insertions(+)
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 file changed, 29 insertions(+)
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 file changed, 15 insertions(+)
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 file changed, 1 insertion(+)
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 | 11 +++++++----
1 file changed, 7 insertions(+), 4 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 file 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 file 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 file changed, 16 insertions(+)
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 file 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 file changed, 44 insertions(+), 1 deletion(-)
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 file changed, 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(+)
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 deletion(-)
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 file changed, 21 insertions(+)
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 file changed, 1 insertion(+), 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 file 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-box.c => test-bin-layout.c} | 2 +-
tests/interactive/{test-flow.c => test-flow-layout.c} | 2 +-
4 files changed, 6 insertions(+), 6 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 file changed, 9 insertions(+)
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 file 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 file 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 deletion(-)
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 file 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 file 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 deletion(-)
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 file 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 file changed, 16 insertions(+), 1 deletion(-)
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(+)
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(+)
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 file changed, 9 insertions(+)
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 file changed, 10 insertions(+)
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 deletion(-)
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 deletion(-)
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(+)
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(+)
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(+)
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(+)
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 file 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 file changed, 1 insertion(+), 1 deletion(-)
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 deletion(-)
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 file 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 file changed, 1 insertion(+), 1 deletion(-)
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 file 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 deletion(-)
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 file changed, 1 insertion(+), 1 deletion(-)
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 file changed, 35 insertions(+), 1 deletion(-)
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 file 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(+)
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 file 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 file changed, 1 insertion(+), 1 deletion(-)
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 file changed, 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 file changed, 2 insertions(+)
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 file changed, 22 insertions(+)
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 file 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 file changed, 25 insertions(+)
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 file 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 file 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 file 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 deletion(-)
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 file changed, 1 insertion(+), 1 deletion(-)
commit 72243081b5b0bf0518951f9f5f3ae91a7d4c640f
Merge: ad83caaed 111512a2a
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 file changed, 8 insertions(+), 1 deletion(-)
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 file changed, 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 file 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 file changed, 1 insertion(+), 1 deletion(-)
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 file 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 file changed, 1 deletion(-)
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, 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 file 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 file changed, 1 insertion(+), 1 deletion(-)
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 file changed, 1 insertion(+), 1 deletion(-)
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 file changed, 1 insertion(+), 1 deletion(-)
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 file 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 file 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 file changed, 1 insertion(+)
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 file 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 file changed, 12 insertions(+)
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 deletion(-)
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(+)
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 file 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 file 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 file changed, 4 insertions(+)
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 file 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 file changed, 7 insertions(+), 1 deletion(-)
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 | 15 +++++++++------
1 file changed, 9 insertions(+), 6 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 file 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 file changed, 2 insertions(+)
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 file 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 file 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 file 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 file changed, 13 insertions(+)
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(+)
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 file 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 file changed, 1 insertion(+)
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 file 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(+)
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 file 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 file 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 file changed, 1 insertion(+), 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 file changed, 2 insertions(+), 1 deletion(-)
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 file changed, 10 insertions(+), 1 deletion(-)
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 file changed, 1 deletion(-)
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 file 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 file 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 file changed, 2 insertions(+), 1 deletion(-)
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 file 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 file changed, 2 insertions(+), 1 deletion(-)
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 file changed, 1 insertion(+)
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 file 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 file changed, 5 insertions(+), 1 deletion(-)
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 file 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 file 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 file 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 file 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 file 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 deletion(-)
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 file 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 file 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 file changed, 1 insertion(+), 1 deletion(-)
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 file 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 file 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 file changed, 1 insertion(+), 1 deletion(-)
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 file changed, 2 insertions(+), 1 deletion(-)
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 file changed, 1 insertion(+), 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 file changed, 32 insertions(+)
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 file changed, 1 insertion(+), 1 deletion(-)
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 file changed, 1 insertion(+), 1 deletion(-)
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 file changed, 14 insertions(+), 16 deletions(-)
commit d0748b3b9b34bf77ed3b813e3872cac64d6a6c35
Merge: d263e7a78 df572d089
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 file changed, 1 insertion(+), 1 deletion(-)
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 file changed, 1 insertion(+), 1 deletion(-)
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 file 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 file changed, 2 insertions(+)
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 file changed, 1 insertion(+), 1 deletion(-)
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 file changed, 6 insertions(+)
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 file 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 file changed, 1 insertion(+), 1 deletion(-)
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 file 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(+)
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 file changed, 1 insertion(+), 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 file changed, 3 insertions(+)
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 file 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 file changed, 1 insertion(+), 1 deletion(-)
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 file changed, 1 insertion(+)
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 file 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 file 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 file 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 file 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 file 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 file 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 file 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 file 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 file changed, 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 file changed, 1 insertion(+), 1 deletion(-)
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 file 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(-)