Emmanuele Bassi [Mon, 18 Jul 2011 12:45:55 +0000 (13:45 +0100)]
timeline: Cast elapsed time before emitting ::new-frame
When emitting a new-frame signal, priv->elapsed_time is passed as a
parameter. This is a gint64. The closure marshal uses an INT. On some
platforms, this is not received correctly by signal handlers (they
receive 0). One solution is to cast priv->elapsed_time to a gint when
emitting the signal.
We cannot change the signature of the signal without breaking ABI.
https://bugzilla.gnome.org/show_bug.cgi?id=654066
Bastian Winkler [Tue, 5 Jul 2011 15:31:41 +0000 (17:31 +0200)]
snap-constraint: Fix allocation for CLUTTER_SNAP_EDGE_RIGHT
Use source_with instead of source_height to calculate the the x1/x2
positions for CLUTTER_SNAP_EDGE_RIGHT
https://bugzilla.gnome.org/show_bug.cgi?id=654024
Christian Kirbach [Sun, 17 Jul 2011 22:38:55 +0000 (00:38 +0200)]
[l10n] Updated German translation
Mario Blättermann [Fri, 15 Jul 2011 19:21:54 +0000 (21:21 +0200)]
[l10n] Updated German translation
Emmanuele Bassi [Fri, 15 Jul 2011 15:03:00 +0000 (16:03 +0100)]
x11/event: Avoid compiler warnings with HAVE_XGE undefined
Emmanuele Bassi [Fri, 15 Jul 2011 15:02:19 +0000 (16:02 +0100)]
build: Escape AC_DEFINE arguments
Emmanuele Bassi [Fri, 15 Jul 2011 14:53:55 +0000 (15:53 +0100)]
actor: Plug a leak in an error path
If the meta for the animation property is not found, the name of the
property to look for is still from the token, and we need to free the
memory allocated for it.
Carlos Garnacho [Thu, 14 Jul 2011 19:58:25 +0000 (21:58 +0200)]
x11: Improve XGenericEventCookie data allocation
https://bugzilla.gnome.org/show_bug.cgi?id=654656
Clutter may be used together with GTK+, which indirectly may use
XInput2 too, so the cookie data must persist when both are handling
events.
What happens now in a nutshell is, Clutter is only guaranteed to allocate
the cookie itself after XNextEvent(), and only frees the cookie if its
XGetEventData() call allocated the cookie data.
The X[Get|Free]EventData() calls happen now in clutter-event-x11.c as
hypothetically different event translators could also handle other set
of X Generic Events, or other libraries handling events for that matter.
Robert Bragg [Tue, 12 Jul 2011 16:04:15 +0000 (17:04 +0100)]
pick: Use Cogl API not GL API to disable dithering
When picking we need to disable dithering to be sure that the hardware
will not modify the colors we use as actor identifiers. Clutter was
manually calling glEnable/Disable GL_DITHER to handle this, but that was
a layering violation since Cogl is intended to handle all interactions
with OpenGL. Since we are now striving for GL vs GLES to be a runtime
choice we need to remove this last direct usage of GL from Clutter so it
doesn't have to be linked with GL at build time.
Signed-off-by: Neil Roberts <neil@linux.intel.com>
Robert Bragg [Tue, 12 Jul 2011 00:11:51 +0000 (01:11 +0100)]
Provide stable paint-boxes for fixed sized actors
This updates _clutter_paint_volume_get_stage_paint_box to try and
calculate more stable paint-box sizes for fixed sized paint-volumes by
not basing the size on the volume's sub-pixel position.
So the aim is that for a given rectangle defined with floating point
coordinates we want to determine a stable quantized size in pixels that
doesn't vary due to the original box's sub-pixel position.
The reason this is important is because effects will use this API to
determine the size of offscreen framebuffers and so for a fixed-size
object that may be animated across the screen we want to make sure that
the stage paint-box has an equally stable size so that effects aren't
made to continuously re-allocate a corresponding fbo.
The other thing we consider is that the calculation of this box is
subject to floating point precision issues that might be slightly
different to the precision issues involved with actually painting the
actor, which might result in painting slightly leaking outside the
user's calculated paint-volume. This patch now adds padding to consider
this too.
Signed-off-by: Neil Roberts <neil@linux.intel.com>
Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
Robert Bragg [Tue, 12 Jul 2011 00:06:28 +0000 (01:06 +0100)]
actor: improve rounding in get_allocation_geometry
Instead of relying on C to round the floating point allocation to
integers by flooring the values we now use CLUTTER_NEARBYINT to round
the allocation's position and size to the nearest integers instead. Using
floor leads to rather unstable rounding for the width and height when
there may be tiny fluctuations in the floating point width/height.
Signed-off-by: Neil Roberts <neil@linux.intel.com>
Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
Robert Bragg [Tue, 12 Jul 2011 00:02:43 +0000 (01:02 +0100)]
Adds a CLUTTER_NEARBYINT macro for float rounding
This is a replacement for the nearbyint function which always rounds to
the nearest integer. nearbyint is a C99 function so it might not always
be available but also it seems in glibc it is defined as a function call
so this macro could end up faster anyway. We can't just add 0.5 because
it will break for negative numbers.
Signed-off-by: Neil Roberts <neil@linux.intel.com>
Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
Robert Bragg [Mon, 11 Jul 2011 23:44:47 +0000 (00:44 +0100)]
paint-volume: don't round paint-volume from allocation
The implementation of _clutter_actor_set_default_paint_volume which
simply uses the actor's allocation to determine a paint-volume was
needlessly using the allocation rounded to integers by internally using
clutter_actor_get_allocation_geometry instead of
clutter_actor_get_allocation_box. This was introducing a lot of
instability into the paint-volume due to the way rounding was done.
The code has now been updated to use clutter_actor_get_allocation_box
so we are dealing with the floating point allocation instead.
Signed-off-by: Neil Roberts <neil@linux.intel.com>
Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
Tomeu Vizoso [Thu, 14 Jul 2011 11:11:12 +0000 (13:11 +0200)]
Make sure the gesture is cancelled even if we miss the release event
Tomeu Vizoso [Thu, 14 Jul 2011 09:45:37 +0000 (11:45 +0200)]
Remove unneeded class closure
Emmanuele Bassi [Wed, 13 Jul 2011 18:32:47 +0000 (19:32 +0100)]
osx: Code style cleanups
Tomeu Vizoso [Wed, 13 Jul 2011 16:31:22 +0000 (18:31 +0200)]
Add default closures for the signals in ClutterGestureAction
Also make sure we cancel the gesture as soon as we know we have to
Dinh Bowman [Wed, 6 Jul 2011 15:54:41 +0000 (08:54 -0700)]
Fixed typo of bidng to bind
https://bugzilla.gnome.org/show_bug.cgi?id=654103
Emmanuele Bassi [Wed, 13 Jul 2011 13:49:55 +0000 (14:49 +0100)]
build: Unescape conditionally defined defaults in AS_HELP_STRING
AS_HELP_STRING() escapes everything, so m4 doesn't have a chance to run
expansions.
Emmanuele Bassi [Wed, 13 Jul 2011 13:20:47 +0000 (14:20 +0100)]
build: Detect the appropriate default flavour
If we're building on/for Windows, set 'win32' as the default flavour; if
we're building on OS X, set 'osx' as the default flavour. For everything
else, use 'glx'.
Emmanuele Bassi [Wed, 13 Jul 2011 13:26:05 +0000 (14:26 +0100)]
Revert "build: Detect the appropriate default flavour"
Ouch, butterfingers and git commit -a.
This reverts commit
81e8c8dec902e1e3b6277ebad5804f2321535332.
Emmanuele Bassi [Wed, 13 Jul 2011 13:22:14 +0000 (14:22 +0100)]
build: The OSX backend is not experimental any more
The OSX backend is actively developed, and tested, so we can drop the
experimental flag.
Emmanuele Bassi [Wed, 13 Jul 2011 13:20:47 +0000 (14:20 +0100)]
build: Detect the appropriate default flavour
If we're building on/for Windows, set 'win32' as the default flavour; if
we're building on OS X, set 'osx' as the default flavour. For everything
else, use 'glx'.
Neil Roberts [Tue, 12 Jul 2011 16:16:43 +0000 (17:16 +0100)]
clutter-stage: Add clutter_stage_get_redraw_clip_bounds
This adds a public function to get the bounds of the current clipped
redraw on a stage. This should only be called while the stage is being
painted. The function diverts to a virtual function on the
ClutterStageWindow implementation. If the function isn't implemented
or it returns FALSE then the entire stage is reported. The clip bounds
are in integer pixel coordinates in the stage's coordinate space.
http://bugzilla.clutter-project.org/show_bug.cgi?id=2421
Damien Lespiau [Mon, 11 Jul 2011 01:03:57 +0000 (02:03 +0100)]
uprof: Add the units in the name of the "Per Frame" timer attribute
So it shows up in the profile report. Take the opportunity to write a
better long description for the attribute.
https://bugzilla.gnome.org/show_bug.cgi?id=654363
Neil Roberts [Mon, 11 Jul 2011 15:42:03 +0000 (16:42 +0100)]
test-cogl-materials: Use glGetString to determine cogl driver
Rather than using the #ifdefs and assuming that only one Cogl driver
is compiled in (which is no longer true), the test now calls
glGetString to check the GL_VERSION. This is kind of a hack but the
test is already calling GL functions directly anyway.
Neil Roberts [Mon, 11 Jul 2011 15:32:10 +0000 (16:32 +0100)]
test-cogl-materials: Remove a redundant comment
test-cogl-materials had a weird comment about glReadPixels using
inverted coordinates but the test now uses cogl_read_pixels instead of
glReadPixels so it is irrelevant.
Robert Bragg [Mon, 4 Jul 2011 14:12:20 +0000 (15:12 +0100)]
build: update cogl_onscreen_x11 syms to cogl_x11_onscreen
Cogl recently renamed symbols with the form
cogl_onscreen_<platform>_blah to be consistent with other platform
specific APIs so they are now named like cogl_<platform>_onscreen_blah.
This makes the corresponding change to clutter.
Robert Bragg [Fri, 1 Jul 2011 00:50:30 +0000 (01:50 +0100)]
backend-cogl: update _get_egl_context symbol name
Cogl changed has changed the name of cogl_context_egl_get_egl_context to
cogl_egl_context_get_egl_context to be consistent with other platform
specific symbols.
Robert Bragg [Fri, 1 Jul 2011 00:44:13 +0000 (01:44 +0100)]
don't call cogl_set_default_context since it's been removed
cogl_set_default_context has been removed from Cogl so this updates
Clutter in-line with that change.
Robert Bragg [Mon, 11 Jul 2011 15:57:29 +0000 (16:57 +0100)]
build: depend on cogl-1.7.3 development version
Since some experimental API in Cogl that Clutter uses has changed this
bumps our dependency up to 1.7.3 before landing the corresponding build
fixes for clutter to bring it in line with the Cogl changes.
Damien Lespiau [Mon, 11 Jul 2011 00:42:59 +0000 (01:42 +0100)]
uprof: Rename timers to remove the EGL specific bits
Cogl abstracts the winsys, Remove the egl prefix from the timer names.
https://bugzilla.gnome.org/show_bug.cgi?id=654361
Piotr Drąg [Sun, 10 Jul 2011 12:37:18 +0000 (14:37 +0200)]
Updated POTFILES.in
Emmanuele Bassi [Sun, 10 Jul 2011 09:24:40 +0000 (10:24 +0100)]
text: Make sure that the selection box is big enough
Do not use integers to store the result of the PANGO_UNITS scaling to
avoid rounding issues with the default C rules. We should use cielf()
instead.
Emmanuele Bassi [Sun, 10 Jul 2011 09:12:08 +0000 (10:12 +0100)]
osx: Fix a compiler warning
No declaration after statement.
Emmanuele Bassi [Fri, 8 Jul 2011 11:12:43 +0000 (12:12 +0100)]
conform/pick: Print debug spew only if verbosity is toggled
Emmanuele Bassi [Fri, 8 Jul 2011 11:08:19 +0000 (12:08 +0100)]
texture: Deprecate the new_from_actor() function
Now that we have proper offscreen and shader handling using the
ClutterEffect API, we can finally deprecate this hard to bind, easy
to break function.
Emmanuele Bassi [Fri, 8 Jul 2011 11:01:08 +0000 (12:01 +0100)]
Deprecate ClutterScore
The class is of dubious utility, now that we have a complex animation
API in ClutterAnimator and ClutterState, as opposed to a simple one
in ClutterBehaviour. The Score API also suffers from some naïve design
issues that made it far less useful than intended.
Neil Roberts [Wed, 6 Jul 2011 11:43:29 +0000 (12:43 +0100)]
test-cogl-materials: Add a simple test for ref-counting copies
This adds a simple test which creates a material and a copy of
it. Both materials are then immediately unref'd. The test checks
whether the materials were actually freed by registering some user
data with a destroy callback. This should catch a bug that Cogl had
where it add an extra reference to the parent when a pipeline is
copied.
Signed-off-by: Robert Bragg <robert@linux.intel.com>
Philippe Normand [Wed, 2 Feb 2011 11:58:47 +0000 (12:58 +0100)]
a11y: cally-text get_offset_at_point implementation
See http://bugzilla.clutter-project.org/show_bug.cgi?id=1733
Philippe Normand [Wed, 2 Feb 2011 10:29:33 +0000 (11:29 +0100)]
a11y: cally-text get_character_extents implementation
See http://bugzilla.clutter-project.org/show_bug.cgi?id=1733
Philippe Normand [Wed, 2 Feb 2011 14:02:45 +0000 (15:02 +0100)]
a11y: expose _cally_actor_get_top_level_origin in cally-actor-private
As this function is needed for atktext get_character_extents and
get_offset_at_point implementations.
Philippe Normand [Wed, 6 Jul 2011 14:51:49 +0000 (16:51 +0200)]
a11y: get_default_attributes implementation on cally-text
See http://bugzilla.clutter-project.org/show_bug.cgi?id=1733
Philippe Normand [Fri, 4 Feb 2011 08:36:19 +0000 (09:36 +0100)]
a11y: cally-atktext-example cleanups
Added an early return in test_atk_text().
Fixed a unichar conversion
Print the run_attributes too.
Philippe Normand [Fri, 4 Feb 2011 09:20:23 +0000 (10:20 +0100)]
a11y: use actor color if no fgcolor found in pango attributes
Philippe Normand [Wed, 2 Feb 2011 14:34:40 +0000 (15:34 +0100)]
a11y: factor some PangoAttributes->AtkTextAttributes mappings
That code can then be used by get_run_attributes and
get_default_attributes implementations.
Alejandro Piñeiro [Wed, 6 Jul 2011 12:25:02 +0000 (14:25 +0200)]
[a11y] Exposing via ATK the proper toolkit name and version
Neil Roberts [Mon, 4 Jul 2011 17:23:32 +0000 (18:23 +0100)]
clutter-actor: Don't apply shaders during picking
Commit
0ede622f5132 inadvertently made it so that shaders are applied
during picking. This was making test-shader fail to respond to clicks.
The commit also makes it so that culling is applied during
picking. Presumably this is also unintentional because the commit
message does not mention it. However I think it may make sense to do
culling during picking so it might as well stay that way.
https://bugzilla.gnome.org/show_bug.cgi?id=653959
Emmanuele Bassi [Mon, 4 Jul 2011 21:28:30 +0000 (22:28 +0100)]
Post-release version bump to 1.7.5
Emmanuele Bassi [Mon, 4 Jul 2011 17:31:02 +0000 (18:31 +0100)]
Release Clutter 1.7.4 (snapshot)
Emmanuele Bassi [Mon, 4 Jul 2011 21:12:51 +0000 (22:12 +0100)]
build: Fix up the tarball target used when releasing
Emmanuele Bassi [Mon, 4 Jul 2011 16:19:24 +0000 (17:19 +0100)]
build: Clean up the cally test Makefile.am
Use global target variables to avoid copy/pasting the same values in
every single binary target.
Øyvind Kolås [Wed, 19 Jan 2011 11:38:25 +0000 (11:38 +0000)]
tests: Add performance tracking framework
This adds a performance tracking framework that can run a set of tests over
specified git revisions. The ruby script for generating the reports comes from
similar performance tracking in GEGL. The framework permits evaluating new
tests against older version of clutter.
The tests themselves go through a few hoops for disabling framerate limiting in
both mesa and clutter.
When running make check the tests will be run and lines of the form:
@ test-state: 40.51 fps
will be left in the output, a script can scrape these lines out of a build log
on a buildbot to in other ways track performance.
Emmanuele Bassi [Mon, 4 Jul 2011 15:18:46 +0000 (16:18 +0100)]
po: Fix the name of the translatable file
I will check before pushing. I will check before pushing.
I will check before pushing. I will check before pushing.
I will check before pushing. I will check before pushing.
I will check before pushing. I will check before pushing.
I will check before pushing. I will check before pushing.
Emmanuele Bassi [Mon, 4 Jul 2011 15:16:56 +0000 (16:16 +0100)]
po: Fix the location of a translatable file
There is no glx/, only cogl/.
Emmanuele Bassi [Mon, 4 Jul 2011 15:09:41 +0000 (16:09 +0100)]
build: Fix the path to the tslib event source
Samuel Degrande [Fri, 20 May 2011 13:57:51 +0000 (15:57 +0200)]
clutter-media: mention the asynchronous behavior of set_playing() in the doc.
Depending on the ClutterMedia implementation, the set_playing()
call can be asynchronous, the playing state's change being not
immediate.
https://bugzilla.gnome.org/show_bug.cgi?id=650675
Jasper St. Pierre [Sun, 3 Jul 2011 20:43:17 +0000 (16:43 -0400)]
clutter-text: Always update cursor positions when painting
The cursor's on-screen rectangle is defined in terms of the text
length, the current index, and text_x and text_y, which hold the text
offset in overflowing text fields.
When deleting large amounts of text, text_x is set to 0. In some
edge case branch paths, the cursor rectangle could be calculated
after the current index and text length were updated, but before
the text_x offset could be. This left a negative x position, which
consequently blew up Cogl and the widget.
https://bugzilla.gnome.org/show_bug.cgi?id=651079
Emmanuele Bassi [Sun, 3 Jul 2011 18:31:15 +0000 (19:31 +0100)]
Deprecate mallum's add() macros for Group and Stage
I think we're way past overdue.
Robert Bragg [Mon, 4 Jul 2011 14:16:50 +0000 (15:16 +0100)]
build: fix Makefile.am to build glx tfp code on x11 platforms
It was already the intention that the ClutterGLXTexturePixmap API should
be built and made available on any X11 based platforms since there was
nothing specific about the API and it is useful to have for
compatibility. There was a mistake in the Makefile.am though which meant
only the header was getting installed but the code wasn't being built.
Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
Robert Bragg [Mon, 4 Jul 2011 14:14:52 +0000 (15:14 +0100)]
glx-tfp: Don't include glx.h
Since the implementation of ClutterGLXTexturePixmap has nothing GLX
specific about it (it is simply layered on top of
ClutterX11TexturePixmap) we don't need to include glx.h. Removing this
include also means that the code can be built for compatibility against
GLES drivers.
Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
Robert Bragg [Mon, 4 Jul 2011 14:09:42 +0000 (15:09 +0100)]
build: check COGL_HAS_GLES2 to check for gles2 support
We were checking HAVE_COGL_GLES2 but this is not publicly defined by
Cogl so since splitting Cogl from Clutter test-cogl-materials.c would
not have built against gles2 since it would end up enabling the GL
specific code path which would reference an undefined symbol.
Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
Emmanuele Bassi [Fri, 1 Jul 2011 16:26:10 +0000 (17:26 +0100)]
Bump up the Cogl dependency
We need 1.7.2 at least.
Peter Ward [Wed, 29 Jun 2011 03:01:20 +0000 (13:01 +1000)]
Arrays in parameters were not correctly annotated.
https://bugzilla.gnome.org/show_bug.cgi?id=653607
Robert Bragg [Wed, 22 Jun 2011 18:54:19 +0000 (19:54 +0100)]
paint-volume: remove more is_axis_aligned assertions
This removes the is_axis_aligned assertions for the width/height/depth
getters and setters, since for example it is legitimate to query the
width, height or depth of a container's child actors which aren't
necessarily axis aligned.
Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
Robert Bragg [Tue, 28 Jun 2011 13:47:35 +0000 (14:47 +0100)]
backend-cogl: update in line with Cogl API change
cogl_renderer_xlib_set_foreign_display was renamed to
cogl_xlib_renderer_set_foriegn_display so this is the corresponding
change to clutter.
Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
Robert Bragg [Tue, 28 Jun 2011 13:01:22 +0000 (14:01 +0100)]
win32: use typesafe cogl_win32_renderer_handle_event
The generic cogl_renderer_handle_native_event API was removed from the
Cogl public API in favour of typesafe functions, so this updates the
win32 backend in line with that change.
Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
Neil Roberts [Wed, 29 Jun 2011 15:16:25 +0000 (16:16 +0100)]
doc/RELEASING: Fix the check for diffs from origin/master
The recommended command to check for differences from master to the
remote master was using git log with a range from the local master to
the remote master but this wouldn't work if the local master is ahead
of the remote master because the range is backwards. This patch
changes it to recommend git diff --stat instead because then the
command would work even if the two branches have diverged.
Peter Ward [Fri, 24 Jun 2011 04:31:31 +0000 (14:31 +1000)]
Annotate ClutterTexture::load-finished with the correct type for error.
https://bugzilla.gnome.org/show_bug.cgi?id=653307
Emmanuele Bassi [Fri, 24 Jun 2011 18:22:22 +0000 (19:22 +0100)]
build: Create and install clutter-glx pkg-config file
For backward compatibility.
Peter Ward [Tue, 21 Jun 2011 13:17:51 +0000 (23:17 +1000)]
Support multiple pointers in ClutterDragAction.
https://bugzilla.gnome.org/show_bug.cgi?id=653066
Emmanuele Bassi [Tue, 21 Jun 2011 09:52:44 +0000 (10:52 +0100)]
docs: Remove the in-tree cogl fixxref option
Cogl has been moved out of tree.
Emmanuele Bassi [Mon, 20 Jun 2011 18:45:14 +0000 (19:45 +0100)]
docs: Fix the GLX section
The whole thing should just go away.
Emmanuele Bassi [Mon, 20 Jun 2011 18:44:55 +0000 (19:44 +0100)]
docs: Fix deprecation notice for ClutterBehaviour
Emmanuele Bassi [Mon, 20 Jun 2011 18:44:33 +0000 (19:44 +0100)]
docs: Fix up labels in the constraint example image
Emmanuele Bassi [Mon, 20 Jun 2011 17:46:56 +0000 (18:46 +0100)]
docs: Add the (now deprecated) GLX texture-pixmap
It was missing from the API reference.
Emmanuele Bassi [Mon, 20 Jun 2011 17:42:08 +0000 (18:42 +0100)]
docs: Add the Deprecate tag to Behaviours
And link the migration guide.
Emmanuele Bassi [Mon, 20 Jun 2011 17:40:31 +0000 (18:40 +0100)]
docs: Fix duplicate symbol in the sections list
Emmanuele Bassi [Mon, 20 Jun 2011 17:26:34 +0000 (18:26 +0100)]
build: Build the GLX symbols
The change from the GLX backend to the Cogl backend left out the GLX
source code from the list of source files to be built.
Emmanuele Bassi [Mon, 20 Jun 2011 17:22:06 +0000 (18:22 +0100)]
Fix the deprecation guard for ClutterGLXTexturePixmap
It's CLUTTER_DISABLE_DEPRECATED.
Emmanuele Bassi [Fri, 17 Jun 2011 16:22:01 +0000 (17:22 +0100)]
docs: Document ClutterDropAction
And add it to the API reference.
https://bugzilla.gnome.org/show_bug.cgi?id=652842
Emmanuele Bassi [Fri, 17 Jun 2011 15:54:31 +0000 (16:54 +0100)]
Add ClutterDropAction
ClutterDropAction is an Action sub-class that allows writing actors that
react to dragged actors being dropped on them.
https://bugzilla.gnome.org/show_bug.cgi?id=652842
Emmanuele Bassi [Fri, 17 Jun 2011 15:53:22 +0000 (16:53 +0100)]
drag-action: Remove the drag handle on destruction
When the drag handle actor is destroyed we should unset the field inside
the DragAction, to avoid having stale pointers lying around.
https://bugzilla.gnome.org/show_bug.cgi?id=652842
Emmanuele Bassi [Fri, 17 Jun 2011 15:52:25 +0000 (16:52 +0100)]
drag-action: Use the dragged actor private API
Use the newly added private API on ClutterStage to track the currently
dragged actor.
https://bugzilla.gnome.org/show_bug.cgi?id=652842
Emmanuele Bassi [Fri, 17 Jun 2011 15:51:05 +0000 (16:51 +0100)]
stage: Allow tracking dragged actors
We should be able to internally attach the actor currently being dragged
to the device that is dragging it.
https://bugzilla.gnome.org/show_bug.cgi?id=652842
Emmanuele Bassi [Mon, 20 Jun 2011 13:26:57 +0000 (14:26 +0100)]
docs: Fix up the API reference
Emmanuele Bassi [Mon, 20 Jun 2011 12:59:14 +0000 (13:59 +0100)]
build: Use tar-ustar and dist-xz to dist tarballs
Emmanuele Bassi [Mon, 20 Jun 2011 12:56:46 +0000 (13:56 +0100)]
build: Update the API reference build
Add the Cogl prefix to the fix-cross-references script options, and
update the location of the extra headers.
Emmanuele Bassi [Mon, 20 Jun 2011 12:53:09 +0000 (13:53 +0100)]
stage: Maintain the motion event delivery invariants
It is possible, by calling clutter_set_motion_events_enabled() prior to
the creation of any stage, to control the per-actor motion event
delivery flag on each newly created stage. Since we deprecated the
global accessor functions in favour of the per-Stage ones, we need to
remove the call to clutter_get_motion_events_enabled() inside the
ClutterStage instance initialization, and replace it with an internal
function.
This code will go away when we can finally break API and remove the
deprecated functions.
Emmanuele Bassi [Mon, 20 Jun 2011 10:41:28 +0000 (11:41 +0100)]
stage: Make per-actor motion event delivery accessors public
Complete the quest of commit
bc548dc86271d38918d310c26c9c59de76218d16
by making the ClutterStage methods for controlling the per-actor motion
and crossing event delivery public, and deprecating the global ones.
Daniel Mustieles [Sun, 19 Jun 2011 10:14:35 +0000 (12:14 +0200)]
Updated Spanish translation
Robert Bragg [Fri, 17 Jun 2011 17:27:45 +0000 (18:27 +0100)]
actor: documents _get/apply_relative_transform_matrix
Although this patch doesn't make them public, it documents the
_clutter_actor_get/apply_relative_transform_matrix functions so they
could easily be made public if desired. I think these API could be
useful to have publicly, and I originally documented them because I
thought they would be needed in the MX toolkit.
Neil Roberts [Fri, 17 Jun 2011 16:27:09 +0000 (17:27 +0100)]
actor: Don't use propagated_one_redraw to determine effect dirty state
Previously ClutterActor was using priv->propagated_one_redraw to
determine whether to pass CLUTTER_EFFECT_PAINT_ACTOR_DIRTY to the
paint method of the effect. This isn't a good idea because the
propagated_one_redraw flag is cleared whenever clutter_actor_paint is
called, even if the actor isn't actually painted because of the zero
opacity shortcut. Instead of this, ClutterActor now has a separate
flag called is_dirty that gets set whenever queue_redraw_full is
called or whenever the queue redraw signal is bubbled up from a child
actor. The flag is only cleared in clutter_actor_paint if the effects
are actually run. Therefore it will stay set even if the opacity is
zero or if the parent actor decides not to paint the child.
Previously there were two places set propagated_one_redraw to FALSE -
once if the opacity is zero and once just before we emit the paint
signal. Now that propagated_one_redraw is only used to determine
whether to pass on the queue redraw signal it seems to make sense to
just clear it in one place right at the start of clutter_actor_paint.
https://bugzilla.gnome.org/show_bug.cgi?id=651784
Robert Bragg [Fri, 17 Jun 2011 16:44:16 +0000 (17:44 +0100)]
actor: review use of _apply_modelview_transform_recursive
On reviewing the clutter-actor.c code using
_apply_modelview_transform_recursive I noticed various comments stating
that it will never call the stage's ->apply_transform vfunc to transform
into eye coordinates, but actually looking at the implementation that's
not true. The comments probably got out of sync with an earlier
implementation that had that constraint. This removes the miss-leading
comments and also updates various uses of the api where we were manually
applying the stage->apply_transform.
Robert Bragg [Fri, 17 Jun 2011 15:23:35 +0000 (16:23 +0100)]
group: Handle list modification while destroying children
This makes the dispose code that destroys children resilient against
priv->children being modified during child destruction.
Robert Bragg [Thu, 16 Jun 2011 16:50:50 +0000 (17:50 +0100)]
debug: Use cogl_primitive api for paint-volume visualization
Instead of using the cogl_vertex_buffer API this uses the more concise
cogl_primitive API instead. The aim is to get rid of the
cogl_vertex_buffer API eventually so we should be trying out the
replacement API wherever possible.
Robert Bragg [Thu, 16 Jun 2011 16:24:26 +0000 (17:24 +0100)]
debug: disable culling with CLUTTER_PAINT=paint-volumes
When using CLUTTER_PAINT=paint-volumes to visualize the paint-volumes of
actors we were already disabling clipped-redraws because we are drawing
extra geometry that the actors don't know about but we didn't disable
culling. This was resulting in actors disappearing while using this
debug option.
Robert Bragg [Thu, 16 Jun 2011 16:22:30 +0000 (17:22 +0100)]
debug: avoid visualization code during picking
This makes sure we don't try and draw paint-volumes or culling results
during a pick cycle since that results in us reading back invalid ids
from the pick-buffer.
Neil Roberts [Mon, 6 Jun 2011 17:22:20 +0000 (18:22 +0100)]
clutter-actor: Add a debug flag for disabling offscreen redirect
This adds CLUTTER_PAINT=disable-offscreen-redirect to help diagnose
problems with the correct opacity changes. This just makes it so that
it never installs the flatten effect so it will never automatically
redirect an actor offscreen.
Emmanuele Bassi [Fri, 17 Jun 2011 11:14:15 +0000 (12:14 +0100)]
keysyms: Update the key symbols
Re-sync with the X.org headers.