profile/ivi/clutter.git
13 years agobuild: Fix up ChangeLog build generation
Emmanuele Bassi [Mon, 13 Jun 2011 16:20:19 +0000 (17:20 +0100)]
build: Fix up ChangeLog build generation

Since the pre-git-import ChangeLog has been moved, we need to put it
back in the list temporarily when generating the rest.

13 years agorelease rules: Add note for snapshots
Emmanuele Bassi [Mon, 13 Jun 2011 15:32:24 +0000 (16:32 +0100)]
release rules: Add note for snapshots

13 years agoclutter-text: new clutter_text_get_layout_offsets API
Philippe Normand [Fri, 4 Feb 2011 11:33:53 +0000 (12:33 +0100)]
clutter-text: new clutter_text_get_layout_offsets API

This new function can be used to retrieve the coordinates where the
ClutterText will draw the PangoLayout representing the text.

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

13 years agoeffect: Rename RunFlags to PaintFlags
Emmanuele Bassi [Mon, 13 Jun 2011 14:58:46 +0000 (15:58 +0100)]
effect: Rename RunFlags to PaintFlags

Since run() was replaced and both paint() and pick() use the
enumeration.

https://bugzilla.gnome.org/show_bug.cgi?id=651700

13 years agoGive a chance to effects for running when picking
Tomeu Vizoso [Thu, 2 Jun 2011 12:16:23 +0000 (14:16 +0200)]
Give a chance to effects for running when picking

Some effects can change the actor's shape and position, so they need
to run when picking.

https://bugzilla.gnome.org/show_bug.cgi?id=651700

13 years agoRename ClutterEffect::run to ClutterEffect::paint
Tomeu Vizoso [Mon, 6 Jun 2011 06:44:11 +0000 (08:44 +0200)]
Rename ClutterEffect::run to ClutterEffect::paint

In preparation for adding ClutterEffect::pick

https://bugzilla.gnome.org/show_bug.cgi?id=651700

13 years agodocs: Fix Clutter API reference
Emmanuele Bassi [Mon, 13 Jun 2011 14:36:07 +0000 (15:36 +0100)]
docs: Fix Clutter API reference

13 years agoMerge branch 'swipe-action'
Emmanuele Bassi [Mon, 13 Jun 2011 13:39:03 +0000 (14:39 +0100)]
Merge branch 'swipe-action'

* swipe-action:
  test-swipe-action: Clean up the test code
  docs: Add the new actions to the API reference
  gesture-action: Remove the multi-device entry points
  swipe-action: Remove the required devices call
  swipe-action: Clean up
  gesture-action: Clean up
  Add ClutterSwipeAction and ClutterGestureAction

13 years agodocs: Update missing documentation
Emmanuele Bassi [Mon, 13 Jun 2011 12:27:46 +0000 (13:27 +0100)]
docs: Update missing documentation

13 years agoscript: Plug a leak
Emmanuele Bassi [Mon, 13 Jun 2011 12:08:26 +0000 (13:08 +0100)]
script: Plug a leak

The SignalInfo structure gained a couple of string fields that should be
deallocated when destroying the structure.

13 years agoscript: Allow warping to states
Emmanuele Bassi [Mon, 13 Jun 2011 12:07:04 +0000 (13:07 +0100)]
script: Allow warping to states

Do not just allow animating states connected to signals: add a "warp"
optional key that ends up calling clutter_state_warp_to_state(). This
is useful for debugging.

13 years agoSkip introspection for GValue ↔ CoglFixed API
Emmanuele Bassi [Mon, 13 Jun 2011 11:11:45 +0000 (12:11 +0100)]
Skip introspection for GValue ↔ CoglFixed API

It's pointless to introspect an API that it's not meant to be used
through introspection.

13 years agoscript: Use a weak ref to remove the signal emission hook
Emmanuele Bassi [Sun, 12 Jun 2011 10:27:34 +0000 (11:27 +0100)]
script: Use a weak ref to remove the signal emission hook

When an object goes away we should remove the emission hook for the
state transitions, to avoid leaving hooks around.

13 years agoscript: Rename "state" → "states"
Emmanuele Bassi [Sat, 11 Jun 2011 12:30:02 +0000 (13:30 +0100)]
script: Rename "state" → "states"

Make it clear that the key used when defining a state-based signal is
linked to the states of a ClutterState.

13 years agoscript: Allow resolving signals states added from code
Emmanuele Bassi [Fri, 10 Jun 2011 16:16:45 +0000 (17:16 +0100)]
script: Allow resolving signals states added from code

Currently, defining states for object signals can only be done by
defining a ClutterState inside the ClutterScript definition. We should
allow creating a (named) ClutterState in code, and associating it to a
ClutterScript instance — and have the Script resolve the "state" field
of a signal definition correctly.

13 years agotest-interactive: Add signal-based state transitions
Emmanuele Bassi [Mon, 7 Feb 2011 13:57:16 +0000 (13:57 +0000)]
test-interactive: Add signal-based state transitions

Use the newly added support for binding signal emissions to state
changes on a ClutterState.

13 years agoscript: Allow connecting signal to ClutterState states
Emmanuele Bassi [Mon, 7 Feb 2011 13:48:58 +0000 (13:48 +0000)]
script: Allow connecting signal to ClutterState states

One of the uses of a ClutterState state machine along with ClutterScript
is to provide a quick way to transition from state to state in response
to signal emitted on specific instances.

Connecting a real function, in code, to a specific signal does not
improve the ease of use of ClutterScript to define scenes.

By adding a new signal definition to the current one we can have both a
simple way to define application logic in code and in the UI definition
file.

The new syntax is trivial:

  {
    "name" : <signal name>,
    "state" : <state machine script id>,
    "target-state" : <target state>
  }

The ClutterState instance is identified by its script id, and the target
state is resolved at run-time, so it can be defined both in
ClutterScript or in code. Ideally, we should find a way to associate a
default ClutterState instance to the ClutterScript one that parses the
definition; this way we would be able to remove the "state" member, or
even "style" the behaviour of an object by replacing the ClutterState
instance.

The implementation uses a signal emission hook, to avoid knowing the
signal signature; we check the emitter of the signal against the object
that defined the signal, to avoid erroneous state changes.

13 years agoUpdated Czech translation
Marek Černocký [Mon, 13 Jun 2011 11:54:32 +0000 (13:54 +0200)]
Updated Czech translation

13 years agoUpdated Slovenian translation
Matej Urbančič [Sat, 11 Jun 2011 15:36:23 +0000 (17:36 +0200)]
Updated Slovenian translation

13 years agobuild: include <cairo.h> not <cairo/cairo.h>
Robert Bragg [Fri, 10 Jun 2011 16:48:54 +0000 (17:48 +0100)]
build: include <cairo.h> not <cairo/cairo.h>

cairo.h is intended to be included as <cairo.h> not <cairo/cairo.h> as
is the style for clutter.h. If you have installed cairo to a custom
prefix then using cairo/cairo.h can result in unintentional use of the
system cairo headers, or if they aren't installed then it will result in
a failure to find the header.

13 years agotest-swipe-action: Clean up the test code
Emmanuele Bassi [Fri, 10 Jun 2011 14:01:13 +0000 (15:01 +0100)]
test-swipe-action: Clean up the test code

Remove unused code, and be more strict at discarding swipes on
constrained actors.

Add a note on the behaviour of each rectangle/action pair.

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

13 years agodocs: Add the new actions to the API reference
Emmanuele Bassi [Fri, 10 Jun 2011 13:47:16 +0000 (14:47 +0100)]
docs: Add the new actions to the API reference

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

13 years agogesture-action: Remove the multi-device entry points
Emmanuele Bassi [Fri, 10 Jun 2011 13:45:50 +0000 (14:45 +0100)]
gesture-action: Remove the multi-device entry points

GestureAction supports a single device/touch point. We'll need touch
events supported in Clutter before adding the ability to set required
device/touch points on gestures.

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

13 years agoswipe-action: Remove the required devices call
Emmanuele Bassi [Fri, 10 Jun 2011 13:44:06 +0000 (14:44 +0100)]
swipe-action: Remove the required devices call

The SwipeAction requires one device/touch point, and that is the default
for GestureAction — if GestureAction supported multiple devices/touch
points.

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

13 years agoswipe-action: Clean up
Emmanuele Bassi [Fri, 10 Jun 2011 13:33:20 +0000 (14:33 +0100)]
swipe-action: Clean up

Clean up the documentation, and use a type safe GFlags marshaller for
the ::swept signal's @direction argument - instead of a generic integer
marshaller.

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

13 years agogesture-action: Clean up
Emmanuele Bassi [Fri, 10 Jun 2011 13:32:00 +0000 (14:32 +0100)]
gesture-action: Clean up

The GestureAction is marked as abstract, but it has a constructor. It
should be possible to create simple gesture recognizers through signal
handling alone, so we might as well have GestureAction be a concrete
class from the start.

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

13 years agoAdd ClutterSwipeAction and ClutterGestureAction
Tomeu Vizoso [Wed, 9 Mar 2011 09:06:44 +0000 (10:06 +0100)]
Add ClutterSwipeAction and ClutterGestureAction

To allow actors to handle gestures in a more organized way.

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

13 years agoclutter-text: Use the ink rect in the paint volume
Neil Roberts [Mon, 7 Mar 2011 18:53:07 +0000 (18:53 +0000)]
clutter-text: Use the ink rect in the paint volume

Previously ClutterText was just reporting the allocation as the paint
volume. The preferred size of a ClutterText is just the logical
rectangle of the layout. A pango layout can sometimes draw outside of
its logical rectangle for example with an italicised font with large
serifs. Additionally, ClutterText doesn't make any attempt to clip the
text if the actor gets allocated a size too small for the text so it
would also end up drawing outside of the paint volume in that case. To
fix this, the paint volume is now reported as the ink rect of the
Pango layout. The rectangle for the cursor and selection is also
unioned into that because it won't necessarily be within the ink
rectangle.

The function for drawing the selection rectangles has been split up
into a generic function that calculates the rectangles that need to be
drawn and a function that draws them. That way the get_paint_volume
virtual can share the code to calculate the rectangles.

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

13 years agoclutter-text: Don't move the cursor to the left when at pos 0
Neil Roberts [Tue, 8 Mar 2011 17:30:04 +0000 (17:30 +0000)]
clutter-text: Don't move the cursor to the left when at pos 0

When the cursor is at the leftmost position in the text the drawn
pixel position is moved to the left by the size of the cursor. There's
no explanation for why this happens and it doesn't seem to make any
sense so this patch removes it. It makes multi-line texts looks odd
because the cursor ends up at a different horizontal position when it
is on the first line from any other line. It also makes using
priv->cursor_pos difficult in any other part of the code because the
paint function modifies it.

The original patch that added this can be traced back to Tidy commit
c356487c15. There's no explanation in the commit message either.

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

13 years agoclutter.modules: Update the moduleset
Emmanuele Bassi [Fri, 10 Jun 2011 08:39:09 +0000 (09:39 +0100)]
clutter.modules: Update the moduleset

Reflect the changes in the repository location for a bunch of modules,
and add the Cogl dependency to Clutter.

13 years agodocs: Update the releasing checklist
Emmanuele Bassi [Thu, 9 Jun 2011 14:58:34 +0000 (15:58 +0100)]
docs: Update the releasing checklist

13 years agoMove some old doc files under doc/
Emmanuele Bassi [Thu, 9 Jun 2011 14:53:29 +0000 (15:53 +0100)]
Move some old doc files under doc/

ChangeLog.pre-git-import is useless since the Git log contains the
pre-Git history anyway.

AUTHORS is not really useful, as many more people have been committing
to Clutter for a while now.

13 years agodocs: Fix up new symbols for the API reference
Emmanuele Bassi [Thu, 9 Jun 2011 14:40:57 +0000 (15:40 +0100)]
docs: Fix up new symbols for the API reference

13 years agoevent: Add clutter_event_set_source() declaration
Emmanuele Bassi [Thu, 9 Jun 2011 14:40:26 +0000 (15:40 +0100)]
event: Add clutter_event_set_source() declaration

The function was defined but not declared in the header.

13 years agoFix deprecation guards for ClutterGLXTexturePixmap
Emmanuele Bassi [Thu, 9 Jun 2011 14:28:39 +0000 (15:28 +0100)]
Fix deprecation guards for ClutterGLXTexturePixmap

13 years agotest-bin-layout: Use the long-press signal on ClickAction
Emmanuele Bassi [Thu, 9 Jun 2011 13:42:31 +0000 (14:42 +0100)]
test-bin-layout: Use the long-press signal on ClickAction

13 years agoclick-action: Add support for long press detection
Emmanuele Bassi [Wed, 18 May 2011 10:21:58 +0000 (11:21 +0100)]
click-action: Add support for long press detection

A long press is a special form of click action; the default
implementation uses a single signal with multiple states: query, action
and cancel. On click we use the "query" state to check whether the
ClutterClickAction supports long presses; if the callback returns TRUE
then we install a timeout and we either emit the "activate" state when
the timeout expires or we emit the "cancel" state if the pointer leaves
the actor, or if the pointer moves outside a certain threshold. If the
long press reached the "activate" state then we skip the clicked signal
emission.

13 years agosettings: Add the :long-press-duration
Emmanuele Bassi [Thu, 9 Jun 2011 13:33:17 +0000 (14:33 +0100)]
settings: Add the :long-press-duration

A property to control the minimum time that has to elapse before a press
is recognized as a long press. This will be used by ClutterClickAction,
but it can be shared across touch-based gestures.

13 years agoEliminate G_CONST_RETURN
Emmanuele Bassi [Tue, 7 Jun 2011 14:49:20 +0000 (15:49 +0100)]
Eliminate G_CONST_RETURN

The G_CONST_RETURN define in GLib is, and has always been, a bit fuzzy.

We always used it to conform to the platform, at least for public-facing
API.

At first I assumed it has something to do with brain-damaged compilers
or with weird platforms where const was not really supported; sadly,
it's something much, much worse: it's a define that can be toggled at
compile-time to remove const from the signature of public API. This is a
truly terrifying feature that I assume was added in the past century,
and whose inception clearly had something to do with massive doses of
absynthe and opium — because any other explanation would make the
existence of such a feature even worse than assuming drugs had anything
to do with it.

Anyway, and pleasing the gods, this dubious feature is being
removed/deprecated in GLib; see bug:

  https://bugzilla.gnome.org/show_bug.cgi?id=644611

Before deprecation, though, we should just remove its usage from the
whole API. We should especially remove its usage from Cally's internals,
since there it never made sense in the first place.

13 years agoAdded Norwegian bokmål translation
Kjartan Maraas [Tue, 7 Jun 2011 14:46:55 +0000 (16:46 +0200)]
Added Norwegian bokmål translation

13 years agoAdd Norwegian bokmål translation.
Kjartan Maraas [Tue, 7 Jun 2011 14:45:45 +0000 (16:45 +0200)]
Add Norwegian bokmål translation.

13 years agoUpdated Slovenian translation
Matej Urbančič [Tue, 7 Jun 2011 13:45:45 +0000 (15:45 +0200)]
Updated Slovenian translation

13 years agoSync allocation in ClutterBoxLayout with the one in GtkBox
Tomeu Vizoso [Wed, 18 May 2011 14:10:18 +0000 (16:10 +0200)]
Sync allocation in ClutterBoxLayout with the one in GtkBox

https://bugzilla.gnome.org/show_bug.cgi?id=650487

Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
13 years agoosx: Handle bare modifier keypresses
Craig R. Hughes [Mon, 9 May 2011 16:39:55 +0000 (09:39 -0700)]
osx: Handle bare modifier keypresses

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

13 years agostage: Bail out of do_update() when no impl is set
Emmanuele Bassi [Tue, 7 Jun 2011 13:34:19 +0000 (14:34 +0100)]
stage: Bail out of do_update() when no impl is set

If the Stage has been destroyed the StageWindow implementation is not
going to be available, but the IN_DESTRUCTION flag will have already
been cleared.

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

13 years agoactor: Avoid queueing redraws during destruction
Emmanuele Bassi [Tue, 7 Jun 2011 13:25:17 +0000 (14:25 +0100)]
actor: Avoid queueing redraws during destruction

If an actor or the stage to which it belongs are being destroyed then
there is no point in queueing a redraw that will not be seen anyway.
Bailing out early also avoids the case in which a redraw is queued
during destruction wil cause redraw entries will be added to the Stage,
which will take references on it and cause the Stage never to be
finalized.

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

13 years agoDeprecate ClutterShader
Emmanuele Bassi [Wed, 25 May 2011 15:23:08 +0000 (16:23 +0100)]
Deprecate ClutterShader

With the instantiatable ClutterShaderEffect, the only reason for
ClutterShader to exist is to make the ClutterActor::paint implementation
miserable.

Yes, ClutterShader doesn't use a FBO, so it's "more efficient" on
ClutterTextures. It's also generally wrong unless you know *exactly* how
the actor's pipeline is set up — something we cannot even guarantee
internally unless we start doing lame type checks.

13 years agotest-constrains: Use a ShaderEffect
Emmanuele Bassi [Wed, 25 May 2011 14:38:56 +0000 (15:38 +0100)]
test-constrains: Use a ShaderEffect

Demonstrate how to use a ShaderEffect instance.

13 years agoshader-effect: Allow instantiating ShaderEffect
Emmanuele Bassi [Wed, 25 May 2011 14:37:45 +0000 (15:37 +0100)]
shader-effect: Allow instantiating ShaderEffect

ClutterShaderEffect doesn't require to be sub-classed in order to be
useful. It is possible to just create an instance, set the source and
the uniforms, and attach it to an actor. This should effectively replace
ClutterShader for good.

13 years agoUpdated Czech translation
Marek Černocký [Tue, 7 Jun 2011 09:38:01 +0000 (11:38 +0200)]
Updated Czech translation

13 years agoUpdated Spanish translation
Daniel Mustieles [Mon, 6 Jun 2011 20:23:32 +0000 (22:23 +0200)]
Updated Spanish translation

13 years agoFix typo
Alexandre Franke [Thu, 2 Jun 2011 18:56:22 +0000 (20:56 +0200)]
Fix typo

13 years agoculling: Use vertex_count not '4' to determine partial culls
Robert Bragg [Thu, 2 Jun 2011 11:10:59 +0000 (12:10 +0100)]
culling: Use vertex_count not '4' to determine partial culls

We were mistakenly using the constant 4 to determine the number of
vertices that need to be culled for a paint-volume to be considered
fully culled too. This is only ok for 2d volumes and was resulting in
some 3d volumes being considered culled whenever 4 out of 8 vertices
were culled. This fix is simply to reference the vertex_count variable
instead of assuming 4.

13 years agostage: ensure correct stage is current when picking
Øyvind Kolås [Wed, 1 Jun 2011 21:42:41 +0000 (22:42 +0100)]
stage: ensure correct stage is current when picking

_clutter_stage_do_pick called by interactive picking and
clutter_stage_get_actor_at_pos could be accidentally reading back the wrong
actor id's if an other stage has had a more recent render due to animation.

This should resolve some multi stage / ClutterGtk related pick id warnings.

13 years agostage: Use the debug name for the pick buffer dump stem
Emmanuele Bassi [Wed, 1 Jun 2011 17:33:27 +0000 (18:33 +0100)]
stage: Use the debug name for the pick buffer dump stem

This avoids overwriting files in the multi-stage case.

13 years agoAdd Esperanto translation
Kristjan SCHMIDT [Wed, 1 Jun 2011 17:22:39 +0000 (19:22 +0200)]
Add Esperanto translation

13 years agodevice: Prevent segfault
Peter Ward [Fri, 27 May 2011 14:12:15 +0000 (00:12 +1000)]
device: Prevent segfault

When disposing a slave device without a master.

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

13 years agotest-binding-pool: Remove usage of deprecated get_gid()
Emmanuele Bassi [Wed, 25 May 2011 15:22:31 +0000 (16:22 +0100)]
test-binding-pool: Remove usage of deprecated get_gid()

Use the actor name instead of a random, internal numeric id.

13 years agoclutter-id-pool: fix warning on bad pick
Dan Winship [Thu, 19 May 2011 14:46:24 +0000 (10:46 -0400)]
clutter-id-pool: fix warning on bad pick

Commit 13ac1fe7 purported to extend the _clutter_id_pool_lookup()
warning to the case where the id referred to a deleted actor, but did
not actually do so, because _clutter_id_pool_remove() set deleted IDs
to 0xdecafbad, not NULL. Fix this.

https://bugzilla.gnome.org/show_bug.cgi?id=650597

13 years ago[cally] Removed default actions on CallyActor
Alejandro Piñeiro [Thu, 19 May 2011 10:58:36 +0000 (12:58 +0200)]
[cally] Removed default actions on CallyActor

13 years ago[cally] CallyRoot is the parent of any CallyStage object
Alejandro Piñeiro [Fri, 20 May 2011 12:18:09 +0000 (14:18 +0200)]
[cally] CallyRoot is the parent of any CallyStage object

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

13 years ago[cally] Added old cally Changelog (pre clutter-cally merge)
Alejandro Piñeiro [Fri, 20 May 2011 12:13:14 +0000 (14:13 +0200)]
[cally] Added old cally Changelog (pre clutter-cally merge)

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

13 years ago[cally] Removing default name and description
Alejandro Piñeiro [Fri, 20 May 2011 12:07:47 +0000 (14:07 +0200)]
[cally] Removing default name and description

Those were added on the old "just for automatic testing" times. That was
somewhat silly on that moment. Now is just silly (ie: having the stage
returning as default name "Stage").

The real description should be set by the app, or provided by the
context of a specific actor feature (like the tooltip on StWidget).

The current information provided by the default description can be
mostly obtained from the ATK_ROLE, and the indirect debugging
advantage of having always a meaningful description is just not enough
to justify them, and you can solve that by proper debug logging.

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

13 years ago[cally] Fix a crash on some a11y examples if there isn't accessibility support
Alejandro Piñeiro [Fri, 20 May 2011 12:00:35 +0000 (14:00 +0200)]
[cally] Fix a crash on some a11y examples if there isn't accessibility support

Most of the accessibility tests can be executed without the
accessibility support, although it is clear that they will
not work properly (ie using accerciser).

But in some specific cases (right now just the atk event test),
the test will crash if no accessibility support is enabled

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

13 years agoclutter-offscreen-effect: use target size when setting up the viewport
Tomeu Vizoso [Fri, 20 May 2011 09:15:07 +0000 (11:15 +0200)]
clutter-offscreen-effect: use target size when setting up the viewport

https://bugzilla.gnome.org/show_bug.cgi?id=650650

13 years agotest-cogl-depth-test: Update to new Cogl API
Neil Roberts [Mon, 16 May 2011 17:57:37 +0000 (18:57 +0100)]
test-cogl-depth-test: Update to new Cogl API

The Cogl depth state API has changed to have a separate CoglDepthState
struct so this test was no longer building. This patch updates it to
use CoglPipeline and the new depth state API.

13 years agotest-cogl-pixel-buffer: Use the new name for CoglPixelArray
Neil Roberts [Mon, 16 May 2011 15:07:19 +0000 (16:07 +0100)]
test-cogl-pixel-buffer: Use the new name for CoglPixelArray

Cogl has changed the name of the experimental CoglPixelArray API to
CoglPixelBuffer. This updates the test to reflect that so it will
continue to build.

13 years agoFix include location for cogl-pango.h
Neil Roberts [Mon, 16 May 2011 15:04:27 +0000 (16:04 +0100)]
Fix include location for cogl-pango.h

In Cogl, cogl-pango.h has moved to <cogl-pango/cogl-pango.h>. When
using the experimental 2.0 API (which Clutter does) it is no longer
possible to include it under the old name of <cogl/cogl-pango.h> so we
need to update the include location.

13 years agoUpdated Czech translation
Marek Černocký [Sun, 15 May 2011 19:09:17 +0000 (21:09 +0200)]
Updated Czech translation

13 years agoUpdated Spanish translation
Daniel Mustieles [Sun, 15 May 2011 15:46:33 +0000 (17:46 +0200)]
Updated Spanish translation

13 years agoUpdated Slovenian translation
Matej Urbančič [Sat, 14 May 2011 17:49:39 +0000 (19:49 +0200)]
Updated Slovenian translation

13 years agoactor: Ensure the validity of the queue_redraw_entry pointer
Chris Lord [Mon, 28 Mar 2011 15:10:59 +0000 (16:10 +0100)]
actor: Ensure the validity of the queue_redraw_entry pointer

In _clutter_actor_queue_redraw_with_clip, there was the possibility that
the actor will add itself to the stage's redraw queue without keeping track
of the allocated list member.

In clutter_actor_unparent, the redraw queue entry was being invalidated
before the mapped notify signal was being fired, meaning that queueing a
redraw of an unmapped actor in the mapped notification callback could
cause a crash.

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

13 years agotest-cogl-sub-texture: Allow single-bit rendering error
Adam Jackson [Mon, 2 May 2011 16:15:28 +0000 (12:15 -0400)]
test-cogl-sub-texture: Allow single-bit rendering error

Signed-off-by: Adam Jackson <ajax@redhat.com>
http://bugzilla.clutter-project.org/show_bug.cgi?id=2640

13 years agotest-cogl-blend-strings: Allow single-bit rendering error
Adam Jackson [Mon, 2 May 2011 16:13:57 +0000 (12:13 -0400)]
test-cogl-blend-strings: Allow single-bit rendering error

Signed-off-by: Adam Jackson <ajax@redhat.com>
http://bugzilla.clutter-project.org/show_bug.cgi?id=2640

13 years agodoap: fix a typo in a url
Øyvind Kolås [Fri, 13 May 2011 20:44:49 +0000 (21:44 +0100)]
doap: fix a typo in a url

13 years agotext: Check the has_focus flag in selection_paint()
Emmanuele Bassi [Fri, 13 May 2011 13:26:22 +0000 (14:26 +0100)]
text: Check the has_focus flag in selection_paint()

It is the only place were it is used, so it should only be checked
there, and not in the general paint() implementation.

13 years agotext: Implement the ::has_overlaps virtual
Emmanuele Bassi [Fri, 13 May 2011 13:17:39 +0000 (14:17 +0100)]
text: Implement the ::has_overlaps virtual

Since ClutterText has overlapping primitives when selecting, or a
visible cursor, then we need to report that to Clutter, to avoid
bleeding colors through when a Text actor is non-fully opaque.

13 years agoclutter-text: Add a selected-text-color
Jasper St. Pierre [Wed, 2 Mar 2011 17:02:56 +0000 (12:02 -0500)]
clutter-text: Add a selected-text-color

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

13 years agotests: Add test for selected-text-color
Jasper St. Pierre [Thu, 3 Mar 2011 11:33:42 +0000 (06:33 -0500)]
tests: Add test for selected-text-color

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

13 years agoclutter-actor: Store the queue_redraw_entry when queueing a redraw
Neil Roberts [Fri, 13 May 2011 14:29:50 +0000 (15:29 +0100)]
clutter-actor: Store the queue_redraw_entry when queueing a redraw

_clutter_stage_queue_actor_redraw returns a pointer to the
ClutterStageQueueRedrawEntry struct which it allocates. The actor is
expected to store a pointer to this so that it doesn't need to search
the list of queued redraws next time a queue redraw is called. However
_clutter_actor_queue_redraw_full wasn't storing this pointer which
meant that it thought every queue redraw was the first queue
redraw. That meant that queueing a redraw with a clip or an effect
would override any previous attempts to queue a redraw instead of
trying to combine them.

I think this happened because the old queue_redraw_with_clip also
didn't store the pointer and queue_redraw_full was based on that.

13 years agoclutter-actor: Add a 'has_overlaps' virtual
Neil Roberts [Mon, 14 Mar 2011 16:30:53 +0000 (16:30 +0000)]
clutter-actor: Add a 'has_overlaps' virtual

This adds a virtual to ClutterActor so that an actor subclass can
report whether it has overlapping primitives. ClutterActor uses this
to determine whether it needs to use ClutterFlattenEffect to implement
the opacity property. The default implementation of the virtual
returns TRUE which means that most actors will end up being redirected
offscreen when the opacity != 255. ClutterTexture and ClutterRectangle
override this to return FALSE because they should never need to be
redirected. ClutterClone overrides it to divert to the source.

The values for the ClutterOffscreenRedirect enum have changed to:

AUTOMATIC_FOR_OPACITY

 The actor will only be redirected if has_overlaps returns TRUE and
 the opacity is < 255

ALWAYS_FOR_OPACITY

 The actor will always be redirected if the opacity < 255 regardless
 of the return value of has_overlaps

ALWAYS

 The actor will always be redirected offscreen.

This means that the property can't be used to prevent the actor from
being redirected but only to increase the likelihood that it will be
redirected.

ClutterActor now adds and removes the flatten effect depending on
whether flattening is needed directly in clutter_actor_paint(). There
are new internal versions of add/remove_effect that don't queue a
redraw. This means that ClutterFlattenEffect is now just a no-op
subclass of ClutterOffscreen. It is only needed because
ClutterOffscreen is abstract. Removing the effect also makes it so
that the cached image will be freed as soon as an actor is repainted
without being flattened.

13 years agoAdd a conformance test for the offscreen-redirect property
Neil Roberts [Fri, 4 Mar 2011 16:48:59 +0000 (16:48 +0000)]
Add a conformance test for the offscreen-redirect property

This adds a conformance test for redirecting offscreen. It verifies
that the redirected actor has the right paint opacity, that it gets
redrawn only when the image cache needs to be invalidated and that it
ends up with the right appearance.

13 years agoclutter-actor: Add an 'offscreen-redirect' property
Neil Roberts [Mon, 28 Feb 2011 15:05:51 +0000 (15:05 +0000)]
clutter-actor: Add an 'offscreen-redirect' property

This adds a property which can be used to redirect the actor through
an FBO before painting so that it becomes flattened in an image. The
image can be used as a cache to avoid having to repaint the actor if
something unrelated in the scene changes. It can also be used to
implement correct opacity even if the actor has overlapping
primitives. The property is an enum that takes three values:

CLUTTER_OFFSCREEN_REDIRECT_NEVER: The default behaviour which is to
  never flatten the actor.

CLUTTER_OFFSCREEN_REDIRECT_ALWAYS: The actor is always redirected
  through an FBO.

CLUTTER_OFFSCREEN_REDIRECT_ONLY_FOR_OPACITY: The actor is only
  redirected through an FBO if the paint opacity is not 255. This
  value would be used if the actor wants correct opacity. It will
  avoid the overhead of using an FBO whenever the actor is fully
  opaque.

The property is implemented by installing a ClutterFlattenEffect.
ClutterFlattenEffect is a new internal class which subclasses
ClutterOffscreen to redirect the painting to an FBO. When
ClutterOffscreen paints, the effect sets an opacity override on the
actor so that the image will always contain the actor at full
opacity. The opacity is then applied to the resulting image before
painting it to the stage. This means the actor does not need to be
redrawn while the opacity is being animated.

The effect has a high internal priority so that it will always occur
before any other effects and it gets hidden from the application.

13 years agoclutter-actor: Redraw or relayout when clearing effects or constraints
Neil Roberts [Tue, 1 Mar 2011 16:39:22 +0000 (16:39 +0000)]
clutter-actor: Redraw or relayout when clearing effects or constraints

When calling clutter_actor_clear_constraints the layout of the actor
may change so we need to queue a relayout. Similarly when the effects
are cleared we need to queue a redraw.

13 years agoclutter-actor-meta: Add an internal 'priority' property
Neil Roberts [Tue, 1 Mar 2011 15:37:04 +0000 (15:37 +0000)]
clutter-actor-meta: Add an internal 'priority' property

This adds a priority property to all ClutterActorMetas. The
ClutterMetaGroup keeps the list sorted so that higher priority metas
remain at the beginning of the list. The priority is a signed integer
with the default as zero. An actor meta can therefore be put before
all default metas with a positive number, or after with a negative
number.

There are constants to set an 'internal' priority. The intention is
that applications wouldn't be allowed to use these values so that we
can keep special internal metas to that are before or after all
application metas.

The property isn't a real GObject property because for now it is
completely internal and only used to implement the 'transparency'
property of ClutterActor. ClutterMetaGroup doesn't currently resort
the list if the property changes so if we wanted to make it public we
should either make it construct-only or make the meta group listen for
changes on the property and resort accordingly.

The methods in ClutterActor that get the list of metas now use a new
function that filters out internal metas from the meta
group. Similarly for clearing the metas, the internal metas are left
in.

13 years agoclutter-effect: Add clutter_effect_queue_rerun
Neil Roberts [Mon, 28 Feb 2011 12:16:55 +0000 (12:16 +0000)]
clutter-effect: Add clutter_effect_queue_rerun

This adds a new public function to queue a rerun of an effect. If
nothing else queues a redraw then when the effect's actor is painted
the effect will be run without the CLUTTER_EFFECT_RUN_ACTOR_DIRTY
flag. This allows parametrised offscreen effects to report that they
need to redraw the image without having to redraw the underlying
actor. This will be used to implement the 'transparency' effect of
ClutterActor.

If multiple redraws are queued with different effects then redrawing
is started from the one that occurs last in the list of effects.

Internally the function is a wrapper around the new function
_clutter_actor_queue_redraw_full. This is intended to be the sole
point of code for queuing redraws on an actor. It has parameters for
the clip and the effect. The other two existing functions to queue a
redraw (one with a clip and one without) now wrap around this function
by passing a NULL effect.

13 years agoclutter-offscreen-effect: Don't redraw the actor if cached offscreen
Neil Roberts [Fri, 25 Feb 2011 11:24:23 +0000 (11:24 +0000)]
clutter-offscreen-effect: Don't redraw the actor if cached offscreen

When painting an actor, it now tries to determine if the last paint of
the offscreen was using the same matrix and the actor isn't dirty. If
so, it can skip calling clutter_actor_continue_paint and avoid
actually painting the actor. Instead just the offscreen image will be
painted.

13 years agoclutter-effect: Add a 'run' virtual
Neil Roberts [Wed, 2 Mar 2011 16:55:10 +0000 (16:55 +0000)]
clutter-effect: Add a 'run' virtual

This adds a new virtual to ClutterEffect which is intended to be a
more flexible replacement for the pre and post_paint functions. The
implementation of a run virtual would look something like this:

void
effect_run (ClutterEffect *effect,
            ClutterEffectRunFlags flags)
{
  /* Set up state */
  /* ... */

  /* Chain to the next item in the paint sequence */
  clutter_actor_continue_paint (priv->actor);

  /* Clean up state */
  /* ... */
}

ClutterActor now just calls this virtual instead of the pre_paint and
post_paint functions. It keeps track of the next effect in the list so
that it knows what to do when clutter_actor_continue_paint is
called. clutter_actor_continue_paint is a new function added just for
implementing effects.

The default implementation of the run virtual just calls pre_paint and
post_paint so that existing effects will continue to work.

An effect is allowed to conditionally skip calling
clutter_actor_continue_paint(). This is useful to implement effects
that cache the image of an actor. The flags parameter can be used to
determine if the actor is dirty since the last paint. ClutterActor
sets this flag whenever propagated_one_redraw is TRUE which means that
a redraw for this actor or one of its children was queued.

13 years agoUpdated Galician translations
Miguel Bouzada [Thu, 12 May 2011 11:18:02 +0000 (13:18 +0200)]
Updated Galician translations

13 years agopo: Remove a non existent file in POTFILES.in
Emmanuele Bassi [Wed, 11 May 2011 09:11:59 +0000 (10:11 +0100)]
po: Remove a non existent file in POTFILES.in

13 years agoUpdated Spanish translation
Daniel Mustieles [Tue, 10 May 2011 19:07:12 +0000 (21:07 +0200)]
Updated Spanish translation

13 years agowin32: Use the Cogl WGL winsys
Neil Roberts [Thu, 21 Apr 2011 15:52:54 +0000 (16:52 +0100)]
win32: Use the Cogl WGL winsys

Cogl now has a full WGL winsys so Clutter doesn't need to directly
deal with WGL itself.

13 years agoUpdated Spanish translation
Daniel Mustieles [Mon, 9 May 2011 17:24:30 +0000 (19:24 +0200)]
Updated Spanish translation

13 years agoUpdated Spanish translation
Daniel Mustieles [Sun, 8 May 2011 15:09:33 +0000 (17:09 +0200)]
Updated Spanish translation

13 years agoMake the pick id pool per Stage
Emmanuele Bassi [Mon, 11 Apr 2011 13:11:39 +0000 (14:11 +0100)]
Make the pick id pool per Stage

The id pool used for the actor's id should be a per-stage field. At some
point, we might have a Stage mapped to multiple framebuffers, or each
Stage mapped to a different framebuffer; also, on backend with low
color precision we don't want to exhaust the size of the available ids
with a global pool. Finally, it's yet another thing we can remove from
the global Clutter context.

Having the id pool allocated per-stage, and the pick id assigned on
Actor:mapped will make the whole pick-id more reliable and future proof.

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

https://bugzilla.gnome.org/show_bug.cgi?id=647876

13 years agoDeprecate actor id
Emmanuele Bassi [Mon, 11 Apr 2011 11:30:51 +0000 (12:30 +0100)]
Deprecate actor id

The actor's id, which is currently used to generate the pick color,
should not be part of the public API: it's an internal detail of the
pick implementation, and having it exposed is like punching a hole
through the abstraction.

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

https://bugzilla.gnome.org/show_bug.cgi?id=647876

13 years agoconfigure.ac: Remove the check for 'ffs'
Neil Roberts [Fri, 6 May 2011 16:20:06 +0000 (17:20 +0100)]
configure.ac: Remove the check for 'ffs'

The check for the ffs function is only needed by Cogl we don't need to
have it in Clutter's configure script anymore.

13 years agobuild: Depend on cogl-pango-1.0
Emmanuele Bassi [Fri, 6 May 2011 16:21:00 +0000 (17:21 +0100)]
build: Depend on cogl-pango-1.0

For both builds and introspection.

13 years agobuild: Specify the buildreq version for Cogl
Emmanuele Bassi [Fri, 6 May 2011 15:56:29 +0000 (16:56 +0100)]
build: Specify the buildreq version for Cogl

Don't just assume the latest.

13 years agobuild: Fix introspection rules
Emmanuele Bassi [Fri, 6 May 2011 15:55:10 +0000 (16:55 +0100)]
build: Fix introspection rules

Remove some cruft after the surgery that split Cogl out of tree.