2
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
3
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
4
<!ENTITY version "1.0.8">
7
<refentry id="ClutterAlpha">
9
<refentrytitle role="top_of_page" id="ClutterAlpha.top_of_page">ClutterAlpha</refentrytitle>
10
<manvolnum>3</manvolnum>
11
<refmiscinfo>CLUTTER Library</refmiscinfo>
15
<refname>ClutterAlpha</refname>
16
<refpurpose>A class for calculating an alpha value as a function
20
<refsynopsisdiv id="ClutterAlpha.synopsis" role="synopsis">
21
<title role="synopsis.title">Synopsis</title>
24
<link linkend="ClutterAlpha-struct">ClutterAlpha</link>;
25
<link linkend="ClutterAlphaClass">ClutterAlphaClass</link>;
26
<link linkend="gdouble">gdouble</link> (<link linkend="ClutterAlphaFunc">*ClutterAlphaFunc</link>) (<link linkend="ClutterAlpha">ClutterAlpha</link> *alpha,
27
<link linkend="gpointer">gpointer</link> user_data);
28
<link linkend="ClutterAlpha">ClutterAlpha</link> * <link linkend="clutter-alpha-new">clutter_alpha_new</link> (void);
29
<link linkend="ClutterAlpha">ClutterAlpha</link> * <link linkend="clutter-alpha-new-full">clutter_alpha_new_full</link> (<link linkend="ClutterTimeline">ClutterTimeline</link> *timeline,
30
<link linkend="gulong">gulong</link> mode);
31
<link linkend="ClutterAlpha">ClutterAlpha</link> * <link linkend="clutter-alpha-new-with-func">clutter_alpha_new_with_func</link> (<link linkend="ClutterTimeline">ClutterTimeline</link> *timeline,
32
<link linkend="ClutterAlphaFunc">ClutterAlphaFunc</link> func,
33
<link linkend="gpointer">gpointer</link> data,
34
<link linkend="GDestroyNotify">GDestroyNotify</link> destroy);
35
<link linkend="void">void</link> <link linkend="clutter-alpha-set-timeline">clutter_alpha_set_timeline</link> (<link linkend="ClutterAlpha">ClutterAlpha</link> *alpha,
36
<link linkend="ClutterTimeline">ClutterTimeline</link> *timeline);
37
<link linkend="ClutterTimeline">ClutterTimeline</link> * <link linkend="clutter-alpha-get-timeline">clutter_alpha_get_timeline</link> (<link linkend="ClutterAlpha">ClutterAlpha</link> *alpha);
38
<link linkend="void">void</link> <link linkend="clutter-alpha-set-mode">clutter_alpha_set_mode</link> (<link linkend="ClutterAlpha">ClutterAlpha</link> *alpha,
39
<link linkend="gulong">gulong</link> mode);
40
<link linkend="gulong">gulong</link> <link linkend="clutter-alpha-get-mode">clutter_alpha_get_mode</link> (<link linkend="ClutterAlpha">ClutterAlpha</link> *alpha);
41
<link linkend="gdouble">gdouble</link> <link linkend="clutter-alpha-get-alpha">clutter_alpha_get_alpha</link> (<link linkend="ClutterAlpha">ClutterAlpha</link> *alpha);
43
<link linkend="void">void</link> <link linkend="clutter-alpha-set-func">clutter_alpha_set_func</link> (<link linkend="ClutterAlpha">ClutterAlpha</link> *alpha,
44
<link linkend="ClutterAlphaFunc">ClutterAlphaFunc</link> func,
45
<link linkend="gpointer">gpointer</link> data,
46
<link linkend="GDestroyNotify">GDestroyNotify</link> destroy);
47
<link linkend="void">void</link> <link linkend="clutter-alpha-set-closure">clutter_alpha_set_closure</link> (<link linkend="ClutterAlpha">ClutterAlpha</link> *alpha,
48
<link linkend="GClosure">GClosure</link> *closure);
50
<link linkend="gulong">gulong</link> <link linkend="clutter-alpha-register-closure">clutter_alpha_register_closure</link> (<link linkend="GClosure">GClosure</link> *closure);
51
<link linkend="gulong">gulong</link> <link linkend="clutter-alpha-register-func">clutter_alpha_register_func</link> (<link linkend="ClutterAlphaFunc">ClutterAlphaFunc</link> func,
52
<link linkend="gpointer">gpointer</link> data);
56
<refsect1 id="ClutterAlpha.object-hierarchy" role="object_hierarchy">
57
<title role="object_hierarchy.title">Object Hierarchy</title>
59
<link linkend="GObject">GObject</link>
60
+----<link linkend="GInitiallyUnowned">GInitiallyUnowned</link>
69
<refsect1 id="ClutterAlpha.properties" role="properties">
70
<title role="properties.title">Properties</title>
72
"<link linkend="ClutterAlpha--alpha">alpha</link>" <link linkend="gdouble">gdouble</link> : Read
73
"<link linkend="ClutterAlpha--mode">mode</link>" <link linkend="gulong">gulong</link> : Read / Write / Construct
74
"<link linkend="ClutterAlpha--timeline">timeline</link>" <link linkend="ClutterTimeline">ClutterTimeline</link>* : Read / Write
80
<refsect1 id="ClutterAlpha.description" role="desc">
81
<title role="desc.title">Description</title>
83
<link linkend="ClutterAlpha"><type>ClutterAlpha</type></link> is a class for calculating an floating point value
84
dependent only on the position of a <link linkend="ClutterTimeline"><type>ClutterTimeline</type></link>.
87
A <link linkend="ClutterAlpha"><type>ClutterAlpha</type></link> binds a <link linkend="ClutterTimeline"><type>ClutterTimeline</type></link> to a progress function which
88
translates the time T into an adimensional factor alpha. The factor can
89
then be used to drive a <link linkend="ClutterBehaviour"><type>ClutterBehaviour</type></link>, which will translate the
90
alpha value into something meaningful for a <link linkend="ClutterActor"><type>ClutterActor</type></link>.
93
You should provide a <link linkend="ClutterTimeline"><type>ClutterTimeline</type></link> and bind it to the <link linkend="ClutterAlpha"><type>ClutterAlpha</type></link>
94
instance using <link linkend="clutter-alpha-set-timeline"><function>clutter_alpha_set_timeline()</function></link>. You should also set an
95
"animation mode", either by using the <link linkend="ClutterAnimationMode"><type>ClutterAnimationMode</type></link> values that
96
Clutter itself provides or by registering custom functions using
97
<link linkend="clutter-alpha-register-func"><function>clutter_alpha_register_func()</function></link>.
100
Instead of a <link linkend="ClutterAnimationMode"><type>ClutterAnimationMode</type></link> you may provide a function returning
101
the alpha value depending on the progress of the timeline, using
102
<link linkend="clutter-alpha-set-func"><function>clutter_alpha_set_func()</function></link> or <link linkend="clutter-alpha-set-closure"><function>clutter_alpha_set_closure()</function></link>. The alpha
103
function will be executed each time a new frame in the <link linkend="ClutterTimeline"><type>ClutterTimeline</type></link>
107
Since the alpha function is controlled by the timeline instance, you can
108
pause, stop or resume the <link linkend="ClutterAlpha"><type>ClutterAlpha</type></link> from calling the alpha function by
109
using the appropriate functions of the <link linkend="ClutterTimeline"><type>ClutterTimeline</type></link> object.
112
<link linkend="ClutterAlpha"><type>ClutterAlpha</type></link> is used to "drive" a <link linkend="ClutterBehaviour"><type>ClutterBehaviour</type></link> instance, and it
113
is internally used by the <link linkend="ClutterAnimation"><type>ClutterAnimation</type></link> API.
116
<figure id="easing-modes">
117
<title>Easing modes provided by Clutter</title>
118
<graphic fileref="easing-modes.png" format="PNG"/>
124
<refsect1 id="ClutterAlpha.details" role="details">
125
<title role="details.title">Details</title>
126
<refsect2 id="ClutterAlpha-struct" role="struct">
127
<title>ClutterAlpha</title>
128
<indexterm zone="ClutterAlpha-struct" role="0.2"><primary sortas="Alpha">ClutterAlpha</primary></indexterm><programlisting>typedef struct _ClutterAlpha ClutterAlpha;</programlisting>
130
<link linkend="ClutterAlpha"><type>ClutterAlpha</type></link> combines a <link linkend="ClutterTimeline"><type>ClutterTimeline</type></link> and a function.
131
The contents of the <link linkend="ClutterAlpha"><type>ClutterAlpha</type></link> structure are private and should
132
only be accessed using the provided API.</para>
134
</para><para role="since">Since 0.2</para></refsect2>
135
<refsect2 id="ClutterAlphaClass" role="struct" condition="since:0.2">
136
<title>ClutterAlphaClass</title>
137
<indexterm zone="ClutterAlphaClass" role="0.2"><primary sortas="AlphaClass">ClutterAlphaClass</primary></indexterm><programlisting>typedef struct {
141
Base class for <link linkend="ClutterAlpha"><type>ClutterAlpha</type></link></para>
143
</para><para role="since">Since 0.2</para></refsect2>
144
<refsect2 id="ClutterAlphaFunc" role="function" condition="since:0.2">
145
<title>ClutterAlphaFunc ()</title>
146
<indexterm zone="ClutterAlphaFunc" role="0.2"><primary sortas="AlphaFunc">ClutterAlphaFunc</primary></indexterm><programlisting><link linkend="gdouble">gdouble</link> (*ClutterAlphaFunc) (<link linkend="ClutterAlpha">ClutterAlpha</link> *alpha,
147
<link linkend="gpointer">gpointer</link> user_data);</programlisting>
149
A function returning a value depending on the position of
150
the <link linkend="ClutterTimeline"><type>ClutterTimeline</type></link> bound to <parameter>alpha</parameter>.</para>
152
</para><variablelist role="params">
153
<varlistentry><term><parameter>alpha</parameter> :</term>
154
<listitem><simpara> a <link linkend="ClutterAlpha"><type>ClutterAlpha</type></link>
155
</simpara></listitem></varlistentry>
156
<varlistentry><term><parameter>user_data</parameter> :</term>
157
<listitem><simpara> user data passed to the function
158
</simpara></listitem></varlistentry>
159
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> a floating point value
161
</simpara></listitem></varlistentry>
162
</variablelist><para role="since">Since 0.2</para></refsect2>
163
<refsect2 id="clutter-alpha-new" role="function" condition="since:0.2">
164
<title>clutter_alpha_new ()</title>
165
<indexterm zone="clutter-alpha-new" role="0.2"><primary sortas="alpha_new">clutter_alpha_new</primary></indexterm><programlisting><link linkend="ClutterAlpha">ClutterAlpha</link> * clutter_alpha_new (void);</programlisting>
167
Creates a new <link linkend="ClutterAlpha"><type>ClutterAlpha</type></link> instance. You must set a function
168
to compute the alpha value using <link linkend="clutter-alpha-set-func"><function>clutter_alpha_set_func()</function></link> and
169
bind a <link linkend="ClutterTimeline"><type>ClutterTimeline</type></link> object to the <link linkend="ClutterAlpha"><type>ClutterAlpha</type></link> instance
170
using <link linkend="clutter-alpha-set-timeline"><function>clutter_alpha_set_timeline()</function></link>.
173
You should use the newly created <link linkend="ClutterAlpha"><type>ClutterAlpha</type></link> instance inside
174
a <link linkend="ClutterBehaviour"><type>ClutterBehaviour</type></link> object.</para>
176
</para><variablelist role="params">
177
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> the newly created empty <link linkend="ClutterAlpha"><type>ClutterAlpha</type></link> instance.
179
</simpara></listitem></varlistentry>
180
</variablelist><para role="since">Since 0.2</para></refsect2>
181
<refsect2 id="clutter-alpha-new-full" role="function" condition="since:1.0">
182
<title>clutter_alpha_new_full ()</title>
183
<indexterm zone="clutter-alpha-new-full" role="1.0"><primary sortas="alpha_new_full">clutter_alpha_new_full</primary></indexterm><programlisting><link linkend="ClutterAlpha">ClutterAlpha</link> * clutter_alpha_new_full (<link linkend="ClutterTimeline">ClutterTimeline</link> *timeline,
184
<link linkend="gulong">gulong</link> mode);</programlisting>
186
Creates a new <link linkend="ClutterAlpha"><type>ClutterAlpha</type></link> instance and sets the timeline
190
See also <link linkend="clutter-alpha-set-timeline"><function>clutter_alpha_set_timeline()</function></link> and <link linkend="clutter-alpha-set-mode"><function>clutter_alpha_set_mode()</function></link>.</para>
192
</para><variablelist role="params">
193
<varlistentry><term><parameter>timeline</parameter> :</term>
194
<listitem><simpara> <link linkend="ClutterTimeline"><type>ClutterTimeline</type></link> timeline
195
</simpara></listitem></varlistentry>
196
<varlistentry><term><parameter>mode</parameter> :</term>
197
<listitem><simpara> animation mode
198
</simpara></listitem></varlistentry>
199
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> the newly created <link linkend="ClutterAlpha"><type>ClutterAlpha</type></link>
201
</simpara></listitem></varlistentry>
202
</variablelist><para role="since">Since 1.0</para></refsect2>
203
<refsect2 id="clutter-alpha-new-with-func" role="function" condition="since:1.0">
204
<title>clutter_alpha_new_with_func ()</title>
205
<indexterm zone="clutter-alpha-new-with-func" role="1.0"><primary sortas="alpha_new_with_func">clutter_alpha_new_with_func</primary></indexterm><programlisting><link linkend="ClutterAlpha">ClutterAlpha</link> * clutter_alpha_new_with_func (<link linkend="ClutterTimeline">ClutterTimeline</link> *timeline,
206
<link linkend="ClutterAlphaFunc">ClutterAlphaFunc</link> func,
207
<link linkend="gpointer">gpointer</link> data,
208
<link linkend="GDestroyNotify">GDestroyNotify</link> destroy);</programlisting>
210
Creates a new <link linkend="ClutterAlpha"><type>ClutterAlpha</type></link> instances and sets the timeline
211
and the alpha function.
214
This function will not register <parameter>func</parameter> as a global alpha function.
217
See also <link linkend="clutter-alpha-set-timeline"><function>clutter_alpha_set_timeline()</function></link> and <link linkend="clutter-alpha-set-func"><function>clutter_alpha_set_func()</function></link>.</para>
219
</para><variablelist role="params">
220
<varlistentry><term><parameter>timeline</parameter> :</term>
221
<listitem><simpara> a <link linkend="ClutterTimeline"><type>ClutterTimeline</type></link>
222
</simpara></listitem></varlistentry>
223
<varlistentry><term><parameter>func</parameter> :</term>
224
<listitem><simpara> a <link linkend="ClutterAlphaFunc"><type>ClutterAlphaFunc</type></link>
225
</simpara></listitem></varlistentry>
226
<varlistentry><term><parameter>data</parameter> :</term>
227
<listitem><simpara> data to pass to the function, or <link linkend="NULL--CAPS"><literal>NULL</literal></link>
228
</simpara></listitem></varlistentry>
229
<varlistentry><term><parameter>destroy</parameter> :</term>
230
<listitem><simpara> function to call when removing the alpha function, or <link linkend="NULL--CAPS"><literal>NULL</literal></link>
231
</simpara></listitem></varlistentry>
232
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> the newly created <link linkend="ClutterAlpha"><type>ClutterAlpha</type></link>
234
</simpara></listitem></varlistentry>
235
</variablelist><para role="since">Since 1.0</para></refsect2>
236
<refsect2 id="clutter-alpha-set-timeline" role="function" condition="since:0.2">
237
<title>clutter_alpha_set_timeline ()</title>
238
<indexterm zone="clutter-alpha-set-timeline" role="0.2"><primary sortas="alpha_set_timeline">clutter_alpha_set_timeline</primary></indexterm><programlisting><link linkend="void">void</link> clutter_alpha_set_timeline (<link linkend="ClutterAlpha">ClutterAlpha</link> *alpha,
239
<link linkend="ClutterTimeline">ClutterTimeline</link> *timeline);</programlisting>
241
Binds <parameter>alpha</parameter> to <parameter>timeline</parameter>.</para>
243
</para><variablelist role="params">
244
<varlistentry><term><parameter>alpha</parameter> :</term>
245
<listitem><simpara> A <link linkend="ClutterAlpha"><type>ClutterAlpha</type></link>
246
</simpara></listitem></varlistentry>
247
<varlistentry><term><parameter>timeline</parameter> :</term>
248
<listitem><simpara> A <link linkend="ClutterTimeline"><type>ClutterTimeline</type></link>
249
</simpara></listitem></varlistentry>
250
</variablelist><para role="since">Since 0.2</para></refsect2>
251
<refsect2 id="clutter-alpha-get-timeline" role="function" condition="since:0.2">
252
<title>clutter_alpha_get_timeline ()</title>
253
<indexterm zone="clutter-alpha-get-timeline" role="0.2"><primary sortas="alpha_get_timeline">clutter_alpha_get_timeline</primary></indexterm><programlisting><link linkend="ClutterTimeline">ClutterTimeline</link> * clutter_alpha_get_timeline (<link linkend="ClutterAlpha">ClutterAlpha</link> *alpha);</programlisting>
255
Gets the <link linkend="ClutterTimeline"><type>ClutterTimeline</type></link> bound to <parameter>alpha</parameter>.</para>
257
</para><variablelist role="params">
258
<varlistentry><term><parameter>alpha</parameter> :</term>
259
<listitem><simpara> A <link linkend="ClutterAlpha"><type>ClutterAlpha</type></link>
260
</simpara></listitem></varlistentry>
261
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> a <link linkend="ClutterTimeline"><type>ClutterTimeline</type></link> instance. <acronym>transfer</acronym> none. </simpara></listitem></varlistentry>
262
</variablelist><para role="since">Since 0.2</para></refsect2>
263
<refsect2 id="clutter-alpha-set-mode" role="function" condition="since:1.0">
264
<title>clutter_alpha_set_mode ()</title>
265
<indexterm zone="clutter-alpha-set-mode" role="1.0"><primary sortas="alpha_set_mode">clutter_alpha_set_mode</primary></indexterm><programlisting><link linkend="void">void</link> clutter_alpha_set_mode (<link linkend="ClutterAlpha">ClutterAlpha</link> *alpha,
266
<link linkend="gulong">gulong</link> mode);</programlisting>
268
Sets the progress function of <parameter>alpha</parameter> using the symbolic value
269
of <parameter>mode</parameter>, as taken by the <link linkend="ClutterAnimationMode"><type>ClutterAnimationMode</type></link> enumeration or
270
using the value returned by <link linkend="clutter-alpha-register-func"><function>clutter_alpha_register_func()</function></link>.</para>
272
</para><variablelist role="params">
273
<varlistentry><term><parameter>alpha</parameter> :</term>
274
<listitem><simpara> a <link linkend="ClutterAlpha"><type>ClutterAlpha</type></link>
275
</simpara></listitem></varlistentry>
276
<varlistentry><term><parameter>mode</parameter> :</term>
277
<listitem><simpara> a <link linkend="ClutterAnimationMode"><type>ClutterAnimationMode</type></link>
278
</simpara></listitem></varlistentry>
279
</variablelist><para role="since">Since 1.0</para></refsect2>
280
<refsect2 id="clutter-alpha-get-mode" role="function" condition="since:1.0">
281
<title>clutter_alpha_get_mode ()</title>
282
<indexterm zone="clutter-alpha-get-mode" role="1.0"><primary sortas="alpha_get_mode">clutter_alpha_get_mode</primary></indexterm><programlisting><link linkend="gulong">gulong</link> clutter_alpha_get_mode (<link linkend="ClutterAlpha">ClutterAlpha</link> *alpha);</programlisting>
284
Retrieves the <link linkend="ClutterAnimationMode"><type>ClutterAnimationMode</type></link> used by <parameter>alpha</parameter>.</para>
286
</para><variablelist role="params">
287
<varlistentry><term><parameter>alpha</parameter> :</term>
288
<listitem><simpara> a <link linkend="ClutterAlpha"><type>ClutterAlpha</type></link>
289
</simpara></listitem></varlistentry>
290
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> the animation mode
292
</simpara></listitem></varlistentry>
293
</variablelist><para role="since">Since 1.0</para></refsect2>
294
<refsect2 id="clutter-alpha-get-alpha" role="function" condition="since:0.2">
295
<title>clutter_alpha_get_alpha ()</title>
296
<indexterm zone="clutter-alpha-get-alpha" role="0.2"><primary sortas="alpha_get_alpha">clutter_alpha_get_alpha</primary></indexterm><programlisting><link linkend="gdouble">gdouble</link> clutter_alpha_get_alpha (<link linkend="ClutterAlpha">ClutterAlpha</link> *alpha);</programlisting>
298
Query the current alpha value.</para>
300
</para><variablelist role="params">
301
<varlistentry><term><parameter>alpha</parameter> :</term>
302
<listitem><simpara> A <link linkend="ClutterAlpha"><type>ClutterAlpha</type></link>
303
</simpara></listitem></varlistentry>
304
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> The current alpha value for the alpha
306
</simpara></listitem></varlistentry>
307
</variablelist><para role="since">Since 0.2</para></refsect2>
308
<refsect2 id="clutter-alpha-set-func" role="function" condition="since:0.2">
309
<title>clutter_alpha_set_func ()</title>
310
<indexterm zone="clutter-alpha-set-func" role="0.2"><primary sortas="alpha_set_func">clutter_alpha_set_func</primary></indexterm><programlisting><link linkend="void">void</link> clutter_alpha_set_func (<link linkend="ClutterAlpha">ClutterAlpha</link> *alpha,
311
<link linkend="ClutterAlphaFunc">ClutterAlphaFunc</link> func,
312
<link linkend="gpointer">gpointer</link> data,
313
<link linkend="GDestroyNotify">GDestroyNotify</link> destroy);</programlisting>
315
Sets the <link linkend="ClutterAlphaFunc"><type>ClutterAlphaFunc</type></link> function used to compute
316
the alpha value at each frame of the <link linkend="ClutterTimeline"><type>ClutterTimeline</type></link>
317
bound to <parameter>alpha</parameter>.
320
This function will not register <parameter>func</parameter> as a global alpha function.</para>
322
</para><variablelist role="params">
323
<varlistentry><term><parameter>alpha</parameter> :</term>
324
<listitem><simpara> A <link linkend="ClutterAlpha"><type>ClutterAlpha</type></link>
325
</simpara></listitem></varlistentry>
326
<varlistentry><term><parameter>func</parameter> :</term>
327
<listitem><simpara> A <link linkend="ClutterAlphaFunc"><type>ClutterAlphaFunc</type></link>
328
</simpara></listitem></varlistentry>
329
<varlistentry><term><parameter>data</parameter> :</term>
330
<listitem><simpara> user data to be passed to the alpha function, or <link linkend="NULL--CAPS"><literal>NULL</literal></link>
331
</simpara></listitem></varlistentry>
332
<varlistentry><term><parameter>destroy</parameter> :</term>
333
<listitem><simpara> notify function used when disposing the alpha function
334
</simpara></listitem></varlistentry>
335
</variablelist><para role="since">Since 0.2</para></refsect2>
336
<refsect2 id="clutter-alpha-set-closure" role="function" condition="since:0.8">
337
<title>clutter_alpha_set_closure ()</title>
338
<indexterm zone="clutter-alpha-set-closure" role="0.8"><primary sortas="alpha_set_closure">clutter_alpha_set_closure</primary></indexterm><programlisting><link linkend="void">void</link> clutter_alpha_set_closure (<link linkend="ClutterAlpha">ClutterAlpha</link> *alpha,
339
<link linkend="GClosure">GClosure</link> *closure);</programlisting>
341
Sets the <link linkend="GClosure"><type>GClosure</type></link> used to compute the alpha value at each
342
frame of the <link linkend="ClutterTimeline"><type>ClutterTimeline</type></link> bound to <parameter>alpha</parameter>.</para>
344
</para><variablelist role="params">
345
<varlistentry><term><parameter>alpha</parameter> :</term>
346
<listitem><simpara> A <link linkend="ClutterAlpha"><type>ClutterAlpha</type></link>
347
</simpara></listitem></varlistentry>
348
<varlistentry><term><parameter>closure</parameter> :</term>
349
<listitem><simpara> A <link linkend="GClosure"><type>GClosure</type></link>
350
</simpara></listitem></varlistentry>
351
</variablelist><para role="since">Since 0.8</para></refsect2>
352
<refsect2 id="clutter-alpha-register-closure" role="function" condition="since:1.0">
353
<title>clutter_alpha_register_closure ()</title>
354
<indexterm zone="clutter-alpha-register-closure" role="1.0"><primary sortas="alpha_register_closure">clutter_alpha_register_closure</primary></indexterm><programlisting><link linkend="gulong">gulong</link> clutter_alpha_register_closure (<link linkend="GClosure">GClosure</link> *closure);</programlisting>
356
<link linkend="GClosure"><type>GClosure</type></link> variant of <link linkend="clutter-alpha-register-func"><function>clutter_alpha_register_func()</function></link>.
359
Registers a global alpha function and returns its logical id
360
to be used by <link linkend="clutter-alpha-set-mode"><function>clutter_alpha_set_mode()</function></link> or by <link linkend="ClutterAnimation"><type>ClutterAnimation</type></link>.
363
The logical id is always greater than <link linkend="CLUTTER-ANIMATION-LAST--CAPS"><literal>CLUTTER_ANIMATION_LAST</literal></link>.</para>
365
</para><variablelist role="params">
366
<varlistentry><term><parameter>closure</parameter> :</term>
367
<listitem><simpara> a <link linkend="GClosure"><type>GClosure</type></link>
368
</simpara></listitem></varlistentry>
369
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> the logical id of the alpha function
371
</simpara></listitem></varlistentry>
372
</variablelist><para role="since">Since 1.0</para></refsect2>
373
<refsect2 id="clutter-alpha-register-func" role="function" condition="since:1.0">
374
<title>clutter_alpha_register_func ()</title>
375
<indexterm zone="clutter-alpha-register-func" role="1.0"><primary sortas="alpha_register_func">clutter_alpha_register_func</primary></indexterm><programlisting><link linkend="gulong">gulong</link> clutter_alpha_register_func (<link linkend="ClutterAlphaFunc">ClutterAlphaFunc</link> func,
376
<link linkend="gpointer">gpointer</link> data);</programlisting>
378
Registers a global alpha function and returns its logical id
379
to be used by <link linkend="clutter-alpha-set-mode"><function>clutter_alpha_set_mode()</function></link> or by <link linkend="ClutterAnimation"><type>ClutterAnimation</type></link>.
382
The logical id is always greater than <link linkend="CLUTTER-ANIMATION-LAST--CAPS"><literal>CLUTTER_ANIMATION_LAST</literal></link>.</para>
384
</para><variablelist role="params">
385
<varlistentry><term><parameter>func</parameter> :</term>
386
<listitem><simpara> a <link linkend="ClutterAlphaFunc"><type>ClutterAlphaFunc</type></link>
387
</simpara></listitem></varlistentry>
388
<varlistentry><term><parameter>data</parameter> :</term>
389
<listitem><simpara> user data to pass to <parameter>func</parameter>, or <link linkend="NULL--CAPS"><literal>NULL</literal></link>
390
</simpara></listitem></varlistentry>
391
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> the logical id of the alpha function
393
</simpara></listitem></varlistentry>
394
</variablelist><para role="since">Since 1.0</para></refsect2>
397
<refsect1 id="ClutterAlpha.property-details" role="property_details">
398
<title role="property_details.title">Property Details</title>
399
<refsect2 id="ClutterAlpha--alpha" role="property"><title>The <literal>"alpha"</literal> property</title>
400
<indexterm zone="ClutterAlpha--alpha" role="0.2"><primary sortas="Alpha:alpha">ClutterAlpha:alpha</primary></indexterm><programlisting> "alpha" <link linkend="gdouble">gdouble</link> : Read</programlisting>
402
The alpha value as computed by the alpha function. The linear
403
interval is 0.0 to 1.0, but the Alpha allows overshooting by
404
one unit in each direction, so the valid interval is -1.0 to 2.0.</para>
406
</para><para>Allowed values: [-1,2]</para>
407
<para>Default value: 0</para>
408
<para>Since 0.2</para>
410
<refsect2 id="ClutterAlpha--mode" role="property"><title>The <literal>"mode"</literal> property</title>
411
<indexterm zone="ClutterAlpha--mode" role="1.0"><primary sortas="Alpha:mode">ClutterAlpha:mode</primary></indexterm><programlisting> "mode" <link linkend="gulong">gulong</link> : Read / Write / Construct</programlisting>
413
The progress function logical id - either a value from the
414
<link linkend="ClutterAnimationMode"><type>ClutterAnimationMode</type></link> enumeration or a value returned by
415
<link linkend="clutter-alpha-register-func"><function>clutter_alpha_register_func()</function></link>.
418
If <link linkend="CLUTTER-CUSTOM-MODE--CAPS"><literal>CLUTTER_CUSTOM_MODE</literal></link> is used then the function set using
419
<link linkend="clutter-alpha-set-closure"><function>clutter_alpha_set_closure()</function></link> or <link linkend="clutter-alpha-set-func"><function>clutter_alpha_set_func()</function></link>
422
</para><para>Since 1.0</para>
424
<refsect2 id="ClutterAlpha--timeline" role="property"><title>The <literal>"timeline"</literal> property</title>
425
<indexterm zone="ClutterAlpha--timeline" role="0.2"><primary sortas="Alpha:timeline">ClutterAlpha:timeline</primary></indexterm><programlisting> "timeline" <link linkend="ClutterTimeline">ClutterTimeline</link>* : Read / Write</programlisting>
427
A <link linkend="ClutterTimeline"><type>ClutterTimeline</type></link> instance used to drive the alpha function.</para>
429
</para><para>Since 0.2</para>