Andy Wingo [Wed, 20 Jun 2012 08:26:49 +0000 (10:26 +0200)]
cairo: Always update texture after ClutterCairoTexture::draw
* clutter/clutter-cairo-texture.c (clutter_cairo_texture_emit_draw):
Always update the Cogl texture after emitting ::draw, since we control
the dynamic extent in which drawing should happen on the cairo_t.
Fixes #677966.
Emmanuele Bassi [Wed, 20 Jun 2012 08:13:11 +0000 (09:13 +0100)]
Remove duplicate typedefs
Redefining typedefs is allowed by C11 and by a GCC extension, but Clang
doesn't really like it.
Emmanuele Bassi [Wed, 20 Jun 2012 07:52:40 +0000 (08:52 +0100)]
interactive/touch-events: Protect x11-specific calls
Use the CLUTTER_WINDOWING_X11 define to protect platform-specific calls
like clutter_x11_enable_xinput().
https://bugzilla.gnome.org/show_bug.cgi?id=678423
Emmanuele Bassi [Wed, 20 Jun 2012 07:50:48 +0000 (08:50 +0100)]
conform: Put xinput enabling under guards
Calling clutter_x11_* API should be done only under the platform
specific guards we provide with Clutter.
https://bugzilla.gnome.org/show_bug.cgi?id=678423
Emmanuele Bassi [Tue, 19 Jun 2012 13:43:40 +0000 (14:43 +0100)]
build: Add coverage support using lcov
Unlike gcov, lcov provides a nice HTML output that allows immediate
visualization of the current coverage.
The updates of the build system have been taken from GLib, which has
been using lcov for a while with good results.
Emmanuele Bassi [Tue, 19 Jun 2012 13:17:05 +0000 (14:17 +0100)]
build: Remove gcov from the build
We want to switch to lcov, so let's start with a clean slate.
Emmanuele Bassi [Tue, 19 Jun 2012 11:18:32 +0000 (12:18 +0100)]
interactive/touch-events: Add a missing return value
The draw_touches() function must return a boolean value.
https://bugzilla.gnome.org/show_bug.cgi?id=678391
Sasi Bhushan Boddepalli [Tue, 19 Jun 2012 11:26:01 +0000 (16:56 +0530)]
Updated Telugu Translation
Emmanuele Bassi [Tue, 19 Jun 2012 08:38:01 +0000 (09:38 +0100)]
build: Remove tarball upload to clutter-project.org
Without being on the Intel network, you can't upload the tarball on
clutter-project.org, so it'll have to be done manually from now on.
Emmanuele Bassi [Mon, 18 Jun 2012 22:00:08 +0000 (23:00 +0100)]
transition: Check if we're setting the same interval
If we do, then don't bother.
Emmanuele Bassi [Mon, 18 Jun 2012 21:21:14 +0000 (22:21 +0100)]
property-transition: Lazily convert the interpolated value
If the Interval used has a different type than the property we are
animating through a PropertyTransition then we should transform the
interpolated value before applying it, to avoid warnings down the
line.
Emmanuele Bassi [Mon, 18 Jun 2012 17:04:10 +0000 (18:04 +0100)]
conform/interval: Add transformation unit test
Verify that it's possible to pass a transformable type to
ClutterInterval.
Emmanuele Bassi [Mon, 18 Jun 2012 16:54:06 +0000 (17:54 +0100)]
interval: Do not leak the result GValue
The compute() method will cache the result, to avoid multiple
allocations and copies; this means, though, that we need to unset the
GValue when destroying the Interval.
Emmanuele Bassi [Mon, 18 Jun 2012 16:53:26 +0000 (17:53 +0100)]
interval: Compute progress for signed char
Not just for unsigned ones, though both are pretty pointless.
Emmanuele Bassi [Mon, 18 Jun 2012 16:52:37 +0000 (17:52 +0100)]
interval: Validate more fundamental types
64bit integers and floating point values should be validated as well.
Emmanuele Bassi [Mon, 18 Jun 2012 16:51:48 +0000 (17:51 +0100)]
conform: Initial suite for ClutterInterval
ClutterInterval is undertested, so we should start adding a unit test
for it.
Emmanuele Bassi [Mon, 18 Jun 2012 17:02:58 +0000 (18:02 +0100)]
interval: Remove unnecessary check
Now that the interval can transform the initial and final values to the
type declared when constructing it, there is no need to check for the
value type inside set_initial_value() and set_final_value().
Emmanuele Bassi [Mon, 18 Jun 2012 10:07:39 +0000 (11:07 +0100)]
interval: Transform values on set, if needed
It's possible that GValues passed to a ClutterInterval setter are not
of the same type as the interval - for instance, if they come from
language bindings, or from untrusted sources; we can use the same
transformation functions we already use inside ClutterTransition to
ensure that the ClutterInterval always stores values of the same type
used to create the interval itself.
Alejandro Piñeiro [Mon, 18 Jun 2012 09:28:45 +0000 (11:28 +0200)]
tests: a11y: updated atkevents after bug 675183
Alejandro Piñeiro [Mon, 18 Jun 2012 09:30:25 +0000 (11:30 +0200)]
a11y: Remove key event listener hash table if no longer required
https://bugzilla.gnome.org/show_bug.cgi?id=675183
Alejandro Piñeiro [Wed, 9 May 2012 15:10:55 +0000 (17:10 +0200)]
a11y: atk_add_key_event_listener listener_id should not return 0 as a valid value
cally_util_add_key_event_listener first id returned was 0, but as
the documentation says, this is a reserved value for a wrong id
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=675183
Frédéric Péters [Tue, 12 Jun 2012 06:25:05 +0000 (08:25 +0200)]
tests: link test-conformance against libm
https://bugzilla.gnome.org/show_bug.cgi?id=677921
Emmanuele Bassi [Wed, 13 Jun 2012 09:23:28 +0000 (10:23 +0100)]
canvas: Propagate Cairo errors when diagnostic mode is enabled
It can be a useful debugging tool to report the eventual error state of
the cairo_t after the ::draw signal emission ended.
Tomeu Vizoso [Thu, 14 Jun 2012 09:17:05 +0000 (11:17 +0200)]
tests: Make sure we return 0 only on error
Tomeu Vizoso [Wed, 13 Jun 2012 10:37:02 +0000 (12:37 +0200)]
Stop casting ClutterTouchSequence* to ulong
Use instead a hash table to link touch sequences to colors.
Emmanuele Bassi [Wed, 13 Jun 2012 08:09:56 +0000 (09:09 +0100)]
docs: Mention the Timeline::stopped signal in the class description
Now that we have the ::stopped signal, it would be good if the
documentation mentioned it explicitly as the dual of the ::started
signal.
Emmanuele Bassi [Tue, 12 Jun 2012 21:44:42 +0000 (22:44 +0100)]
timeline: Emit last ::completed before ::stopped
The ::stopped signal should be emitted at the end of the Timeline, after
the last ::completed signal emission, in order to have a proper
chronological progress of signal emissions:
started → new-frame → [ ... ] → completed → stopped
This way, ::stopped can perform a proper teardown of the state set up
during ::started, without interfering with the potential cyclical
emission of ::completed.
Evan Nemerson [Tue, 12 Jun 2012 22:41:39 +0000 (15:41 -0700)]
introspection: assorted annotation fixes ported from Vala
https://bugzilla.gnome.org/show_bug.cgi?id=677778
Bastian Winkler [Tue, 12 Jun 2012 12:30:00 +0000 (14:30 +0200)]
grid-layout: Insert new rows/columns at the appropriate position
Bastian Winkler [Mon, 11 Jun 2012 15:17:46 +0000 (17:17 +0200)]
grid-layout: Fix attach position for horizontal orientation
Switch the attach position. A new child should be positioned right of
it's previous sibling in ltr mode.
Ihar Hrachyshka [Tue, 12 Jun 2012 15:10:27 +0000 (18:10 +0300)]
Updated Belarusian translation.
Emmanuele Bassi [Mon, 11 Jun 2012 12:47:29 +0000 (13:47 +0100)]
Update keysyms headers
Emmanuele Bassi [Mon, 11 Jun 2012 12:46:38 +0000 (13:46 +0100)]
keysyms-update: Add deprecation guards to the deprecated header
We still need to add them in case the header is directly included.
Emmanuele Bassi [Mon, 11 Jun 2012 09:21:36 +0000 (10:21 +0100)]
docs: Update the release notes for 1.12
Emmanuele Bassi [Mon, 11 Jun 2012 09:02:38 +0000 (10:02 +0100)]
docs: Change GridLayout's short description
Clutter doesn't have widgets.
Emmanuele Bassi [Sun, 10 Jun 2012 22:34:47 +0000 (23:34 +0100)]
docs: Document user_data argument for BindingActionFunc
Emmanuele Bassi [Sun, 10 Jun 2012 22:33:00 +0000 (23:33 +0100)]
docs: Add missing clutter_interval_is_valid symbol
Emmanuele Bassi [Sat, 9 Jun 2012 09:38:09 +0000 (10:38 +0100)]
base-types: Don't free zero point and rect
Calling clutter_point_free(clutter_point_zero()) or calling
clutter_rect_free(clutter_rect_zero()) should be safe, exactly like it's
safe to call those functions with a NULL argument.
Emmanuele Bassi [Sat, 9 Jun 2012 09:35:56 +0000 (10:35 +0100)]
base-types: Add zero point and rect
A constant ClutterPoint for (0, 0) and a constant degenerate ClutterRect
can be useful as guards for pointers, freeing the NULL value to mean
"unset".
Emmanuele Bassi [Sat, 9 Jun 2012 09:08:46 +0000 (10:08 +0100)]
docs: Further clarifications on implicit vs explicit animations
The wording is a bit terse, so it's better to clarify it.
Emmanuele Bassi [Sat, 9 Jun 2012 08:53:14 +0000 (09:53 +0100)]
docs: Remove the old animation tutorial
The animation tutorial was written in the Good Ol' 0.x days, and has
barely been updated during the 1.x cycle; it only referenced low level
or deprecated API, and the ClutterActor class description has a whole
section on how to animate actors using both the implicit and the
explicit animation API.
Emmanuele Bassi [Fri, 8 Jun 2012 17:39:01 +0000 (18:39 +0100)]
docs: Add notes on implicit vs. explicit animations
The implicit animations only apply to properties that are documented as
'animatable'; the explicit animations apply to any property defined
through GObject or ClutterAnimatable.
Emmanuele Bassi [Fri, 8 Jun 2012 17:13:31 +0000 (18:13 +0100)]
actor: Provide an initial easing state
For 1.x, we still have a duration of 0 msecs, but we have a valid easing
state, so we can change the easing parameters without calling save and
restore.
Evan Nemerson [Thu, 7 Jun 2012 23:22:03 +0000 (16:22 -0700)]
binding-pool: add user_data parameter to ClutterBindingActionFunc
https://bugzilla.gnome.org/show_bug.cgi?id=677659
Daniel Mustieles [Sat, 9 Jun 2012 09:54:54 +0000 (11:54 +0200)]
Updated Spanish translation
Fran Diéguez [Fri, 8 Jun 2012 18:03:55 +0000 (20:03 +0200)]
Updated Galician translations
Emmanuele Bassi [Fri, 8 Jun 2012 16:33:30 +0000 (17:33 +0100)]
property-transition: Verify the interval on compute_value()
By checking if the interval is valid inside compute_value() we can catch
the cases where the interval values of a PropertyTransition are set
after the transition has been added to an Animatable instance - i.e. the
following code:
let transition = new Clutter.PropertyTransition();
transition.set_property_name('opacity');
actor.add_transition('opacityAnim', transition);
transition.set_to_value(0);
should be equivalent to:
let transition = new Clutter.PropertyTransition();
transition.set_property_name('opacity');
transition.set_to_value(0);
actor.add_transition('opacityAnim', transition);
instead of emitting a warning.
Emmanuele Bassi [Fri, 8 Jun 2012 16:32:51 +0000 (17:32 +0100)]
interval: Add is_valid() method
The is_valid() method checks if the Interval has an initial and final
values and it's not still uninitialized.
Emmanuele Bassi [Fri, 8 Jun 2012 14:03:22 +0000 (15:03 +0100)]
interval: Add initial and final properties
This allows creating a ClutterInterval from language bindings without
using the setter functions.
Emmanuele Bassi [Fri, 8 Jun 2012 13:24:57 +0000 (14:24 +0100)]
transition: Use current values if no interval is defined
Once a ClutterPropertyTransition is attached to a ClutterAnimatable, if
no interval is set we can simply use the current state of the property
to define the from and to values. This allows the creation of property
transitions from the current state of the Animatable instance without
excessive verbosity.
Emmanuele Bassi [Fri, 8 Jun 2012 13:13:36 +0000 (14:13 +0100)]
text: Chain up in the ScriptableIface implementation
We need ClutterActor's implementation to run as well.
Emmanuele Bassi [Fri, 8 Jun 2012 11:49:07 +0000 (12:49 +0100)]
canvas: Use the actor's content repeat policy
Similarly to what ClutterImage does.
Emmanuele Bassi [Fri, 8 Jun 2012 11:45:39 +0000 (12:45 +0100)]
image: Use the actor's content repeat policy
When painting we can now use the ClutterActor content-repeat property to
decide whether or not to repeat the texture data.
Emmanuele Bassi [Fri, 8 Jun 2012 11:44:28 +0000 (12:44 +0100)]
actor: Add content-repeat
ClutterContent implementations may allow repeating their contents when
painting; we should provide the repeat policy on the actor, like we do
for scaling filters and content gravity.
Emmanuele Bassi [Thu, 7 Jun 2012 17:02:25 +0000 (18:02 +0100)]
table: Deprecate the align, expand, and fill layout properties
ClutterActor exposes their equivalent, and ClutterTableLayout honours
them since commit
8e24de86b6f88f3bfd1e65cdfd845f330212d1c6.
Emmanuele Bassi [Thu, 7 Jun 2012 15:14:21 +0000 (16:14 +0100)]
text: Use actor alignments when painting the layout
ClutterActor's x-align and y-align properties should be used to control
the alignment of the PangoLayout when painting it within a larger
allocation, and the ClutterText has the x-expand or the y-expand flags
set.
Alexander Larsson [Fri, 8 Jun 2012 09:29:43 +0000 (11:29 +0200)]
Don't allocate size to invisible BinLayout children
This is similar to what other layouts do, and avoids problems with
Gtk+ actor children which warn about being allocated not enough
space.
Alexander Larsson [Thu, 7 Jun 2012 14:44:08 +0000 (16:44 +0200)]
BinLayout: Always use fixed_x/y for FIXED if set
We want to use the actually set value for x/y, not the current allocation,
as that might be a transition from an earlier allocation animation.
Alexander Larsson [Thu, 7 Jun 2012 14:32:01 +0000 (16:32 +0200)]
Ensure that fixed positions always start at 0,0
Fixed positions are defined to be initialized at 0,0 whenever
enabled, by setting fixed_position_enabled to true, or by setting
just one of x/y. This normally happens in the defaults, but we need
to make sure it also happens if a fixed position was once set but
then disabled. We do this by always resetting it back to 0,0 when
fixed_position_set is unset.
Alexander Larsson [Thu, 7 Jun 2012 14:31:22 +0000 (16:31 +0200)]
Add _clutter_actor_peek_layout_info
This will be needed later to get a layout_info without creating one
if there is none already.
Emmanuele Bassi [Thu, 7 Jun 2012 11:23:49 +0000 (12:23 +0100)]
conform/events-touch: Silently bail out if init failed
This removes the need to conditionally run the test.
Emmanuele Bassi [Thu, 7 Jun 2012 11:06:56 +0000 (12:06 +0100)]
actor: Improve debug message for create_transition()
Add the property and easing state information.
Emmanuele Bassi [Thu, 7 Jun 2012 10:51:33 +0000 (11:51 +0100)]
debug: Group debug messages by timestamps
Instead of showing the full timestamp for debugging messages that happen
within a second, showing the delta from the previous full timestamp can
be more useful when debugging; this allows immediately seeing the time
difference, instead of doing the math in our heads.
Emmanuele Bassi [Thu, 7 Jun 2012 10:34:12 +0000 (11:34 +0100)]
actor: Improve the debug name
Only for debug builds, the debug name should include a) actor name, b)
type name, and c) pointer address.
For non-debug builds we can live with the actor/type name.
Tomeu Vizoso [Thu, 7 Jun 2012 09:08:49 +0000 (11:08 +0200)]
tests: Add unit test for touch event handling
For now, it just generates a simple horizontal slide (by writing
to /dev/uinput) and checks that the stage gets the events at the
expected coordinates.
The test won't run if it doesn't have read/write permissions to
/dev/uinput.
It also adds OS_LINUX to config.h.
Emmanuele Bassi [Wed, 6 Jun 2012 12:39:50 +0000 (13:39 +0100)]
examples: Enable maintainer compiler flags
Another step in keeping the example code up to date and correct.
Emmanuele Bassi [Wed, 6 Jun 2012 12:39:47 +0000 (13:39 +0100)]
examples/layout: Initialize variables to avoid warnings
Emmanuele Bassi [Wed, 6 Jun 2012 12:37:05 +0000 (13:37 +0100)]
examples: Build with deprecation warnings turned on
We want to ensure that the examples stay valid and idiomatic; thus, we
should build them with deprecation warnings turned on.
Emmanuele Bassi [Wed, 6 Jun 2012 12:37:02 +0000 (13:37 +0100)]
examples/constraints: Do not use deprecated API
Emmanuele Bassi [Wed, 6 Jun 2012 12:36:46 +0000 (13:36 +0100)]
examples/flow: Do not use deprecated API
Emmanuele Bassi [Wed, 6 Jun 2012 10:19:33 +0000 (11:19 +0100)]
docs: Fix wrong rotation-* properties name
Copy and paste typos from the old documentation.
Danielle Madeley [Tue, 5 Jun 2012 05:00:48 +0000 (15:00 +1000)]
evdev: Use new xkbcommon include path
Inspired by a similar patch in Wayland.
Emmanuele Bassi [Tue, 5 Jun 2012 18:52:13 +0000 (19:52 +0100)]
Post-release version bump to 1.11.5
Emmanuele Bassi [Tue, 5 Jun 2012 18:36:45 +0000 (19:36 +0100)]
Release Clutter 1.11.4 (snapshot)
Emmanuele Bassi [Tue, 5 Jun 2012 18:40:07 +0000 (19:40 +0100)]
symbols: Add missing functions
Emmanuele Bassi [Tue, 5 Jun 2012 18:27:28 +0000 (19:27 +0100)]
docs: Add ClutterTimelineClass.stopped annotation
Emmanuele Bassi [Mon, 4 Jun 2012 22:16:30 +0000 (23:16 +0100)]
examples/threads: Modernize code
Drop the usage of behaviours and alphas, and use transitions and
implicit animations instead.
Daniel Mustieles [Tue, 5 Jun 2012 15:56:45 +0000 (17:56 +0200)]
Updated Spanish translation
Tomeu Vizoso [Mon, 4 Jun 2012 11:15:43 +0000 (13:15 +0200)]
tests: Add interactive test for touch events
https://bugzilla.gnome.org/show_bug.cgi?id=677390
Tomeu Vizoso [Mon, 4 Jun 2012 11:15:13 +0000 (13:15 +0200)]
events: Deliver touch events to actors
https://bugzilla.gnome.org/show_bug.cgi?id=677390
Fran Diéguez [Tue, 5 Jun 2012 13:51:07 +0000 (15:51 +0200)]
Updated Galician translations
Piotr Drąg [Tue, 5 Jun 2012 13:24:57 +0000 (15:24 +0200)]
Updated POTFILES.in
Bastian Winkler [Sun, 3 Jun 2012 10:18:37 +0000 (12:18 +0200)]
examples: Add a grid-layout example
A fairly complete example for ClutterGridLayout
https://bugzilla.gnome.org/show_bug.cgi?id=677372
Bastian Winkler [Sun, 3 Jun 2012 03:02:31 +0000 (05:02 +0200)]
Add ClutterGridLayout
ClutterGridLayout is port of GtkGrid to a Clutter layout manager. All
the logic is taken from gtkgrid.c, so all the credits should go to
Matthias Clasen for writing this nice piece of code.
ClutterGridLayout supports adding children with it's own methods
GridLayout.attach() and GridLayout.attach_next_to() as well as
Actor.add_child() and friends. The latter adds children in a similar
fashion to ClutterBoxLayout
https://bugzilla.gnome.org/show_bug.cgi?id=677372
Alexander Larsson [Tue, 5 Jun 2012 08:55:17 +0000 (10:55 +0200)]
Don't allocate size for invisible BinLayout children
Bastian Winkler [Mon, 4 Jun 2012 09:47:58 +0000 (11:47 +0200)]
box-layout: Deprecate expand/fill/align child properties
These are covered by ClutterActor:[xy]-align and
ClutterActor:[xy]-expand
https://bugzilla.gnome.org/show_bug.cgi?id=677283
Bastian Winkler [Sat, 2 Jun 2012 13:01:11 +0000 (15:01 +0200)]
examples: Updated box-layout example
Updated test-box-layout to use modern API and move it to examples.
https://bugzilla.gnome.org/show_bug.cgi?id=677283
Bastian Winkler [Fri, 1 Jun 2012 14:43:11 +0000 (16:43 +0200)]
box-layout: Honor actor expand and alignment
Check if the actor has needs to expand and use Actor.allocate() instead
of Actor.allocate_align_fill() in that case.
https://bugzilla.gnome.org/show_bug.cgi?id=677283
Bastian Winkler [Fri, 1 Jun 2012 14:49:51 +0000 (16:49 +0200)]
table-layout: Honor actors expand and alignment settings
Check if the actor has needs to expand and use Actor.allocate() instead
of Actor.allocate_align_fill in that case.
https://bugzilla.gnome.org/show_bug.cgi?id=677284
Bastian Winkler [Sun, 3 Jun 2012 11:55:30 +0000 (13:55 +0200)]
doc: Add ClutterLayoutManagerPrivate to doc sections
https://bugzilla.gnome.org/show_bug.cgi?id=677384
Emmanuele Bassi [Mon, 4 Jun 2012 09:34:22 +0000 (10:34 +0100)]
image: Add a data setter using GBytes
The plain C bytes array, while convenient from a C perspective, is not
well handled by language bindings: the length of the array is not
specified, and it's only just implied by the image data size, rowstride,
and pixel format.
GBytes is a read-only bytes buffer that has an implicit length; we can
use it as the storage medium so that language bindings can actually
function correctly.
Bruno Brouard [Sun, 3 Jun 2012 11:51:19 +0000 (13:51 +0200)]
Updated French translation
Fran Diéguez [Sun, 3 Jun 2012 01:23:40 +0000 (03:23 +0200)]
Updated Galician translations
Debarshi Ray [Sun, 13 May 2012 22:57:57 +0000 (00:57 +0200)]
cookbook/examples: Don't mix up height and width while splitting
Fixes: https://bugzilla.gnome.org/675998
Emmanuele Bassi [Thu, 31 May 2012 09:06:05 +0000 (10:06 +0100)]
osx/backend: Chain up in create_context()
This will ensure that we have a CoglContext, albeit the stub winsys one,
on Mac.
Tested-by: Roland Peffer <gdevel@clixxun.com>
Tested-by: Laszlo Pandy <laszlok2@gmail.com>
Emanuele Aina [Tue, 29 May 2012 15:40:51 +0000 (17:40 +0200)]
Fix width-for-height allocations
https://bugzilla.gnome.org/show_bug.cgi?id=677039
Emmanuele Bassi [Fri, 25 May 2012 23:41:14 +0000 (19:41 -0400)]
timeline: Add a new "stopped" signal
The ::stopped signal is emitted when the timeline has been completely
exhausted or when the timeline has been programmatically stopped by
using clutter_timeline_stop(); the notification at the end of the
timeline run allows to write handlers without having to check whether
the current repeat is the last one, like we are forced to do when using
the ::completed signal.
Based on the patch by: Jasper St. Pierre <jstpierre@mecheye.net>
https://bugzilla.gnome.org/show_bug.cgi?id=676854
Emmanuele Bassi [Wed, 30 May 2012 13:26:58 +0000 (14:26 +0100)]
actor: Stop transitions on remove_child()
There's no point in having transitions running when removing a child, so
we just stop them.
https://bugzilla.gnome.org/show_bug.cgi?id=677098
Daniel Mustieles [Wed, 30 May 2012 15:48:00 +0000 (17:48 +0200)]
Updated Spanish translation
Emmanuele Bassi [Tue, 29 May 2012 14:39:59 +0000 (15:39 +0100)]
actor: Finally fix RESIZE_ASPECT content gravity
Ensure that resizing transitions smoothly when switching between major
axis; the allocation aspect ratio is not important: it's the size of the
allocation that dictates the major axis.