Commit Graph

6439 Commits

Author SHA1 Message Date
ab88511133 stage: Remove an extra reference count
The dispose sequence will keep the object alive, and we need to release
the last reference held by the StageManager before releasing control to
GObject.
2012-06-24 18:02:45 +01:00
550168eee3 Clean up deprecated header inclusion
The build should not add deprecated/ into the default INCLUDE paths, so
that deprecated headers are clearly separated; this will make it easier
to get rid of them when we branch out for 2.0.
2012-06-23 08:23:11 +01:00
8fe8b9c89e Move PathNode definitions into clutter-types.h
Near ClutterKnot, so that we can easily remove both when we branch off
for 2.0.
2012-06-23 08:23:11 +01:00
49dd99f9c1 text: add touch events support
https://bugzilla.gnome.org/show_bug.cgi?id=678278
2012-06-22 21:53:07 +01:00
927624d92c input-device: add APIs to grab sequences of touch events
https://bugzilla.gnome.org/show_bug.cgi?id=678279
2012-06-22 21:48:58 +01:00
132e4b98d1 drag/drop actions: add touch event support
https://bugzilla.gnome.org/show_bug.cgi?id=678049
2012-06-22 21:40:08 +01:00
1af7de8ac8 actor: add touch event vfuncs
https://bugzilla.gnome.org/show_bug.cgi?id=678047
2012-06-22 21:40:03 +01:00
dd7c1ed64a a11y: implementation for atk_text_get_text_[before/at/after]_offset
Copy and paste of the implementation done at Gtk+ based on pango. This
should be moved to a common library, like the old GailTextUtil. Ideally
on pango itself.

https://bugzilla.gnome.org/show_bug.cgi?id=677221
2012-06-22 18:06:06 +02:00
d2fff6e3c3 actor: Make margin properties animatable
Enable implicit animations for :margin-(top|right|bottom|left)
properties.

https://bugzilla.gnome.org/show_bug.cgi?id=678264
2012-06-22 08:52:00 +02:00
e3ca87784e XI2: Avoid a crash in event translation
It is possible that we get a DeviceChanged event for a device
that is not in the hash table yet. E.g. I've seen this when
using xrandr to change screen resolution. Prevent a crash in
this case.

https://bugzilla.gnome.org/review?bug=678439
2012-06-20 07:22:12 -04:00
d571719a3d 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.
2012-06-20 11:45:21 +02:00
286e7e28e8 Remove duplicate typedefs
Redefining typedefs is allowed by C11 and by a GCC extension, but Clang
doesn't really like it.
2012-06-20 09:13:11 +01:00
c4acae7752 build: Remove gcov from the build
We want to switch to lcov, so let's start with a clean slate.
2012-06-19 14:55:10 +01:00
7b07d4a7c5 transition: Check if we're setting the same interval
If we do, then don't bother.
2012-06-18 23:00:08 +01:00
b658023324 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.
2012-06-18 22:21:14 +01:00
bebe90e565 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.
2012-06-18 18:04:54 +01:00
cfc4e86b31 interval: Compute progress for signed char
Not just for unsigned ones, though both are pretty pointless.
2012-06-18 18:04:54 +01:00
44642b6a57 interval: Validate more fundamental types
64bit integers and floating point values should be validated as well.
2012-06-18 18:04:54 +01:00
54e22590b9 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().
2012-06-18 18:04:54 +01:00
a0c620b157 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.
2012-06-18 17:25:47 +01:00
0d4d467dd5 a11y: Remove key event listener hash table if no longer required
https://bugzilla.gnome.org/show_bug.cgi?id=675183
2012-06-18 12:44:59 +02:00
cafcf14e0e 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
2012-06-18 12:44:55 +02:00
725f4a07f3 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.
2012-06-14 14:57:28 +01:00
60967127b4 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.
2012-06-13 09:09:56 +01:00
e01f9f330d 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.
2012-06-13 08:42:29 +01:00
252eafa520 introspection: assorted annotation fixes ported from Vala
https://bugzilla.gnome.org/show_bug.cgi?id=677778
2012-06-12 17:44:16 -07:00
1bdd214811 grid-layout: Insert new rows/columns at the appropriate position 2012-06-12 23:50:44 +02:00
7c8f761d43 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.
2012-06-12 23:50:44 +02:00
c73549f9d3 Update keysyms headers 2012-06-11 13:47:29 +01:00
716ee65a98 keysyms-update: Add deprecation guards to the deprecated header
We still need to add them in case the header is directly included.
2012-06-11 13:46:38 +01:00
7118bab23c docs: Change GridLayout's short description
Clutter doesn't have widgets.
2012-06-11 10:02:38 +01:00
231f0cbd0c docs: Document user_data argument for BindingActionFunc 2012-06-10 23:34:47 +01:00
5eb07a3010 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.
2012-06-10 17:54:22 +01:00
17539bca95 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".
2012-06-10 17:54:22 +01:00
24495918bb docs: Further clarifications on implicit vs explicit animations
The wording is a bit terse, so it's better to clarify it.
2012-06-10 17:54:21 +01:00
7043a3a1ed 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.
2012-06-10 17:54:21 +01:00
9412b1a4c3 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.
2012-06-10 17:54:21 +01:00
0a5967ef50 binding-pool: add user_data parameter to ClutterBindingActionFunc
https://bugzilla.gnome.org/show_bug.cgi?id=677659
2012-06-09 13:25:17 -07:00
b21cb29479 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.
2012-06-08 17:33:30 +01:00
762053cd28 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.
2012-06-08 17:32:51 +01:00
dfab055443 interval: Add initial and final properties
This allows creating a ClutterInterval from language bindings without
using the setter functions.
2012-06-08 15:03:22 +01:00
7660f5d0c6 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.
2012-06-08 14:33:01 +01:00
189a93677f text: Chain up in the ScriptableIface implementation
We need ClutterActor's implementation to run as well.
2012-06-08 14:33:01 +01:00
c6e1d02fed canvas: Use the actor's content repeat policy
Similarly to what ClutterImage does.
2012-06-08 14:33:00 +01:00
92fc2c760c 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.
2012-06-08 14:33:00 +01:00
e7aa21203c 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.
2012-06-08 14:33:00 +01:00
ec296646f6 table: Deprecate the align, expand, and fill layout properties
ClutterActor exposes their equivalent, and ClutterTableLayout honours
them since commit 8e24de86b6.
2012-06-08 12:05:50 +01:00
75c3339c66 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.
2012-06-08 12:05:50 +01:00
c0b3e2e83a 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.
2012-06-08 11:34:40 +02:00
76f1a42ef8 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.
2012-06-07 16:44:08 +02:00