2
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
3
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
4
<!ENTITY version "1.0.8">
7
<refentry id="clutter-Implicit-Animations">
9
<refentrytitle role="top_of_page" id="clutter-Implicit-Animations.top_of_page">Implicit Animations</refentrytitle>
10
<manvolnum>3</manvolnum>
11
<refmiscinfo>CLUTTER Library</refmiscinfo>
15
<refname>Implicit Animations</refname>
16
<refpurpose>Simple implicit animations</refpurpose>
19
<refsynopsisdiv id="clutter-Implicit-Animations.synopsis" role="synopsis">
20
<title role="synopsis.title">Synopsis</title>
21
<anchor id="ClutterAnimation"/>
23
<link linkend="ClutterAnimation-struct">ClutterAnimation</link>;
24
<link linkend="ClutterAnimationClass">ClutterAnimationClass</link>;
25
enum <link linkend="ClutterAnimationMode">ClutterAnimationMode</link>;
26
<link linkend="ClutterAnimation">ClutterAnimation</link> * <link linkend="clutter-animation-new">clutter_animation_new</link> (void);
27
<link linkend="void">void</link> <link linkend="clutter-animation-set-object">clutter_animation_set_object</link> (<link linkend="ClutterAnimation">ClutterAnimation</link> *animation,
28
<link linkend="GObject">GObject</link> *object);
29
<link linkend="GObject">GObject</link> * <link linkend="clutter-animation-get-object">clutter_animation_get_object</link> (<link linkend="ClutterAnimation">ClutterAnimation</link> *animation);
30
<link linkend="void">void</link> <link linkend="clutter-animation-set-mode">clutter_animation_set_mode</link> (<link linkend="ClutterAnimation">ClutterAnimation</link> *animation,
31
<link linkend="gulong">gulong</link> mode);
32
<link linkend="gulong">gulong</link> <link linkend="clutter-animation-get-mode">clutter_animation_get_mode</link> (<link linkend="ClutterAnimation">ClutterAnimation</link> *animation);
33
<link linkend="void">void</link> <link linkend="clutter-animation-set-duration">clutter_animation_set_duration</link> (<link linkend="ClutterAnimation">ClutterAnimation</link> *animation,
34
<link linkend="gint">gint</link> msecs);
35
<link linkend="guint">guint</link> <link linkend="clutter-animation-get-duration">clutter_animation_get_duration</link> (<link linkend="ClutterAnimation">ClutterAnimation</link> *animation);
36
<link linkend="void">void</link> <link linkend="clutter-animation-set-loop">clutter_animation_set_loop</link> (<link linkend="ClutterAnimation">ClutterAnimation</link> *animation,
37
<link linkend="gboolean">gboolean</link> loop);
38
<link linkend="gboolean">gboolean</link> <link linkend="clutter-animation-get-loop">clutter_animation_get_loop</link> (<link linkend="ClutterAnimation">ClutterAnimation</link> *animation);
39
<link linkend="void">void</link> <link linkend="clutter-animation-set-timeline">clutter_animation_set_timeline</link> (<link linkend="ClutterAnimation">ClutterAnimation</link> *animation,
40
<link linkend="ClutterTimeline">ClutterTimeline</link> *timeline);
41
<link linkend="ClutterTimeline">ClutterTimeline</link> * <link linkend="clutter-animation-get-timeline">clutter_animation_get_timeline</link> (<link linkend="ClutterAnimation">ClutterAnimation</link> *animation);
42
<link linkend="void">void</link> <link linkend="clutter-animation-set-alpha">clutter_animation_set_alpha</link> (<link linkend="ClutterAnimation">ClutterAnimation</link> *animation,
43
<link linkend="ClutterAlpha">ClutterAlpha</link> *alpha);
44
<link linkend="ClutterAlpha">ClutterAlpha</link> * <link linkend="clutter-animation-get-alpha">clutter_animation_get_alpha</link> (<link linkend="ClutterAnimation">ClutterAnimation</link> *animation);
45
<link linkend="void">void</link> <link linkend="clutter-animation-completed">clutter_animation_completed</link> (<link linkend="ClutterAnimation">ClutterAnimation</link> *animation);
47
<link linkend="ClutterAnimation">ClutterAnimation</link> * <link linkend="clutter-animation-bind">clutter_animation_bind</link> (<link linkend="ClutterAnimation">ClutterAnimation</link> *animation,
48
const <link linkend="gchar">gchar</link> *property_name,
49
const <link linkend="GValue">GValue</link> *final);
50
<link linkend="ClutterAnimation">ClutterAnimation</link> * <link linkend="clutter-animation-bind-interval">clutter_animation_bind_interval</link> (<link linkend="ClutterAnimation">ClutterAnimation</link> *animation,
51
const <link linkend="gchar">gchar</link> *property_name,
52
<link linkend="ClutterInterval">ClutterInterval</link> *interval);
53
<link linkend="void">void</link> <link linkend="clutter-animation-update-interval">clutter_animation_update_interval</link> (<link linkend="ClutterAnimation">ClutterAnimation</link> *animation,
54
const <link linkend="gchar">gchar</link> *property_name,
55
<link linkend="ClutterInterval">ClutterInterval</link> *interval);
56
<link linkend="gboolean">gboolean</link> <link linkend="clutter-animation-has-property">clutter_animation_has_property</link> (<link linkend="ClutterAnimation">ClutterAnimation</link> *animation,
57
const <link linkend="gchar">gchar</link> *property_name);
58
<link linkend="void">void</link> <link linkend="clutter-animation-unbind-property">clutter_animation_unbind_property</link> (<link linkend="ClutterAnimation">ClutterAnimation</link> *animation,
59
const <link linkend="gchar">gchar</link> *property_name);
60
<link linkend="ClutterInterval">ClutterInterval</link> * <link linkend="clutter-animation-get-interval">clutter_animation_get_interval</link> (<link linkend="ClutterAnimation">ClutterAnimation</link> *animation,
61
const <link linkend="gchar">gchar</link> *property_name);
63
<link linkend="ClutterAnimation">ClutterAnimation</link> * <link linkend="clutter-actor-animate">clutter_actor_animate</link> (<link linkend="ClutterActor">ClutterActor</link> *actor,
64
<link linkend="gulong">gulong</link> mode,
65
<link linkend="guint">guint</link> duration,
66
const <link linkend="gchar">gchar</link> *first_property_name,
68
<link linkend="ClutterAnimation">ClutterAnimation</link> * <link linkend="clutter-actor-animate-with-timeline">clutter_actor_animate_with_timeline</link> (<link linkend="ClutterActor">ClutterActor</link> *actor,
69
<link linkend="gulong">gulong</link> mode,
70
<link linkend="ClutterTimeline">ClutterTimeline</link> *timeline,
71
const <link linkend="gchar">gchar</link> *first_property_name,
73
<link linkend="ClutterAnimation">ClutterAnimation</link> * <link linkend="clutter-actor-animate-with-alpha">clutter_actor_animate_with_alpha</link> (<link linkend="ClutterActor">ClutterActor</link> *actor,
74
<link linkend="ClutterAlpha">ClutterAlpha</link> *alpha,
75
const <link linkend="gchar">gchar</link> *first_property_name,
77
<link linkend="ClutterAnimation">ClutterAnimation</link> * <link linkend="clutter-actor-animatev">clutter_actor_animatev</link> (<link linkend="ClutterActor">ClutterActor</link> *actor,
78
<link linkend="gulong">gulong</link> mode,
79
<link linkend="guint">guint</link> duration,
80
<link linkend="gint">gint</link> n_properties,
81
const <link linkend="gchar">gchar</link> * const properties[],
82
const <link linkend="GValue">GValue</link> *values);
83
<link linkend="ClutterAnimation">ClutterAnimation</link> * <link linkend="clutter-actor-animate-with-timelinev">clutter_actor_animate_with_timelinev</link>
84
(<link linkend="ClutterActor">ClutterActor</link> *actor,
85
<link linkend="gulong">gulong</link> mode,
86
<link linkend="ClutterTimeline">ClutterTimeline</link> *timeline,
87
<link linkend="gint">gint</link> n_properties,
88
const <link linkend="gchar">gchar</link> * const properties[],
89
const <link linkend="GValue">GValue</link> *values);
90
<link linkend="ClutterAnimation">ClutterAnimation</link> * <link linkend="clutter-actor-animate-with-alphav">clutter_actor_animate_with_alphav</link> (<link linkend="ClutterActor">ClutterActor</link> *actor,
91
<link linkend="ClutterAlpha">ClutterAlpha</link> *alpha,
92
<link linkend="gint">gint</link> n_properties,
93
const <link linkend="gchar">gchar</link> * const properties[],
94
const <link linkend="GValue">GValue</link> *values);
95
<link linkend="ClutterAnimation">ClutterAnimation</link> * <link linkend="clutter-actor-get-animation">clutter_actor_get_animation</link> (<link linkend="ClutterActor">ClutterActor</link> *actor);
99
<refsect1 id="clutter-Implicit-Animations.object-hierarchy" role="object_hierarchy">
100
<title role="object_hierarchy.title">Object Hierarchy</title>
102
<link linkend="GObject">GObject</link>
103
+----ClutterAnimation
111
<refsect1 id="clutter-Implicit-Animations.properties" role="properties">
112
<title role="properties.title">Properties</title>
114
"<link linkend="ClutterAnimation--alpha">alpha</link>" <link linkend="ClutterAlpha">ClutterAlpha</link>* : Read / Write
115
"<link linkend="ClutterAnimation--duration">duration</link>" <link linkend="guint">guint</link> : Read / Write
116
"<link linkend="ClutterAnimation--loop">loop</link>" <link linkend="gboolean">gboolean</link> : Read / Write
117
"<link linkend="ClutterAnimation--mode">mode</link>" <link linkend="gulong">gulong</link> : Read / Write
118
"<link linkend="ClutterAnimation--object">object</link>" <link linkend="GObject">GObject</link>* : Read / Write
119
"<link linkend="ClutterAnimation--timeline">timeline</link>" <link linkend="ClutterTimeline">ClutterTimeline</link>* : Read / Write
123
<refsect1 id="clutter-Implicit-Animations.signals" role="signal_proto">
124
<title role="signal_proto.title">Signals</title>
126
"<link linkend="ClutterAnimation-completed">completed</link>" : Run Last
127
"<link linkend="ClutterAnimation-started">started</link>" : Run Last
132
<refsect1 id="clutter-Implicit-Animations.description" role="desc">
133
<title role="desc.title">Description</title>
135
<link linkend="ClutterAnimation"><type>ClutterAnimation</type></link> is an object providing simple, implicit animations
136
for <link linkend="GObject"><type>GObject</type></link><!-- -->s.
139
<link linkend="ClutterAnimation"><type>ClutterAnimation</type></link> instances will bind one or more <link linkend="GObject"><type>GObject</type></link> properties
140
belonging to a <link linkend="GObject"><type>GObject</type></link> to a <link linkend="ClutterInterval"><type>ClutterInterval</type></link>, and will then use a
141
<link linkend="ClutterAlpha"><type>ClutterAlpha</type></link> to interpolate the property between the initial and final
142
values of the interval.
145
The duration of the animation is set using <link linkend="clutter-animation-set-duration"><function>clutter_animation_set_duration()</function></link>.
146
The easing mode of the animation is set using <link linkend="clutter-animation-set-mode"><function>clutter_animation_set_mode()</function></link>.
149
If you want to control the animation you should retrieve the
150
<link linkend="ClutterTimeline"><type>ClutterTimeline</type></link> using <link linkend="clutter-animation-get-timeline"><function>clutter_animation_get_timeline()</function></link> and then
151
use <link linkend="ClutterTimeline"><type>ClutterTimeline</type></link> functions like <link linkend="clutter-timeline-start"><function>clutter_timeline_start()</function></link>,
152
<link linkend="clutter-timeline-pause"><function>clutter_timeline_pause()</function></link> or <link linkend="clutter-timeline-stop"><function>clutter_timeline_stop()</function></link>.
155
A <link linkend="ClutterAnimation"><type>ClutterAnimation</type></link> will emit the <link linkend="ClutterAnimation-completed"><type>"completed"</type></link> signal
156
when the <link linkend="ClutterTimeline"><type>ClutterTimeline</type></link> used by the animation is completed; unlike
157
<link linkend="ClutterTimeline"><type>ClutterTimeline</type></link>, though, the <link linkend="ClutterAnimation-completed"><type>"completed"</type></link> will not be
158
emitted if <link linkend="ClutterAnimation--loop"><type>"loop"</type></link> is set to <link linkend="TRUE--CAPS"><literal>TRUE</literal></link> - that is, a looping
159
animation never completes.
162
If your animation depends on user control you can force its completion
163
using <link linkend="clutter-animation-completed"><function>clutter_animation_completed()</function></link>.
166
If the <link linkend="GObject"><type>GObject</type></link> instance bound to a <link linkend="ClutterAnimation"><type>ClutterAnimation</type></link> implements the
167
<link linkend="ClutterAnimatable"><type>ClutterAnimatable</type></link> interface it is possible for that instance to
168
control the way the initial and final states are interpolated.
171
<link linkend="ClutterAnimation"><type>ClutterAnimation</type></link><!-- -->s are distinguished from <link linkend="ClutterBehaviour"><type>ClutterBehaviour</type></link><!-- -->s
172
because the former can only control <link linkend="GObject"><type>GObject</type></link> properties of a single
173
<link linkend="GObject"><type>GObject</type></link> instance, while the latter can control multiple properties
174
using accessor functions inside the <link linkend="ClutterBehaviour-alpha-notify"><type>"alpha_notify"</type></link>
175
virtual function, and can control multiple <link linkend="ClutterActor"><type>ClutterActor</type></link><!-- -->s as well.
178
For convenience, it is possible to use the <link linkend="clutter-actor-animate"><function>clutter_actor_animate()</function></link>
179
function call which will take care of setting up and tearing down
180
a <link linkend="ClutterAnimation"><type>ClutterAnimation</type></link> instance and animate an actor between its current
181
state and the specified final state.
184
<link linkend="ClutterAnimation"><type>ClutterAnimation</type></link> is available since Clutter 1.0</para>
189
<refsect1 id="clutter-Implicit-Animations.details" role="details">
190
<title role="details.title">Details</title>
191
<refsect2 id="ClutterAnimation-struct" role="struct">
192
<title>ClutterAnimation</title>
193
<indexterm zone="ClutterAnimation-struct" role="1.0"><primary sortas="Animation">ClutterAnimation</primary></indexterm><programlisting>typedef struct _ClutterAnimation ClutterAnimation;</programlisting>
195
The <link linkend="ClutterAnimation"><type>ClutterAnimation</type></link> structure contains only private data and should
196
be accessed using the provided functions.</para>
198
</para><para role="since">Since 1.0</para></refsect2>
199
<refsect2 id="ClutterAnimationClass" role="struct" condition="since:1.0">
200
<title>ClutterAnimationClass</title>
201
<indexterm zone="ClutterAnimationClass" role="1.0"><primary sortas="AnimationClass">ClutterAnimationClass</primary></indexterm><programlisting>typedef struct {
202
void (* started) (ClutterAnimation *animation);
203
void (* completed) (ClutterAnimation *animation);
204
} ClutterAnimationClass;
207
The <link linkend="ClutterAnimationClass"><type>ClutterAnimationClass</type></link> structure contains only private data and
208
should be accessed using the provided functions.</para>
210
</para><variablelist role="struct">
212
<term><structfield>started</structfield> ()</term>
213
<listitem><simpara> class handler for the <link linkend="ClutterAnimation-started"><type>"started"</type></link> signal
214
</simpara></listitem>
217
<term><structfield>completed</structfield> ()</term>
218
<listitem><simpara> class handler for the <link linkend="ClutterAnimation-completed"><type>"completed"</type></link> signal
219
</simpara></listitem>
221
</variablelist><para role="since">Since 1.0</para></refsect2>
222
<refsect2 id="ClutterAnimationMode" role="enum" condition="since:1.0">
223
<title>enum ClutterAnimationMode</title>
224
<indexterm zone="ClutterAnimationMode" role="1.0"><primary sortas="AnimationMode">ClutterAnimationMode</primary></indexterm><programlisting>typedef enum {
225
CLUTTER_CUSTOM_MODE = 0,
231
CLUTTER_EASE_IN_QUAD,
232
CLUTTER_EASE_OUT_QUAD,
233
CLUTTER_EASE_IN_OUT_QUAD,
236
CLUTTER_EASE_IN_CUBIC,
237
CLUTTER_EASE_OUT_CUBIC,
238
CLUTTER_EASE_IN_OUT_CUBIC,
241
CLUTTER_EASE_IN_QUART,
242
CLUTTER_EASE_OUT_QUART,
243
CLUTTER_EASE_IN_OUT_QUART,
246
CLUTTER_EASE_IN_QUINT,
247
CLUTTER_EASE_OUT_QUINT,
248
CLUTTER_EASE_IN_OUT_QUINT,
251
CLUTTER_EASE_IN_SINE,
252
CLUTTER_EASE_OUT_SINE,
253
CLUTTER_EASE_IN_OUT_SINE,
256
CLUTTER_EASE_IN_EXPO,
257
CLUTTER_EASE_OUT_EXPO,
258
CLUTTER_EASE_IN_OUT_EXPO,
261
CLUTTER_EASE_IN_CIRC,
262
CLUTTER_EASE_OUT_CIRC,
263
CLUTTER_EASE_IN_OUT_CIRC,
266
CLUTTER_EASE_IN_ELASTIC,
267
CLUTTER_EASE_OUT_ELASTIC,
268
CLUTTER_EASE_IN_OUT_ELASTIC,
270
/* overshooting cubic */
271
CLUTTER_EASE_IN_BACK,
272
CLUTTER_EASE_OUT_BACK,
273
CLUTTER_EASE_IN_OUT_BACK,
275
/* exponentially decaying parabolic */
276
CLUTTER_EASE_IN_BOUNCE,
277
CLUTTER_EASE_OUT_BOUNCE,
278
CLUTTER_EASE_IN_OUT_BOUNCE,
280
/* guard, before registered alpha functions */
281
CLUTTER_ANIMATION_LAST
282
} ClutterAnimationMode;
285
The animation modes used by <link linkend="ClutterAlpha"><type>ClutterAlpha</type></link> and <link linkend="ClutterAnimation"><type>ClutterAnimation</type></link>. This
286
enumeration can be expanded in later versions of Clutter. See the
287
<link linkend="ClutterAlpha"><type>ClutterAlpha</type></link> documentation for a graph of all the animation modes.
290
Every global alpha function registered using <link linkend="clutter-alpha-register-func"><function>clutter_alpha_register_func()</function></link>
291
or <link linkend="clutter-alpha-register-closure"><function>clutter_alpha_register_closure()</function></link> will have a logical id greater than
292
<link linkend="CLUTTER-ANIMATION-LAST--CAPS"><literal>CLUTTER_ANIMATION_LAST</literal></link>.</para>
294
</para><variablelist role="enum">
295
<varlistentry id="CLUTTER-CUSTOM-MODE--CAPS" role="constant">
296
<term><literal>CLUTTER_CUSTOM_MODE</literal></term>
297
<listitem><simpara> custom progress function
298
</simpara></listitem>
300
<varlistentry id="CLUTTER-LINEAR--CAPS" role="constant">
301
<term><literal>CLUTTER_LINEAR</literal></term>
302
<listitem><simpara> linear tweening
303
</simpara></listitem>
305
<varlistentry id="CLUTTER-EASE-IN-QUAD--CAPS" role="constant">
306
<term><literal>CLUTTER_EASE_IN_QUAD</literal></term>
307
<listitem><simpara> quadratic tweening
308
</simpara></listitem>
310
<varlistentry id="CLUTTER-EASE-OUT-QUAD--CAPS" role="constant">
311
<term><literal>CLUTTER_EASE_OUT_QUAD</literal></term>
312
<listitem><simpara> quadratic tweening, inverse of
313
<link linkend="CLUTTER-EASE-IN-QUAD--CAPS"><literal>CLUTTER_EASE_IN_QUAD</literal></link>
314
</simpara></listitem>
316
<varlistentry id="CLUTTER-EASE-IN-OUT-QUAD--CAPS" role="constant">
317
<term><literal>CLUTTER_EASE_IN_OUT_QUAD</literal></term>
318
<listitem><simpara> quadratic tweening, combininig
319
<link linkend="CLUTTER-EASE-IN-QUAD--CAPS"><literal>CLUTTER_EASE_IN_QUAD</literal></link> and <link linkend="CLUTTER-EASE-OUT-QUAD--CAPS"><literal>CLUTTER_EASE_OUT_QUAD</literal></link>
320
</simpara></listitem>
322
<varlistentry id="CLUTTER-EASE-IN-CUBIC--CAPS" role="constant">
323
<term><literal>CLUTTER_EASE_IN_CUBIC</literal></term>
324
<listitem><simpara> cubic tweening
325
</simpara></listitem>
327
<varlistentry id="CLUTTER-EASE-OUT-CUBIC--CAPS" role="constant">
328
<term><literal>CLUTTER_EASE_OUT_CUBIC</literal></term>
329
<listitem><simpara> cubic tweening, invers of
330
<link linkend="CLUTTER-EASE-IN-CUBIC--CAPS"><literal>CLUTTER_EASE_IN_CUBIC</literal></link>
331
</simpara></listitem>
333
<varlistentry id="CLUTTER-EASE-IN-OUT-CUBIC--CAPS" role="constant">
334
<term><literal>CLUTTER_EASE_IN_OUT_CUBIC</literal></term>
335
<listitem><simpara> cubic tweening, combining
336
<link linkend="CLUTTER-EASE-IN-CUBIC--CAPS"><literal>CLUTTER_EASE_IN_CUBIC</literal></link> and <link linkend="CLUTTER-EASE-OUT-CUBIC--CAPS"><literal>CLUTTER_EASE_OUT_CUBIC</literal></link>
337
</simpara></listitem>
339
<varlistentry id="CLUTTER-EASE-IN-QUART--CAPS" role="constant">
340
<term><literal>CLUTTER_EASE_IN_QUART</literal></term>
341
<listitem><simpara> quartic tweening
342
</simpara></listitem>
344
<varlistentry id="CLUTTER-EASE-OUT-QUART--CAPS" role="constant">
345
<term><literal>CLUTTER_EASE_OUT_QUART</literal></term>
346
<listitem><simpara> quartic tweening, inverse of
347
<link linkend="CLUTTER-EASE-IN-QUART--CAPS"><literal>CLUTTER_EASE_IN_QUART</literal></link>
348
</simpara></listitem>
350
<varlistentry id="CLUTTER-EASE-IN-OUT-QUART--CAPS" role="constant">
351
<term><literal>CLUTTER_EASE_IN_OUT_QUART</literal></term>
352
<listitem><simpara> quartic tweening, combining
353
<link linkend="CLUTTER-EASE-IN-QUART--CAPS"><literal>CLUTTER_EASE_IN_QUART</literal></link> and <link linkend="CLUTTER-EASE-OUT-QUART--CAPS"><literal>CLUTTER_EASE_OUT_QUART</literal></link>
354
</simpara></listitem>
356
<varlistentry id="CLUTTER-EASE-IN-QUINT--CAPS" role="constant">
357
<term><literal>CLUTTER_EASE_IN_QUINT</literal></term>
358
<listitem><simpara> quintic tweening
359
</simpara></listitem>
361
<varlistentry id="CLUTTER-EASE-OUT-QUINT--CAPS" role="constant">
362
<term><literal>CLUTTER_EASE_OUT_QUINT</literal></term>
363
<listitem><simpara> quintic tweening, inverse of
364
<link linkend="CLUTTER-EASE-IN-QUINT--CAPS"><literal>CLUTTER_EASE_IN_QUINT</literal></link>
365
</simpara></listitem>
367
<varlistentry id="CLUTTER-EASE-IN-OUT-QUINT--CAPS" role="constant">
368
<term><literal>CLUTTER_EASE_IN_OUT_QUINT</literal></term>
369
<listitem><simpara> fifth power tweening, combining
370
<link linkend="CLUTTER-EASE-IN-QUINT--CAPS"><literal>CLUTTER_EASE_IN_QUINT</literal></link> and <link linkend="CLUTTER-EASE-OUT-QUINT--CAPS"><literal>CLUTTER_EASE_OUT_QUINT</literal></link>
371
</simpara></listitem>
373
<varlistentry id="CLUTTER-EASE-IN-SINE--CAPS" role="constant">
374
<term><literal>CLUTTER_EASE_IN_SINE</literal></term>
375
<listitem><simpara> sinusoidal tweening
376
</simpara></listitem>
378
<varlistentry id="CLUTTER-EASE-OUT-SINE--CAPS" role="constant">
379
<term><literal>CLUTTER_EASE_OUT_SINE</literal></term>
380
<listitem><simpara> sinusoidal tweening, inverse of
381
<link linkend="CLUTTER-EASE-IN-SINE--CAPS"><literal>CLUTTER_EASE_IN_SINE</literal></link>
382
</simpara></listitem>
384
<varlistentry id="CLUTTER-EASE-IN-OUT-SINE--CAPS" role="constant">
385
<term><literal>CLUTTER_EASE_IN_OUT_SINE</literal></term>
386
<listitem><simpara> sine wave tweening, combining
387
<link linkend="CLUTTER-EASE-IN-SINE--CAPS"><literal>CLUTTER_EASE_IN_SINE</literal></link> and <link linkend="CLUTTER-EASE-OUT-SINE--CAPS"><literal>CLUTTER_EASE_OUT_SINE</literal></link>
388
</simpara></listitem>
390
<varlistentry id="CLUTTER-EASE-IN-EXPO--CAPS" role="constant">
391
<term><literal>CLUTTER_EASE_IN_EXPO</literal></term>
392
<listitem><simpara> exponential tweening
393
</simpara></listitem>
395
<varlistentry id="CLUTTER-EASE-OUT-EXPO--CAPS" role="constant">
396
<term><literal>CLUTTER_EASE_OUT_EXPO</literal></term>
397
<listitem><simpara> exponential tweening, inverse of
398
<link linkend="CLUTTER-EASE-IN-EXPO--CAPS"><literal>CLUTTER_EASE_IN_EXPO</literal></link>
399
</simpara></listitem>
401
<varlistentry id="CLUTTER-EASE-IN-OUT-EXPO--CAPS" role="constant">
402
<term><literal>CLUTTER_EASE_IN_OUT_EXPO</literal></term>
403
<listitem><simpara> exponential tweening, combining
404
<link linkend="CLUTTER-EASE-IN-EXPO--CAPS"><literal>CLUTTER_EASE_IN_EXPO</literal></link> and <link linkend="CLUTTER-EASE-OUT-EXPO--CAPS"><literal>CLUTTER_EASE_OUT_EXPO</literal></link>
405
</simpara></listitem>
407
<varlistentry id="CLUTTER-EASE-IN-CIRC--CAPS" role="constant">
408
<term><literal>CLUTTER_EASE_IN_CIRC</literal></term>
409
<listitem><simpara> circular tweening
410
</simpara></listitem>
412
<varlistentry id="CLUTTER-EASE-OUT-CIRC--CAPS" role="constant">
413
<term><literal>CLUTTER_EASE_OUT_CIRC</literal></term>
414
<listitem><simpara> circular tweening, inverse of
415
<link linkend="CLUTTER-EASE-IN-CIRC--CAPS"><literal>CLUTTER_EASE_IN_CIRC</literal></link>
416
</simpara></listitem>
418
<varlistentry id="CLUTTER-EASE-IN-OUT-CIRC--CAPS" role="constant">
419
<term><literal>CLUTTER_EASE_IN_OUT_CIRC</literal></term>
420
<listitem><simpara> circular tweening, combining
421
<link linkend="CLUTTER-EASE-IN-CIRC--CAPS"><literal>CLUTTER_EASE_IN_CIRC</literal></link> and <link linkend="CLUTTER-EASE-OUT-CIRC--CAPS"><literal>CLUTTER_EASE_OUT_CIRC</literal></link>
422
</simpara></listitem>
424
<varlistentry id="CLUTTER-EASE-IN-ELASTIC--CAPS" role="constant">
425
<term><literal>CLUTTER_EASE_IN_ELASTIC</literal></term>
426
<listitem><simpara> elastic tweening, with offshoot on start
427
</simpara></listitem>
429
<varlistentry id="CLUTTER-EASE-OUT-ELASTIC--CAPS" role="constant">
430
<term><literal>CLUTTER_EASE_OUT_ELASTIC</literal></term>
431
<listitem><simpara> elastic tweening, with offshoot on end
432
</simpara></listitem>
434
<varlistentry id="CLUTTER-EASE-IN-OUT-ELASTIC--CAPS" role="constant">
435
<term><literal>CLUTTER_EASE_IN_OUT_ELASTIC</literal></term>
436
<listitem><simpara> elastic tweening with offshoot on both ends
437
</simpara></listitem>
439
<varlistentry id="CLUTTER-EASE-IN-BACK--CAPS" role="constant">
440
<term><literal>CLUTTER_EASE_IN_BACK</literal></term>
441
<listitem><simpara> overshooting cubic tweening, with
442
backtracking on start
443
</simpara></listitem>
445
<varlistentry id="CLUTTER-EASE-OUT-BACK--CAPS" role="constant">
446
<term><literal>CLUTTER_EASE_OUT_BACK</literal></term>
447
<listitem><simpara> overshooting cubic tweening, with
449
</simpara></listitem>
451
<varlistentry id="CLUTTER-EASE-IN-OUT-BACK--CAPS" role="constant">
452
<term><literal>CLUTTER_EASE_IN_OUT_BACK</literal></term>
453
<listitem><simpara> overshooting cubic tweening, with
454
backtracking on both ends
455
</simpara></listitem>
457
<varlistentry id="CLUTTER-EASE-IN-BOUNCE--CAPS" role="constant">
458
<term><literal>CLUTTER_EASE_IN_BOUNCE</literal></term>
459
<listitem><simpara> exponentially decaying parabolic (bounce)
460
tweening, with bounce on start
461
</simpara></listitem>
463
<varlistentry id="CLUTTER-EASE-OUT-BOUNCE--CAPS" role="constant">
464
<term><literal>CLUTTER_EASE_OUT_BOUNCE</literal></term>
465
<listitem><simpara> exponentially decaying parabolic (bounce)
466
tweening, with bounce on end
467
</simpara></listitem>
469
<varlistentry id="CLUTTER-EASE-IN-OUT-BOUNCE--CAPS" role="constant">
470
<term><literal>CLUTTER_EASE_IN_OUT_BOUNCE</literal></term>
471
<listitem><simpara> exponentially decaying parabolic (bounce)
472
tweening, with bounce on both ends
473
</simpara></listitem>
475
<varlistentry id="CLUTTER-ANIMATION-LAST--CAPS" role="constant">
476
<term><literal>CLUTTER_ANIMATION_LAST</literal></term>
477
<listitem><simpara> last animation mode, used as a guard for
478
registered global alpha functions
479
</simpara></listitem>
481
</variablelist><para role="since">Since 1.0</para></refsect2>
482
<refsect2 id="clutter-animation-new" role="function" condition="since:1.0">
483
<title>clutter_animation_new ()</title>
484
<indexterm zone="clutter-animation-new" role="1.0"><primary sortas="animation_new">clutter_animation_new</primary></indexterm><programlisting><link linkend="ClutterAnimation">ClutterAnimation</link> * clutter_animation_new (void);</programlisting>
486
Creates a new <link linkend="ClutterAnimation"><type>ClutterAnimation</type></link> instance. You should set the
487
<link linkend="GObject"><type>GObject</type></link> to be animated using <link linkend="clutter-animation-set-object"><function>clutter_animation_set_object()</function></link>,
488
set the duration with <link linkend="clutter-animation-set-duration"><function>clutter_animation_set_duration()</function></link> and the
489
easing mode using <link linkend="clutter-animation-set-mode"><function>clutter_animation_set_mode()</function></link>.
492
Use <link linkend="clutter-animation-bind"><function>clutter_animation_bind()</function></link> or <link linkend="clutter-animation-bind-interval"><function>clutter_animation_bind_interval()</function></link>
493
to define the properties to be animated. The interval and the
494
animated properties can be updated at runtime.
497
The <link linkend="clutter-actor-animate"><function>clutter_actor_animate()</function></link> and relative family of functions provide
498
an easy way to animate a <link linkend="ClutterActor"><type>ClutterActor</type></link> and automatically manage the
499
lifetime of a <link linkend="ClutterAnimation"><type>ClutterAnimation</type></link> instance, so you should consider using
500
those functions instead of manually creating an animation.</para>
502
</para><variablelist role="params">
503
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> the newly created <link linkend="ClutterAnimation"><type>ClutterAnimation</type></link>. Use <link linkend="g-object-unref"><function>g_object_unref()</function></link>
504
to release the associated resources
506
</simpara></listitem></varlistentry>
507
</variablelist><para role="since">Since 1.0</para></refsect2>
508
<refsect2 id="clutter-animation-set-object" role="function" condition="since:1.0">
509
<title>clutter_animation_set_object ()</title>
510
<indexterm zone="clutter-animation-set-object" role="1.0"><primary sortas="animation_set_object">clutter_animation_set_object</primary></indexterm><programlisting><link linkend="void">void</link> clutter_animation_set_object (<link linkend="ClutterAnimation">ClutterAnimation</link> *animation,
511
<link linkend="GObject">GObject</link> *object);</programlisting>
513
Attaches <parameter>animation</parameter> to <parameter>object</parameter>. The <link linkend="ClutterAnimation"><type>ClutterAnimation</type></link> will take a
514
reference on <parameter>object</parameter>.</para>
516
</para><variablelist role="params">
517
<varlistentry><term><parameter>animation</parameter> :</term>
518
<listitem><simpara> a <link linkend="ClutterAnimation"><type>ClutterAnimation</type></link>
519
</simpara></listitem></varlistentry>
520
<varlistentry><term><parameter>object</parameter> :</term>
521
<listitem><simpara> a <link linkend="GObject"><type>GObject</type></link>
522
</simpara></listitem></varlistentry>
523
</variablelist><para role="since">Since 1.0</para></refsect2>
524
<refsect2 id="clutter-animation-get-object" role="function" condition="since:1.0">
525
<title>clutter_animation_get_object ()</title>
526
<indexterm zone="clutter-animation-get-object" role="1.0"><primary sortas="animation_get_object">clutter_animation_get_object</primary></indexterm><programlisting><link linkend="GObject">GObject</link> * clutter_animation_get_object (<link linkend="ClutterAnimation">ClutterAnimation</link> *animation);</programlisting>
528
Retrieves the <link linkend="GObject"><type>GObject</type></link> attached to <parameter>animation</parameter>.</para>
530
</para><variablelist role="params">
531
<varlistentry><term><parameter>animation</parameter> :</term>
532
<listitem><simpara> a <link linkend="ClutterAnimation"><type>ClutterAnimation</type></link>
533
</simpara></listitem></varlistentry>
534
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> a <link linkend="GObject"><type>GObject</type></link>. <acronym>transfer</acronym> none. </simpara></listitem></varlistentry>
535
</variablelist><para role="since">Since 1.0</para></refsect2>
536
<refsect2 id="clutter-animation-set-mode" role="function" condition="since:1.0">
537
<title>clutter_animation_set_mode ()</title>
538
<indexterm zone="clutter-animation-set-mode" role="1.0"><primary sortas="animation_set_mode">clutter_animation_set_mode</primary></indexterm><programlisting><link linkend="void">void</link> clutter_animation_set_mode (<link linkend="ClutterAnimation">ClutterAnimation</link> *animation,
539
<link linkend="gulong">gulong</link> mode);</programlisting>
541
Sets the animation <parameter>mode</parameter> of <parameter>animation</parameter>. The animation <parameter>mode</parameter> is
542
a logical id, either coming from the <link linkend="ClutterAnimationMode"><type>ClutterAnimationMode</type></link> enumeration
543
or the return value of <link linkend="clutter-alpha-register-func"><function>clutter_alpha_register_func()</function></link>.
546
This function will also set <link linkend="ClutterAnimation--alpha"><type>"alpha"</type></link> if needed.</para>
548
</para><variablelist role="params">
549
<varlistentry><term><parameter>animation</parameter> :</term>
550
<listitem><simpara> a <link linkend="ClutterAnimation"><type>ClutterAnimation</type></link>
551
</simpara></listitem></varlistentry>
552
<varlistentry><term><parameter>mode</parameter> :</term>
553
<listitem><simpara> an animation mode logical id
554
</simpara></listitem></varlistentry>
555
</variablelist><para role="since">Since 1.0</para></refsect2>
556
<refsect2 id="clutter-animation-get-mode" role="function" condition="since:1.0">
557
<title>clutter_animation_get_mode ()</title>
558
<indexterm zone="clutter-animation-get-mode" role="1.0"><primary sortas="animation_get_mode">clutter_animation_get_mode</primary></indexterm><programlisting><link linkend="gulong">gulong</link> clutter_animation_get_mode (<link linkend="ClutterAnimation">ClutterAnimation</link> *animation);</programlisting>
560
Retrieves the animation mode of <parameter>animation</parameter>, as set by
561
<link linkend="clutter-animation-set-mode"><function>clutter_animation_set_mode()</function></link>.</para>
563
</para><variablelist role="params">
564
<varlistentry><term><parameter>animation</parameter> :</term>
565
<listitem><simpara> a <link linkend="ClutterAnimation"><type>ClutterAnimation</type></link>
566
</simpara></listitem></varlistentry>
567
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> the mode for the animation
569
</simpara></listitem></varlistentry>
570
</variablelist><para role="since">Since 1.0</para></refsect2>
571
<refsect2 id="clutter-animation-set-duration" role="function" condition="since:1.0">
572
<title>clutter_animation_set_duration ()</title>
573
<indexterm zone="clutter-animation-set-duration" role="1.0"><primary sortas="animation_set_duration">clutter_animation_set_duration</primary></indexterm><programlisting><link linkend="void">void</link> clutter_animation_set_duration (<link linkend="ClutterAnimation">ClutterAnimation</link> *animation,
574
<link linkend="gint">gint</link> msecs);</programlisting>
576
Sets the duration of <parameter>animation</parameter> in milliseconds.
579
This function will set <link linkend="ClutterAnimation--alpha"><type>"alpha"</type></link> and
580
<link linkend="ClutterAnimation--timeline"><type>"timeline"</type></link> if needed.</para>
582
</para><variablelist role="params">
583
<varlistentry><term><parameter>animation</parameter> :</term>
584
<listitem><simpara> a <link linkend="ClutterAnimation"><type>ClutterAnimation</type></link>
585
</simpara></listitem></varlistentry>
586
<varlistentry><term><parameter>msecs</parameter> :</term>
587
<listitem><simpara> the duration in milliseconds
588
</simpara></listitem></varlistentry>
589
</variablelist><para role="since">Since 1.0</para></refsect2>
590
<refsect2 id="clutter-animation-get-duration" role="function" condition="since:1.0">
591
<title>clutter_animation_get_duration ()</title>
592
<indexterm zone="clutter-animation-get-duration" role="1.0"><primary sortas="animation_get_duration">clutter_animation_get_duration</primary></indexterm><programlisting><link linkend="guint">guint</link> clutter_animation_get_duration (<link linkend="ClutterAnimation">ClutterAnimation</link> *animation);</programlisting>
594
Retrieves the duration of <parameter>animation</parameter>, in milliseconds.</para>
596
</para><variablelist role="params">
597
<varlistentry><term><parameter>animation</parameter> :</term>
598
<listitem><simpara> a <link linkend="ClutterAnimation"><type>ClutterAnimation</type></link>
599
</simpara></listitem></varlistentry>
600
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> the duration of the animation
602
</simpara></listitem></varlistentry>
603
</variablelist><para role="since">Since 1.0</para></refsect2>
604
<refsect2 id="clutter-animation-set-loop" role="function" condition="since:1.0">
605
<title>clutter_animation_set_loop ()</title>
606
<indexterm zone="clutter-animation-set-loop" role="1.0"><primary sortas="animation_set_loop">clutter_animation_set_loop</primary></indexterm><programlisting><link linkend="void">void</link> clutter_animation_set_loop (<link linkend="ClutterAnimation">ClutterAnimation</link> *animation,
607
<link linkend="gboolean">gboolean</link> loop);</programlisting>
609
Sets whether <parameter>animation</parameter> should loop over itself once finished.
612
A looping <link linkend="ClutterAnimation"><type>ClutterAnimation</type></link> will not emit the <link linkend="ClutterAnimation-completed"><type>"completed"</type></link>
613
signal when finished.
616
This function will set <link linkend="ClutterAnimation--alpha"><type>"alpha"</type></link> and
617
<link linkend="ClutterAnimation--timeline"><type>"timeline"</type></link> if needed.</para>
619
</para><variablelist role="params">
620
<varlistentry><term><parameter>animation</parameter> :</term>
621
<listitem><simpara> a <link linkend="ClutterAnimation"><type>ClutterAnimation</type></link>
622
</simpara></listitem></varlistentry>
623
<varlistentry><term><parameter>loop</parameter> :</term>
624
<listitem><simpara> <link linkend="TRUE--CAPS"><literal>TRUE</literal></link> if the animation should loop
625
</simpara></listitem></varlistentry>
626
</variablelist><para role="since">Since 1.0</para></refsect2>
627
<refsect2 id="clutter-animation-get-loop" role="function" condition="since:1.0">
628
<title>clutter_animation_get_loop ()</title>
629
<indexterm zone="clutter-animation-get-loop" role="1.0"><primary sortas="animation_get_loop">clutter_animation_get_loop</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> clutter_animation_get_loop (<link linkend="ClutterAnimation">ClutterAnimation</link> *animation);</programlisting>
631
Retrieves whether <parameter>animation</parameter> is looping.</para>
633
</para><variablelist role="params">
634
<varlistentry><term><parameter>animation</parameter> :</term>
635
<listitem><simpara> a <link linkend="ClutterAnimation"><type>ClutterAnimation</type></link>
636
</simpara></listitem></varlistentry>
637
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> <link linkend="TRUE--CAPS"><literal>TRUE</literal></link> if the animation is looping
639
</simpara></listitem></varlistentry>
640
</variablelist><para role="since">Since 1.0</para></refsect2>
641
<refsect2 id="clutter-animation-set-timeline" role="function" condition="since:1.0">
642
<title>clutter_animation_set_timeline ()</title>
643
<indexterm zone="clutter-animation-set-timeline" role="1.0"><primary sortas="animation_set_timeline">clutter_animation_set_timeline</primary></indexterm><programlisting><link linkend="void">void</link> clutter_animation_set_timeline (<link linkend="ClutterAnimation">ClutterAnimation</link> *animation,
644
<link linkend="ClutterTimeline">ClutterTimeline</link> *timeline);</programlisting>
646
Sets the <link linkend="ClutterTimeline"><type>ClutterTimeline</type></link> used by <parameter>animation</parameter>.</para>
648
</para><variablelist role="params">
649
<varlistentry><term><parameter>animation</parameter> :</term>
650
<listitem><simpara> a <link linkend="ClutterAnimation"><type>ClutterAnimation</type></link>
651
</simpara></listitem></varlistentry>
652
<varlistentry><term><parameter>timeline</parameter> :</term>
653
<listitem><simpara> a <link linkend="ClutterTimeline"><type>ClutterTimeline</type></link>, or <link linkend="NULL--CAPS"><literal>NULL</literal></link> to unset the
654
current <link linkend="ClutterTimeline"><type>ClutterTimeline</type></link>
655
</simpara></listitem></varlistentry>
656
</variablelist><para role="since">Since 1.0</para></refsect2>
657
<refsect2 id="clutter-animation-get-timeline" role="function" condition="since:1.0">
658
<title>clutter_animation_get_timeline ()</title>
659
<indexterm zone="clutter-animation-get-timeline" role="1.0"><primary sortas="animation_get_timeline">clutter_animation_get_timeline</primary></indexterm><programlisting><link linkend="ClutterTimeline">ClutterTimeline</link> * clutter_animation_get_timeline (<link linkend="ClutterAnimation">ClutterAnimation</link> *animation);</programlisting>
661
Retrieves the <link linkend="ClutterTimeline"><type>ClutterTimeline</type></link> used by <parameter>animation</parameter></para>
663
</para><variablelist role="params">
664
<varlistentry><term><parameter>animation</parameter> :</term>
665
<listitem><simpara> a <link linkend="ClutterAnimation"><type>ClutterAnimation</type></link>
666
</simpara></listitem></varlistentry>
667
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> the timeline used by the animation. <acronym>transfer</acronym> none. </simpara></listitem></varlistentry>
668
</variablelist><para role="since">Since 1.0</para></refsect2>
669
<refsect2 id="clutter-animation-set-alpha" role="function" condition="since:1.0">
670
<title>clutter_animation_set_alpha ()</title>
671
<indexterm zone="clutter-animation-set-alpha" role="1.0"><primary sortas="animation_set_alpha">clutter_animation_set_alpha</primary></indexterm><programlisting><link linkend="void">void</link> clutter_animation_set_alpha (<link linkend="ClutterAnimation">ClutterAnimation</link> *animation,
672
<link linkend="ClutterAlpha">ClutterAlpha</link> *alpha);</programlisting>
674
Sets <parameter>alpha</parameter> as the <link linkend="ClutterAlpha"><type>ClutterAlpha</type></link> used by <parameter>animation</parameter>.
677
If <parameter>alpha</parameter> is not <link linkend="NULL--CAPS"><literal>NULL</literal></link>, the <link linkend="ClutterAnimation"><type>ClutterAnimation</type></link> will take ownership
678
of the <link linkend="ClutterAlpha"><type>ClutterAlpha</type></link> instance.</para>
680
</para><variablelist role="params">
681
<varlistentry><term><parameter>animation</parameter> :</term>
682
<listitem><simpara> a <link linkend="ClutterAnimation"><type>ClutterAnimation</type></link>
683
</simpara></listitem></varlistentry>
684
<varlistentry><term><parameter>alpha</parameter> :</term>
685
<listitem><simpara> a <link linkend="ClutterAlpha"><type>ClutterAlpha</type></link>, or <link linkend="NULL--CAPS"><literal>NULL</literal></link> to unset the current <link linkend="ClutterAlpha"><type>ClutterAlpha</type></link>
686
</simpara></listitem></varlistentry>
687
</variablelist><para role="since">Since 1.0</para></refsect2>
688
<refsect2 id="clutter-animation-get-alpha" role="function" condition="since:1.0">
689
<title>clutter_animation_get_alpha ()</title>
690
<indexterm zone="clutter-animation-get-alpha" role="1.0"><primary sortas="animation_get_alpha">clutter_animation_get_alpha</primary></indexterm><programlisting><link linkend="ClutterAlpha">ClutterAlpha</link> * clutter_animation_get_alpha (<link linkend="ClutterAnimation">ClutterAnimation</link> *animation);</programlisting>
692
Retrieves the <link linkend="ClutterAlpha"><type>ClutterAlpha</type></link> used by <parameter>animation</parameter>.</para>
694
</para><variablelist role="params">
695
<varlistentry><term><parameter>animation</parameter> :</term>
696
<listitem><simpara> a <link linkend="ClutterAnimation"><type>ClutterAnimation</type></link>
697
</simpara></listitem></varlistentry>
698
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> the alpha object used by the animation. <acronym>transfer</acronym> none. </simpara></listitem></varlistentry>
699
</variablelist><para role="since">Since 1.0</para></refsect2>
700
<refsect2 id="clutter-animation-completed" role="function" condition="since:1.0">
701
<title>clutter_animation_completed ()</title>
702
<indexterm zone="clutter-animation-completed" role="1.0"><primary sortas="animation_completed">clutter_animation_completed</primary></indexterm><programlisting><link linkend="void">void</link> clutter_animation_completed (<link linkend="ClutterAnimation">ClutterAnimation</link> *animation);</programlisting>
704
Emits the ::completed signal on <parameter>animation</parameter>
707
When using this function with a <link linkend="ClutterAnimation"><type>ClutterAnimation</type></link> created
708
by the <link linkend="clutter-actor-animate"><function>clutter_actor_animate()</function></link> family of functions, <parameter>animation</parameter>
709
will be unreferenced and it will not be valid anymore,
710
unless <link linkend="g-object-ref"><function>g_object_ref()</function></link> was called before calling this function
711
or unless a reference was taken inside a handler for the
712
<link linkend="ClutterAnimation-completed"><type>"completed"</type></link> signal</para>
714
</para><variablelist role="params">
715
<varlistentry><term><parameter>animation</parameter> :</term>
716
<listitem><simpara> a <link linkend="ClutterAnimation"><type>ClutterAnimation</type></link>
717
</simpara></listitem></varlistentry>
718
</variablelist><para role="since">Since 1.0</para></refsect2>
719
<refsect2 id="clutter-animation-bind" role="function" condition="since:1.0">
720
<title>clutter_animation_bind ()</title>
721
<indexterm zone="clutter-animation-bind" role="1.0"><primary sortas="animation_bind">clutter_animation_bind</primary></indexterm><programlisting><link linkend="ClutterAnimation">ClutterAnimation</link> * clutter_animation_bind (<link linkend="ClutterAnimation">ClutterAnimation</link> *animation,
722
const <link linkend="gchar">gchar</link> *property_name,
723
const <link linkend="GValue">GValue</link> *final);</programlisting>
725
Adds a single property with name <parameter>property_name</parameter> to the
726
animation <parameter>animation</parameter>. For more information about animations,
727
see <link linkend="clutter-actor-animate"><function>clutter_actor_animate()</function></link>.
730
This method returns the animation primarily to make chained
731
calls convenient in language bindings.</para>
733
</para><variablelist role="params">
734
<varlistentry><term><parameter>animation</parameter> :</term>
735
<listitem><simpara> a <link linkend="ClutterAnimation"><type>ClutterAnimation</type></link>
736
</simpara></listitem></varlistentry>
737
<varlistentry><term><parameter>property_name</parameter> :</term>
738
<listitem><simpara> the property to control
739
</simpara></listitem></varlistentry>
740
<varlistentry><term><parameter>final</parameter> :</term>
741
<listitem><simpara> The final value of the property
742
</simpara></listitem></varlistentry>
743
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> The animation itself.. <acronym>transfer</acronym> none. </simpara></listitem></varlistentry>
744
</variablelist><para role="since">Since 1.0</para></refsect2>
745
<refsect2 id="clutter-animation-bind-interval" role="function" condition="since:1.0">
746
<title>clutter_animation_bind_interval ()</title>
747
<indexterm zone="clutter-animation-bind-interval" role="1.0"><primary sortas="animation_bind_interval">clutter_animation_bind_interval</primary></indexterm><programlisting><link linkend="ClutterAnimation">ClutterAnimation</link> * clutter_animation_bind_interval (<link linkend="ClutterAnimation">ClutterAnimation</link> *animation,
748
const <link linkend="gchar">gchar</link> *property_name,
749
<link linkend="ClutterInterval">ClutterInterval</link> *interval);</programlisting>
751
Binds <parameter>interval</parameter> to the <parameter>property_name</parameter> of the <link linkend="GObject"><type>GObject</type></link>
752
attached to <parameter>animation</parameter>. The <link linkend="ClutterAnimation"><type>ClutterAnimation</type></link> will take
753
ownership of the passed <link linkend="ClutterInterval"><type>ClutterInterval</type></link>. For more information
754
about animations, see <link linkend="clutter-actor-animate"><function>clutter_actor_animate()</function></link>.
757
If you need to update the interval instance use
758
<link linkend="clutter-animation-update-property"><function>clutter_animation_update_property()</function></link> instead.</para>
760
</para><variablelist role="params">
761
<varlistentry><term><parameter>animation</parameter> :</term>
762
<listitem><simpara> a <link linkend="ClutterAnimation"><type>ClutterAnimation</type></link>
763
</simpara></listitem></varlistentry>
764
<varlistentry><term><parameter>property_name</parameter> :</term>
765
<listitem><simpara> the property to control
766
</simpara></listitem></varlistentry>
767
<varlistentry><term><parameter>interval</parameter> :</term>
768
<listitem><simpara> a <link linkend="ClutterInterval"><type>ClutterInterval</type></link>. <acronym>transfer</acronym> full. </simpara></listitem></varlistentry>
769
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> The animation itself.. <acronym>transfer</acronym> none. </simpara></listitem></varlistentry>
770
</variablelist><para role="since">Since 1.0</para></refsect2>
771
<refsect2 id="clutter-animation-update-interval" role="function" condition="since:1.0">
772
<title>clutter_animation_update_interval ()</title>
773
<indexterm zone="clutter-animation-update-interval" role="1.0"><primary sortas="animation_update_interval">clutter_animation_update_interval</primary></indexterm><programlisting><link linkend="void">void</link> clutter_animation_update_interval (<link linkend="ClutterAnimation">ClutterAnimation</link> *animation,
774
const <link linkend="gchar">gchar</link> *property_name,
775
<link linkend="ClutterInterval">ClutterInterval</link> *interval);</programlisting>
777
Changes the <parameter>interval</parameter> for <parameter>property_name</parameter>. The <link linkend="ClutterAnimation"><type>ClutterAnimation</type></link>
778
will take ownership of the passed <link linkend="ClutterInterval"><type>ClutterInterval</type></link>.</para>
780
</para><variablelist role="params">
781
<varlistentry><term><parameter>animation</parameter> :</term>
782
<listitem><simpara> a <link linkend="ClutterAnimation"><type>ClutterAnimation</type></link>
783
</simpara></listitem></varlistentry>
784
<varlistentry><term><parameter>property_name</parameter> :</term>
785
<listitem><simpara> name of the property
786
</simpara></listitem></varlistentry>
787
<varlistentry><term><parameter>interval</parameter> :</term>
788
<listitem><simpara> a <link linkend="ClutterInterval"><type>ClutterInterval</type></link>
789
</simpara></listitem></varlistentry>
790
</variablelist><para role="since">Since 1.0</para></refsect2>
791
<refsect2 id="clutter-animation-has-property" role="function" condition="since:1.0">
792
<title>clutter_animation_has_property ()</title>
793
<indexterm zone="clutter-animation-has-property" role="1.0"><primary sortas="animation_has_property">clutter_animation_has_property</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> clutter_animation_has_property (<link linkend="ClutterAnimation">ClutterAnimation</link> *animation,
794
const <link linkend="gchar">gchar</link> *property_name);</programlisting>
796
Checks whether <parameter>animation</parameter> is controlling <parameter>property_name</parameter>.</para>
798
</para><variablelist role="params">
799
<varlistentry><term><parameter>animation</parameter> :</term>
800
<listitem><simpara> a <link linkend="ClutterAnimation"><type>ClutterAnimation</type></link>
801
</simpara></listitem></varlistentry>
802
<varlistentry><term><parameter>property_name</parameter> :</term>
803
<listitem><simpara> name of the property
804
</simpara></listitem></varlistentry>
805
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> <link linkend="TRUE--CAPS"><literal>TRUE</literal></link> if the property is animated by the
806
<link linkend="ClutterAnimation"><type>ClutterAnimation</type></link>, <link linkend="FALSE--CAPS"><literal>FALSE</literal></link> otherwise
808
</simpara></listitem></varlistentry>
809
</variablelist><para role="since">Since 1.0</para></refsect2>
810
<refsect2 id="clutter-animation-unbind-property" role="function" condition="since:1.0">
811
<title>clutter_animation_unbind_property ()</title>
812
<indexterm zone="clutter-animation-unbind-property" role="1.0"><primary sortas="animation_unbind_property">clutter_animation_unbind_property</primary></indexterm><programlisting><link linkend="void">void</link> clutter_animation_unbind_property (<link linkend="ClutterAnimation">ClutterAnimation</link> *animation,
813
const <link linkend="gchar">gchar</link> *property_name);</programlisting>
815
Removes <parameter>property_name</parameter> from the list of animated properties.</para>
817
</para><variablelist role="params">
818
<varlistentry><term><parameter>animation</parameter> :</term>
819
<listitem><simpara> a <link linkend="ClutterAnimation"><type>ClutterAnimation</type></link>
820
</simpara></listitem></varlistentry>
821
<varlistentry><term><parameter>property_name</parameter> :</term>
822
<listitem><simpara> name of the property
823
</simpara></listitem></varlistentry>
824
</variablelist><para role="since">Since 1.0</para></refsect2>
825
<refsect2 id="clutter-animation-get-interval" role="function" condition="since:1.0">
826
<title>clutter_animation_get_interval ()</title>
827
<indexterm zone="clutter-animation-get-interval" role="1.0"><primary sortas="animation_get_interval">clutter_animation_get_interval</primary></indexterm><programlisting><link linkend="ClutterInterval">ClutterInterval</link> * clutter_animation_get_interval (<link linkend="ClutterAnimation">ClutterAnimation</link> *animation,
828
const <link linkend="gchar">gchar</link> *property_name);</programlisting>
830
Retrieves the <link linkend="ClutterInterval"><type>ClutterInterval</type></link> associated to <parameter>property_name</parameter>
831
inside <parameter>animation</parameter>.</para>
833
</para><variablelist role="params">
834
<varlistentry><term><parameter>animation</parameter> :</term>
835
<listitem><simpara> a <link linkend="ClutterAnimation"><type>ClutterAnimation</type></link>
836
</simpara></listitem></varlistentry>
837
<varlistentry><term><parameter>property_name</parameter> :</term>
838
<listitem><simpara> name of the property
839
</simpara></listitem></varlistentry>
840
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara>transfer none. <acronym>transfer</acronym> none. </simpara></listitem></varlistentry>
841
</variablelist><para role="since">Since 1.0</para></refsect2>
842
<refsect2 id="clutter-actor-animate" role="function" condition="since:1.0">
843
<title>clutter_actor_animate ()</title>
844
<indexterm zone="clutter-actor-animate" role="1.0"><primary sortas="actor_animate">clutter_actor_animate</primary></indexterm><programlisting><link linkend="ClutterAnimation">ClutterAnimation</link> * clutter_actor_animate (<link linkend="ClutterActor">ClutterActor</link> *actor,
845
<link linkend="gulong">gulong</link> mode,
846
<link linkend="guint">guint</link> duration,
847
const <link linkend="gchar">gchar</link> *first_property_name,
848
...);</programlisting>
850
Animates the given list of properties of <parameter>actor</parameter> between the current
851
value for each property and a new final value. The animation has a
852
definite duration and a speed given by the <parameter>mode</parameter>.
858
<informalexample><programlisting>
859
clutter_actor_animate (rectangle, CLUTTER_LINEAR, 250,
863
</programlisting></informalexample>
866
will make width and height properties of the <link linkend="ClutterActor"><type>ClutterActor</type></link> "rectangle"
867
grow linearly between the current value and 100 pixels, in 250 milliseconds.
870
The animation <parameter>mode</parameter> is a logical id, either from the <link linkend="ClutterAnimationMode"><type>ClutterAnimationMode</type></link>
871
enumeration of from <link linkend="clutter-alpha-register-func"><function>clutter_alpha_register_func()</function></link>.
874
All the properties specified will be animated between the current value
875
and the final value. If a property should be set at the beginning of
876
the animation but not updated during the animation, it should be prefixed
877
by the "fixed::" string, for instance:
880
<informalexample><programlisting>
881
clutter_actor_animate (actor, CLUTTER_EASE_IN_SINE, 100,
882
"rotation-angle-z", 360.0,
883
"fixed::rotation-center-z", &center,
885
</programlisting></informalexample>
888
Will animate the "rotation-angle-z" property between the current value
889
and 360 degrees, and set the "rotation-center-z" property to the fixed
890
value of the <link linkend="ClutterVertex"><type>ClutterVertex</type></link> "center".
893
This function will implicitly create a <link linkend="ClutterAnimation"><type>ClutterAnimation</type></link> object which
894
will be assigned to the <parameter>actor</parameter> and will be returned to the developer
895
to control the animation or to know when the animation has been
899
If a name argument starts with "signal::", "signal-after::" or
900
"signal-swapped::" the two following arguments are used as callback
901
function and data for a signal handler installed on the
902
<link linkend="ClutterAnimation"><type>ClutterAnimation</type></link> object for the specified signal name, for
906
<informalexample><programlisting>
909
on_animation_completed (ClutterAnimation *animation,
912
clutter_actor_hide (actor);
915
clutter_actor_animate (actor, CLUTTER_EASE_IN_CUBIC, 100,
917
"signal::completed", on_animation_completed, actor,
919
</programlisting></informalexample>
922
The "signal::" modifier is the equivalent of using <link linkend="g-signal-connect"><function>g_signal_connect()</function></link>;
923
the "signal-after::" modifier is the equivalent of using
924
<link linkend="g-signal-connect-after"><function>g_signal_connect_after()</function></link>; the "signal-swapped::" modifier is the equivalent
925
of using <link linkend="g-signal-connect-swapped"><function>g_signal_connect_swapped()</function></link>. The <link linkend="clutter-actor-animate"><function>clutter_actor_animate()</function></link> function
926
will not keep track of multiple connections to the same signal, so it is
927
your responsability to avoid them when calling <link linkend="clutter-actor-animate"><function>clutter_actor_animate()</function></link>
928
multiple times on the same actor.
931
Calling this function on an actor that is already being animated
932
will cause the current animation to change with the new final values,
933
the new easing mode and the new duration - that is, this code:
936
<informalexample><programlisting>
937
clutter_actor_animate (actor, CLUTTER_LINEAR, 250,
941
clutter_actor_animate (actor, CLUTTER_EASE_IN_CUBIC, 500,
946
</programlisting></informalexample>
949
is the equivalent of:
952
<informalexample><programlisting>
953
clutter_actor_animate (actor, CLUTTER_EASE_IN_CUBIC, 500,
959
</programlisting></informalexample>
962
<note>Unless the animation is looping, the <link linkend="ClutterAnimation"><type>ClutterAnimation</type></link> created by
963
<link linkend="clutter-actor-animate"><function>clutter_actor_animate()</function></link> will become invalid as soon as it is
967
Since the created <link linkend="ClutterAnimation"><type>ClutterAnimation</type></link> instance attached to <parameter>actor</parameter>
968
is guaranteed to be valid throughout the <link linkend="ClutterAnimation-completed"><type>"completed"</type></link>
969
signal emission chain, you will not be able to create a new animation
970
using <link linkend="clutter-actor-animate"><function>clutter_actor_animate()</function></link> on the same <parameter>actor</parameter> from within the
971
<link linkend="ClutterAnimation-completed"><type>"completed"</type></link> signal handler unless you use
972
<link linkend="g-signal-connect-after"><function>g_signal_connect_after()</function></link> to connect the callback function, for instance:
975
<informalexample><programlisting>
977
on_animation_completed (ClutterAnimation *animation,
980
clutter_actor_animate (actor, CLUTTER_EASE_OUT_CUBIC, 250,
987
animation = clutter_actor_animate (actor, CLUTTER_EASE_IN_CUBIC, 250,
991
g_signal_connect (animation, "completed",
992
G_CALLBACK (on_animation_completed),
995
</programlisting></informalexample></para>
997
</para><variablelist role="params">
998
<varlistentry><term><parameter>actor</parameter> :</term>
999
<listitem><simpara> a <link linkend="ClutterActor"><type>ClutterActor</type></link>
1000
</simpara></listitem></varlistentry>
1001
<varlistentry><term><parameter>mode</parameter> :</term>
1002
<listitem><simpara> an animation mode logical id
1003
</simpara></listitem></varlistentry>
1004
<varlistentry><term><parameter>duration</parameter> :</term>
1005
<listitem><simpara> duration of the animation, in milliseconds
1006
</simpara></listitem></varlistentry>
1007
<varlistentry><term><parameter>first_property_name</parameter> :</term>
1008
<listitem><simpara> the name of a property
1009
</simpara></listitem></varlistentry>
1010
<varlistentry><term><parameter>...</parameter> :</term>
1011
<listitem><simpara> a <link linkend="NULL--CAPS"><literal>NULL</literal></link> terminated list of property names and
1013
</simpara></listitem></varlistentry>
1014
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara>transfer none. <acronym>transfer</acronym> none. </simpara></listitem></varlistentry>
1015
</variablelist><para role="since">Since 1.0</para></refsect2>
1016
<refsect2 id="clutter-actor-animate-with-timeline" role="function" condition="since:1.0">
1017
<title>clutter_actor_animate_with_timeline ()</title>
1018
<indexterm zone="clutter-actor-animate-with-timeline" role="1.0"><primary sortas="actor_animate_with_timeline">clutter_actor_animate_with_timeline</primary></indexterm><programlisting><link linkend="ClutterAnimation">ClutterAnimation</link> * clutter_actor_animate_with_timeline (<link linkend="ClutterActor">ClutterActor</link> *actor,
1019
<link linkend="gulong">gulong</link> mode,
1020
<link linkend="ClutterTimeline">ClutterTimeline</link> *timeline,
1021
const <link linkend="gchar">gchar</link> *first_property_name,
1022
...);</programlisting>
1024
Animates the given list of properties of <parameter>actor</parameter> between the current
1025
value for each property and a new final value. The animation has a
1026
definite duration given by <parameter>timeline</parameter> and a speed given by the <parameter>mode</parameter>.
1029
See <link linkend="clutter-actor-animate"><function>clutter_actor_animate()</function></link> for further details.
1032
This function is useful if you want to use an existing timeline
1033
to animate <parameter>actor</parameter>.</para>
1035
</para><variablelist role="params">
1036
<varlistentry><term><parameter>actor</parameter> :</term>
1037
<listitem><simpara> a <link linkend="ClutterActor"><type>ClutterActor</type></link>
1038
</simpara></listitem></varlistentry>
1039
<varlistentry><term><parameter>mode</parameter> :</term>
1040
<listitem><simpara> an animation mode logical id
1041
</simpara></listitem></varlistentry>
1042
<varlistentry><term><parameter>timeline</parameter> :</term>
1043
<listitem><simpara> a <link linkend="ClutterTimeline"><type>ClutterTimeline</type></link>
1044
</simpara></listitem></varlistentry>
1045
<varlistentry><term><parameter>first_property_name</parameter> :</term>
1046
<listitem><simpara> the name of a property
1047
</simpara></listitem></varlistentry>
1048
<varlistentry><term><parameter>...</parameter> :</term>
1049
<listitem><simpara> a <link linkend="NULL--CAPS"><literal>NULL</literal></link> terminated list of property names and
1051
</simpara></listitem></varlistentry>
1052
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara>transfer none. <acronym>transfer</acronym> none. </simpara></listitem></varlistentry>
1053
</variablelist><para role="since">Since 1.0</para></refsect2>
1054
<refsect2 id="clutter-actor-animate-with-alpha" role="function" condition="since:1.0">
1055
<title>clutter_actor_animate_with_alpha ()</title>
1056
<indexterm zone="clutter-actor-animate-with-alpha" role="1.0"><primary sortas="actor_animate_with_alpha">clutter_actor_animate_with_alpha</primary></indexterm><programlisting><link linkend="ClutterAnimation">ClutterAnimation</link> * clutter_actor_animate_with_alpha (<link linkend="ClutterActor">ClutterActor</link> *actor,
1057
<link linkend="ClutterAlpha">ClutterAlpha</link> *alpha,
1058
const <link linkend="gchar">gchar</link> *first_property_name,
1059
...);</programlisting>
1061
Animates the given list of properties of <parameter>actor</parameter> between the current
1062
value for each property and a new final value. The animation has a
1063
definite behaviour given by the passed <parameter>alpha</parameter>.
1066
See <link linkend="clutter-actor-animate"><function>clutter_actor_animate()</function></link> for further details.
1069
This function is useful if you want to use an existing <link linkend="ClutterAlpha"><type>ClutterAlpha</type></link>
1070
to animate <parameter>actor</parameter>.</para>
1072
</para><variablelist role="params">
1073
<varlistentry><term><parameter>actor</parameter> :</term>
1074
<listitem><simpara> a <link linkend="ClutterActor"><type>ClutterActor</type></link>
1075
</simpara></listitem></varlistentry>
1076
<varlistentry><term><parameter>alpha</parameter> :</term>
1077
<listitem><simpara> a <link linkend="ClutterAlpha"><type>ClutterAlpha</type></link>
1078
</simpara></listitem></varlistentry>
1079
<varlistentry><term><parameter>first_property_name</parameter> :</term>
1080
<listitem><simpara> the name of a property
1081
</simpara></listitem></varlistentry>
1082
<varlistentry><term><parameter>...</parameter> :</term>
1083
<listitem><simpara> a <link linkend="NULL--CAPS"><literal>NULL</literal></link> terminated list of property names and
1085
</simpara></listitem></varlistentry>
1086
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara>transfer none. <acronym>transfer</acronym> none. </simpara></listitem></varlistentry>
1087
</variablelist><para role="since">Since 1.0</para></refsect2>
1088
<refsect2 id="clutter-actor-animatev" role="function" condition="since:1.0">
1089
<title>clutter_actor_animatev ()</title>
1090
<indexterm zone="clutter-actor-animatev" role="1.0"><primary sortas="actor_animatev">clutter_actor_animatev</primary></indexterm><programlisting><link linkend="ClutterAnimation">ClutterAnimation</link> * clutter_actor_animatev (<link linkend="ClutterActor">ClutterActor</link> *actor,
1091
<link linkend="gulong">gulong</link> mode,
1092
<link linkend="guint">guint</link> duration,
1093
<link linkend="gint">gint</link> n_properties,
1094
const <link linkend="gchar">gchar</link> * const properties[],
1095
const <link linkend="GValue">GValue</link> *values);</programlisting>
1097
Animates the given list of properties of <parameter>actor</parameter> between the current
1098
value for each property and a new final value. The animation has a
1099
definite duration and a speed given by the <parameter>mode</parameter>.
1102
This is the vector-based variant of <link linkend="clutter-actor-animate"><function>clutter_actor_animate()</function></link>, useful
1103
for language bindings.
1106
<warning>Unlike <link linkend="clutter-actor-animate"><function>clutter_actor_animate()</function></link>, this function will not
1107
allow you to specify "signal::" names and callbacks.</warning></para>
1109
</para><variablelist role="params">
1110
<varlistentry><term><parameter>actor</parameter> :</term>
1111
<listitem><simpara> a <link linkend="ClutterActor"><type>ClutterActor</type></link>
1112
</simpara></listitem></varlistentry>
1113
<varlistentry><term><parameter>mode</parameter> :</term>
1114
<listitem><simpara> an animation mode logical id
1115
</simpara></listitem></varlistentry>
1116
<varlistentry><term><parameter>duration</parameter> :</term>
1117
<listitem><simpara> duration of the animation, in milliseconds
1118
</simpara></listitem></varlistentry>
1119
<varlistentry><term><parameter>n_properties</parameter> :</term>
1120
<listitem><simpara> number of property names and values
1121
</simpara></listitem></varlistentry>
1122
<varlistentry><term><parameter>properties</parameter> :</term>
1123
<listitem><simpara>array length=n_properties) (element-type utf8. <acronym>array</acronym> length=n_properties. <acronym>element-type</acronym> utf8. </simpara></listitem></varlistentry>
1124
<varlistentry><term><parameter>values</parameter> :</term>
1125
<listitem><simpara>array length=n_properies. <acronym>array</acronym> length=n_properies. </simpara></listitem></varlistentry>
1126
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara>transfer none. <acronym>transfer</acronym> none. </simpara></listitem></varlistentry>
1127
</variablelist><para role="since">Since 1.0</para></refsect2>
1128
<refsect2 id="clutter-actor-animate-with-timelinev" role="function" condition="since:1.0">
1129
<title>clutter_actor_animate_with_timelinev ()</title>
1130
<indexterm zone="clutter-actor-animate-with-timelinev" role="1.0"><primary sortas="actor_animate_with_timelinev">clutter_actor_animate_with_timelinev</primary></indexterm><programlisting><link linkend="ClutterAnimation">ClutterAnimation</link> * clutter_actor_animate_with_timelinev
1131
(<link linkend="ClutterActor">ClutterActor</link> *actor,
1132
<link linkend="gulong">gulong</link> mode,
1133
<link linkend="ClutterTimeline">ClutterTimeline</link> *timeline,
1134
<link linkend="gint">gint</link> n_properties,
1135
const <link linkend="gchar">gchar</link> * const properties[],
1136
const <link linkend="GValue">GValue</link> *values);</programlisting>
1138
Animates the given list of properties of <parameter>actor</parameter> between the current
1139
value for each property and a new final value. The animation has a
1140
definite duration given by <parameter>timeline</parameter> and a speed given by the <parameter>mode</parameter>.
1143
See <link linkend="clutter-actor-animate"><function>clutter_actor_animate()</function></link> for further details.
1146
This function is useful if you want to use an existing timeline
1147
to animate <parameter>actor</parameter>.
1150
This is the vector-based variant of <link linkend="clutter-actor-animate-with-timeline"><function>clutter_actor_animate_with_timeline()</function></link>,
1151
useful for language bindings.
1154
<warning>Unlike <link linkend="clutter-actor-animate-with-timeline"><function>clutter_actor_animate_with_timeline()</function></link>, this function
1155
will not allow you to specify "signal::" names and callbacks.</warning></para>
1157
</para><variablelist role="params">
1158
<varlistentry><term><parameter>actor</parameter> :</term>
1159
<listitem><simpara> a <link linkend="ClutterActor"><type>ClutterActor</type></link>
1160
</simpara></listitem></varlistentry>
1161
<varlistentry><term><parameter>mode</parameter> :</term>
1162
<listitem><simpara> an animation mode logical id
1163
</simpara></listitem></varlistentry>
1164
<varlistentry><term><parameter>timeline</parameter> :</term>
1165
<listitem><simpara> a <link linkend="ClutterTimeline"><type>ClutterTimeline</type></link>
1166
</simpara></listitem></varlistentry>
1167
<varlistentry><term><parameter>n_properties</parameter> :</term>
1168
<listitem><simpara> number of property names and values
1169
</simpara></listitem></varlistentry>
1170
<varlistentry><term><parameter>properties</parameter> :</term>
1171
<listitem><simpara>array length=n_properties) (element-type utf8. <acronym>array</acronym> length=n_properties. <acronym>element-type</acronym> utf8. </simpara></listitem></varlistentry>
1172
<varlistentry><term><parameter>values</parameter> :</term>
1173
<listitem><simpara>array length=n_properies. <acronym>array</acronym> length=n_properies. </simpara></listitem></varlistentry>
1174
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara>transfer none. <acronym>transfer</acronym> none. </simpara></listitem></varlistentry>
1175
</variablelist><para role="since">Since 1.0</para></refsect2>
1176
<refsect2 id="clutter-actor-animate-with-alphav" role="function" condition="since:1.0">
1177
<title>clutter_actor_animate_with_alphav ()</title>
1178
<indexterm zone="clutter-actor-animate-with-alphav" role="1.0"><primary sortas="actor_animate_with_alphav">clutter_actor_animate_with_alphav</primary></indexterm><programlisting><link linkend="ClutterAnimation">ClutterAnimation</link> * clutter_actor_animate_with_alphav (<link linkend="ClutterActor">ClutterActor</link> *actor,
1179
<link linkend="ClutterAlpha">ClutterAlpha</link> *alpha,
1180
<link linkend="gint">gint</link> n_properties,
1181
const <link linkend="gchar">gchar</link> * const properties[],
1182
const <link linkend="GValue">GValue</link> *values);</programlisting>
1184
Animates the given list of properties of <parameter>actor</parameter> between the current
1185
value for each property and a new final value. The animation has a
1186
definite behaviour given by the passed <parameter>alpha</parameter>.
1189
See <link linkend="clutter-actor-animate"><function>clutter_actor_animate()</function></link> for further details.
1192
This function is useful if you want to use an existing <link linkend="ClutterAlpha"><type>ClutterAlpha</type></link>
1193
to animate <parameter>actor</parameter>.
1196
This is the vector-based variant of <link linkend="clutter-actor-animate-with-alpha"><function>clutter_actor_animate_with_alpha()</function></link>,
1197
useful for language bindings.
1200
<warning>Unlike <link linkend="clutter-actor-animate-with-alpha"><function>clutter_actor_animate_with_alpha()</function></link>, this function will
1201
not allow you to specify "signal::" names and callbacks.</warning></para>
1203
</para><variablelist role="params">
1204
<varlistentry><term><parameter>actor</parameter> :</term>
1205
<listitem><simpara> a <link linkend="ClutterActor"><type>ClutterActor</type></link>
1206
</simpara></listitem></varlistentry>
1207
<varlistentry><term><parameter>alpha</parameter> :</term>
1208
<listitem><simpara> a <link linkend="ClutterAlpha"><type>ClutterAlpha</type></link>
1209
</simpara></listitem></varlistentry>
1210
<varlistentry><term><parameter>n_properties</parameter> :</term>
1211
<listitem><simpara> number of property names and values
1212
</simpara></listitem></varlistentry>
1213
<varlistentry><term><parameter>properties</parameter> :</term>
1214
<listitem><simpara>array length=n_properties) (element-type utf8. <acronym>array</acronym> length=n_properties. <acronym>element-type</acronym> utf8. </simpara></listitem></varlistentry>
1215
<varlistentry><term><parameter>values</parameter> :</term>
1216
<listitem><simpara>array length=n_properies. <acronym>array</acronym> length=n_properies. </simpara></listitem></varlistentry>
1217
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara>transfer none. <acronym>transfer</acronym> none. </simpara></listitem></varlistentry>
1218
</variablelist><para role="since">Since 1.0</para></refsect2>
1219
<refsect2 id="clutter-actor-get-animation" role="function" condition="since:1.0">
1220
<title>clutter_actor_get_animation ()</title>
1221
<indexterm zone="clutter-actor-get-animation" role="1.0"><primary sortas="actor_get_animation">clutter_actor_get_animation</primary></indexterm><programlisting><link linkend="ClutterAnimation">ClutterAnimation</link> * clutter_actor_get_animation (<link linkend="ClutterActor">ClutterActor</link> *actor);</programlisting>
1223
Retrieves the <link linkend="ClutterAnimation"><type>ClutterAnimation</type></link> used by <parameter>actor</parameter>, if <link linkend="clutter-actor-animate"><function>clutter_actor_animate()</function></link>
1224
has been called on <parameter>actor</parameter>.</para>
1226
</para><variablelist role="params">
1227
<varlistentry><term><parameter>actor</parameter> :</term>
1228
<listitem><simpara> a <link linkend="ClutterActor"><type>ClutterActor</type></link>
1229
</simpara></listitem></varlistentry>
1230
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> a <link linkend="ClutterAnimation"><type>ClutterAnimation</type></link>, or <link linkend="NULL--CAPS"><literal>NULL</literal></link>. <acronym>transfer</acronym> none. </simpara></listitem></varlistentry>
1231
</variablelist><para role="since">Since 1.0</para></refsect2>
1234
<refsect1 id="clutter-Implicit-Animations.property-details" role="property_details">
1235
<title role="property_details.title">Property Details</title>
1236
<refsect2 id="ClutterAnimation--alpha" role="property"><title>The <literal>"alpha"</literal> property</title>
1237
<indexterm zone="ClutterAnimation--alpha" role="1.0"><primary sortas="Animation:alpha">ClutterAnimation:alpha</primary></indexterm><programlisting> "alpha" <link linkend="ClutterAlpha">ClutterAlpha</link>* : Read / Write</programlisting>
1239
The <link linkend="ClutterAlpha"><type>ClutterAlpha</type></link> used by the animation.</para>
1241
</para><para>Since 1.0</para>
1243
<refsect2 id="ClutterAnimation--duration" role="property"><title>The <literal>"duration"</literal> property</title>
1244
<indexterm zone="ClutterAnimation--duration" role="1.0"><primary sortas="Animation:duration">ClutterAnimation:duration</primary></indexterm><programlisting> "duration" <link linkend="guint">guint</link> : Read / Write</programlisting>
1246
The duration of the animation, expressed in milliseconds.</para>
1248
</para><para>Default value: 0</para>
1249
<para>Since 1.0</para>
1251
<refsect2 id="ClutterAnimation--loop" role="property"><title>The <literal>"loop"</literal> property</title>
1252
<indexterm zone="ClutterAnimation--loop" role="1.0"><primary sortas="Animation:loop">ClutterAnimation:loop</primary></indexterm><programlisting> "loop" <link linkend="gboolean">gboolean</link> : Read / Write</programlisting>
1254
Whether the animation should loop.</para>
1256
</para><para>Default value: FALSE</para>
1257
<para>Since 1.0</para>
1259
<refsect2 id="ClutterAnimation--mode" role="property"><title>The <literal>"mode"</literal> property</title>
1260
<indexterm zone="ClutterAnimation--mode" role="1.0"><primary sortas="Animation:mode">ClutterAnimation:mode</primary></indexterm><programlisting> "mode" <link linkend="gulong">gulong</link> : Read / Write</programlisting>
1262
The animation mode, either a value from <link linkend="ClutterAnimationMode"><type>ClutterAnimationMode</type></link>
1263
or a value returned by <link linkend="clutter-alpha-register-func"><function>clutter_alpha_register_func()</function></link>. The
1264
default value is <link linkend="CLUTTER-LINEAR--CAPS"><literal>CLUTTER_LINEAR</literal></link>.</para>
1266
</para><para>Since 1.0</para>
1268
<refsect2 id="ClutterAnimation--object" role="property"><title>The <literal>"object"</literal> property</title>
1269
<indexterm zone="ClutterAnimation--object"><primary sortas="Animation:object">ClutterAnimation:object</primary></indexterm><programlisting> "object" <link linkend="GObject">GObject</link>* : Read / Write</programlisting>
1270
<para>Object to which the animation applies.</para></refsect2>
1271
<refsect2 id="ClutterAnimation--timeline" role="property"><title>The <literal>"timeline"</literal> property</title>
1272
<indexterm zone="ClutterAnimation--timeline" role="1.0"><primary sortas="Animation:timeline">ClutterAnimation:timeline</primary></indexterm><programlisting> "timeline" <link linkend="ClutterTimeline">ClutterTimeline</link>* : Read / Write</programlisting>
1274
The <link linkend="ClutterTimeline"><type>ClutterTimeline</type></link> used by the animation.</para>
1276
</para><para>Since 1.0</para>
1280
<refsect1 id="clutter-Implicit-Animations.signal-details" role="signals">
1281
<title role="signals.title">Signal Details</title>
1282
<refsect2 id="ClutterAnimation-completed" role="signal"><title>The <literal>"completed"</literal> signal</title>
1283
<indexterm zone="ClutterAnimation-completed" role="1.0"><primary sortas="Animation::completed">ClutterAnimation::completed</primary></indexterm><programlisting><link linkend="void">void</link> user_function (<link linkend="ClutterAnimation">ClutterAnimation</link> *animation,
1284
<link linkend="gpointer">gpointer</link> user_data) : Run Last</programlisting>
1286
The ::completed signal is emitted once the animation has
1290
The <parameter>animation</parameter> instance is guaranteed to be valid for the entire
1291
duration of the signal emission chain.</para>
1293
</para><variablelist role="params">
1294
<varlistentry><term><parameter>animation</parameter> :</term>
1295
<listitem><simpara> the animation that emitted the signal
1296
</simpara></listitem></varlistentry>
1297
<varlistentry><term><parameter>user_data</parameter> :</term>
1298
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
1299
</variablelist><para>Since 1.0</para></refsect2><refsect2 id="ClutterAnimation-started" role="signal"><title>The <literal>"started"</literal> signal</title>
1300
<indexterm zone="ClutterAnimation-started" role="1.0"><primary sortas="Animation::started">ClutterAnimation::started</primary></indexterm><programlisting><link linkend="void">void</link> user_function (<link linkend="ClutterAnimation">ClutterAnimation</link> *animation,
1301
<link linkend="gpointer">gpointer</link> user_data) : Run Last</programlisting>
1303
The ::started signal is emitted once the animation has been
1306
</para><variablelist role="params">
1307
<varlistentry><term><parameter>animation</parameter> :</term>
1308
<listitem><simpara> the animation that emitted the signal
1309
</simpara></listitem></varlistentry>
1310
<varlistentry><term><parameter>user_data</parameter> :</term>
1311
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
1312
</variablelist><para>Since 1.0</para></refsect2>
1316
<refsect1 id="clutter-Implicit-Animations.see-also">
1317
<title>See Also</title>
1318
#ClutterAnimatable, <link linkend="ClutterInterval"><type>ClutterInterval</type></link>, <link linkend="ClutterAlpha"><type>ClutterAlpha</type></link>,
1319
<link linkend="ClutterTimeline"><type>ClutterTimeline</type></link>