1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
4 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5 <title>ClutterAnimator</title>
6 <meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
7 <link rel="home" href="index.html" title="Clutter Reference Manual">
8 <link rel="up" href="ch10.html" title="High Level API">
9 <link rel="prev" href="clutter-Implicit-Animations.html" title="Implicit Animations">
10 <link rel="next" href="ClutterState.html" title="ClutterState">
11 <meta name="generator" content="GTK-Doc V1.18.1 (XML mode)">
12 <link rel="stylesheet" href="style.css" type="text/css">
14 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
15 <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
17 <td><a accesskey="p" href="clutter-Implicit-Animations.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
18 <td><a accesskey="u" href="ch10.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
19 <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
20 <th width="100%" align="center">Clutter Reference Manual</th>
21 <td><a accesskey="n" href="ClutterState.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
23 <tr><td colspan="5" class="shortcuts">
24 <a href="#ClutterAnimator.synopsis" class="shortcut">Top</a>
26 <a href="#ClutterAnimator.description" class="shortcut">Description</a>
28 <a href="#ClutterAnimator.object-hierarchy" class="shortcut">Object Hierarchy</a>
30 <a href="#ClutterAnimator.implemented-interfaces" class="shortcut">Implemented Interfaces</a>
32 <a href="#ClutterAnimator.properties" class="shortcut">Properties</a>
35 <div class="refentry">
36 <a name="ClutterAnimator"></a><div class="titlepage"></div>
37 <div class="refnamediv"><table width="100%"><tr>
39 <h2><span class="refentrytitle"><a name="ClutterAnimator.top_of_page"></a>ClutterAnimator</span></h2>
40 <p>ClutterAnimator — Multi-actor tweener</p>
42 <td valign="top" align="right"></td>
44 <div class="refsynopsisdiv">
45 <a name="ClutterAnimator.synopsis"></a><h2>Synopsis</h2>
46 <pre class="synopsis"> <a class="link" href="ClutterAnimator.html#ClutterAnimator-struct" title="ClutterAnimator">ClutterAnimator</a>;
47 struct <a class="link" href="ClutterAnimator.html#ClutterAnimatorClass" title="struct ClutterAnimatorClass">ClutterAnimatorClass</a>;
48 <a class="link" href="ClutterAnimator.html" title="ClutterAnimator"><span class="returnvalue">ClutterAnimator</span></a> * <a class="link" href="ClutterAnimator.html#clutter-animator-new" title="clutter_animator_new ()">clutter_animator_new</a> (<em class="parameter"><code><span class="type">void</span></code></em>);
49 <span class="returnvalue">void</span> <a class="link" href="ClutterAnimator.html#clutter-animator-set" title="clutter_animator_set ()">clutter_animator_set</a> (<em class="parameter"><code><a class="link" href="ClutterAnimator.html" title="ClutterAnimator"><span class="type">ClutterAnimator</span></a> *animator</code></em>,
50 <em class="parameter"><code><span class="type">gpointer</span> first_object</code></em>,
51 <em class="parameter"><code>const <span class="type">gchar</span> *first_property_name</code></em>,
52 <em class="parameter"><code><span class="type">guint</span> first_mode</code></em>,
53 <em class="parameter"><code><span class="type">gdouble</span> first_progress</code></em>,
54 <em class="parameter"><code>...</code></em>);
55 <a class="link" href="ClutterAnimator.html" title="ClutterAnimator"><span class="returnvalue">ClutterAnimator</span></a> * <a class="link" href="ClutterAnimator.html#clutter-animator-set-key" title="clutter_animator_set_key ()">clutter_animator_set_key</a> (<em class="parameter"><code><a class="link" href="ClutterAnimator.html" title="ClutterAnimator"><span class="type">ClutterAnimator</span></a> *animator</code></em>,
56 <em class="parameter"><code><span class="type">GObject</span> *object</code></em>,
57 <em class="parameter"><code>const <span class="type">gchar</span> *property_name</code></em>,
58 <em class="parameter"><code><span class="type">guint</span> mode</code></em>,
59 <em class="parameter"><code><span class="type">gdouble</span> progress</code></em>,
60 <em class="parameter"><code>const <span class="type">GValue</span> *value</code></em>);
61 <span class="returnvalue">void</span> <a class="link" href="ClutterAnimator.html#clutter-animator-remove-key" title="clutter_animator_remove_key ()">clutter_animator_remove_key</a> (<em class="parameter"><code><a class="link" href="ClutterAnimator.html" title="ClutterAnimator"><span class="type">ClutterAnimator</span></a> *animator</code></em>,
62 <em class="parameter"><code><span class="type">GObject</span> *object</code></em>,
63 <em class="parameter"><code>const <span class="type">gchar</span> *property_name</code></em>,
64 <em class="parameter"><code><span class="type">gdouble</span> progress</code></em>);
65 <span class="returnvalue">GList</span> * <a class="link" href="ClutterAnimator.html#clutter-animator-get-keys" title="clutter_animator_get_keys ()">clutter_animator_get_keys</a> (<em class="parameter"><code><a class="link" href="ClutterAnimator.html" title="ClutterAnimator"><span class="type">ClutterAnimator</span></a> *animator</code></em>,
66 <em class="parameter"><code><span class="type">GObject</span> *object</code></em>,
67 <em class="parameter"><code>const <span class="type">gchar</span> *property_name</code></em>,
68 <em class="parameter"><code><span class="type">gdouble</span> progress</code></em>);
69 <a class="link" href="ClutterTimeline.html" title="ClutterTimeline"><span class="returnvalue">ClutterTimeline</span></a> * <a class="link" href="ClutterAnimator.html#clutter-animator-start" title="clutter_animator_start ()">clutter_animator_start</a> (<em class="parameter"><code><a class="link" href="ClutterAnimator.html" title="ClutterAnimator"><span class="type">ClutterAnimator</span></a> *animator</code></em>);
70 <span class="returnvalue">gboolean</span> <a class="link" href="ClutterAnimator.html#clutter-animator-compute-value" title="clutter_animator_compute_value ()">clutter_animator_compute_value</a> (<em class="parameter"><code><a class="link" href="ClutterAnimator.html" title="ClutterAnimator"><span class="type">ClutterAnimator</span></a> *animator</code></em>,
71 <em class="parameter"><code><span class="type">GObject</span> *object</code></em>,
72 <em class="parameter"><code>const <span class="type">gchar</span> *property_name</code></em>,
73 <em class="parameter"><code><span class="type">gdouble</span> progress</code></em>,
74 <em class="parameter"><code><span class="type">GValue</span> *value</code></em>);
76 <span class="returnvalue">void</span> <a class="link" href="ClutterAnimator.html#clutter-animator-set-timeline" title="clutter_animator_set_timeline ()">clutter_animator_set_timeline</a> (<em class="parameter"><code><a class="link" href="ClutterAnimator.html" title="ClutterAnimator"><span class="type">ClutterAnimator</span></a> *animator</code></em>,
77 <em class="parameter"><code><a class="link" href="ClutterTimeline.html" title="ClutterTimeline"><span class="type">ClutterTimeline</span></a> *timeline</code></em>);
78 <a class="link" href="ClutterTimeline.html" title="ClutterTimeline"><span class="returnvalue">ClutterTimeline</span></a> * <a class="link" href="ClutterAnimator.html#clutter-animator-get-timeline" title="clutter_animator_get_timeline ()">clutter_animator_get_timeline</a> (<em class="parameter"><code><a class="link" href="ClutterAnimator.html" title="ClutterAnimator"><span class="type">ClutterAnimator</span></a> *animator</code></em>);
79 <span class="returnvalue">void</span> <a class="link" href="ClutterAnimator.html#clutter-animator-set-duration" title="clutter_animator_set_duration ()">clutter_animator_set_duration</a> (<em class="parameter"><code><a class="link" href="ClutterAnimator.html" title="ClutterAnimator"><span class="type">ClutterAnimator</span></a> *animator</code></em>,
80 <em class="parameter"><code><span class="type">guint</span> duration</code></em>);
81 <span class="returnvalue">guint</span> <a class="link" href="ClutterAnimator.html#clutter-animator-get-duration" title="clutter_animator_get_duration ()">clutter_animator_get_duration</a> (<em class="parameter"><code><a class="link" href="ClutterAnimator.html" title="ClutterAnimator"><span class="type">ClutterAnimator</span></a> *animator</code></em>);
83 <span class="returnvalue">void</span> <a class="link" href="ClutterAnimator.html#clutter-animator-property-set-ease-in" title="clutter_animator_property_set_ease_in ()">clutter_animator_property_set_ease_in</a>
84 (<em class="parameter"><code><a class="link" href="ClutterAnimator.html" title="ClutterAnimator"><span class="type">ClutterAnimator</span></a> *animator</code></em>,
85 <em class="parameter"><code><span class="type">GObject</span> *object</code></em>,
86 <em class="parameter"><code>const <span class="type">gchar</span> *property_name</code></em>,
87 <em class="parameter"><code><span class="type">gboolean</span> ease_in</code></em>);
88 <span class="returnvalue">gboolean</span> <a class="link" href="ClutterAnimator.html#clutter-animator-property-get-ease-in" title="clutter_animator_property_get_ease_in ()">clutter_animator_property_get_ease_in</a>
89 (<em class="parameter"><code><a class="link" href="ClutterAnimator.html" title="ClutterAnimator"><span class="type">ClutterAnimator</span></a> *animator</code></em>,
90 <em class="parameter"><code><span class="type">GObject</span> *object</code></em>,
91 <em class="parameter"><code>const <span class="type">gchar</span> *property_name</code></em>);
92 enum <a class="link" href="ClutterAnimator.html#ClutterInterpolation" title="enum ClutterInterpolation">ClutterInterpolation</a>;
93 <span class="returnvalue">void</span> <a class="link" href="ClutterAnimator.html#clutter-animator-property-set-interpolation" title="clutter_animator_property_set_interpolation ()">clutter_animator_property_set_interpolation</a>
94 (<em class="parameter"><code><a class="link" href="ClutterAnimator.html" title="ClutterAnimator"><span class="type">ClutterAnimator</span></a> *animator</code></em>,
95 <em class="parameter"><code><span class="type">GObject</span> *object</code></em>,
96 <em class="parameter"><code>const <span class="type">gchar</span> *property_name</code></em>,
97 <em class="parameter"><code><a class="link" href="ClutterAnimator.html#ClutterInterpolation" title="enum ClutterInterpolation"><span class="type">ClutterInterpolation</span></a> interpolation</code></em>);
98 <a class="link" href="ClutterAnimator.html#ClutterInterpolation" title="enum ClutterInterpolation"><span class="returnvalue">ClutterInterpolation</span></a> <a class="link" href="ClutterAnimator.html#clutter-animator-property-get-interpolation" title="clutter_animator_property_get_interpolation ()">clutter_animator_property_get_interpolation</a>
99 (<em class="parameter"><code><a class="link" href="ClutterAnimator.html" title="ClutterAnimator"><span class="type">ClutterAnimator</span></a> *animator</code></em>,
100 <em class="parameter"><code><span class="type">GObject</span> *object</code></em>,
101 <em class="parameter"><code>const <span class="type">gchar</span> *property_name</code></em>);
103 <a class="link" href="ClutterAnimator.html#ClutterAnimatorKey" title="ClutterAnimatorKey">ClutterAnimatorKey</a>;
104 <span class="returnvalue">GObject</span> * <a class="link" href="ClutterAnimator.html#clutter-animator-key-get-object" title="clutter_animator_key_get_object ()">clutter_animator_key_get_object</a> (<em class="parameter"><code>const <a class="link" href="ClutterAnimator.html#ClutterAnimatorKey" title="ClutterAnimatorKey"><span class="type">ClutterAnimatorKey</span></a> *key</code></em>);
105 const <span class="returnvalue">gchar</span> * <a class="link" href="ClutterAnimator.html#clutter-animator-key-get-property-name" title="clutter_animator_key_get_property_name ()">clutter_animator_key_get_property_name</a>
106 (<em class="parameter"><code>const <a class="link" href="ClutterAnimator.html#ClutterAnimatorKey" title="ClutterAnimatorKey"><span class="type">ClutterAnimatorKey</span></a> *key</code></em>);
107 <span class="returnvalue">GType</span> <a class="link" href="ClutterAnimator.html#clutter-animator-key-get-property-type" title="clutter_animator_key_get_property_type ()">clutter_animator_key_get_property_type</a>
108 (<em class="parameter"><code>const <a class="link" href="ClutterAnimator.html#ClutterAnimatorKey" title="ClutterAnimatorKey"><span class="type">ClutterAnimatorKey</span></a> *key</code></em>);
109 <span class="returnvalue">gulong</span> <a class="link" href="ClutterAnimator.html#clutter-animator-key-get-mode" title="clutter_animator_key_get_mode ()">clutter_animator_key_get_mode</a> (<em class="parameter"><code>const <a class="link" href="ClutterAnimator.html#ClutterAnimatorKey" title="ClutterAnimatorKey"><span class="type">ClutterAnimatorKey</span></a> *key</code></em>);
110 <span class="returnvalue">gdouble</span> <a class="link" href="ClutterAnimator.html#clutter-animator-key-get-progress" title="clutter_animator_key_get_progress ()">clutter_animator_key_get_progress</a> (<em class="parameter"><code>const <a class="link" href="ClutterAnimator.html#ClutterAnimatorKey" title="ClutterAnimatorKey"><span class="type">ClutterAnimatorKey</span></a> *key</code></em>);
111 <span class="returnvalue">gboolean</span> <a class="link" href="ClutterAnimator.html#clutter-animator-key-get-value" title="clutter_animator_key_get_value ()">clutter_animator_key_get_value</a> (<em class="parameter"><code>const <a class="link" href="ClutterAnimator.html#ClutterAnimatorKey" title="ClutterAnimatorKey"><span class="type">ClutterAnimatorKey</span></a> *key</code></em>,
112 <em class="parameter"><code><span class="type">GValue</span> *value</code></em>);
115 <div class="refsect1">
116 <a name="ClutterAnimator.object-hierarchy"></a><h2>Object Hierarchy</h2>
117 <pre class="synopsis">
122 <div class="refsect1">
123 <a name="ClutterAnimator.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
125 ClutterAnimator implements
126 <a class="link" href="ClutterScriptable.html" title="ClutterScriptable">ClutterScriptable</a>.</p>
128 <div class="refsect1">
129 <a name="ClutterAnimator.properties"></a><h2>Properties</h2>
130 <pre class="synopsis">
131 "<a class="link" href="ClutterAnimator.html#ClutterAnimator--duration" title='The "duration" property'>duration</a>" <span class="type">guint</span> : Read / Write
132 "<a class="link" href="ClutterAnimator.html#ClutterAnimator--timeline" title='The "timeline" property'>timeline</a>" <a class="link" href="ClutterTimeline.html" title="ClutterTimeline"><span class="type">ClutterTimeline</span></a>* : Read / Write
135 <div class="refsect1">
136 <a name="ClutterAnimator.description"></a><h2>Description</h2>
138 <a class="link" href="ClutterAnimator.html" title="ClutterAnimator"><span class="type">ClutterAnimator</span></a> is an object providing declarative animations for
139 <span class="type">GObject</span> properties belonging to one or more <span class="type">GObject</span>s to
140 <a href="clutter-Value-intervals.html#ClutterInterval"><span class="type">ClutterIntervals</span></a>.
143 <a class="link" href="ClutterAnimator.html" title="ClutterAnimator"><span class="type">ClutterAnimator</span></a> is used to build and describe complex animations
144 in terms of "key frames". <a class="link" href="ClutterAnimator.html" title="ClutterAnimator"><span class="type">ClutterAnimator</span></a> is meant to be used
145 through the <a class="link" href="ClutterScript.html" title="ClutterScript"><span class="type">ClutterScript</span></a> definition format, but it comes with a
150 <div class="refsect2">
151 <a name="ClutterAnimator-key-frames"></a><h3>Key Frames</h3>
152 <p>Every animation handled by a <a class="link" href="ClutterAnimator.html" title="ClutterAnimator"><span class="type">ClutterAnimator</span></a> can be
153 described in terms of "key frames". For each <span class="type">GObject</span> property
154 there can be multiple key frames, each one defined by the end
155 value for the property to be computed starting from the current
156 value to a specific point in time, using a given easing
158 <p>The point in time is defined using a value representing
159 the progress in the normalized interval of [ 0, 1 ]. This maps
160 the value returned by <a class="link" href="ClutterTimeline.html#clutter-timeline-get-duration" title="clutter_timeline_get_duration ()"><code class="function">clutter_timeline_get_duration()</code></a>.</p>
162 <a name="easing-modes"></a><p class="title"><b>Figure 9. Key Frames</b></p>
163 <div class="figure-contents"><div><img src="animator-key-frames.png" alt="Key Frames"></div></div>
165 <br class="figure-break"><p>In the image above the duration of the animation is
166 represented by the blue line. Each key frame is the white dot,
167 along with its progress. The red line represents the computed
168 function of time given the easing mode.</p>
174 <div class="refsect2">
175 <a name="ClutterAnimator-script"></a><h3>ClutterAnimator description for <a class="link" href="ClutterScript.html" title="ClutterScript"><span class="type">ClutterScript</span></a>
177 <p><a class="link" href="ClutterAnimator.html" title="ClutterAnimator"><span class="type">ClutterAnimator</span></a> defines a custom "properties" property
178 which allows describing the key frames for objects.</p>
179 <p>The "properties" property has the following syntax:</p>
180 <div class="informalexample">
181 <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
184 <td class="listing_lines" align="right"><pre>1
196 <td class="listing_code"><pre class="programlisting"><span class="cbracket">{</span>
197 <span class="normal"> </span><span class="string">"properties"</span><span class="normal"> </span><span class="symbol">:</span><span class="normal"> </span><span class="symbol">[</span>
198 <span class="normal"> </span><span class="cbracket">{</span>
199 <span class="normal"> </span><span class="string">"object"</span><span class="normal"> </span><span class="symbol">:</span><span class="normal"> </span><span class="symbol">&</span><span class="normal">lt</span><span class="symbol">;</span><span class="normal">id of </span><span class="usertype">an</span><span class="normal"> object</span><span class="symbol">&</span><span class="normal">gt</span><span class="symbol">;,</span>
200 <span class="normal"> </span><span class="string">"name"</span><span class="normal"> </span><span class="symbol">:</span><span class="normal"> </span><span class="symbol">&</span><span class="normal">lt</span><span class="symbol">;</span><span class="normal">name of </span><span class="usertype">the</span><span class="normal"> property</span><span class="symbol">&</span><span class="normal">gt</span><span class="symbol">;,</span>
201 <span class="normal"> </span><span class="string">"ease-in"</span><span class="normal"> </span><span class="symbol">:</span><span class="normal"> </span><span class="symbol">&</span><span class="normal">lt</span><span class="symbol">;</span><span class="normal">boolean</span><span class="symbol">&</span><span class="normal">gt</span><span class="symbol">;,</span>
202 <span class="normal"> </span><span class="string">"interpolation"</span><span class="normal"> </span><span class="symbol">:</span><span class="normal"> </span><span class="symbol">&</span><span class="normal">lt</span><span class="symbol">;</span><span class="normal">#</span><span class="usertype">ClutterInterpolation</span><span class="normal"> value</span><span class="symbol">&</span><span class="normal">gt</span><span class="symbol">;,</span>
203 <span class="normal"> </span><span class="string">"keys"</span><span class="normal"> </span><span class="symbol">:</span><span class="normal"> </span><span class="symbol">[</span>
204 <span class="normal"> </span><span class="symbol">[</span><span class="normal"> </span><span class="symbol">&</span><span class="normal">lt</span><span class="symbol">;</span><span class="normal">progress</span><span class="symbol">&</span><span class="normal">gt</span><span class="symbol">;,</span><span class="normal"> </span><span class="symbol">&</span><span class="normal">lt</span><span class="symbol">;</span><span class="usertype">easing</span><span class="normal"> mode</span><span class="symbol">&</span><span class="normal">gt</span><span class="symbol">;,</span><span class="normal"> </span><span class="symbol">&</span><span class="normal">lt</span><span class="symbol">;</span><span class="usertype">final</span><span class="normal"> value</span><span class="symbol">&</span><span class="normal">gt</span><span class="symbol">;</span><span class="normal"> </span><span class="symbol">]</span>
205 <span class="normal"> </span><span class="symbol">]</span>
206 <span class="normal"> </span><span class="symbol">]</span>
207 <span class="cbracket">}</span></pre></td>
213 <div class="example">
214 <a name="ClutterAnimator-script-example"></a><p class="title"><b>Example 12. ClutterAnimator definition</b></p>
215 <div class="example-contents">
216 <p>The following JSON fragment defines a <a class="link" href="ClutterAnimator.html" title="ClutterAnimator"><span class="type">ClutterAnimator</span></a>
217 with the duration of 1 second and operating on the x and y
218 properties of a <a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a> named "rect-01", with two frames
219 for each property. The first frame will linearly move the actor
220 from its current position to the 100, 100 position in 20 percent
221 of the duration of the animation; the second will using a cubic
222 easing to move the actor to the 200, 200 coordinates.</p>
223 <pre class="programlisting">
225 "type" : "ClutterAnimator",
229 "object" : "rect-01",
233 [ 0.2, "linear", 100.0 ],
234 [ 1.0, "easeOutCubic", 200.0 ]
238 "object" : "rect-01",
242 [ 0.2, "linear", 100.0 ],
243 [ 1.0, "easeOutCubic", 200.0 ]
251 <br class="example-break">
256 <a class="link" href="ClutterAnimator.html" title="ClutterAnimator"><span class="type">ClutterAnimator</span></a> is available since Clutter 1.2
259 <div class="refsect1">
260 <a name="ClutterAnimator.details"></a><h2>Details</h2>
261 <div class="refsect2">
262 <a name="ClutterAnimator-struct"></a><h3>ClutterAnimator</h3>
263 <pre class="programlisting">typedef struct _ClutterAnimator ClutterAnimator;</pre>
265 The <a class="link" href="ClutterAnimator.html" title="ClutterAnimator"><span class="type">ClutterAnimator</span></a> structure contains only private data and
266 should be accessed using the provided API
268 <p class="since">Since 1.2</p>
271 <div class="refsect2">
272 <a name="ClutterAnimatorClass"></a><h3>struct ClutterAnimatorClass</h3>
273 <pre class="programlisting">struct ClutterAnimatorClass {
277 The <a class="link" href="ClutterAnimator.html#ClutterAnimatorClass" title="struct ClutterAnimatorClass"><span class="type">ClutterAnimatorClass</span></a> structure contains only private data
279 <p class="since">Since 1.2</p>
282 <div class="refsect2">
283 <a name="clutter-animator-new"></a><h3>clutter_animator_new ()</h3>
284 <pre class="programlisting"><a class="link" href="ClutterAnimator.html" title="ClutterAnimator"><span class="returnvalue">ClutterAnimator</span></a> * clutter_animator_new (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
286 Creates a new <a class="link" href="ClutterAnimator.html" title="ClutterAnimator"><span class="type">ClutterAnimator</span></a> instance
288 <div class="variablelist"><table border="0">
289 <col align="left" valign="top">
291 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
292 <td>a new <a class="link" href="ClutterAnimator.html" title="ClutterAnimator"><span class="type">ClutterAnimator</span></a>.</td>
295 <p class="since">Since 1.2</p>
298 <div class="refsect2">
299 <a name="clutter-animator-set"></a><h3>clutter_animator_set ()</h3>
300 <pre class="programlisting"><span class="returnvalue">void</span> clutter_animator_set (<em class="parameter"><code><a class="link" href="ClutterAnimator.html" title="ClutterAnimator"><span class="type">ClutterAnimator</span></a> *animator</code></em>,
301 <em class="parameter"><code><span class="type">gpointer</span> first_object</code></em>,
302 <em class="parameter"><code>const <span class="type">gchar</span> *first_property_name</code></em>,
303 <em class="parameter"><code><span class="type">guint</span> first_mode</code></em>,
304 <em class="parameter"><code><span class="type">gdouble</span> first_progress</code></em>,
305 <em class="parameter"><code>...</code></em>);</pre>
307 Adds multiple keys to a <a class="link" href="ClutterAnimator.html" title="ClutterAnimator"><span class="type">ClutterAnimator</span></a>, specifying the value a given
308 property should have at a given progress of the animation. The mode
309 specified is the mode used when going to this key from the previous key of
310 the <em class="parameter"><code>property_name</code></em>
313 If a given (object, property, progress) tuple already exist the mode and
314 value will be replaced with the new values.
316 <div class="variablelist"><table border="0">
317 <col align="left" valign="top">
320 <td><p><span class="term"><em class="parameter"><code>animator</code></em> :</span></p></td>
321 <td>a <a class="link" href="ClutterAnimator.html" title="ClutterAnimator"><span class="type">ClutterAnimator</span></a>
325 <td><p><span class="term"><em class="parameter"><code>first_object</code></em> :</span></p></td>
326 <td>a <span class="type">GObject</span>
330 <td><p><span class="term"><em class="parameter"><code>first_property_name</code></em> :</span></p></td>
331 <td>the property to specify a key for</td>
334 <td><p><span class="term"><em class="parameter"><code>first_mode</code></em> :</span></p></td>
335 <td>the id of the alpha function to use</td>
338 <td><p><span class="term"><em class="parameter"><code>first_progress</code></em> :</span></p></td>
339 <td>at which stage of the animation this value applies; the
340 range is a normalized floating point value between 0 and 1</td>
343 <td><p><span class="term"><em class="parameter"><code>...</code></em> :</span></p></td>
344 <td>the value first_property_name should have for first_object
345 at first_progress, followed by more (object, property_name, mode,
346 progress, value) tuples, followed by <a href="/home/ebassi/gnome3/install/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL--CAPS"><code class="literal">NULL</code></a>
351 <p class="since">Since 1.2</p>
354 <div class="refsect2">
355 <a name="clutter-animator-set-key"></a><h3>clutter_animator_set_key ()</h3>
356 <pre class="programlisting"><a class="link" href="ClutterAnimator.html" title="ClutterAnimator"><span class="returnvalue">ClutterAnimator</span></a> * clutter_animator_set_key (<em class="parameter"><code><a class="link" href="ClutterAnimator.html" title="ClutterAnimator"><span class="type">ClutterAnimator</span></a> *animator</code></em>,
357 <em class="parameter"><code><span class="type">GObject</span> *object</code></em>,
358 <em class="parameter"><code>const <span class="type">gchar</span> *property_name</code></em>,
359 <em class="parameter"><code><span class="type">guint</span> mode</code></em>,
360 <em class="parameter"><code><span class="type">gdouble</span> progress</code></em>,
361 <em class="parameter"><code>const <span class="type">GValue</span> *value</code></em>);</pre>
363 Sets a single key in the <a class="link" href="ClutterAnimator.html" title="ClutterAnimator"><span class="type">ClutterAnimator</span></a> for the <em class="parameter"><code>property_name</code></em> of
364 <em class="parameter"><code>object</code></em> at <em class="parameter"><code>progress</code></em>.
367 See also: <a class="link" href="ClutterAnimator.html#clutter-animator-set" title="clutter_animator_set ()"><code class="function">clutter_animator_set()</code></a>
369 <div class="variablelist"><table border="0">
370 <col align="left" valign="top">
373 <td><p><span class="term"><em class="parameter"><code>animator</code></em> :</span></p></td>
374 <td>a <a class="link" href="ClutterAnimator.html" title="ClutterAnimator"><span class="type">ClutterAnimator</span></a>
378 <td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
379 <td>a <span class="type">GObject</span>
383 <td><p><span class="term"><em class="parameter"><code>property_name</code></em> :</span></p></td>
384 <td>the property to specify a key for</td>
387 <td><p><span class="term"><em class="parameter"><code>mode</code></em> :</span></p></td>
388 <td>the id of the alpha function to use</td>
391 <td><p><span class="term"><em class="parameter"><code>progress</code></em> :</span></p></td>
392 <td>the normalized range at which stage of the animation this
396 <td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
397 <td>the value property_name should have at progress.</td>
400 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
401 <td>The animator instance. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
406 <p class="since">Since 1.2</p>
409 <div class="refsect2">
410 <a name="clutter-animator-remove-key"></a><h3>clutter_animator_remove_key ()</h3>
411 <pre class="programlisting"><span class="returnvalue">void</span> clutter_animator_remove_key (<em class="parameter"><code><a class="link" href="ClutterAnimator.html" title="ClutterAnimator"><span class="type">ClutterAnimator</span></a> *animator</code></em>,
412 <em class="parameter"><code><span class="type">GObject</span> *object</code></em>,
413 <em class="parameter"><code>const <span class="type">gchar</span> *property_name</code></em>,
414 <em class="parameter"><code><span class="type">gdouble</span> progress</code></em>);</pre>
416 Removes all keys matching the conditions specificed in the arguments.
418 <div class="variablelist"><table border="0">
419 <col align="left" valign="top">
422 <td><p><span class="term"><em class="parameter"><code>animator</code></em> :</span></p></td>
423 <td>a <a class="link" href="ClutterAnimator.html" title="ClutterAnimator"><span class="type">ClutterAnimator</span></a>
427 <td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
428 <td>a <span class="type">GObject</span> to search for, or <a href="/home/ebassi/gnome3/install/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL--CAPS"><code class="literal">NULL</code></a> for all. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
432 <td><p><span class="term"><em class="parameter"><code>property_name</code></em> :</span></p></td>
433 <td>a specific property name to query for,
434 or <a href="/home/ebassi/gnome3/install/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL--CAPS"><code class="literal">NULL</code></a> for all. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
438 <td><p><span class="term"><em class="parameter"><code>progress</code></em> :</span></p></td>
439 <td>a specific progress to search for or a negative value
444 <p class="since">Since 1.2</p>
447 <div class="refsect2">
448 <a name="clutter-animator-get-keys"></a><h3>clutter_animator_get_keys ()</h3>
449 <pre class="programlisting"><span class="returnvalue">GList</span> * clutter_animator_get_keys (<em class="parameter"><code><a class="link" href="ClutterAnimator.html" title="ClutterAnimator"><span class="type">ClutterAnimator</span></a> *animator</code></em>,
450 <em class="parameter"><code><span class="type">GObject</span> *object</code></em>,
451 <em class="parameter"><code>const <span class="type">gchar</span> *property_name</code></em>,
452 <em class="parameter"><code><span class="type">gdouble</span> progress</code></em>);</pre>
454 Returns a list of pointers to opaque structures with accessor functions
455 that describe the keys added to an animator.
457 <div class="variablelist"><table border="0">
458 <col align="left" valign="top">
461 <td><p><span class="term"><em class="parameter"><code>animator</code></em> :</span></p></td>
462 <td>a <a class="link" href="ClutterAnimator.html" title="ClutterAnimator"><span class="type">ClutterAnimator</span></a> instance</td>
465 <td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
466 <td>a <span class="type">GObject</span> to search for, or <a href="/home/ebassi/gnome3/install/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL--CAPS"><code class="literal">NULL</code></a> for all objects. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
470 <td><p><span class="term"><em class="parameter"><code>property_name</code></em> :</span></p></td>
471 <td>a specific property name to query for,
472 or <a href="/home/ebassi/gnome3/install/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL--CAPS"><code class="literal">NULL</code></a> for all properties. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
476 <td><p><span class="term"><em class="parameter"><code>progress</code></em> :</span></p></td>
477 <td>a specific progress to search for, or a negative value for all
481 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
483 list of <a class="link" href="ClutterAnimator.html#ClutterAnimatorKey" title="ClutterAnimatorKey"><span class="type">ClutterAnimatorKey</span></a>s; the contents of the list are owned
484 by the <a class="link" href="ClutterAnimator.html" title="ClutterAnimator"><span class="type">ClutterAnimator</span></a>, but you should free the returned list when done,
485 using <code class="function">g_list_free()</code>. <span class="annotation">[<acronym title="Free data container after the code is done."><span class="acronym">transfer container</span></acronym>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> Clutter.AnimatorKey]</span>
490 <p class="since">Since 1.2</p>
493 <div class="refsect2">
494 <a name="clutter-animator-start"></a><h3>clutter_animator_start ()</h3>
495 <pre class="programlisting"><a class="link" href="ClutterTimeline.html" title="ClutterTimeline"><span class="returnvalue">ClutterTimeline</span></a> * clutter_animator_start (<em class="parameter"><code><a class="link" href="ClutterAnimator.html" title="ClutterAnimator"><span class="type">ClutterAnimator</span></a> *animator</code></em>);</pre>
497 Start the ClutterAnimator, this is a thin wrapper that rewinds
498 and starts the animators current timeline.
500 <div class="variablelist"><table border="0">
501 <col align="left" valign="top">
504 <td><p><span class="term"><em class="parameter"><code>animator</code></em> :</span></p></td>
505 <td>a <a class="link" href="ClutterAnimator.html" title="ClutterAnimator"><span class="type">ClutterAnimator</span></a>
509 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
510 <td>the <a class="link" href="ClutterTimeline.html" title="ClutterTimeline"><span class="type">ClutterTimeline</span></a> that drives
511 the animator. The returned timeline is owned by the <a class="link" href="ClutterAnimator.html" title="ClutterAnimator"><span class="type">ClutterAnimator</span></a>
512 and it should not be unreferenced. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
517 <p class="since">Since 1.2</p>
520 <div class="refsect2">
521 <a name="clutter-animator-compute-value"></a><h3>clutter_animator_compute_value ()</h3>
522 <pre class="programlisting"><span class="returnvalue">gboolean</span> clutter_animator_compute_value (<em class="parameter"><code><a class="link" href="ClutterAnimator.html" title="ClutterAnimator"><span class="type">ClutterAnimator</span></a> *animator</code></em>,
523 <em class="parameter"><code><span class="type">GObject</span> *object</code></em>,
524 <em class="parameter"><code>const <span class="type">gchar</span> *property_name</code></em>,
525 <em class="parameter"><code><span class="type">gdouble</span> progress</code></em>,
526 <em class="parameter"><code><span class="type">GValue</span> *value</code></em>);</pre>
528 Compute the value for a managed property at a given progress.
531 If the property is an ease-in property, the current value of the property
532 on the object will be used as the starting point for computation.
534 <div class="variablelist"><table border="0">
535 <col align="left" valign="top">
538 <td><p><span class="term"><em class="parameter"><code>animator</code></em> :</span></p></td>
539 <td>a <a class="link" href="ClutterAnimator.html" title="ClutterAnimator"><span class="type">ClutterAnimator</span></a>
543 <td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
544 <td>a <span class="type">GObject</span>
548 <td><p><span class="term"><em class="parameter"><code>property_name</code></em> :</span></p></td>
549 <td>the name of the property on object to check</td>
552 <td><p><span class="term"><em class="parameter"><code>progress</code></em> :</span></p></td>
553 <td>a value between 0.0 and 1.0</td>
556 <td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
557 <td>an initialized value to store the computed result</td>
560 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
562 <code class="literal">TRUE</code> if the computation yields has a value, otherwise (when
563 an error occurs or the progress is before any of the keys) <code class="literal">FALSE</code> is
564 returned and the <span class="type">GValue</span> is left untouched</td>
568 <p class="since">Since 1.2</p>
571 <div class="refsect2">
572 <a name="clutter-animator-set-timeline"></a><h3>clutter_animator_set_timeline ()</h3>
573 <pre class="programlisting"><span class="returnvalue">void</span> clutter_animator_set_timeline (<em class="parameter"><code><a class="link" href="ClutterAnimator.html" title="ClutterAnimator"><span class="type">ClutterAnimator</span></a> *animator</code></em>,
574 <em class="parameter"><code><a class="link" href="ClutterTimeline.html" title="ClutterTimeline"><span class="type">ClutterTimeline</span></a> *timeline</code></em>);</pre>
576 Sets an external timeline that will be used for driving the animation
578 <div class="variablelist"><table border="0">
579 <col align="left" valign="top">
582 <td><p><span class="term"><em class="parameter"><code>animator</code></em> :</span></p></td>
583 <td>a <a class="link" href="ClutterAnimator.html" title="ClutterAnimator"><span class="type">ClutterAnimator</span></a>
587 <td><p><span class="term"><em class="parameter"><code>timeline</code></em> :</span></p></td>
588 <td>a <a class="link" href="ClutterTimeline.html" title="ClutterTimeline"><span class="type">ClutterTimeline</span></a>
593 <p class="since">Since 1.2</p>
596 <div class="refsect2">
597 <a name="clutter-animator-get-timeline"></a><h3>clutter_animator_get_timeline ()</h3>
598 <pre class="programlisting"><a class="link" href="ClutterTimeline.html" title="ClutterTimeline"><span class="returnvalue">ClutterTimeline</span></a> * clutter_animator_get_timeline (<em class="parameter"><code><a class="link" href="ClutterAnimator.html" title="ClutterAnimator"><span class="type">ClutterAnimator</span></a> *animator</code></em>);</pre>
600 Get the timeline hooked up for driving the <a class="link" href="ClutterAnimator.html" title="ClutterAnimator"><span class="type">ClutterAnimator</span></a>
602 <div class="variablelist"><table border="0">
603 <col align="left" valign="top">
606 <td><p><span class="term"><em class="parameter"><code>animator</code></em> :</span></p></td>
607 <td>a <a class="link" href="ClutterAnimator.html" title="ClutterAnimator"><span class="type">ClutterAnimator</span></a>
611 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
612 <td>the <a class="link" href="ClutterTimeline.html" title="ClutterTimeline"><span class="type">ClutterTimeline</span></a> that drives the animator. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
617 <p class="since">Since 1.2</p>
620 <div class="refsect2">
621 <a name="clutter-animator-set-duration"></a><h3>clutter_animator_set_duration ()</h3>
622 <pre class="programlisting"><span class="returnvalue">void</span> clutter_animator_set_duration (<em class="parameter"><code><a class="link" href="ClutterAnimator.html" title="ClutterAnimator"><span class="type">ClutterAnimator</span></a> *animator</code></em>,
623 <em class="parameter"><code><span class="type">guint</span> duration</code></em>);</pre>
625 Runs the timeline of the <a class="link" href="ClutterAnimator.html" title="ClutterAnimator"><span class="type">ClutterAnimator</span></a> with a duration in msecs
628 <div class="variablelist"><table border="0">
629 <col align="left" valign="top">
632 <td><p><span class="term"><em class="parameter"><code>animator</code></em> :</span></p></td>
633 <td>a <a class="link" href="ClutterAnimator.html" title="ClutterAnimator"><span class="type">ClutterAnimator</span></a>
637 <td><p><span class="term"><em class="parameter"><code>duration</code></em> :</span></p></td>
638 <td>milliseconds a run of the animator should last.</td>
642 <p class="since">Since 1.2</p>
645 <div class="refsect2">
646 <a name="clutter-animator-get-duration"></a><h3>clutter_animator_get_duration ()</h3>
647 <pre class="programlisting"><span class="returnvalue">guint</span> clutter_animator_get_duration (<em class="parameter"><code><a class="link" href="ClutterAnimator.html" title="ClutterAnimator"><span class="type">ClutterAnimator</span></a> *animator</code></em>);</pre>
649 Retrieves the current duration of an animator
651 <div class="variablelist"><table border="0">
652 <col align="left" valign="top">
655 <td><p><span class="term"><em class="parameter"><code>animator</code></em> :</span></p></td>
656 <td>a <a class="link" href="ClutterAnimator.html" title="ClutterAnimator"><span class="type">ClutterAnimator</span></a>
660 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
661 <td>the duration of the animation, in milliseconds</td>
665 <p class="since">Since 1.2</p>
668 <div class="refsect2">
669 <a name="clutter-animator-property-set-ease-in"></a><h3>clutter_animator_property_set_ease_in ()</h3>
670 <pre class="programlisting"><span class="returnvalue">void</span> clutter_animator_property_set_ease_in
671 (<em class="parameter"><code><a class="link" href="ClutterAnimator.html" title="ClutterAnimator"><span class="type">ClutterAnimator</span></a> *animator</code></em>,
672 <em class="parameter"><code><span class="type">GObject</span> *object</code></em>,
673 <em class="parameter"><code>const <span class="type">gchar</span> *property_name</code></em>,
674 <em class="parameter"><code><span class="type">gboolean</span> ease_in</code></em>);</pre>
676 Sets whether a property value is to be eased into the animation.
678 <div class="variablelist"><table border="0">
679 <col align="left" valign="top">
682 <td><p><span class="term"><em class="parameter"><code>animator</code></em> :</span></p></td>
683 <td>a <a class="link" href="ClutterAnimator.html#ClutterAnimatorKey" title="ClutterAnimatorKey"><span class="type">ClutterAnimatorKey</span></a>
687 <td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
688 <td>a <span class="type">GObject</span>
692 <td><p><span class="term"><em class="parameter"><code>property_name</code></em> :</span></p></td>
693 <td>the name of a property on object</td>
696 <td><p><span class="term"><em class="parameter"><code>ease_in</code></em> :</span></p></td>
697 <td>we are going to be easing in this property</td>
701 <p class="since">Since 1.2</p>
704 <div class="refsect2">
705 <a name="clutter-animator-property-get-ease-in"></a><h3>clutter_animator_property_get_ease_in ()</h3>
706 <pre class="programlisting"><span class="returnvalue">gboolean</span> clutter_animator_property_get_ease_in
707 (<em class="parameter"><code><a class="link" href="ClutterAnimator.html" title="ClutterAnimator"><span class="type">ClutterAnimator</span></a> *animator</code></em>,
708 <em class="parameter"><code><span class="type">GObject</span> *object</code></em>,
709 <em class="parameter"><code>const <span class="type">gchar</span> *property_name</code></em>);</pre>
711 Checks if a property value is to be eased into the animation.
713 <div class="variablelist"><table border="0">
714 <col align="left" valign="top">
717 <td><p><span class="term"><em class="parameter"><code>animator</code></em> :</span></p></td>
718 <td>a <a class="link" href="ClutterAnimator.html#ClutterAnimatorKey" title="ClutterAnimatorKey"><span class="type">ClutterAnimatorKey</span></a>
722 <td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
723 <td>a <span class="type">GObject</span>
727 <td><p><span class="term"><em class="parameter"><code>property_name</code></em> :</span></p></td>
728 <td>the name of a property on object</td>
731 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
733 <code class="literal">TRUE</code> if the property is eased in</td>
737 <p class="since">Since 1.2</p>
740 <div class="refsect2">
741 <a name="ClutterInterpolation"></a><h3>enum ClutterInterpolation</h3>
742 <pre class="programlisting">typedef enum {
743 CLUTTER_INTERPOLATION_LINEAR,
744 CLUTTER_INTERPOLATION_CUBIC
745 } ClutterInterpolation;
748 The mode of interpolation between key frames
750 <div class="variablelist"><table border="0">
751 <col align="left" valign="top">
754 <td><p><a name="CLUTTER-INTERPOLATION-LINEAR:CAPS"></a><span class="term"><code class="literal">CLUTTER_INTERPOLATION_LINEAR</code></span></p></td>
755 <td>linear interpolation
759 <td><p><a name="CLUTTER-INTERPOLATION-CUBIC:CAPS"></a><span class="term"><code class="literal">CLUTTER_INTERPOLATION_CUBIC</code></span></p></td>
760 <td>cubic interpolation
765 <p class="since">Since 1.2</p>
768 <div class="refsect2">
769 <a name="clutter-animator-property-set-interpolation"></a><h3>clutter_animator_property_set_interpolation ()</h3>
770 <pre class="programlisting"><span class="returnvalue">void</span> clutter_animator_property_set_interpolation
771 (<em class="parameter"><code><a class="link" href="ClutterAnimator.html" title="ClutterAnimator"><span class="type">ClutterAnimator</span></a> *animator</code></em>,
772 <em class="parameter"><code><span class="type">GObject</span> *object</code></em>,
773 <em class="parameter"><code>const <span class="type">gchar</span> *property_name</code></em>,
774 <em class="parameter"><code><a class="link" href="ClutterAnimator.html#ClutterInterpolation" title="enum ClutterInterpolation"><span class="type">ClutterInterpolation</span></a> interpolation</code></em>);</pre>
776 Set the interpolation method to use, <a class="link" href="ClutterAnimator.html#CLUTTER-INTERPOLATION-LINEAR:CAPS"><code class="literal">CLUTTER_INTERPOLATION_LINEAR</code></a> causes
777 the values to linearly change between the values, and
778 <a class="link" href="ClutterAnimator.html#CLUTTER-INTERPOLATION-CUBIC:CAPS"><code class="literal">CLUTTER_INTERPOLATION_CUBIC</code></a> causes the values to smoothly change between
781 <div class="variablelist"><table border="0">
782 <col align="left" valign="top">
785 <td><p><span class="term"><em class="parameter"><code>animator</code></em> :</span></p></td>
786 <td>a <a class="link" href="ClutterAnimator.html#ClutterAnimatorKey" title="ClutterAnimatorKey"><span class="type">ClutterAnimatorKey</span></a>
790 <td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
791 <td>a <span class="type">GObject</span>
795 <td><p><span class="term"><em class="parameter"><code>property_name</code></em> :</span></p></td>
796 <td>the name of a property on object</td>
799 <td><p><span class="term"><em class="parameter"><code>interpolation</code></em> :</span></p></td>
800 <td>the <a class="link" href="ClutterAnimator.html#ClutterInterpolation" title="enum ClutterInterpolation"><span class="type">ClutterInterpolation</span></a> to use</td>
804 <p class="since">Since 1.2</p>
807 <div class="refsect2">
808 <a name="clutter-animator-property-get-interpolation"></a><h3>clutter_animator_property_get_interpolation ()</h3>
809 <pre class="programlisting"><a class="link" href="ClutterAnimator.html#ClutterInterpolation" title="enum ClutterInterpolation"><span class="returnvalue">ClutterInterpolation</span></a> clutter_animator_property_get_interpolation
810 (<em class="parameter"><code><a class="link" href="ClutterAnimator.html" title="ClutterAnimator"><span class="type">ClutterAnimator</span></a> *animator</code></em>,
811 <em class="parameter"><code><span class="type">GObject</span> *object</code></em>,
812 <em class="parameter"><code>const <span class="type">gchar</span> *property_name</code></em>);</pre>
814 Get the interpolation used by animator for a property on a particular
817 <div class="variablelist"><table border="0">
818 <col align="left" valign="top">
821 <td><p><span class="term"><em class="parameter"><code>animator</code></em> :</span></p></td>
822 <td>a <a class="link" href="ClutterAnimator.html#ClutterAnimatorKey" title="ClutterAnimatorKey"><span class="type">ClutterAnimatorKey</span></a>
826 <td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
827 <td>a <span class="type">GObject</span>
831 <td><p><span class="term"><em class="parameter"><code>property_name</code></em> :</span></p></td>
832 <td>the name of a property on object</td>
835 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
836 <td>a ClutterInterpolation value.</td>
840 <p class="since">Since 1.2</p>
843 <div class="refsect2">
844 <a name="ClutterAnimatorKey"></a><h3>ClutterAnimatorKey</h3>
845 <pre class="programlisting">typedef struct _ClutterAnimatorKey ClutterAnimatorKey;</pre>
847 A key frame inside a <a class="link" href="ClutterAnimator.html" title="ClutterAnimator"><span class="type">ClutterAnimator</span></a>
849 <p class="since">Since 1.2</p>
852 <div class="refsect2">
853 <a name="clutter-animator-key-get-object"></a><h3>clutter_animator_key_get_object ()</h3>
854 <pre class="programlisting"><span class="returnvalue">GObject</span> * clutter_animator_key_get_object (<em class="parameter"><code>const <a class="link" href="ClutterAnimator.html#ClutterAnimatorKey" title="ClutterAnimatorKey"><span class="type">ClutterAnimatorKey</span></a> *key</code></em>);</pre>
856 Retrieves the object a key applies to.
858 <div class="variablelist"><table border="0">
859 <col align="left" valign="top">
862 <td><p><span class="term"><em class="parameter"><code>key</code></em> :</span></p></td>
863 <td>a <a class="link" href="ClutterAnimator.html#ClutterAnimatorKey" title="ClutterAnimatorKey"><span class="type">ClutterAnimatorKey</span></a>
867 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
868 <td>the object an animator_key exist for. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
873 <p class="since">Since 1.2</p>
876 <div class="refsect2">
877 <a name="clutter-animator-key-get-property-name"></a><h3>clutter_animator_key_get_property_name ()</h3>
878 <pre class="programlisting">const <span class="returnvalue">gchar</span> * clutter_animator_key_get_property_name
879 (<em class="parameter"><code>const <a class="link" href="ClutterAnimator.html#ClutterAnimatorKey" title="ClutterAnimatorKey"><span class="type">ClutterAnimatorKey</span></a> *key</code></em>);</pre>
881 Retrieves the name of the property a key applies to.
883 <div class="variablelist"><table border="0">
884 <col align="left" valign="top">
887 <td><p><span class="term"><em class="parameter"><code>key</code></em> :</span></p></td>
888 <td>a <a class="link" href="ClutterAnimator.html#ClutterAnimatorKey" title="ClutterAnimatorKey"><span class="type">ClutterAnimatorKey</span></a>
892 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
893 <td>the name of the property an animator_key exist for.</td>
897 <p class="since">Since 1.2</p>
900 <div class="refsect2">
901 <a name="clutter-animator-key-get-property-type"></a><h3>clutter_animator_key_get_property_type ()</h3>
902 <pre class="programlisting"><span class="returnvalue">GType</span> clutter_animator_key_get_property_type
903 (<em class="parameter"><code>const <a class="link" href="ClutterAnimator.html#ClutterAnimatorKey" title="ClutterAnimatorKey"><span class="type">ClutterAnimatorKey</span></a> *key</code></em>);</pre>
905 Retrieves the <span class="type">GType</span> of the property a key applies to
908 You can use this type to initialize the <span class="type">GValue</span> to pass to
909 <a class="link" href="ClutterAnimator.html#clutter-animator-key-get-value" title="clutter_animator_key_get_value ()"><code class="function">clutter_animator_key_get_value()</code></a>
911 <div class="variablelist"><table border="0">
912 <col align="left" valign="top">
915 <td><p><span class="term"><em class="parameter"><code>key</code></em> :</span></p></td>
916 <td>a <a class="link" href="ClutterAnimator.html#ClutterAnimatorKey" title="ClutterAnimatorKey"><span class="type">ClutterAnimatorKey</span></a>
920 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
921 <td>the <span class="type">GType</span> of the property</td>
925 <p class="since">Since 1.2</p>
928 <div class="refsect2">
929 <a name="clutter-animator-key-get-mode"></a><h3>clutter_animator_key_get_mode ()</h3>
930 <pre class="programlisting"><span class="returnvalue">gulong</span> clutter_animator_key_get_mode (<em class="parameter"><code>const <a class="link" href="ClutterAnimator.html#ClutterAnimatorKey" title="ClutterAnimatorKey"><span class="type">ClutterAnimatorKey</span></a> *key</code></em>);</pre>
932 Retrieves the mode of a <a class="link" href="ClutterAnimator.html" title="ClutterAnimator"><span class="type">ClutterAnimator</span></a> key, for the first key of a
933 property for an object this represents the whether the animation is
934 open ended and or curved for the remainding keys for the property it
935 represents the easing mode.
937 <div class="variablelist"><table border="0">
938 <col align="left" valign="top">
941 <td><p><span class="term"><em class="parameter"><code>key</code></em> :</span></p></td>
942 <td>a <a class="link" href="ClutterAnimator.html#ClutterAnimatorKey" title="ClutterAnimatorKey"><span class="type">ClutterAnimatorKey</span></a>
946 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
947 <td>the mode of a <a class="link" href="ClutterAnimator.html#ClutterAnimatorKey" title="ClutterAnimatorKey"><span class="type">ClutterAnimatorKey</span></a>
952 <p class="since">Since 1.2</p>
955 <div class="refsect2">
956 <a name="clutter-animator-key-get-progress"></a><h3>clutter_animator_key_get_progress ()</h3>
957 <pre class="programlisting"><span class="returnvalue">gdouble</span> clutter_animator_key_get_progress (<em class="parameter"><code>const <a class="link" href="ClutterAnimator.html#ClutterAnimatorKey" title="ClutterAnimatorKey"><span class="type">ClutterAnimatorKey</span></a> *key</code></em>);</pre>
959 Retrieves the progress of an clutter_animator_key
961 <div class="variablelist"><table border="0">
962 <col align="left" valign="top">
965 <td><p><span class="term"><em class="parameter"><code>key</code></em> :</span></p></td>
966 <td>a <a class="link" href="ClutterAnimator.html#ClutterAnimatorKey" title="ClutterAnimatorKey"><span class="type">ClutterAnimatorKey</span></a>
970 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
971 <td>the progress defined for a <a class="link" href="ClutterAnimator.html" title="ClutterAnimator"><span class="type">ClutterAnimator</span></a> key.</td>
975 <p class="since">Since 1.2</p>
978 <div class="refsect2">
979 <a name="clutter-animator-key-get-value"></a><h3>clutter_animator_key_get_value ()</h3>
980 <pre class="programlisting"><span class="returnvalue">gboolean</span> clutter_animator_key_get_value (<em class="parameter"><code>const <a class="link" href="ClutterAnimator.html#ClutterAnimatorKey" title="ClutterAnimatorKey"><span class="type">ClutterAnimatorKey</span></a> *key</code></em>,
981 <em class="parameter"><code><span class="type">GValue</span> *value</code></em>);</pre>
983 Retrieves a copy of the value for a <a class="link" href="ClutterAnimator.html#ClutterAnimatorKey" title="ClutterAnimatorKey"><span class="type">ClutterAnimatorKey</span></a>.
986 The passed in <span class="type">GValue</span> needs to be already initialized for the value
987 type of the key or to a type that allow transformation from the value
991 Use <code class="function">g_value_unset()</code> when done.
993 <div class="variablelist"><table border="0">
994 <col align="left" valign="top">
997 <td><p><span class="term"><em class="parameter"><code>key</code></em> :</span></p></td>
998 <td>a <a class="link" href="ClutterAnimator.html#ClutterAnimatorKey" title="ClutterAnimatorKey"><span class="type">ClutterAnimatorKey</span></a>
1002 <td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
1003 <td>a <span class="type">GValue</span> initialized with the correct type for the animator key</td>
1006 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1008 <code class="literal">TRUE</code> if the passed <span class="type">GValue</span> was successfully set, and
1009 <code class="literal">FALSE</code> otherwise</td>
1013 <p class="since">Since 1.2</p>
1016 <div class="refsect1">
1017 <a name="ClutterAnimator.property-details"></a><h2>Property Details</h2>
1018 <div class="refsect2">
1019 <a name="ClutterAnimator--duration"></a><h3>The <code class="literal">"duration"</code> property</h3>
1020 <pre class="programlisting"> "duration" <span class="type">guint</span> : Read / Write</pre>
1022 The duration of the <a class="link" href="ClutterTimeline.html" title="ClutterTimeline"><span class="type">ClutterTimeline</span></a> used by the <a class="link" href="ClutterAnimator.html" title="ClutterAnimator"><span class="type">ClutterAnimator</span></a>
1023 to drive the animation
1025 <p>Default value: 2000</p>
1026 <p class="since">Since 1.2</p>
1029 <div class="refsect2">
1030 <a name="ClutterAnimator--timeline"></a><h3>The <code class="literal">"timeline"</code> property</h3>
1031 <pre class="programlisting"> "timeline" <a class="link" href="ClutterTimeline.html" title="ClutterTimeline"><span class="type">ClutterTimeline</span></a>* : Read / Write</pre>
1033 The <a class="link" href="ClutterTimeline.html" title="ClutterTimeline"><span class="type">ClutterTimeline</span></a> used by the <a class="link" href="ClutterAnimator.html" title="ClutterAnimator"><span class="type">ClutterAnimator</span></a> to drive the
1036 <p class="since">Since 1.2</p>
1039 <div class="refsect1">
1040 <a name="ClutterAnimator.see-also"></a><h2>See Also</h2>
1041 <a class="link" href="ClutterAnimatable.html" title="ClutterAnimatable"><span class="type">ClutterAnimatable</span></a>, <a class="link" href="clutter-Value-intervals.html#ClutterInterval"><span class="type">ClutterInterval</span></a>, <a class="link" href="ClutterAlpha.html" title="ClutterAlpha"><span class="type">ClutterAlpha</span></a>,
1042 <a class="link" href="ClutterTimeline.html" title="ClutterTimeline"><span class="type">ClutterTimeline</span></a>
1045 <div class="footer">
1047 Generated by GTK-Doc V1.18.1</div>