~ubuntu-branches/ubuntu/precise/clutter-1.0/precise

« back to all changes in this revision

Viewing changes to doc/reference/clutter/xml/clutter-animation.xml

  • Committer: Bazaar Package Importer
  • Author(s): Emilio Pozuelo Monfort
  • Date: 2010-03-21 13:27:56 UTC
  • mto: (2.1.3 experimental) (1.3.1 upstream)
  • mto: This revision was merged to the branch mainline in revision 8.
  • Revision ID: james.westby@ubuntu.com-20100321132756-nf8yd30yxo3zzwcm
Tags: upstream-1.2.2
ImportĀ upstreamĀ versionĀ 1.2.2

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
<?xml version="1.0"?>
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">
5
 
]>
6
 
 
7
 
<refentry id="clutter-Implicit-Animations">
8
 
<refmeta>
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>
12
 
</refmeta>
13
 
 
14
 
<refnamediv>
15
 
<refname>Implicit Animations</refname>
16
 
<refpurpose>Simple implicit animations</refpurpose>
17
 
</refnamediv>
18
 
 
19
 
<refsynopsisdiv id="clutter-Implicit-Animations.synopsis" role="synopsis">
20
 
<title role="synopsis.title">Synopsis</title>
21
 
<anchor id="ClutterAnimation"/>
22
 
<synopsis>
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);
46
 
 
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);
62
 
 
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,
67
 
                                                         ...);
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,
72
 
                                                         ...);
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,
76
 
                                                         ...);
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);
96
 
</synopsis>
97
 
</refsynopsisdiv>
98
 
 
99
 
<refsect1 id="clutter-Implicit-Animations.object-hierarchy" role="object_hierarchy">
100
 
<title role="object_hierarchy.title">Object Hierarchy</title>
101
 
<synopsis>
102
 
  <link linkend="GObject">GObject</link>
103
 
   +----ClutterAnimation
104
 
</synopsis>
105
 
</refsect1>
106
 
 
107
 
 
108
 
 
109
 
 
110
 
 
111
 
<refsect1 id="clutter-Implicit-Animations.properties" role="properties">
112
 
<title role="properties.title">Properties</title>
113
 
<synopsis>
114
 
  &quot;<link linkend="ClutterAnimation--alpha">alpha</link>&quot;                    <link linkend="ClutterAlpha">ClutterAlpha</link>*         : Read / Write
115
 
  &quot;<link linkend="ClutterAnimation--duration">duration</link>&quot;                 <link linkend="guint">guint</link>                 : Read / Write
116
 
  &quot;<link linkend="ClutterAnimation--loop">loop</link>&quot;                     <link linkend="gboolean">gboolean</link>              : Read / Write
117
 
  &quot;<link linkend="ClutterAnimation--mode">mode</link>&quot;                     <link linkend="gulong">gulong</link>                : Read / Write
118
 
  &quot;<link linkend="ClutterAnimation--object">object</link>&quot;                   <link linkend="GObject">GObject</link>*              : Read / Write
119
 
  &quot;<link linkend="ClutterAnimation--timeline">timeline</link>&quot;                 <link linkend="ClutterTimeline">ClutterTimeline</link>*      : Read / Write
120
 
</synopsis>
121
 
</refsect1>
122
 
 
123
 
<refsect1 id="clutter-Implicit-Animations.signals" role="signal_proto">
124
 
<title role="signal_proto.title">Signals</title>
125
 
<synopsis>
126
 
  &quot;<link linkend="ClutterAnimation-completed">completed</link>&quot;                                      : Run Last
127
 
  &quot;<link linkend="ClutterAnimation-started">started</link>&quot;                                        : Run Last
128
 
</synopsis>
129
 
</refsect1>
130
 
 
131
 
 
132
 
<refsect1 id="clutter-Implicit-Animations.description" role="desc">
133
 
<title role="desc.title">Description</title>
134
 
<para>
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.
137
 
</para>
138
 
<para>
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.
143
 
</para>
144
 
<para>
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>.
147
 
</para>
148
 
<para>
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>.
153
 
</para>
154
 
<para>
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.
160
 
</para>
161
 
<para>
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>.
164
 
</para>
165
 
<para>
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.
169
 
</para>
170
 
<para>
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.
176
 
</para>
177
 
<para>
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.
182
 
</para>
183
 
<para>
184
 
<link linkend="ClutterAnimation"><type>ClutterAnimation</type></link> is available since Clutter 1.0</para>
185
 
<para>
186
 
</para>
187
 
</refsect1>
188
 
 
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>
194
 
<para>
195
 
The <link linkend="ClutterAnimation"><type>ClutterAnimation</type></link> structure contains only private data and should
196
 
be accessed using the provided functions.</para>
197
 
<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;
205
 
</programlisting>
206
 
<para>
207
 
The <link linkend="ClutterAnimationClass"><type>ClutterAnimationClass</type></link> structure contains only private data and
208
 
should be accessed using the provided functions.</para>
209
 
<para>
210
 
</para><variablelist role="struct">
211
 
<varlistentry>
212
 
<term><structfield>started</structfield>&#160;()</term>
213
 
<listitem><simpara> class handler for the <link linkend="ClutterAnimation-started"><type>"started"</type></link> signal
214
 
</simpara></listitem>
215
 
</varlistentry>
216
 
<varlistentry>
217
 
<term><structfield>completed</structfield>&#160;()</term>
218
 
<listitem><simpara> class handler for the <link linkend="ClutterAnimation-completed"><type>"completed"</type></link> signal
219
 
</simpara></listitem>
220
 
</varlistentry>
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,
226
 
 
227
 
  /* linear */
228
 
  CLUTTER_LINEAR,
229
 
 
230
 
  /* quadratic */
231
 
  CLUTTER_EASE_IN_QUAD,
232
 
  CLUTTER_EASE_OUT_QUAD,
233
 
  CLUTTER_EASE_IN_OUT_QUAD,
234
 
 
235
 
  /* cubic */
236
 
  CLUTTER_EASE_IN_CUBIC,
237
 
  CLUTTER_EASE_OUT_CUBIC,
238
 
  CLUTTER_EASE_IN_OUT_CUBIC,
239
 
 
240
 
  /* quartic */
241
 
  CLUTTER_EASE_IN_QUART,
242
 
  CLUTTER_EASE_OUT_QUART,
243
 
  CLUTTER_EASE_IN_OUT_QUART,
244
 
 
245
 
  /* quintic */
246
 
  CLUTTER_EASE_IN_QUINT,
247
 
  CLUTTER_EASE_OUT_QUINT,
248
 
  CLUTTER_EASE_IN_OUT_QUINT,
249
 
 
250
 
  /* sinusoidal */
251
 
  CLUTTER_EASE_IN_SINE,
252
 
  CLUTTER_EASE_OUT_SINE,
253
 
  CLUTTER_EASE_IN_OUT_SINE,
254
 
 
255
 
  /* exponential */
256
 
  CLUTTER_EASE_IN_EXPO,
257
 
  CLUTTER_EASE_OUT_EXPO,
258
 
  CLUTTER_EASE_IN_OUT_EXPO,
259
 
 
260
 
  /* circular */
261
 
  CLUTTER_EASE_IN_CIRC,
262
 
  CLUTTER_EASE_OUT_CIRC,
263
 
  CLUTTER_EASE_IN_OUT_CIRC,
264
 
 
265
 
  /* elastic */
266
 
  CLUTTER_EASE_IN_ELASTIC,
267
 
  CLUTTER_EASE_OUT_ELASTIC,
268
 
  CLUTTER_EASE_IN_OUT_ELASTIC,
269
 
 
270
 
  /* overshooting cubic */
271
 
  CLUTTER_EASE_IN_BACK,
272
 
  CLUTTER_EASE_OUT_BACK,
273
 
  CLUTTER_EASE_IN_OUT_BACK,
274
 
 
275
 
  /* exponentially decaying parabolic */
276
 
  CLUTTER_EASE_IN_BOUNCE,
277
 
  CLUTTER_EASE_OUT_BOUNCE,
278
 
  CLUTTER_EASE_IN_OUT_BOUNCE,
279
 
 
280
 
  /* guard, before registered alpha functions */
281
 
  CLUTTER_ANIMATION_LAST
282
 
} ClutterAnimationMode;
283
 
</programlisting>
284
 
<para>
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.
288
 
</para>
289
 
<para>
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>
293
 
<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>
299
 
</varlistentry>
300
 
<varlistentry id="CLUTTER-LINEAR--CAPS" role="constant">
301
 
<term><literal>CLUTTER_LINEAR</literal></term>
302
 
<listitem><simpara> linear tweening
303
 
</simpara></listitem>
304
 
</varlistentry>
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>
309
 
</varlistentry>
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>
315
 
</varlistentry>
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>
321
 
</varlistentry>
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>
326
 
</varlistentry>
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>
332
 
</varlistentry>
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>
338
 
</varlistentry>
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>
343
 
</varlistentry>
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>
349
 
</varlistentry>
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>
355
 
</varlistentry>
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>
360
 
</varlistentry>
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>
366
 
</varlistentry>
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>
372
 
</varlistentry>
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>
377
 
</varlistentry>
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>
383
 
</varlistentry>
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>
389
 
</varlistentry>
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>
394
 
</varlistentry>
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>
400
 
</varlistentry>
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>
406
 
</varlistentry>
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>
411
 
</varlistentry>
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>
417
 
</varlistentry>
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>
423
 
</varlistentry>
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>
428
 
</varlistentry>
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>
433
 
</varlistentry>
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>
438
 
</varlistentry>
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>
444
 
</varlistentry>
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
448
 
  backtracking on end
449
 
</simpara></listitem>
450
 
</varlistentry>
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>
456
 
</varlistentry>
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>
462
 
</varlistentry>
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>
468
 
</varlistentry>
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>
474
 
</varlistentry>
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>
480
 
</varlistentry>
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>
485
 
<para>
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>.
490
 
</para>
491
 
<para>
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.
495
 
</para>
496
 
<para>
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>
501
 
<para>
502
 
</para><variablelist role="params">
503
 
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</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
505
 
 
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>
512
 
<para>
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>
515
 
<para>
516
 
</para><variablelist role="params">
517
 
<varlistentry><term><parameter>animation</parameter>&#160;:</term>
518
 
<listitem><simpara> a <link linkend="ClutterAnimation"><type>ClutterAnimation</type></link>
519
 
</simpara></listitem></varlistentry>
520
 
<varlistentry><term><parameter>object</parameter>&#160;:</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>
527
 
<para>
528
 
Retrieves the <link linkend="GObject"><type>GObject</type></link> attached to <parameter>animation</parameter>.</para>
529
 
<para>
530
 
</para><variablelist role="params">
531
 
<varlistentry><term><parameter>animation</parameter>&#160;:</term>
532
 
<listitem><simpara> a <link linkend="ClutterAnimation"><type>ClutterAnimation</type></link>
533
 
</simpara></listitem></varlistentry>
534
 
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</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>
540
 
<para>
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>.
544
 
</para>
545
 
<para>
546
 
This function will also set <link linkend="ClutterAnimation--alpha"><type>"alpha"</type></link> if needed.</para>
547
 
<para>
548
 
</para><variablelist role="params">
549
 
<varlistentry><term><parameter>animation</parameter>&#160;:</term>
550
 
<listitem><simpara> a <link linkend="ClutterAnimation"><type>ClutterAnimation</type></link>
551
 
</simpara></listitem></varlistentry>
552
 
<varlistentry><term><parameter>mode</parameter>&#160;:</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>
559
 
<para>
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>
562
 
<para>
563
 
</para><variablelist role="params">
564
 
<varlistentry><term><parameter>animation</parameter>&#160;:</term>
565
 
<listitem><simpara> a <link linkend="ClutterAnimation"><type>ClutterAnimation</type></link>
566
 
</simpara></listitem></varlistentry>
567
 
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> the mode for the animation
568
 
 
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>
575
 
<para>
576
 
Sets the duration of <parameter>animation</parameter> in milliseconds.
577
 
</para>
578
 
<para>
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>
581
 
<para>
582
 
</para><variablelist role="params">
583
 
<varlistentry><term><parameter>animation</parameter>&#160;:</term>
584
 
<listitem><simpara> a <link linkend="ClutterAnimation"><type>ClutterAnimation</type></link>
585
 
</simpara></listitem></varlistentry>
586
 
<varlistentry><term><parameter>msecs</parameter>&#160;:</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>
593
 
<para>
594
 
Retrieves the duration of <parameter>animation</parameter>, in milliseconds.</para>
595
 
<para>
596
 
</para><variablelist role="params">
597
 
<varlistentry><term><parameter>animation</parameter>&#160;:</term>
598
 
<listitem><simpara> a <link linkend="ClutterAnimation"><type>ClutterAnimation</type></link>
599
 
</simpara></listitem></varlistentry>
600
 
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> the duration of the animation
601
 
 
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>
608
 
<para>
609
 
Sets whether <parameter>animation</parameter> should loop over itself once finished.
610
 
</para>
611
 
<para>
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.
614
 
</para>
615
 
<para>
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>
618
 
<para>
619
 
</para><variablelist role="params">
620
 
<varlistentry><term><parameter>animation</parameter>&#160;:</term>
621
 
<listitem><simpara> a <link linkend="ClutterAnimation"><type>ClutterAnimation</type></link>
622
 
</simpara></listitem></varlistentry>
623
 
<varlistentry><term><parameter>loop</parameter>&#160;:</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>
630
 
<para>
631
 
Retrieves whether <parameter>animation</parameter> is looping.</para>
632
 
<para>
633
 
</para><variablelist role="params">
634
 
<varlistentry><term><parameter>animation</parameter>&#160;:</term>
635
 
<listitem><simpara> a <link linkend="ClutterAnimation"><type>ClutterAnimation</type></link>
636
 
</simpara></listitem></varlistentry>
637
 
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> <link linkend="TRUE--CAPS"><literal>TRUE</literal></link> if the animation is looping
638
 
 
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>
645
 
<para>
646
 
Sets the <link linkend="ClutterTimeline"><type>ClutterTimeline</type></link> used by <parameter>animation</parameter>.</para>
647
 
<para>
648
 
</para><variablelist role="params">
649
 
<varlistentry><term><parameter>animation</parameter>&#160;:</term>
650
 
<listitem><simpara> a <link linkend="ClutterAnimation"><type>ClutterAnimation</type></link>
651
 
</simpara></listitem></varlistentry>
652
 
<varlistentry><term><parameter>timeline</parameter>&#160;:</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>
660
 
<para>
661
 
Retrieves the <link linkend="ClutterTimeline"><type>ClutterTimeline</type></link> used by <parameter>animation</parameter></para>
662
 
<para>
663
 
</para><variablelist role="params">
664
 
<varlistentry><term><parameter>animation</parameter>&#160;:</term>
665
 
<listitem><simpara> a <link linkend="ClutterAnimation"><type>ClutterAnimation</type></link>
666
 
</simpara></listitem></varlistentry>
667
 
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</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>
673
 
<para>
674
 
Sets <parameter>alpha</parameter> as the <link linkend="ClutterAlpha"><type>ClutterAlpha</type></link> used by <parameter>animation</parameter>.
675
 
</para>
676
 
<para>
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>
679
 
<para>
680
 
</para><variablelist role="params">
681
 
<varlistentry><term><parameter>animation</parameter>&#160;:</term>
682
 
<listitem><simpara> a <link linkend="ClutterAnimation"><type>ClutterAnimation</type></link>
683
 
</simpara></listitem></varlistentry>
684
 
<varlistentry><term><parameter>alpha</parameter>&#160;:</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>
691
 
<para>
692
 
Retrieves the <link linkend="ClutterAlpha"><type>ClutterAlpha</type></link> used by <parameter>animation</parameter>.</para>
693
 
<para>
694
 
</para><variablelist role="params">
695
 
<varlistentry><term><parameter>animation</parameter>&#160;:</term>
696
 
<listitem><simpara> a <link linkend="ClutterAnimation"><type>ClutterAnimation</type></link>
697
 
</simpara></listitem></varlistentry>
698
 
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</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>
703
 
<para>
704
 
Emits the ::completed signal on <parameter>animation</parameter>
705
 
</para>
706
 
<para>
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>
713
 
<para>
714
 
</para><variablelist role="params">
715
 
<varlistentry><term><parameter>animation</parameter>&#160;:</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>
724
 
<para>
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>.
728
 
</para>
729
 
<para>
730
 
This method returns the animation primarily to make chained
731
 
calls convenient in language bindings.</para>
732
 
<para>
733
 
</para><variablelist role="params">
734
 
<varlistentry><term><parameter>animation</parameter>&#160;:</term>
735
 
<listitem><simpara> a <link linkend="ClutterAnimation"><type>ClutterAnimation</type></link>
736
 
</simpara></listitem></varlistentry>
737
 
<varlistentry><term><parameter>property_name</parameter>&#160;:</term>
738
 
<listitem><simpara> the property to control
739
 
</simpara></listitem></varlistentry>
740
 
<varlistentry><term><parameter>final</parameter>&#160;:</term>
741
 
<listitem><simpara> The final value of the property
742
 
</simpara></listitem></varlistentry>
743
 
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</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>
750
 
<para>
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>.
755
 
</para>
756
 
<para>
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>
759
 
<para>
760
 
</para><variablelist role="params">
761
 
<varlistentry><term><parameter>animation</parameter>&#160;:</term>
762
 
<listitem><simpara> a <link linkend="ClutterAnimation"><type>ClutterAnimation</type></link>
763
 
</simpara></listitem></varlistentry>
764
 
<varlistentry><term><parameter>property_name</parameter>&#160;:</term>
765
 
<listitem><simpara> the property to control
766
 
</simpara></listitem></varlistentry>
767
 
<varlistentry><term><parameter>interval</parameter>&#160;:</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>&#160;:</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>
776
 
<para>
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>
779
 
<para>
780
 
</para><variablelist role="params">
781
 
<varlistentry><term><parameter>animation</parameter>&#160;:</term>
782
 
<listitem><simpara> a <link linkend="ClutterAnimation"><type>ClutterAnimation</type></link>
783
 
</simpara></listitem></varlistentry>
784
 
<varlistentry><term><parameter>property_name</parameter>&#160;:</term>
785
 
<listitem><simpara> name of the property
786
 
</simpara></listitem></varlistentry>
787
 
<varlistentry><term><parameter>interval</parameter>&#160;:</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>
795
 
<para>
796
 
Checks whether <parameter>animation</parameter> is controlling <parameter>property_name</parameter>.</para>
797
 
<para>
798
 
</para><variablelist role="params">
799
 
<varlistentry><term><parameter>animation</parameter>&#160;:</term>
800
 
<listitem><simpara> a <link linkend="ClutterAnimation"><type>ClutterAnimation</type></link>
801
 
</simpara></listitem></varlistentry>
802
 
<varlistentry><term><parameter>property_name</parameter>&#160;:</term>
803
 
<listitem><simpara> name of the property
804
 
</simpara></listitem></varlistentry>
805
 
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</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
807
 
 
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>
814
 
<para>
815
 
Removes <parameter>property_name</parameter> from the list of animated properties.</para>
816
 
<para>
817
 
</para><variablelist role="params">
818
 
<varlistentry><term><parameter>animation</parameter>&#160;:</term>
819
 
<listitem><simpara> a <link linkend="ClutterAnimation"><type>ClutterAnimation</type></link>
820
 
</simpara></listitem></varlistentry>
821
 
<varlistentry><term><parameter>property_name</parameter>&#160;:</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>
829
 
<para>
830
 
Retrieves the <link linkend="ClutterInterval"><type>ClutterInterval</type></link> associated to <parameter>property_name</parameter>
831
 
inside <parameter>animation</parameter>.</para>
832
 
<para>
833
 
</para><variablelist role="params">
834
 
<varlistentry><term><parameter>animation</parameter>&#160;:</term>
835
 
<listitem><simpara> a <link linkend="ClutterAnimation"><type>ClutterAnimation</type></link>
836
 
</simpara></listitem></varlistentry>
837
 
<varlistentry><term><parameter>property_name</parameter>&#160;:</term>
838
 
<listitem><simpara> name of the property
839
 
</simpara></listitem></varlistentry>
840
 
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</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>
849
 
<para>
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>.
853
 
</para>
854
 
<para>
855
 
For example, this:
856
 
</para>
857
 
<para>
858
 
<informalexample><programlisting>
859
 
  clutter_actor_animate (rectangle, CLUTTER_LINEAR, 250,
860
 
                         "width", 100.0,
861
 
                         "height", 100.0,
862
 
                         NULL);
863
 
</programlisting></informalexample>
864
 
</para>
865
 
<para>
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.
868
 
</para>
869
 
<para>
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>.
872
 
</para>
873
 
<para>
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:
878
 
</para>
879
 
<para>
880
 
<informalexample><programlisting>
881
 
  clutter_actor_animate (actor, CLUTTER_EASE_IN_SINE, 100,
882
 
                         "rotation-angle-z", 360.0,
883
 
                         "fixed::rotation-center-z", &amp;center,
884
 
                         NULL);
885
 
</programlisting></informalexample>
886
 
</para>
887
 
<para>
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".
891
 
</para>
892
 
<para>
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
896
 
completed.
897
 
</para>
898
 
<para>
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
903
 
instance:
904
 
</para>
905
 
<para>
906
 
<informalexample><programlisting>
907
 
 
908
 
  static void
909
 
  on_animation_completed (ClutterAnimation *animation,
910
 
                          ClutterActor     *actor)
911
 
  {
912
 
    clutter_actor_hide (actor);
913
 
  }
914
 
 
915
 
  clutter_actor_animate (actor, CLUTTER_EASE_IN_CUBIC, 100,
916
 
                         "opacity", 0,
917
 
                         "signal::completed", on_animation_completed, actor,
918
 
                         NULL);
919
 
</programlisting></informalexample>
920
 
</para>
921
 
<para>
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.
929
 
</para>
930
 
<para>
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:
934
 
</para>
935
 
<para>
936
 
<informalexample><programlisting>
937
 
  clutter_actor_animate (actor, CLUTTER_LINEAR, 250,
938
 
                         "width", 100.0,
939
 
                         "height", 100.0,
940
 
                         NULL);
941
 
  clutter_actor_animate (actor, CLUTTER_EASE_IN_CUBIC, 500,
942
 
                         "x", 100.0,
943
 
                         "y", 100.0,
944
 
                         "width", 200.0,
945
 
                         NULL);
946
 
</programlisting></informalexample>
947
 
</para>
948
 
<para>
949
 
is the equivalent of:
950
 
</para>
951
 
<para>
952
 
<informalexample><programlisting>
953
 
  clutter_actor_animate (actor, CLUTTER_EASE_IN_CUBIC, 500,
954
 
                         "x", 100.0,
955
 
                         "y", 100.0,
956
 
                         "width", 200.0,
957
 
                         "height", 100.0,
958
 
                         NULL);
959
 
</programlisting></informalexample>
960
 
</para>
961
 
<para>
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
964
 
complete.</note>
965
 
</para>
966
 
<para>
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:
973
 
</para>
974
 
<para>
975
 
<informalexample><programlisting>
976
 
  static void
977
 
  on_animation_completed (ClutterAnimation *animation,
978
 
                          ClutterActor     *actor)
979
 
  {
980
 
    clutter_actor_animate (actor, CLUTTER_EASE_OUT_CUBIC, 250,
981
 
                           "x", 500.0,
982
 
                           "y", 500.0,
983
 
                           NULL);
984
 
  }
985
 
 
986
 
    ...
987
 
    animation = clutter_actor_animate (actor, CLUTTER_EASE_IN_CUBIC, 250,
988
 
                                       "x", 100.0,
989
 
                                       "y", 100.0,
990
 
                                       NULL);
991
 
    g_signal_connect (animation, "completed",
992
 
                      G_CALLBACK (on_animation_completed),
993
 
                      actor);
994
 
    ...
995
 
</programlisting></informalexample></para>
996
 
<para>
997
 
</para><variablelist role="params">
998
 
<varlistentry><term><parameter>actor</parameter>&#160;:</term>
999
 
<listitem><simpara> a <link linkend="ClutterActor"><type>ClutterActor</type></link>
1000
 
</simpara></listitem></varlistentry>
1001
 
<varlistentry><term><parameter>mode</parameter>&#160;:</term>
1002
 
<listitem><simpara> an animation mode logical id
1003
 
</simpara></listitem></varlistentry>
1004
 
<varlistentry><term><parameter>duration</parameter>&#160;:</term>
1005
 
<listitem><simpara> duration of the animation, in milliseconds
1006
 
</simpara></listitem></varlistentry>
1007
 
<varlistentry><term><parameter>first_property_name</parameter>&#160;:</term>
1008
 
<listitem><simpara> the name of a property
1009
 
</simpara></listitem></varlistentry>
1010
 
<varlistentry><term><parameter>...</parameter>&#160;:</term>
1011
 
<listitem><simpara> a <link linkend="NULL--CAPS"><literal>NULL</literal></link> terminated list of property names and
1012
 
  property values
1013
 
</simpara></listitem></varlistentry>
1014
 
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</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>
1023
 
<para>
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>.
1027
 
</para>
1028
 
<para>
1029
 
See <link linkend="clutter-actor-animate"><function>clutter_actor_animate()</function></link> for further details.
1030
 
</para>
1031
 
<para>
1032
 
This function is useful if you want to use an existing timeline
1033
 
to animate <parameter>actor</parameter>.</para>
1034
 
<para>
1035
 
</para><variablelist role="params">
1036
 
<varlistentry><term><parameter>actor</parameter>&#160;:</term>
1037
 
<listitem><simpara> a <link linkend="ClutterActor"><type>ClutterActor</type></link>
1038
 
</simpara></listitem></varlistentry>
1039
 
<varlistentry><term><parameter>mode</parameter>&#160;:</term>
1040
 
<listitem><simpara> an animation mode logical id
1041
 
</simpara></listitem></varlistentry>
1042
 
<varlistentry><term><parameter>timeline</parameter>&#160;:</term>
1043
 
<listitem><simpara> a <link linkend="ClutterTimeline"><type>ClutterTimeline</type></link>
1044
 
</simpara></listitem></varlistentry>
1045
 
<varlistentry><term><parameter>first_property_name</parameter>&#160;:</term>
1046
 
<listitem><simpara> the name of a property
1047
 
</simpara></listitem></varlistentry>
1048
 
<varlistentry><term><parameter>...</parameter>&#160;:</term>
1049
 
<listitem><simpara> a <link linkend="NULL--CAPS"><literal>NULL</literal></link> terminated list of property names and
1050
 
  property values
1051
 
</simpara></listitem></varlistentry>
1052
 
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</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>
1060
 
<para>
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>.
1064
 
</para>
1065
 
<para>
1066
 
See <link linkend="clutter-actor-animate"><function>clutter_actor_animate()</function></link> for further details.
1067
 
</para>
1068
 
<para>
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>
1071
 
<para>
1072
 
</para><variablelist role="params">
1073
 
<varlistentry><term><parameter>actor</parameter>&#160;:</term>
1074
 
<listitem><simpara> a <link linkend="ClutterActor"><type>ClutterActor</type></link>
1075
 
</simpara></listitem></varlistentry>
1076
 
<varlistentry><term><parameter>alpha</parameter>&#160;:</term>
1077
 
<listitem><simpara> a <link linkend="ClutterAlpha"><type>ClutterAlpha</type></link>
1078
 
</simpara></listitem></varlistentry>
1079
 
<varlistentry><term><parameter>first_property_name</parameter>&#160;:</term>
1080
 
<listitem><simpara> the name of a property
1081
 
</simpara></listitem></varlistentry>
1082
 
<varlistentry><term><parameter>...</parameter>&#160;:</term>
1083
 
<listitem><simpara> a <link linkend="NULL--CAPS"><literal>NULL</literal></link> terminated list of property names and
1084
 
  property values
1085
 
</simpara></listitem></varlistentry>
1086
 
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</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>
1096
 
<para>
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>.
1100
 
</para>
1101
 
<para>
1102
 
This is the vector-based variant of <link linkend="clutter-actor-animate"><function>clutter_actor_animate()</function></link>, useful
1103
 
for language bindings.
1104
 
</para>
1105
 
<para>
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>
1108
 
<para>
1109
 
</para><variablelist role="params">
1110
 
<varlistentry><term><parameter>actor</parameter>&#160;:</term>
1111
 
<listitem><simpara> a <link linkend="ClutterActor"><type>ClutterActor</type></link>
1112
 
</simpara></listitem></varlistentry>
1113
 
<varlistentry><term><parameter>mode</parameter>&#160;:</term>
1114
 
<listitem><simpara> an animation mode logical id
1115
 
</simpara></listitem></varlistentry>
1116
 
<varlistentry><term><parameter>duration</parameter>&#160;:</term>
1117
 
<listitem><simpara> duration of the animation, in milliseconds
1118
 
</simpara></listitem></varlistentry>
1119
 
<varlistentry><term><parameter>n_properties</parameter>&#160;:</term>
1120
 
<listitem><simpara> number of property names and values
1121
 
</simpara></listitem></varlistentry>
1122
 
<varlistentry><term><parameter>properties</parameter>&#160;:</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>&#160;:</term>
1125
 
<listitem><simpara>array length=n_properies. <acronym>array</acronym> length=n_properies. </simpara></listitem></varlistentry>
1126
 
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</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>
1137
 
<para>
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>.
1141
 
</para>
1142
 
<para>
1143
 
See <link linkend="clutter-actor-animate"><function>clutter_actor_animate()</function></link> for further details.
1144
 
</para>
1145
 
<para>
1146
 
This function is useful if you want to use an existing timeline
1147
 
to animate <parameter>actor</parameter>.
1148
 
</para>
1149
 
<para>
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.
1152
 
</para>
1153
 
<para>
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>
1156
 
<para>
1157
 
</para><variablelist role="params">
1158
 
<varlistentry><term><parameter>actor</parameter>&#160;:</term>
1159
 
<listitem><simpara> a <link linkend="ClutterActor"><type>ClutterActor</type></link>
1160
 
</simpara></listitem></varlistentry>
1161
 
<varlistentry><term><parameter>mode</parameter>&#160;:</term>
1162
 
<listitem><simpara> an animation mode logical id
1163
 
</simpara></listitem></varlistentry>
1164
 
<varlistentry><term><parameter>timeline</parameter>&#160;:</term>
1165
 
<listitem><simpara> a <link linkend="ClutterTimeline"><type>ClutterTimeline</type></link>
1166
 
</simpara></listitem></varlistentry>
1167
 
<varlistentry><term><parameter>n_properties</parameter>&#160;:</term>
1168
 
<listitem><simpara> number of property names and values
1169
 
</simpara></listitem></varlistentry>
1170
 
<varlistentry><term><parameter>properties</parameter>&#160;:</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>&#160;:</term>
1173
 
<listitem><simpara>array length=n_properies. <acronym>array</acronym> length=n_properies. </simpara></listitem></varlistentry>
1174
 
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</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>
1183
 
<para>
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>.
1187
 
</para>
1188
 
<para>
1189
 
See <link linkend="clutter-actor-animate"><function>clutter_actor_animate()</function></link> for further details.
1190
 
</para>
1191
 
<para>
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>.
1194
 
</para>
1195
 
<para>
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.
1198
 
</para>
1199
 
<para>
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>
1202
 
<para>
1203
 
</para><variablelist role="params">
1204
 
<varlistentry><term><parameter>actor</parameter>&#160;:</term>
1205
 
<listitem><simpara> a <link linkend="ClutterActor"><type>ClutterActor</type></link>
1206
 
</simpara></listitem></varlistentry>
1207
 
<varlistentry><term><parameter>alpha</parameter>&#160;:</term>
1208
 
<listitem><simpara> a <link linkend="ClutterAlpha"><type>ClutterAlpha</type></link>
1209
 
</simpara></listitem></varlistentry>
1210
 
<varlistentry><term><parameter>n_properties</parameter>&#160;:</term>
1211
 
<listitem><simpara> number of property names and values
1212
 
</simpara></listitem></varlistentry>
1213
 
<varlistentry><term><parameter>properties</parameter>&#160;:</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>&#160;:</term>
1216
 
<listitem><simpara>array length=n_properies. <acronym>array</acronym> length=n_properies. </simpara></listitem></varlistentry>
1217
 
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</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>
1222
 
<para>
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>
1225
 
<para>
1226
 
</para><variablelist role="params">
1227
 
<varlistentry><term><parameter>actor</parameter>&#160;:</term>
1228
 
<listitem><simpara> a <link linkend="ClutterActor"><type>ClutterActor</type></link>
1229
 
</simpara></listitem></varlistentry>
1230
 
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</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>
1232
 
 
1233
 
</refsect1>
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>&quot;alpha&quot;</literal> property</title>
1237
 
<indexterm zone="ClutterAnimation--alpha" role="1.0"><primary sortas="Animation:alpha">ClutterAnimation:alpha</primary></indexterm><programlisting>  &quot;alpha&quot;                    <link linkend="ClutterAlpha">ClutterAlpha</link>*         : Read / Write</programlisting>
1238
 
<para>
1239
 
The <link linkend="ClutterAlpha"><type>ClutterAlpha</type></link> used by the animation.</para>
1240
 
<para>
1241
 
</para><para>Since 1.0</para>
1242
 
</refsect2>
1243
 
<refsect2 id="ClutterAnimation--duration" role="property"><title>The <literal>&quot;duration&quot;</literal> property</title>
1244
 
<indexterm zone="ClutterAnimation--duration" role="1.0"><primary sortas="Animation:duration">ClutterAnimation:duration</primary></indexterm><programlisting>  &quot;duration&quot;                 <link linkend="guint">guint</link>                 : Read / Write</programlisting>
1245
 
<para>
1246
 
The duration of the animation, expressed in milliseconds.</para>
1247
 
<para>
1248
 
</para><para>Default value: 0</para>
1249
 
<para>Since 1.0</para>
1250
 
</refsect2>
1251
 
<refsect2 id="ClutterAnimation--loop" role="property"><title>The <literal>&quot;loop&quot;</literal> property</title>
1252
 
<indexterm zone="ClutterAnimation--loop" role="1.0"><primary sortas="Animation:loop">ClutterAnimation:loop</primary></indexterm><programlisting>  &quot;loop&quot;                     <link linkend="gboolean">gboolean</link>              : Read / Write</programlisting>
1253
 
<para>
1254
 
Whether the animation should loop.</para>
1255
 
<para>
1256
 
</para><para>Default value: FALSE</para>
1257
 
<para>Since 1.0</para>
1258
 
</refsect2>
1259
 
<refsect2 id="ClutterAnimation--mode" role="property"><title>The <literal>&quot;mode&quot;</literal> property</title>
1260
 
<indexterm zone="ClutterAnimation--mode" role="1.0"><primary sortas="Animation:mode">ClutterAnimation:mode</primary></indexterm><programlisting>  &quot;mode&quot;                     <link linkend="gulong">gulong</link>                : Read / Write</programlisting>
1261
 
<para>
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>
1265
 
<para>
1266
 
</para><para>Since 1.0</para>
1267
 
</refsect2>
1268
 
<refsect2 id="ClutterAnimation--object" role="property"><title>The <literal>&quot;object&quot;</literal> property</title>
1269
 
<indexterm zone="ClutterAnimation--object"><primary sortas="Animation:object">ClutterAnimation:object</primary></indexterm><programlisting>  &quot;object&quot;                   <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>&quot;timeline&quot;</literal> property</title>
1272
 
<indexterm zone="ClutterAnimation--timeline" role="1.0"><primary sortas="Animation:timeline">ClutterAnimation:timeline</primary></indexterm><programlisting>  &quot;timeline&quot;                 <link linkend="ClutterTimeline">ClutterTimeline</link>*      : Read / Write</programlisting>
1273
 
<para>
1274
 
The <link linkend="ClutterTimeline"><type>ClutterTimeline</type></link> used by the animation.</para>
1275
 
<para>
1276
 
</para><para>Since 1.0</para>
1277
 
</refsect2>
1278
 
</refsect1>
1279
 
 
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>&quot;completed&quot;</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>
1285
 
<para>
1286
 
The ::completed signal is emitted once the animation has
1287
 
been completed.
1288
 
</para>
1289
 
<para>
1290
 
The <parameter>animation</parameter> instance is guaranteed to be valid for the entire
1291
 
duration of the signal emission chain.</para>
1292
 
<para>
1293
 
</para><variablelist role="params">
1294
 
<varlistentry><term><parameter>animation</parameter>&#160;:</term>
1295
 
<listitem><simpara> the animation that emitted the signal
1296
 
</simpara></listitem></varlistentry>
1297
 
<varlistentry><term><parameter>user_data</parameter>&#160;:</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>&quot;started&quot;</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>
1302
 
<para>
1303
 
The ::started signal is emitted once the animation has been
1304
 
started</para>
1305
 
<para>
1306
 
</para><variablelist role="params">
1307
 
<varlistentry><term><parameter>animation</parameter>&#160;:</term>
1308
 
<listitem><simpara> the animation that emitted the signal
1309
 
</simpara></listitem></varlistentry>
1310
 
<varlistentry><term><parameter>user_data</parameter>&#160;:</term>
1311
 
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
1312
 
</variablelist><para>Since 1.0</para></refsect2>
1313
 
</refsect1>
1314
 
 
1315
 
 
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>
1320
 
</refsect1>
1321
 
 
1322
 
</refentry>