profile/ivi/clutter.git
12 years agoactor: Make :allocation animatable
Emmanuele Bassi [Fri, 20 Apr 2012 17:06:02 +0000 (18:06 +0100)]
actor: Make :allocation animatable

Calling clutter_actor_allocate() should transition between the current
allocation and the new allocation, by using the defined implementation
of the easing state.

This means that:

  clutter_actor_save_easing_state (actor);
  clutter_actor_allocate (actor, &new_alloc, flags);
  clutter_actor_restore_easing_state (actor);

will cause "actor" to transition between the current allocation and the
desired new allocation.

The trick is to ensure that this happens without invalidating the
entire actor tree, but only the portion of the tree that has the
transitioned actor as the local root. For this reason, we just call the
allocate() implementation from within the transition frame advancement,
without invalidating flags: the actor, after all, *has* a valid
allocation for the duration of the transition.

12 years agoactor: Ignore allocation flags
Emmanuele Bassi [Mon, 23 Apr 2012 11:28:23 +0000 (12:28 +0100)]
actor: Ignore allocation flags

Allocation flags are informative, and are only meant to be used to
communicate additional information about the allocation process to
an actor.

12 years agoactor: Coalesce needs_[xy]_expand() into one method
Emmanuele Bassi [Fri, 20 Apr 2012 11:45:54 +0000 (12:45 +0100)]
actor: Coalesce needs_[xy]_expand() into one method

Use the orientation enumeration instead of a per-axis method.

12 years agobox-layout: Add the :orientation property
Emmanuele Bassi [Tue, 27 Mar 2012 16:08:59 +0000 (17:08 +0100)]
box-layout: Add the :orientation property

And deprecate the :vertical property.

An enumeration is clearer, and we can use it elsewhere in the API.

12 years agobin-layout: Deprecate BinLayout alignments
Emmanuele Bassi [Thu, 29 Mar 2012 16:27:34 +0000 (17:27 +0100)]
bin-layout: Deprecate BinLayout alignments

We should use the ClutterActor's API for this.

12 years agodocs: XInclude the bin layout example
Emmanuele Bassi [Thu, 29 Mar 2012 16:20:45 +0000 (17:20 +0100)]
docs: XInclude the bin layout example

12 years agointeractive/bin-layout: Improve the example code
Emmanuele Bassi [Thu, 29 Mar 2012 15:35:22 +0000 (16:35 +0100)]
interactive/bin-layout: Improve the example code

Use modern API; clean up the code, and document it so that it's possible
to XInclude it into the API reference.

12 years agobin-layout: Use the actor align/expand flags
Emmanuele Bassi [Thu, 29 Mar 2012 15:34:36 +0000 (16:34 +0100)]
bin-layout: Use the actor align/expand flags

If an actor is set to expand, we use the actor's horizontal and vertical
alignment values instead of the BinLayout's.

12 years agoactor: Add private get_effective_x_align() method
Emmanuele Bassi [Thu, 29 Mar 2012 15:33:53 +0000 (16:33 +0100)]
actor: Add private get_effective_x_align() method

A method to retrieve the effective horizontal alignment of the actor,
taking into consideration the text direction.

12 years agoactor: Add basic automatic expand flags
Emmanuele Bassi [Tue, 27 Mar 2012 13:53:27 +0000 (14:53 +0100)]
actor: Add basic automatic expand flags

The :x-expand and :y-expand flags on ClutterActor are used to signal
that an actor should expand horizontally and/or vertically - i.e. that
its parent's layout management policy should try to assign extra space
to the actor when allocating it.

The expand flags are automatic: when set on a leaf node in the actor
tree, they will bubble up through the parent and grandparents up to the
top level actor; during allocation, the actors with children will lazily
compute whether their children needs to expand.

12 years agoactor: Remove automatic transition init from add_transition()
Emmanuele Bassi [Thu, 19 Apr 2012 15:35:39 +0000 (16:35 +0100)]
actor: Remove automatic transition init from add_transition()

Adding an explicit transition overrides any consideration of the easing
state of an actor.

12 years agoFixes for the API reference
Emmanuele Bassi [Thu, 19 Apr 2012 15:00:23 +0000 (16:00 +0100)]
Fixes for the API reference

Typos, missing symbols, and missing documentation.

12 years agodocs: Clean up the animation section
Emmanuele Bassi [Wed, 11 Apr 2012 17:31:53 +0000 (18:31 +0100)]
docs: Clean up the animation section

12 years agoAdd deprecation annotations
Emmanuele Bassi [Wed, 11 Apr 2012 17:30:40 +0000 (18:30 +0100)]
Add deprecation annotations

12 years agoDeprecate ClutterAnimation, as well as clutter_actor_animate()
Emmanuele Bassi [Wed, 11 Apr 2012 17:18:27 +0000 (18:18 +0100)]
Deprecate ClutterAnimation, as well as clutter_actor_animate()

ClutterPropertyTransition, and the implicit animation API based on
ClutterTransition and ClutterAnimatable, are enough to replace this
whole API.

12 years agoDeprecate State and Animator
Emmanuele Bassi [Wed, 11 Apr 2012 17:00:23 +0000 (18:00 +0100)]
Deprecate State and Animator

The PropertyTransition, KeyframeTransition, and TransitionGroup classes
can effectively replace Animator and State in their common usage.

12 years agokeyframe-transition: Add direct accessors for key frames
Emmanuele Bassi [Wed, 11 Apr 2012 16:47:53 +0000 (17:47 +0100)]
keyframe-transition: Add direct accessors for key frames

This should allow modifying key frame details without requiring a full
reset of the KeyframeTransition instance.

12 years agoAdd ClutterTransitionGroup
Emmanuele Bassi [Tue, 20 Mar 2012 10:59:34 +0000 (10:59 +0000)]
Add ClutterTransitionGroup

The TransitionGroup class is a logical container for running multiple
transitions.

TransitionGroup is not a Score: it is a Transition that advances each
Transition it contains using the delta between frames, and ensures that
all transitions are in a consistent state; these transitions are not
advanced by the master clock.

12 years agotimeline: Add an internal function for advancing a timeline
Emmanuele Bassi [Wed, 21 Mar 2012 16:07:29 +0000 (16:07 +0000)]
timeline: Add an internal function for advancing a timeline

There are cases when we want to advance a timeline from another time
source. We cannot use _clutter_timeline_do_tick() directly, as that
assumes that the timeline is already playing, so we'll need to create a
wrapper that toggles the playing flag around it.

12 years agoAdd ClutterKeyframeTransition
Emmanuele Bassi [Wed, 11 Apr 2012 14:53:52 +0000 (15:53 +0100)]
Add ClutterKeyframeTransition

A simple transition class that interpolates a property between key
frames.

12 years agointerval: Allow passing NULL values to the constructor
Emmanuele Bassi [Wed, 11 Apr 2012 13:18:56 +0000 (14:18 +0100)]
interval: Allow passing NULL values to the constructor

Given that we can create a ClutterInterval without an initial and final
values using g_object_new(), it stands to reason that we ought to be
able to create an instance when passing NULL GValue pointers to the
new_with_values() constructor as well.

12 years agoeasing: Add utility functions
Emmanuele Bassi [Wed, 11 Apr 2012 13:11:28 +0000 (14:11 +0100)]
easing: Add utility functions

We end up copying the same array-of-modes-and-functions code in various
places, so it's better to factor it out.

12 years agoactor: Make add_transition() work regardless of easing state
Emmanuele Bassi [Wed, 11 Apr 2012 13:10:40 +0000 (14:10 +0100)]
actor: Make add_transition() work regardless of easing state

We can add transitions to an actor even if the easing state hasn't been
set beforehand.

12 years agodocs: Use the Transition convenience API
Emmanuele Bassi [Thu, 22 Mar 2012 10:48:02 +0000 (10:48 +0000)]
docs: Use the Transition convenience API

12 years agotransition: Add interval convenience API
Emmanuele Bassi [Thu, 22 Mar 2012 10:08:48 +0000 (10:08 +0000)]
transition: Add interval convenience API

This should cut down the lines and number of objects we have to care
about when dealing with explicit transitions.

12 years agodocs: Add a reference section for geometric types
Emmanuele Bassi [Thu, 19 Apr 2012 13:55:08 +0000 (14:55 +0100)]
docs: Add a reference section for geometric types

12 years agoAdd version annotation for newly added functions
Emmanuele Bassi [Thu, 19 Apr 2012 11:34:02 +0000 (12:34 +0100)]
Add version annotation for newly added functions

12 years agoAdd a rect-contains-rect function
Emmanuele Bassi [Thu, 19 Apr 2012 11:32:07 +0000 (12:32 +0100)]
Add a rect-contains-rect function

Similar to the contains-point one.

12 years agoUse an epsilon for float comparison
Emmanuele Bassi [Thu, 19 Apr 2012 11:30:45 +0000 (12:30 +0100)]
Use an epsilon for float comparison

We tend to use float comparison for structured data types like Vertex,
Point, and Size; we should take into consideration fluctuations in the
floating point representation as well.

12 years agoevent: Add distance and angle accessors
Emmanuele Bassi [Thu, 19 Apr 2012 11:16:54 +0000 (12:16 +0100)]
event: Add distance and angle accessors

Let's start using ClutterPoint in the API.

12 years agoAdd a function to compute the distance between points
Emmanuele Bassi [Thu, 19 Apr 2012 11:15:17 +0000 (12:15 +0100)]
Add a function to compute the distance between points

12 years agoMove towards an alloc/init pair for base types
Emmanuele Bassi [Wed, 18 Apr 2012 16:31:28 +0000 (17:31 +0100)]
Move towards an alloc/init pair for base types

Instead of a single new() constructor that both allocates and
initializes, split the allocation and initialization into two separate
functions for types that are typically used on the stack, and rarely
allocated on the heap, like ClutterPoint and friends.

This is also applied retroactively to ClutterActorBox and ClutterVertex,
given that the same considerations on usage apply to them as well; we
can add a return value to clutter_actor_box_init() and
clutter_vertex_init() in an ABI-compatible way, so that
clutter_actor_box_new() and clutter_vertex_new() can be effectively
reimplemented as "init (alloc ())".

12 years agocolor: Add initializers for ClutterColor
Emmanuele Bassi [Fri, 13 Apr 2012 10:26:38 +0000 (11:26 +0100)]
color: Add initializers for ClutterColor

Similar to the ones we have for the other boxed types in Clutter.

12 years agoscript: Support ClutterPoint and ClutterSize
Emmanuele Bassi [Sun, 1 Apr 2012 16:54:11 +0000 (17:54 +0100)]
script: Support ClutterPoint and ClutterSize

Point and Size can be described both as an array of values or as an
object.

12 years agoactor: Add position and size animatable properties
Emmanuele Bassi [Sun, 1 Apr 2012 16:32:59 +0000 (17:32 +0100)]
actor: Add position and size animatable properties

Using a compound type property for position and size has various
advantages: it reduces the amount of checks; it reduces the amount
of notify signals to connect to; it reduces the amount of transitions
generated.

12 years agoactor: Use ClutterSize for minimum and natural fixed sizes
Emmanuele Bassi [Fri, 30 Mar 2012 17:53:22 +0000 (18:53 +0100)]
actor: Use ClutterSize for minimum and natural fixed sizes

12 years agoactor: Use ClutterPoint for the fixed position
Emmanuele Bassi [Fri, 30 Mar 2012 17:43:59 +0000 (18:43 +0100)]
actor: Use ClutterPoint for the fixed position

12 years agoAdd base geometric types
Emmanuele Bassi [Fri, 30 Mar 2012 17:22:04 +0000 (18:22 +0100)]
Add base geometric types

Clutter should provide some more basic geometric types - Point, Size,
Rect - so that we can use them in properties and accessors.

12 years agoMove the progress function registration to clutter-types.h
Emmanuele Bassi [Fri, 30 Mar 2012 12:56:18 +0000 (13:56 +0100)]
Move the progress function registration to clutter-types.h

Near the definition of ClutterProgressFunc.

12 years agoDeprecate ClutterCairoTexture
Emmanuele Bassi [Tue, 17 Apr 2012 17:40:43 +0000 (18:40 +0100)]
Deprecate ClutterCairoTexture

The ClutterCanvas content implementation should be used instead, to
avoid stringing along the ClutterTexture API and implementation.

This change requires some minor surgery, as the deprecated section
already contains an header for the previously deprecated methods; plus,
we don't want to deprecate clutter_cairo_set_source_color(). This means
creating a new header to be used for Cairo-related API.

12 years agopath: Avoid integer overflow in get_distance()
Emmanuele Bassi [Mon, 23 Apr 2012 16:42:40 +0000 (17:42 +0100)]
path: Avoid integer overflow in get_distance()

The get_distance() API uses machine integers to compute the distance;
this means that on 32bit we can overflow the integer size. This gets
hidden by the fact that get_distance() returns an unsigned integer as
well.

In reality, ClutterPath is an unmitigated mess, and the only way to
actually fix it is to break API.

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

12 years agoa11y: stop to use text as the default accessible-name for ClutterText
Alejandro Piñeiro [Wed, 4 Apr 2012 10:07:06 +0000 (12:07 +0200)]
a11y: stop to use text as the default accessible-name for ClutterText

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

12 years agomedia: Define CLUTTER_DISABLE_DEPRECATION_WARNINGS
Emmanuele Bassi [Thu, 26 Apr 2012 15:59:08 +0000 (16:59 +0100)]
media: Define CLUTTER_DISABLE_DEPRECATION_WARNINGS

We know we're building deprecated API.

12 years agomacros: Define MIN_REQUIRED as the current version
Emmanuele Bassi [Thu, 26 Apr 2012 15:58:23 +0000 (16:58 +0100)]
macros: Define MIN_REQUIRED as the current version

Otherwise we'll not warn on deprecations introduced in the current
development cycle.

12 years agoactor: Call show() on set parent conditionally
Emmanuele Bassi [Thu, 26 Apr 2012 13:06:00 +0000 (14:06 +0100)]
actor: Call show() on set parent conditionally

This commit adds a further conditional check for calling
clutter_actor_show() when adding a child to an actor. We cannot
unconditionally change the value of the show-on-set-parent property like
the original solution of commit 81b19a78f5e02ae8ffd9235054d80b172496415b
as that breaks the document invariant that show-on-set-parent will be
changed iff an actor is without a parent.

The new ADD_CHILD_SHOW_ON_SET_PARENT flag is part of the default and
legacy flags, thus retaining the default behaviour when adding a child;
the flag is not passed when reordering the list of children, which means
we ignore the state of the show-on-set-parent property.

The conformance test suite fully passes, including the newly added test
to verify that changing the paint order does not trigger visibility.

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

12 years agoRevert "actor: Unconditionally set show_on_set_parent"
Emmanuele Bassi [Thu, 26 Apr 2012 13:02:07 +0000 (14:02 +0100)]
Revert "actor: Unconditionally set show_on_set_parent"

This reverts commit 81b19a78f5e02ae8ffd9235054d80b172496415b.

The commit breaks the conformance test unit for the invariants we
guarantee for the 1.x API:

ERROR:actor-invariants.c:307:actor_show_on_set_parent: assertion failed: (show_on_set_parent)

12 years agodocs: Add the 1.12 symbols index to the API reference
Emmanuele Bassi [Thu, 26 Apr 2012 12:58:06 +0000 (13:58 +0100)]
docs: Add the 1.12 symbols index to the API reference

12 years agoBe resilient in case there is no device manager
Emmanuele Bassi [Thu, 26 Apr 2012 12:23:29 +0000 (13:23 +0100)]
Be resilient in case there is no device manager

It's possible to run Clutter with the 'null' input backend, which means
that clutter_device_manager_get_default() may return NULL. In the future
we may add a default dummy device manager, but right now it's safer to
just add a simple NULL check in the places where we ask for the device
manager.

12 years agoRemove calls to cogl_disable_fog
Neil Roberts [Fri, 20 Apr 2012 17:40:31 +0000 (18:40 +0100)]
Remove calls to cogl_disable_fog

I can't think of any reason why it would do this and there's no
comment explaining it so let's just remove it. The global fog state
has been removed in Cogl 2.0 so it will cause problems later.

Reviewed-by: Emmanuele Bassi <ebassi@linux.intel.com>
12 years agoclutter-stage-cogl: Use CoglPrimitive for the debug redraw code
Neil Roberts [Fri, 20 Apr 2012 16:11:47 +0000 (17:11 +0100)]
clutter-stage-cogl: Use CoglPrimitive for the debug redraw code

CoglVertexBuffer is deprecated so here is a fairly simple replacement
to use the experimental CoglPrimitive API.

Reviewed-by: Emmanuele Bassi <ebassi@linux.intel.com>
12 years agodevice-manager: select/unselect device events as device change
Cosimo Cecchi [Tue, 24 Apr 2012 14:21:25 +0000 (10:21 -0400)]
device-manager: select/unselect device events as device change

When a device is added or changes, select/unselect events from X
accordingly.

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

12 years agodevice-manager: don't select events for disabled devices
Cosimo Cecchi [Tue, 24 Apr 2012 00:04:58 +0000 (20:04 -0400)]
device-manager: don't select events for disabled devices

I.e. only select events for core devices or devices explicitly enabled
by clients.

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

12 years agoconform: Make sure that raising/lowering children doesn't change state
Jasper St. Pierre [Mon, 23 Apr 2012 18:14:07 +0000 (14:14 -0400)]
conform: Make sure that raising/lowering children doesn't change state

Namely, visibility and show-on-set-parent.

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

12 years agoactor: Unconditionally set show_on_set_parent
Jasper St. Pierre [Fri, 20 Apr 2012 23:54:05 +0000 (19:54 -0400)]
actor: Unconditionally set show_on_set_parent

Otherwise, doing something like adjusting the child's position
on a hidden actor will re-show it, which is not what we want.

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

12 years agoactor: Not-actors don't have metas
Jasper St. Pierre [Fri, 13 Apr 2012 18:34:22 +0000 (14:34 -0400)]
actor: Not-actors don't have metas

12 years agocally: Fix the pkg-config file
Emmanuele Bassi [Sun, 15 Apr 2012 12:02:42 +0000 (13:02 +0100)]
cally: Fix the pkg-config file

Drop a bunch of variables that are not meant to be used by Cally; also,
drop the wrong library name from the Libs key: Clutter has a single
shared library, now.

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

12 years agox11/device-manager-xi2: Flip deltas around
Cosimo Cecchi [Fri, 20 Apr 2012 17:31:58 +0000 (18:31 +0100)]
x11/device-manager-xi2: Flip deltas around

Up/down is Y.

12 years agoUpdated POTFILES.in
Piotr Drąg [Tue, 17 Apr 2012 17:52:47 +0000 (19:52 +0200)]
Updated POTFILES.in

12 years agoDeprecate ClutterMedia
Emmanuele Bassi [Tue, 17 Apr 2012 17:10:39 +0000 (18:10 +0100)]
Deprecate ClutterMedia

The interface looked like a good idea around the time Clutter 0.2 was
out, but in reality we never had a proper, and supported implementation
outside of clutter-gst - thus, ClutterMedia was acting like a wrapper
around GStreamer, leading to hilarious issues of impedence mismatch
between API and all sorts of indirection issues typical of wrong
abstractions.

In theory, ClutterMedia should have been deprecated and removed before
we hit 1.0, but we kept flip-flopping on the issue.

For 2.0, it's time to take it out.

And shoot it in the face.

12 years agotext: Bubble up a click and quit early for just static text
Jasper St. Pierre [Fri, 30 Mar 2012 15:19:02 +0000 (11:19 -0400)]
text: Bubble up a click and quit early for just static text

Static text shouldn't need a cursor position or anything like that,
and it always eats a button press event.

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

12 years ago[l10n] Updated German translation
Christian Kirbach [Fri, 13 Apr 2012 17:46:47 +0000 (19:46 +0200)]
[l10n] Updated German translation

12 years agoactor: Return a valid paint volume by default
Emmanuele Bassi [Thu, 12 Apr 2012 16:24:37 +0000 (17:24 +0100)]
actor: Return a valid paint volume by default

It's been a year and change, and two stable releases, since we
introduced the paint volume mechanism to allow actors to paint outside
their allocation safely in environments that support clipped redraws.

The time has come to flip the switch, and return a valid paint volume,
matching the actor's allocation, by default - at least for Actor
instances from classes that do not override paint() and
get_paint_volume().

If an actor has a paint signal handler then it's the user responsability
not to paint outside the allocation - and to suffer the consequences of
doing so; in an ideal world, paint() would not be a signal in the first
place anyway. Plus, the idea that painting can happen at any time and
still have a valid surface greatly conflicts with the design goal of
making Clutter's rendering operations fully retained into a render tree.

We can still revert this commit before spinning 1.12, if need be.

12 years agointeractive/snap-constaint: Modernize code
Emmanuele Bassi [Thu, 12 Apr 2012 16:08:33 +0000 (17:08 +0100)]
interactive/snap-constaint: Modernize code

12 years agoactor: Check for mapped children in the default get_paint_volume()
Emmanuele Bassi [Thu, 12 Apr 2012 16:07:06 +0000 (17:07 +0100)]
actor: Check for mapped children in the default get_paint_volume()

Unmapped children won't be painted so they should not contribute to the
default paint volume computation.

12 years agoactor: Clear MetaGroups when empty
Emmanuele Bassi [Thu, 12 Apr 2012 16:04:57 +0000 (17:04 +0100)]
actor: Clear MetaGroups when empty

When removing the last Action, Constraint, or Effect, we should also be
clearing the corresponding MetaGroup: code inside ClutterActor relies on
NULL checks, and changing them all to check for NULL && n_items == 0
would not be fun.

12 years agoRename XINPUT_2_2 define to HAVE_XINPUT_2_2
Peter Hutterer [Thu, 12 Apr 2012 03:07:34 +0000 (13:07 +1000)]
Rename XINPUT_2_2 define to HAVE_XINPUT_2_2

configure.ac defines XINPUT_2_2 if XI 2.2 support was found. The code
expects XINPUT_2_2 in the device manager, but HAVE_XINPUT_2_2 in the x11
backend.

On newer X servers, the latter causes a BadValue when XIQueryDevice sends a
different major/minor than gdk's device manager (gnome-control-center).

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
https://bugzilla.gnome.org/show_bug.cgi?id=673961

12 years agoactor: Fix completed transitions logic
Emmanuele Bassi [Wed, 11 Apr 2012 12:57:06 +0000 (13:57 +0100)]
actor: Fix completed transitions logic

We need to remove the transition only if the current repeat is equal to
the number of repeats, and if the transition was marked as remove on
complete. Otherwise, the transition has to remain where it is.

12 years agobuild: Bump pango dependency to 1.30
Rob Bradford [Wed, 11 Apr 2012 10:56:11 +0000 (11:56 +0100)]
build: Bump pango dependency to 1.30

Clutter now uses pango_layout_get_character_count() which was added in 1.30.

12 years ago[l10n]Updated Catalan (Valencian) translation
Carles Ferrando [Tue, 10 Apr 2012 18:56:50 +0000 (20:56 +0200)]
[l10n]Updated Catalan (Valencian) translation

12 years ago[l10n] Fixes on Catalan translation
Jordi Serratosa [Tue, 10 Apr 2012 18:56:46 +0000 (20:56 +0200)]
[l10n] Fixes on Catalan translation

12 years agoactor: Remove unnecessary relayout/redraw calls
Emmanuele Bassi [Tue, 10 Apr 2012 12:37:04 +0000 (13:37 +0100)]
actor: Remove unnecessary relayout/redraw calls

They will be handled internally.

12 years agoactor: Do not queue_redraw() in set_opacity()
Emmanuele Bassi [Tue, 10 Apr 2012 11:58:17 +0000 (12:58 +0100)]
actor: Do not queue_redraw() in set_opacity()

The opacity internal setter will do it for us, and it will take into
consideration any eventual flatten effect applied to the actor.

This unbreaks the actor-offscreen-redirect conformance test.

12 years agox11/stage: Leave a comment about multi-head setup
Emmanuele Bassi [Tue, 10 Apr 2012 11:34:54 +0000 (12:34 +0100)]
x11/stage: Leave a comment about multi-head setup

The get_geometry() implementation is broken on multi-head systems; the
only solution is to use XRandR to get the size of the CRTC that contains
the stage.

12 years agostage: Unset the natural size when fullscreening
Emmanuele Bassi [Tue, 10 Apr 2012 11:12:50 +0000 (12:12 +0100)]
stage: Unset the natural size when fullscreening

This ensures that constraints and signal handlers will go through the
allocation and not through the cache after ::fullscreen has been
emitted.

12 years agointeractive/stage-sizing: Clean up
Emmanuele Bassi [Tue, 10 Apr 2012 11:12:28 +0000 (12:12 +0100)]
interactive/stage-sizing: Clean up

12 years agox11/device-manager-xi2: Add 'Abs Distance' axis
Emmanuele Bassi [Mon, 9 Apr 2012 10:56:26 +0000 (11:56 +0100)]
x11/device-manager-xi2: Add 'Abs Distance' axis

In XInput 2, the proximity events of XInput 1 have been replaced by an
axis on a valuator class. This means that, on devices that support
proximity information, for instance pens of a tablet, you will start
receiving events with the distance as an axis value - similarly to how
the pressure and tilt are presented in the API.

12 years agoenums: Add CLUTTER_INPUT_AXIS_DISTANCE
Emmanuele Bassi [Mon, 9 Apr 2012 10:56:01 +0000 (11:56 +0100)]
enums: Add CLUTTER_INPUT_AXIS_DISTANCE

12 years agoClutterText: Fix length passed to clutter_text_buffer_set_text()
Owen W. Taylor [Mon, 9 Apr 2012 16:09:59 +0000 (12:09 -0400)]
ClutterText: Fix length passed to clutter_text_buffer_set_text()

clutter_text_buffer_set_text() expects a char count, not a byte
count, so pass -1 rather than using strlen.

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

12 years agox11/device-manager-xi2: Remove heuristics for touchscreen devices
Emmanuele Bassi [Sat, 7 Apr 2012 22:07:59 +0000 (23:07 +0100)]
x11/device-manager-xi2: Remove heuristics for touchscreen devices

Devices that have touch valuator classes will be touchscreens or
touchpads; anything else should be ignored.

12 years agoosx: Fix build
Emmanuele Bassi [Wed, 4 Apr 2012 14:33:32 +0000 (15:33 +0100)]
osx: Fix build

12 years agobuild: Remove -Waggregate-returns
Emmanuele Bassi [Wed, 4 Apr 2012 14:33:05 +0000 (15:33 +0100)]
build: Remove -Waggregate-returns

12 years agoUpdated Swedish translation
Daniel Nylander [Sun, 1 Apr 2012 18:31:08 +0000 (20:31 +0200)]
Updated Swedish translation

12 years agoactor: Make _clutter_actor_foreach_child() safe again
Emmanuele Bassi [Thu, 29 Mar 2012 14:52:51 +0000 (15:52 +0100)]
actor: Make _clutter_actor_foreach_child() safe again

We were using g_list_foreach() prior to the first Apocalypse, and that
function is resilient against changes to the list while iterating it;
since we are not using a GList any more, we need handle this case
ourselves.

12 years agointeractive/bin-layout: Call save/restore easing state
Emmanuele Bassi [Thu, 29 Mar 2012 14:12:09 +0000 (15:12 +0100)]
interactive/bin-layout: Call save/restore easing state

Don't do unprotected calls to set_easing_mode() and
set_easing_duration().

12 years agoactor: Make :content-gravity animatable
Emmanuele Bassi [Thu, 29 Mar 2012 12:53:40 +0000 (13:53 +0100)]
actor: Make :content-gravity animatable

Let's start making some non-trivial property animatable, like the
content gravity.

12 years agocanvas: avoid emission of "draw" signal when the size is zero
Stefano Facchini [Thu, 29 Mar 2012 12:35:50 +0000 (14:35 +0200)]
canvas: avoid emission of "draw" signal when the size is zero

This also avoids the warning

  Cogl-WARNING **: ./cogl-buffer.c:215: GL error (1285): Out of memory

generated by cogl_buffer_map when the CoglBuffer has zero length.

12 years agoactor: Ensure that we correctly remove transitions
Emmanuele Bassi [Thu, 29 Mar 2012 11:01:03 +0000 (12:01 +0100)]
actor: Ensure that we correctly remove transitions

The check on :remove-on-complete was inverted, but we also need to check
that the current repeat of the timeline is also the last.

12 years agoactor: Minor optimization to avoid get_preferred_*
Emmanuele Bassi [Wed, 28 Mar 2012 17:07:06 +0000 (18:07 +0100)]
actor: Minor optimization to avoid get_preferred_*

When the easing state has a duration of zero milliseconds we can skip
the entire create_transition() call inside set_width() and set_height(),
to avoid what may be a costly call to get_preferred_*.

12 years agoactor: Ensure we use the current easing duration and mode
Emmanuele Bassi [Wed, 28 Mar 2012 15:39:30 +0000 (16:39 +0100)]
actor: Ensure we use the current easing duration and mode

When updating a transition in flight, if the current easing state does
not match the transition's.

12 years agodocs: Mention in-flight value changes
Emmanuele Bassi [Wed, 28 Mar 2012 12:21:58 +0000 (13:21 +0100)]
docs: Mention in-flight value changes

12 years agointeractive/animation: Use implicit animations instead of animate()
Emmanuele Bassi [Wed, 28 Mar 2012 12:01:17 +0000 (13:01 +0100)]
interactive/animation: Use implicit animations instead of animate()

Also, nest animations.

12 years agointeractive/transitions: Jump to middle-click coordinates
Emmanuele Bassi [Wed, 28 Mar 2012 11:46:30 +0000 (12:46 +0100)]
interactive/transitions: Jump to middle-click coordinates

Middle click will update an existing transition while in flight, and
skip it.

12 years agoactor: Check easing duration when updating in-flight transitions
Emmanuele Bassi [Wed, 28 Mar 2012 11:43:57 +0000 (12:43 +0100)]
actor: Check easing duration when updating in-flight transitions

If we update a transition that is currently playing, we need to check
the current easing state, and look at the eventual duration, in case
the user wants to cancel the transition.

12 years agotable-layout: Fix [xy]_expand
Emmanuele Bassi [Wed, 28 Mar 2012 07:34:36 +0000 (08:34 +0100)]
table-layout: Fix [xy]_expand

A copy and paste thinko.

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

12 years agoactor: Invalidate the current state when popping easing states
Jasper St. Pierre [Tue, 27 Mar 2012 18:54:56 +0000 (15:54 -0300)]
actor: Invalidate the current state when popping easing states

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

12 years agoactor: Simplify setters of animatable properties
Emmanuele Bassi [Wed, 28 Mar 2012 10:52:01 +0000 (11:52 +0100)]
actor: Simplify setters of animatable properties

Instead of checking the duration of the current easing state we should
check if there's a transition in progress, and update it
unconditionally.

If there is no easing state, or the easing state has a duration of zero
milliseconds, then create_transition() should bail out early and set the
requested final state.

This allows us to write:

  clutter_actor_save_easing_state (actor);
  clutter_actor_set_x (actor, 200);
  clutter_actor_restore_easing_state (actor);

  [...]

  clutter_actor_set_x (actor, 100);

and have the second set_x() update the easing in progress, instead of
being ignored.

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

12 years agointeractive/transitions: Add missing easing state save/restore
Emmanuele Bassi [Wed, 28 Mar 2012 10:49:53 +0000 (11:49 +0100)]
interactive/transitions: Add missing easing state save/restore

The test hasn't been updated after commit 229241b8, and was trying to
change the easing state without creating one.

12 years agoRemove unused fields from LayoutInfo
Emmanuele Bassi [Tue, 27 Mar 2012 11:09:28 +0000 (12:09 +0100)]
Remove unused fields from LayoutInfo

The x_expand and y_expand members would mess up the initialization of
the constant LayoutInfo default structure.

12 years agoactor: Add debug annotation in add_transition()
Emmanuele Bassi [Mon, 26 Mar 2012 17:34:15 +0000 (18:34 +0100)]
actor: Add debug annotation in add_transition()

12 years agoactor: Add IN_DESTRUCTION checks
Emmanuele Bassi [Mon, 26 Mar 2012 17:31:42 +0000 (18:31 +0100)]
actor: Add IN_DESTRUCTION checks

Commit 80626e75842a24c3d0a45068e241ba309f6ec138 removed an
IN_DESTRUCTION check from within the add_child_internal() method,
outlining an option for bringing it back. It was too late for the 1.10
cycle to do it, and eventually pick up the pieces, but now that we're
at the beginning of the 1.11 cycle we can restore it, and add checks
elsewhere to balance it.