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.
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.
Emmanuele Bassi [Thu, 16 Jun 2011 16:11:39 +0000 (17:11 +0100)]
tests/cally: Remove last uses 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.
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.
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().
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.
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.
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.
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.
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.
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
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
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.
Emmanuele Bassi [Wed, 15 Jun 2011 12:07:04 +0000 (13:07 +0100)]
Update the location of the cex100 header in the ignore file
Emmanuele Bassi [Wed, 15 Jun 2011 12:05:18 +0000 (13:05 +0100)]
Do not include clutter-egl.h unconditionally