Emmanuele Bassi [Thu, 3 May 2012 10:27:22 +0000 (11:27 +0100)]
docs: Add annotation for ClutterEventSequence
The last remaining undocumented symbol in the API reference according to
gtk-doc.
Tristan Van Berkom [Wed, 2 May 2012 22:08:02 +0000 (18:08 -0400)]
ClutterDropAction: Added "drop-cancel" signal.
The drop-cancel signal allows the drop action to cleanup its
state if the can-drop signal is refused. This is especially
useful if the drop action (or its target actor) is managing
any drop target animations.
https://bugzilla.gnome.org/show_bug.cgi?id=675336
Emmanuele Bassi [Wed, 2 May 2012 17:40:38 +0000 (18:40 +0100)]
docs: Move the easing modes graphs to the AnimationMode docs
Emmanuele Bassi [Wed, 2 May 2012 17:38:20 +0000 (18:38 +0100)]
docs: Move ClutterAnimationMode's documentation
Given that ClutterAnimation is going to be deprecated, we should move
the ClutterAnimationMode enumeration to the ClutterTimeline section.
Emmanuele Bassi [Wed, 2 May 2012 17:37:36 +0000 (18:37 +0100)]
Move the easing modes test into the examples
It's a pretty simple, self-contained example of how to use different
easing modes, as well as the implicit animations API.
Emmanuele Bassi [Wed, 2 May 2012 11:45:45 +0000 (12:45 +0100)]
interactive/transitions: Modernize
Drop deprecated API.
Emmanuele Bassi [Wed, 2 May 2012 11:45:18 +0000 (12:45 +0100)]
interactive/binding-pool: Modernize
Drop deprecated API.
Emmanuele Bassi [Wed, 2 May 2012 11:14:45 +0000 (12:14 +0100)]
Move FlowLayout test into examples
There's nothing really test-worthy in the ClutterFlowLayout interactive
test; it can be lifted pretty much as is, and placed into the examples.
Emmanuele Bassi [Wed, 2 May 2012 11:03:14 +0000 (12:03 +0100)]
interactive/flow-layout: Modernize code
Drop deprecated API usage.
Emmanuele Bassi [Wed, 2 May 2012 10:59:50 +0000 (11:59 +0100)]
build: Fix BUILD_TESTS condition check
Emmanuele Bassi [Tue, 1 May 2012 17:51:19 +0000 (18:51 +0100)]
build: Allow disabling all tests and examples
This should allow nicer build automation and cross-compilation support.
The former --disable-conformance configure switch has been deprecated by
the --disable-tests one, which is more encompassing as it disables the
whole test suite.
Emmanuele Bassi [Tue, 1 May 2012 17:30:10 +0000 (18:30 +0100)]
Move examples from tests/interactive to a new top-level
The example code that is meant to be XIncluded into the API reference
should not be part of the interactive test suite: it's code that it is
meant to be used as a reference implementation - whereas the interactive
test suite should be allowed to be lean and test behaviour even in nasty
ways. In short: the test suite should not be the place where we show off
idiomatic code for educational purposes.
Emmanuele Bassi [Tue, 1 May 2012 13:04:37 +0000 (14:04 +0100)]
Post-release version bump to 1.11.3
Emmanuele Bassi [Tue, 1 May 2012 12:58:34 +0000 (13:58 +0100)]
Release Clutter 1.11.2
Emmanuele Bassi [Tue, 1 May 2012 12:29:19 +0000 (13:29 +0100)]
conform/actor-graph: Add missing NULL terminator
Christian Kirbach [Mon, 30 Apr 2012 21:20:03 +0000 (23:20 +0200)]
[l10n] Updated German translation
Emmanuele Bassi [Mon, 30 Apr 2012 17:34:37 +0000 (18:34 +0100)]
Add missing symbols
Emmanuele Bassi [Mon, 30 Apr 2012 16:46:48 +0000 (17:46 +0100)]
docs: Replace unknown <envvar> tag with <varname>
Emmanuele Bassi [Mon, 30 Apr 2012 16:45:01 +0000 (17:45 +0100)]
docs: Fix typo in the <structname> tag
Emmanuele Bassi [Mon, 30 Apr 2012 16:12:12 +0000 (17:12 +0100)]
docs: Annotation fixes
The introspection scanner has become slightly more annoying, in the hope
that people start fixing their annotations. As it turns out, it was the
right move.
Jonh Wendell [Sat, 28 Apr 2012 13:27:05 +0000 (10:27 -0300)]
Updated Brazilian Portuguese translation
Fran Diéguez [Fri, 27 Apr 2012 14:44:06 +0000 (16:44 +0200)]
Updated Galician translations
Daniel Mustieles [Fri, 27 Apr 2012 14:25:29 +0000 (16:25 +0200)]
Updated Spanish translation
Emmanuele Bassi [Fri, 27 Apr 2012 13:21:25 +0000 (14:21 +0100)]
animatable: Disable deprecation warnings
We are using deprecated API internally.
Piotr Drąg [Fri, 27 Apr 2012 12:58:55 +0000 (14:58 +0200)]
Updated POTFILES.in
Emmanuele Bassi [Fri, 27 Apr 2012 11:38:19 +0000 (12:38 +0100)]
Disable deprecation warnings in deprecated classes
We know we're using deprecated symbols.
Emmanuele Bassi [Thu, 26 Apr 2012 13:33:53 +0000 (14:33 +0100)]
docs: Mention that patches must pass the conformance tests
People submitting patches should do a conformance test suite run, until
we have a buildbot and a way of running the conformance tests on a
headless setup.
Emmanuele Bassi [Wed, 25 Apr 2012 16:28:05 +0000 (17:28 +0100)]
docs: Add missing symbols to the sections file
Emmanuele Bassi [Wed, 25 Apr 2012 16:22:10 +0000 (17:22 +0100)]
docs: Specify scroll_to_point() coordinate space
Emmanuele Bassi [Wed, 25 Apr 2012 16:13:29 +0000 (17:13 +0100)]
Deprecate ClutterAlpha
It's time. Now that we have clutter_actor_allocate() respecting the
easing state of an actor, and that the LayoutManager animation virtual
functions have been deprecated, we can put ClutterAlpha on the chopping
block, and be done with it, once and for all.
So long, ClutterAlpha; and thanks for all the fish.
Emmanuele Bassi [Wed, 25 Apr 2012 14:49:28 +0000 (15:49 +0100)]
docs: Clean up index
Move CairoTexture to the deprecated section.
Emmanuele Bassi [Wed, 25 Apr 2012 14:48:10 +0000 (15:48 +0100)]
docs: Add ScrollActor to the API reference
Emmanuele Bassi [Thu, 12 Apr 2012 14:56:53 +0000 (15:56 +0100)]
Add ClutterScrollActor
ClutterScrollActor is an actor that allows showing a portion of its
contents.
Emmanuele Bassi [Fri, 20 Apr 2012 17:23:21 +0000 (18:23 +0100)]
interactive/table-layout: Enable animations
Emmanuele Bassi [Fri, 20 Apr 2012 17:14:42 +0000 (18:14 +0100)]
layout-manager: Deprecate the layout animation
This semi-aborted API was broken for various reasons:
- it strongly depended on ClutterAlpha, a class we're trying to
deprecate;
- it requires a lot of boilerplate and copy-and-paste code;
- it requires a full relayout of the actor tree for something
that ought to be automatically handled by ClutterActor.
Now that clutter_actor_allocate() handles transitions using the easing
state of the actor, we can deprecate the LayoutManager API for the 1.x
series, and remove it for the 2.x series.
Emmanuele Bassi [Fri, 20 Apr 2012 17:14:00 +0000 (18:14 +0100)]
table-layout: Deprecate the animation API
Similar to what we did for ClutterBoxLayout.
Emmanuele Bassi [Fri, 20 Apr 2012 17:11:57 +0000 (18:11 +0100)]
box-layout: Deprecate the animation API
BoxLayout will use the easing state of the children it's allocating; the
current API is re-implemented in terms of an implicit easing state
forced on each child prior to allocating it.
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.
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.
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.
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.
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.
Emmanuele Bassi [Thu, 29 Mar 2012 16:20:45 +0000 (17:20 +0100)]
docs: XInclude the bin layout example
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.
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.
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.
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.
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.
Emmanuele Bassi [Thu, 19 Apr 2012 15:00:23 +0000 (16:00 +0100)]
Fixes for the API reference
Typos, missing symbols, and missing documentation.
Emmanuele Bassi [Wed, 11 Apr 2012 17:31:53 +0000 (18:31 +0100)]
docs: Clean up the animation section
Emmanuele Bassi [Wed, 11 Apr 2012 17:30:40 +0000 (18:30 +0100)]
Add deprecation annotations
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.
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.
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.
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.
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.
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.
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.
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.
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.
Emmanuele Bassi [Thu, 22 Mar 2012 10:48:02 +0000 (10:48 +0000)]
docs: Use the Transition 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.
Emmanuele Bassi [Thu, 19 Apr 2012 13:55:08 +0000 (14:55 +0100)]
docs: Add a reference section for geometric types
Emmanuele Bassi [Thu, 19 Apr 2012 11:34:02 +0000 (12:34 +0100)]
Add version annotation for newly added functions
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.
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.
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.
Emmanuele Bassi [Thu, 19 Apr 2012 11:15:17 +0000 (12:15 +0100)]
Add a function to compute the distance between points
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 ())".
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.
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.
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.
Emmanuele Bassi [Fri, 30 Mar 2012 17:53:22 +0000 (18:53 +0100)]
actor: Use ClutterSize for minimum and natural fixed sizes
Emmanuele Bassi [Fri, 30 Mar 2012 17:43:59 +0000 (18:43 +0100)]
actor: Use ClutterPoint for the fixed position
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.
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.
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.
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
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
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.
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.
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
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)
Emmanuele Bassi [Thu, 26 Apr 2012 12:58:06 +0000 (13:58 +0100)]
docs: Add the 1.12 symbols index to the API reference
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.
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>
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>
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
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
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
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
Jasper St. Pierre [Fri, 13 Apr 2012 18:34:22 +0000 (14:34 -0400)]
actor: Not-actors don't have metas
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
Cosimo Cecchi [Fri, 20 Apr 2012 17:31:58 +0000 (18:31 +0100)]
x11/device-manager-xi2: Flip deltas around
Up/down is Y.
Piotr Drąg [Tue, 17 Apr 2012 17:52:47 +0000 (19:52 +0200)]
Updated POTFILES.in
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.
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
Christian Kirbach [Fri, 13 Apr 2012 17:46:47 +0000 (19:46 +0200)]
[l10n] Updated German translation
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.
Emmanuele Bassi [Thu, 12 Apr 2012 16:08:33 +0000 (17:08 +0100)]
interactive/snap-constaint: Modernize code