profile/ivi/clutter.git
13 years agoosx: Code style cleanups
Emmanuele Bassi [Wed, 13 Jul 2011 18:32:47 +0000 (19:32 +0100)]
osx: Code style cleanups

13 years agoAdd default closures for the signals in ClutterGestureAction
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

13 years agoFixed typo of bidng to bind
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

13 years agobuild: Unescape conditionally defined defaults in AS_HELP_STRING
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.

13 years agobuild: Detect the appropriate default flavour
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'.

13 years agoRevert "build: Detect the appropriate default flavour"
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.

13 years agobuild: The OSX backend is not experimental any more
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.

13 years agobuild: Detect the appropriate default flavour
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'.

13 years agoclutter-stage: Add clutter_stage_get_redraw_clip_bounds
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

13 years agouprof: Add the units in the name of the "Per Frame" timer attribute
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

13 years agotest-cogl-materials: Use glGetString to determine cogl driver
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.

13 years agotest-cogl-materials: Remove a redundant comment
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.

13 years agobuild: update cogl_onscreen_x11 syms to cogl_x11_onscreen
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.

13 years agobackend-cogl: update _get_egl_context symbol name
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.

13 years agodon't call cogl_set_default_context since it's been removed
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.

13 years agobuild: depend on cogl-1.7.3 development version
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.

13 years agouprof: Rename timers to remove the EGL specific bits
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

13 years agoUpdated POTFILES.in
Piotr Drąg [Sun, 10 Jul 2011 12:37:18 +0000 (14:37 +0200)]
Updated POTFILES.in

13 years agotext: Make sure that the selection box is big enough
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.

13 years agoosx: Fix a compiler warning
Emmanuele Bassi [Sun, 10 Jul 2011 09:12:08 +0000 (10:12 +0100)]
osx: Fix a compiler warning

No declaration after statement.

13 years agoconform/pick: Print debug spew only if verbosity is toggled
Emmanuele Bassi [Fri, 8 Jul 2011 11:12:43 +0000 (12:12 +0100)]
conform/pick: Print debug spew only if verbosity is toggled

13 years agotexture: Deprecate the new_from_actor() function
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.

13 years agoDeprecate ClutterScore
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.

13 years agotest-cogl-materials: Add a simple test for ref-counting copies
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>
13 years agoa11y: cally-text get_offset_at_point implementation
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

13 years agoa11y: cally-text get_character_extents implementation
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

13 years agoa11y: expose _cally_actor_get_top_level_origin in cally-actor-private
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.

13 years agoa11y: get_default_attributes implementation on cally-text
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

13 years agoa11y: cally-atktext-example cleanups
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.

13 years agoa11y: use actor color if no fgcolor found in pango attributes
Philippe Normand [Fri, 4 Feb 2011 09:20:23 +0000 (10:20 +0100)]
a11y: use actor color if no fgcolor found in pango attributes

13 years agoa11y: factor some PangoAttributes->AtkTextAttributes mappings
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.

13 years ago[a11y] Exposing via ATK the proper toolkit name and version
Alejandro Piñeiro [Wed, 6 Jul 2011 12:25:02 +0000 (14:25 +0200)]
[a11y] Exposing via ATK the proper toolkit name and version

13 years agoclutter-actor: Don't apply shaders during picking
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

13 years agoPost-release version bump to 1.7.5
Emmanuele Bassi [Mon, 4 Jul 2011 21:28:30 +0000 (22:28 +0100)]
Post-release version bump to 1.7.5

13 years agoRelease Clutter 1.7.4 (snapshot)
Emmanuele Bassi [Mon, 4 Jul 2011 17:31:02 +0000 (18:31 +0100)]
Release Clutter 1.7.4 (snapshot)

13 years agobuild: Fix up the tarball target used when releasing
Emmanuele Bassi [Mon, 4 Jul 2011 21:12:51 +0000 (22:12 +0100)]
build: Fix up the tarball target used when releasing

13 years agobuild: Clean up the cally test Makefile.am
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.

13 years agotests: Add performance tracking framework
Ø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.

13 years agopo: Fix the name of the translatable file
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.

13 years agopo: Fix the location of a translatable file
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/.

13 years agobuild: Fix the path to the tslib event source
Emmanuele Bassi [Mon, 4 Jul 2011 15:09:41 +0000 (16:09 +0100)]
build: Fix the path to the tslib event source

13 years agoclutter-media: mention the asynchronous behavior of set_playing() in the doc.
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

13 years agoclutter-text: Always update cursor positions when painting
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

13 years agoDeprecate mallum's add() macros for Group and Stage
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.

13 years agobuild: fix Makefile.am to build glx tfp code on x11 platforms
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>
13 years agoglx-tfp: Don't include glx.h
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>
13 years agobuild: check COGL_HAS_GLES2 to check for gles2 support
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>
13 years agoBump up the Cogl dependency
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.

13 years agoArrays in parameters were not correctly annotated.
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

13 years agopaint-volume: remove more is_axis_aligned assertions
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>
13 years agobackend-cogl: update in line with Cogl API change
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>
13 years agowin32: use typesafe cogl_win32_renderer_handle_event
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>
13 years agodoc/RELEASING: Fix the check for diffs from origin/master
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.

13 years agoAnnotate ClutterTexture::load-finished with the correct type for error.
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

13 years agobuild: Create and install clutter-glx pkg-config file
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.

13 years agoSupport multiple pointers in ClutterDragAction.
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

13 years agodocs: Remove the in-tree cogl fixxref option
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.

13 years agodocs: Fix the GLX section
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.

13 years agodocs: Fix deprecation notice for ClutterBehaviour
Emmanuele Bassi [Mon, 20 Jun 2011 18:44:55 +0000 (19:44 +0100)]
docs: Fix deprecation notice for ClutterBehaviour

13 years agodocs: Fix up labels in the constraint example image
Emmanuele Bassi [Mon, 20 Jun 2011 18:44:33 +0000 (19:44 +0100)]
docs: Fix up labels in the constraint example image

13 years agodocs: Add the (now deprecated) GLX texture-pixmap
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.

13 years agodocs: Add the Deprecate tag to Behaviours
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.

13 years agodocs: Fix duplicate symbol in the sections list
Emmanuele Bassi [Mon, 20 Jun 2011 17:40:31 +0000 (18:40 +0100)]
docs: Fix duplicate symbol in the sections list

13 years agobuild: Build the GLX symbols
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.

13 years agoFix the deprecation guard for ClutterGLXTexturePixmap
Emmanuele Bassi [Mon, 20 Jun 2011 17:22:06 +0000 (18:22 +0100)]
Fix the deprecation guard for ClutterGLXTexturePixmap

It's CLUTTER_DISABLE_DEPRECATED.

13 years agodocs: Document ClutterDropAction
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

13 years agoAdd ClutterDropAction
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

13 years agodrag-action: Remove the drag handle on destruction
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

13 years agodrag-action: Use the dragged actor private API
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

13 years agostage: Allow tracking dragged actors
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

13 years agodocs: Fix up the API reference
Emmanuele Bassi [Mon, 20 Jun 2011 13:26:57 +0000 (14:26 +0100)]
docs: Fix up the API reference

13 years agobuild: Use tar-ustar and dist-xz to dist tarballs
Emmanuele Bassi [Mon, 20 Jun 2011 12:59:14 +0000 (13:59 +0100)]
build: Use tar-ustar and dist-xz to dist tarballs

13 years agobuild: Update the API reference build
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.

13 years agostage: Maintain the motion event delivery invariants
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.

13 years agostage: Make per-actor motion event delivery accessors public
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.

13 years agoUpdated Spanish translation
Daniel Mustieles [Sun, 19 Jun 2011 10:14:35 +0000 (12:14 +0200)]
Updated Spanish translation

13 years agoactor: documents _get/apply_relative_transform_matrix
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.

13 years agoactor: Don't use propagated_one_redraw to determine effect dirty state
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

13 years agoactor: review use of _apply_modelview_transform_recursive
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.

13 years agogroup: Handle list modification while destroying children
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.

13 years agodebug: Use cogl_primitive api for paint-volume visualization
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.

13 years agodebug: disable culling with CLUTTER_PAINT=paint-volumes
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.

13 years agodebug: avoid visualization code during picking
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.

13 years agoclutter-actor: Add a debug flag for disabling offscreen redirect
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.

13 years agokeysyms: Update the key symbols
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.

13 years agoRemove an unused variable
Emmanuele Bassi [Fri, 17 Jun 2011 11:03:21 +0000 (12:03 +0100)]
Remove an unused variable

And the compiler warning that comes with it.

13 years agotests/cally: Remove last uses of clutter_group_add()
Emmanuele Bassi [Thu, 16 Jun 2011 16:11:39 +0000 (17:11 +0100)]
tests/cally: Remove last uses of clutter_group_add()

13 years agoRemove usage of clutter_group_add()
Emmanuele Bassi [Thu, 16 Jun 2011 16:07:32 +0000 (17:07 +0100)]
Remove usage of clutter_group_add()

The macro is there for mallum eyes only.

13 years agopaint-volumes: remove is_axis_aligned assert for _union
Robert Bragg [Thu, 16 Jun 2011 14:22:03 +0000 (15:22 +0100)]
paint-volumes: remove is_axis_aligned assert for _union

This removes the pv->is_xis_aligned assertion in
_clutter_paint_volume_union. We were already considering the case where
the second volume may not be axis aligned and aligning it into a
temporary variable in that case, but we now also consider that the first
pv may also not be aligned.

13 years agopaint-volumes: avoid is_complete assert in _axis_align
Robert Bragg [Thu, 16 Jun 2011 14:18:46 +0000 (15:18 +0100)]
paint-volumes: avoid is_complete assert in _axis_align

The removes the pv->is_complete assertion from
_clutter_paint_volume_axis_align() and instead if the volume isn't
complete it calls _clutter_paint_volume_complete().

13 years agobuild: Replace AC_HELP_STRING with AS_HELP_STRING
Emmanuele Bassi [Thu, 16 Jun 2011 12:35:22 +0000 (13:35 +0100)]
build: Replace AC_HELP_STRING with AS_HELP_STRING

The latter is the new version of the former.

13 years agopaint-volumes: fix unioning with empty volumes
Robert Bragg [Thu, 16 Jun 2011 11:33:25 +0000 (12:33 +0100)]
paint-volumes: fix unioning with empty volumes

When calculating the union of a volume with an empty volume we aim to
simply take the contents of the non-empty volume, but we were not
copying the flags across. We now use
_clutter_paint_volume_set_from_volume which copies all the flags except
the is_static flag.

13 years agopaint-volumes: remove alignment constraint for _set_origin
Robert Bragg [Thu, 16 Jun 2011 11:31:50 +0000 (12:31 +0100)]
paint-volumes: remove alignment constraint for _set_origin

The implementation for clutter_paint_volume_set_origin can cope with
volumes that are not axis aligned so this remove the is_axis_aligned
assertion.

13 years agopaint-volumes: avoid trashing is_static state
Robert Bragg [Thu, 16 Jun 2011 11:28:37 +0000 (12:28 +0100)]
paint-volumes: avoid trashing is_static state

In _clutter_paint_volume_set_from_volume we were using memcpy to simply
copy everything from one volume to another, but that meant we were
trashing the is_static flag which determines if the destination
paint-volume was slice allocated or not.

13 years agopaint-volumes: remove alignment constraint for completion
Robert Bragg [Thu, 16 Jun 2011 11:19:49 +0000 (12:19 +0100)]
paint-volumes: remove alignment constraint for completion

This removes the constraint that a paint-volume must be axis aligned
before _clutter_paint_volume_complete can be called. NB: A paint volume
is represented by one origin vertex and then three axis vertices to
define the width, height and depth of the volume. It's straightforward
to use the vectors from the origin to the axis vertices to deduce the
other 4 vertices so we can remove the is_axis_aligned assertion.

13 years agoclutter-stage: Allow a wider range of visible z values
Robert Bragg [Mon, 6 Jun 2011 16:40:57 +0000 (17:40 +0100)]
clutter-stage: Allow a wider range of visible z values

Since eef9078f the translation of the camera away from the z=zero
plane was hardcoded at 50 which is approximately half way between the
default z_near and z_far values. This ended up with quite a small
distance in user-space coordinates to the far plane with the default
stage size and this was causing test-texture-quality to clip the actor
early.

This patch makes it try to calculate a reasonable value for the
position of the z=0 plane as well as a value for z_far so we maximize
the space in between the z=0 plane and the near plane and we have a
predictable amount of space behind the stage before hitting the far
clipping plane, while considering the trade off of loosing depth
precision by pushing the far plane too far back relative to the near
plane.

With the default fov of 60° it's not possible to use the stage size to
define the gap in-front of the stage plane; only ~87% of the stage size
is possible as an upper limit. We make 85% of the stage_height available
assuming you have a fov of 60°. We consistently provide 10 times the
stage height of space behind the stage regardless of the fov.

It seems worth noting here that we went around in circles a few times
over how to calculate the gaps since there are a number of trade offs to
consider and they also affect the complexity of the solution. In the end
we went for simplicity but commented the issues well enough hopefully so
we can develop a more elaborate solution if we ever have a use-case.

http://bugzilla.clutter-project.org/show_bug.cgi?id=2625

13 years agoclutter-stage: Don't override the user's perspective matrix
Neil Roberts [Mon, 4 Apr 2011 17:42:52 +0000 (18:42 +0100)]
clutter-stage: Don't override the user's perspective matrix

Since eef9078f ClutterStage updates the aspect ratio of the
perspective matrix whenever the size of the stage changes. This meant
that if an application tries to set its own perspective matrix then
part of it would get overridden. It's not really clear what the
use-case of setting the perspective on the stage should be but it
seems like the safest bet is to always try to preserve the
application's request. The documentation for the function has been
tweaked to discourage its use.

http://bugzilla.clutter-project.org/show_bug.cgi?id=2625

13 years agomake some parts of the stage-window interface optional
Robert Bragg [Wed, 11 May 2011 18:59:52 +0000 (19:59 +0100)]
make some parts of the stage-window interface optional

Some parts of the StageWindow interface aren't meaningful for all window
systems. This makes stage_window_set_title/fullscreen/cursor_visible
optional instead of requiring those window systems to implement empty
stubs. Notably the empty stubs we had in the Cogl backend (previously
the EGL backend) used g_warning to report the feature as unsupported and
that was causing conformance test failures.

13 years agoUpdate the location of the cex100 header in the ignore file
Emmanuele Bassi [Wed, 15 Jun 2011 12:07:04 +0000 (13:07 +0100)]
Update the location of the cex100 header in the ignore file

13 years agoDo not include clutter-egl.h unconditionally
Emmanuele Bassi [Wed, 15 Jun 2011 12:05:18 +0000 (13:05 +0100)]
Do not include clutter-egl.h unconditionally