37
31
<h2><span class="refentrytitle"><a name="ClutterLayoutManager.top_of_page"></a>ClutterLayoutManager</span></h2>
38
32
<p>ClutterLayoutManager — Layout managers base class</p>
40
<td valign="top" align="right"></td>
34
<td class="gallery_image" valign="top" align="right"></td>
41
35
</tr></table></div>
42
<div class="refsynopsisdiv">
43
<a name="ClutterLayoutManager.synopsis"></a><h2>Synopsis</h2>
44
<pre class="synopsis"> <a class="link" href="ClutterLayoutManager.html#ClutterLayoutManager-struct" title="ClutterLayoutManager">ClutterLayoutManager</a>;
45
struct <a class="link" href="ClutterLayoutManager.html#ClutterLayoutManagerClass" title="struct ClutterLayoutManagerClass">ClutterLayoutManagerClass</a>;
46
<span class="returnvalue">void</span> <a class="link" href="ClutterLayoutManager.html#clutter-layout-manager-get-preferred-width" title="clutter_layout_manager_get_preferred_width ()">clutter_layout_manager_get_preferred_width</a>
47
(<em class="parameter"><code><a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a> *manager</code></em>,
48
<em class="parameter"><code><a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a> *container</code></em>,
49
<em class="parameter"><code><span class="type">gfloat</span> for_height</code></em>,
50
<em class="parameter"><code><span class="type">gfloat</span> *min_width_p</code></em>,
51
<em class="parameter"><code><span class="type">gfloat</span> *nat_width_p</code></em>);
52
<span class="returnvalue">void</span> <a class="link" href="ClutterLayoutManager.html#clutter-layout-manager-get-preferred-height" title="clutter_layout_manager_get_preferred_height ()">clutter_layout_manager_get_preferred_height</a>
53
(<em class="parameter"><code><a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a> *manager</code></em>,
54
<em class="parameter"><code><a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a> *container</code></em>,
55
<em class="parameter"><code><span class="type">gfloat</span> for_width</code></em>,
56
<em class="parameter"><code><span class="type">gfloat</span> *min_height_p</code></em>,
57
<em class="parameter"><code><span class="type">gfloat</span> *nat_height_p</code></em>);
58
<span class="returnvalue">void</span> <a class="link" href="ClutterLayoutManager.html#clutter-layout-manager-allocate" title="clutter_layout_manager_allocate ()">clutter_layout_manager_allocate</a> (<em class="parameter"><code><a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a> *manager</code></em>,
59
<em class="parameter"><code><a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a> *container</code></em>,
60
<em class="parameter"><code>const <a class="link" href="clutter-Base-geometric-types.html#ClutterActorBox" title="struct ClutterActorBox"><span class="type">ClutterActorBox</span></a> *allocation</code></em>,
61
<em class="parameter"><code><a class="link" href="ClutterActor.html#ClutterAllocationFlags" title="enum ClutterAllocationFlags"><span class="type">ClutterAllocationFlags</span></a> flags</code></em>);
62
<span class="returnvalue">void</span> <a class="link" href="ClutterLayoutManager.html#clutter-layout-manager-layout-changed" title="clutter_layout_manager_layout_changed ()">clutter_layout_manager_layout_changed</a>
63
(<em class="parameter"><code><a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a> *manager</code></em>);
64
<span class="returnvalue">void</span> <a class="link" href="ClutterLayoutManager.html#clutter-layout-manager-set-container" title="clutter_layout_manager_set_container ()">clutter_layout_manager_set_container</a>
65
(<em class="parameter"><code><a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a> *manager</code></em>,
66
<em class="parameter"><code><a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a> *container</code></em>);
68
<a class="link" href="ClutterLayoutMeta.html" title="ClutterLayoutMeta"><span class="returnvalue">ClutterLayoutMeta</span></a> * <a class="link" href="ClutterLayoutManager.html#clutter-layout-manager-get-child-meta" title="clutter_layout_manager_get_child_meta ()">clutter_layout_manager_get_child_meta</a>
69
(<em class="parameter"><code><a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a> *manager</code></em>,
70
<em class="parameter"><code><a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a> *container</code></em>,
71
<em class="parameter"><code><a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a> *actor</code></em>);
72
<span class="returnvalue">void</span> <a class="link" href="ClutterLayoutManager.html#clutter-layout-manager-child-set" title="clutter_layout_manager_child_set ()">clutter_layout_manager_child_set</a> (<em class="parameter"><code><a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a> *manager</code></em>,
73
<em class="parameter"><code><a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a> *container</code></em>,
74
<em class="parameter"><code><a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a> *actor</code></em>,
75
<em class="parameter"><code>const <span class="type">gchar</span> *first_property</code></em>,
76
<em class="parameter"><code>...</code></em>);
77
<span class="returnvalue">void</span> <a class="link" href="ClutterLayoutManager.html#clutter-layout-manager-child-set-property" title="clutter_layout_manager_child_set_property ()">clutter_layout_manager_child_set_property</a>
78
(<em class="parameter"><code><a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a> *manager</code></em>,
79
<em class="parameter"><code><a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a> *container</code></em>,
80
<em class="parameter"><code><a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a> *actor</code></em>,
81
<em class="parameter"><code>const <span class="type">gchar</span> *property_name</code></em>,
82
<em class="parameter"><code>const <span class="type">GValue</span> *value</code></em>);
83
<span class="returnvalue">void</span> <a class="link" href="ClutterLayoutManager.html#clutter-layout-manager-child-get" title="clutter_layout_manager_child_get ()">clutter_layout_manager_child_get</a> (<em class="parameter"><code><a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a> *manager</code></em>,
84
<em class="parameter"><code><a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a> *container</code></em>,
85
<em class="parameter"><code><a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a> *actor</code></em>,
86
<em class="parameter"><code>const <span class="type">gchar</span> *first_property</code></em>,
87
<em class="parameter"><code>...</code></em>);
88
<span class="returnvalue">void</span> <a class="link" href="ClutterLayoutManager.html#clutter-layout-manager-child-get-property" title="clutter_layout_manager_child_get_property ()">clutter_layout_manager_child_get_property</a>
89
(<em class="parameter"><code><a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a> *manager</code></em>,
90
<em class="parameter"><code><a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a> *container</code></em>,
91
<em class="parameter"><code><a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a> *actor</code></em>,
92
<em class="parameter"><code>const <span class="type">gchar</span> *property_name</code></em>,
93
<em class="parameter"><code><span class="type">GValue</span> *value</code></em>);
95
<span class="returnvalue">GParamSpec</span> * <a class="link" href="ClutterLayoutManager.html#clutter-layout-manager-find-child-property" title="clutter_layout_manager_find_child_property ()">clutter_layout_manager_find_child_property</a>
96
(<em class="parameter"><code><a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a> *manager</code></em>,
97
<em class="parameter"><code>const <span class="type">gchar</span> *name</code></em>);
98
<span class="returnvalue">GParamSpec</span> ** <a class="link" href="ClutterLayoutManager.html#clutter-layout-manager-list-child-properties" title="clutter_layout_manager_list_child_properties ()">clutter_layout_manager_list_child_properties</a>
99
(<em class="parameter"><code><a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a> *manager</code></em>,
100
<em class="parameter"><code><span class="type">guint</span> *n_pspecs</code></em>);
102
<a class="link" href="ClutterAlpha.html" title="ClutterAlpha"><span class="returnvalue">ClutterAlpha</span></a> * <a class="link" href="ClutterLayoutManager.html#clutter-layout-manager-begin-animation" title="clutter_layout_manager_begin_animation ()">clutter_layout_manager_begin_animation</a>
103
(<em class="parameter"><code><a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a> *manager</code></em>,
104
<em class="parameter"><code><span class="type">guint</span> duration</code></em>,
105
<em class="parameter"><code><span class="type">gulong</span> mode</code></em>);
106
<span class="returnvalue">void</span> <a class="link" href="ClutterLayoutManager.html#clutter-layout-manager-end-animation" title="clutter_layout_manager_end_animation ()">clutter_layout_manager_end_animation</a>
107
(<em class="parameter"><code><a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a> *manager</code></em>);
108
<span class="returnvalue">gdouble</span> <a class="link" href="ClutterLayoutManager.html#clutter-layout-manager-get-animation-progress" title="clutter_layout_manager_get_animation_progress ()">clutter_layout_manager_get_animation_progress</a>
109
(<em class="parameter"><code><a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a> *manager</code></em>);
36
<div class="refsect1">
37
<a name="ClutterLayoutManager.functions"></a><h2>Functions</h2>
38
<div class="informaltable"><table width="100%" border="0">
40
<col width="150px" class="functions_return">
41
<col class="functions_name">
45
<td class="function_type">
46
<span class="returnvalue">void</span>
48
<td class="function_name">
49
<a class="link" href="ClutterLayoutManager.html#clutter-layout-manager-get-preferred-width" title="clutter_layout_manager_get_preferred_width ()">clutter_layout_manager_get_preferred_width</a> <span class="c_punctuation">()</span>
53
<td class="function_type">
54
<span class="returnvalue">void</span>
56
<td class="function_name">
57
<a class="link" href="ClutterLayoutManager.html#clutter-layout-manager-get-preferred-height" title="clutter_layout_manager_get_preferred_height ()">clutter_layout_manager_get_preferred_height</a> <span class="c_punctuation">()</span>
61
<td class="function_type">
62
<span class="returnvalue">void</span>
64
<td class="function_name">
65
<a class="link" href="ClutterLayoutManager.html#clutter-layout-manager-allocate" title="clutter_layout_manager_allocate ()">clutter_layout_manager_allocate</a> <span class="c_punctuation">()</span>
69
<td class="function_type">
70
<span class="returnvalue">void</span>
72
<td class="function_name">
73
<a class="link" href="ClutterLayoutManager.html#clutter-layout-manager-layout-changed" title="clutter_layout_manager_layout_changed ()">clutter_layout_manager_layout_changed</a> <span class="c_punctuation">()</span>
77
<td class="function_type">
78
<span class="returnvalue">void</span>
80
<td class="function_name">
81
<a class="link" href="ClutterLayoutManager.html#clutter-layout-manager-set-container" title="clutter_layout_manager_set_container ()">clutter_layout_manager_set_container</a> <span class="c_punctuation">()</span>
85
<td class="function_type">
86
<a class="link" href="ClutterLayoutMeta.html" title="ClutterLayoutMeta"><span class="returnvalue">ClutterLayoutMeta</span></a> *
88
<td class="function_name">
89
<a class="link" href="ClutterLayoutManager.html#clutter-layout-manager-get-child-meta" title="clutter_layout_manager_get_child_meta ()">clutter_layout_manager_get_child_meta</a> <span class="c_punctuation">()</span>
93
<td class="function_type">
94
<span class="returnvalue">void</span>
96
<td class="function_name">
97
<a class="link" href="ClutterLayoutManager.html#clutter-layout-manager-child-set" title="clutter_layout_manager_child_set ()">clutter_layout_manager_child_set</a> <span class="c_punctuation">()</span>
101
<td class="function_type">
102
<span class="returnvalue">void</span>
104
<td class="function_name">
105
<a class="link" href="ClutterLayoutManager.html#clutter-layout-manager-child-set-property" title="clutter_layout_manager_child_set_property ()">clutter_layout_manager_child_set_property</a> <span class="c_punctuation">()</span>
109
<td class="function_type">
110
<span class="returnvalue">void</span>
112
<td class="function_name">
113
<a class="link" href="ClutterLayoutManager.html#clutter-layout-manager-child-get" title="clutter_layout_manager_child_get ()">clutter_layout_manager_child_get</a> <span class="c_punctuation">()</span>
117
<td class="function_type">
118
<span class="returnvalue">void</span>
120
<td class="function_name">
121
<a class="link" href="ClutterLayoutManager.html#clutter-layout-manager-child-get-property" title="clutter_layout_manager_child_get_property ()">clutter_layout_manager_child_get_property</a> <span class="c_punctuation">()</span>
125
<td class="function_type">
126
<span class="returnvalue">GParamSpec</span> *
128
<td class="function_name">
129
<a class="link" href="ClutterLayoutManager.html#clutter-layout-manager-find-child-property" title="clutter_layout_manager_find_child_property ()">clutter_layout_manager_find_child_property</a> <span class="c_punctuation">()</span>
133
<td class="function_type">
134
<span class="returnvalue">GParamSpec</span> **
136
<td class="function_name">
137
<a class="link" href="ClutterLayoutManager.html#clutter-layout-manager-list-child-properties" title="clutter_layout_manager_list_child_properties ()">clutter_layout_manager_list_child_properties</a> <span class="c_punctuation">()</span>
141
<td class="function_type">
142
<a class="link" href="ClutterAlpha.html" title="ClutterAlpha"><span class="returnvalue">ClutterAlpha</span></a> *
144
<td class="function_name">
145
<a class="link" href="ClutterLayoutManager.html#clutter-layout-manager-begin-animation" title="clutter_layout_manager_begin_animation ()">clutter_layout_manager_begin_animation</a> <span class="c_punctuation">()</span>
149
<td class="function_type">
150
<span class="returnvalue">void</span>
152
<td class="function_name">
153
<a class="link" href="ClutterLayoutManager.html#clutter-layout-manager-end-animation" title="clutter_layout_manager_end_animation ()">clutter_layout_manager_end_animation</a> <span class="c_punctuation">()</span>
157
<td class="function_type">
158
<span class="returnvalue">gdouble</span>
160
<td class="function_name">
161
<a class="link" href="ClutterLayoutManager.html#clutter-layout-manager-get-animation-progress" title="clutter_layout_manager_get_animation_progress ()">clutter_layout_manager_get_animation_progress</a> <span class="c_punctuation">()</span>
167
<div class="refsect1">
168
<a name="ClutterLayoutManager.signals"></a><h2>Signals</h2>
169
<div class="informaltable"><table border="0">
171
<col width="150px" class="signals_return">
172
<col width="300px" class="signals_name">
173
<col width="200px" class="signals_flags">
176
<td class="signal_type"><span class="returnvalue">void</span></td>
177
<td class="signal_name"><a class="link" href="ClutterLayoutManager.html#ClutterLayoutManager-layout-changed" title="The “layout-changed” signal">layout-changed</a></td>
178
<td class="signal_flags">Run Last</td>
182
<div class="refsect1">
183
<a name="ClutterLayoutManager.other"></a><h2>Types and Values</h2>
184
<div class="informaltable"><table width="100%" border="0">
186
<col width="150px" class="name">
187
<col class="description">
191
<td class="datatype_keyword"> </td>
192
<td class="function_name"><a class="link" href="ClutterLayoutManager.html#ClutterLayoutManager-struct" title="ClutterLayoutManager">ClutterLayoutManager</a></td>
195
<td class="datatype_keyword">struct</td>
196
<td class="function_name"><a class="link" href="ClutterLayoutManager.html#ClutterLayoutManagerClass" title="struct ClutterLayoutManagerClass">ClutterLayoutManagerClass</a></td>
112
201
<div class="refsect1">
113
202
<a name="ClutterLayoutManager.object-hierarchy"></a><h2>Object Hierarchy</h2>
114
<pre class="synopsis">
116
+----GInitiallyUnowned
117
+----ClutterLayoutManager
118
+----<a class="link" href="ClutterBinLayout.html" title="ClutterBinLayout">ClutterBinLayout</a>
119
+----<a class="link" href="ClutterBoxLayout.html" title="ClutterBoxLayout">ClutterBoxLayout</a>
120
+----<a class="link" href="ClutterFixedLayout.html" title="ClutterFixedLayout">ClutterFixedLayout</a>
121
+----<a class="link" href="ClutterFlowLayout.html" title="ClutterFlowLayout">ClutterFlowLayout</a>
122
+----<a class="link" href="ClutterGridLayout.html" title="ClutterGridLayout">ClutterGridLayout</a>
123
+----<a class="link" href="ClutterTableLayout.html" title="ClutterTableLayout">ClutterTableLayout</a>
126
<div class="refsect1">
127
<a name="ClutterLayoutManager.signals"></a><h2>Signals</h2>
128
<pre class="synopsis">
129
"<a class="link" href="ClutterLayoutManager.html#ClutterLayoutManager-layout-changed" title='The "layout-changed" signal'>layout-changed</a>" : <code class="literal">Run Last</code>
203
<pre class="screen"> GObject
204
<span class="lineart">╰──</span> GInitiallyUnowned
205
<span class="lineart">╰──</span> ClutterLayoutManager
206
<span class="lineart">├──</span> <a class="link" href="ClutterBinLayout.html" title="ClutterBinLayout">ClutterBinLayout</a>
207
<span class="lineart">├──</span> <a class="link" href="ClutterBoxLayout.html" title="ClutterBoxLayout">ClutterBoxLayout</a>
208
<span class="lineart">├──</span> <a class="link" href="ClutterFixedLayout.html" title="ClutterFixedLayout">ClutterFixedLayout</a>
209
<span class="lineart">├──</span> <a class="link" href="ClutterFlowLayout.html" title="ClutterFlowLayout">ClutterFlowLayout</a>
210
<span class="lineart">├──</span> <a class="link" href="ClutterGridLayout.html" title="ClutterGridLayout">ClutterGridLayout</a>
211
<span class="lineart">╰──</span> <a class="link" href="ClutterTableLayout.html" title="ClutterTableLayout">ClutterTableLayout</a>
132
214
<div class="refsect1">
133
215
<a name="ClutterLayoutManager.description"></a><h2>Description</h2>
135
<a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a> is a base abstract class for layout managers. A
216
<p><a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a> is a base abstract class for layout managers. A
136
217
layout manager implements the layouting policy for a composite or a
137
218
container actor: it controls the preferred size of the actor to which
138
it has been paired, and it controls the allocation of its children.
141
Any composite or container <a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a> subclass can delegate the
219
it has been paired, and it controls the allocation of its children.</p>
220
<p>Any composite or container <a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a> subclass can delegate the
142
221
layouting of its children to a <a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a>. Clutter provides
143
a generic container using <a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a> called <a class="link" href="ClutterBox.html" title="ClutterBox"><span class="type">ClutterBox</span></a>.
146
Clutter provides some simple <a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a> sub-classes, like
147
<a class="link" href="ClutterFlowLayout.html" title="ClutterFlowLayout"><span class="type">ClutterFlowLayout</span></a> and <a class="link" href="ClutterBinLayout.html" title="ClutterBinLayout"><span class="type">ClutterBinLayout</span></a>.
151
<div class="refsect2">
152
<a name="ClutterLayoutManager-use-in-Actor"></a><h3>Using a Layout Manager inside an Actor</h3>
153
<p>In order to use a <a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a> inside a <a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a>
154
sub-class you should invoke <a class="link" href="ClutterLayoutManager.html#clutter-layout-manager-get-preferred-width" title="clutter_layout_manager_get_preferred_width ()"><code class="function">clutter_layout_manager_get_preferred_width()</code></a>
155
inside the <a class="link" href="ClutterActor.html#ClutterActorClass.get-preferred-width"><code class="function">ClutterActorClass.get_preferred_width()</code></a> virtual function and
156
<a class="link" href="ClutterLayoutManager.html#clutter-layout-manager-get-preferred-height" title="clutter_layout_manager_get_preferred_height ()"><code class="function">clutter_layout_manager_get_preferred_height()</code></a> inside the
157
<a class="link" href="ClutterActor.html#ClutterActorClass.get-preferred-height"><code class="function">ClutterActorClass.get_preferred_height()</code></a> virtual functions implementation.
158
You should also call <a class="link" href="ClutterLayoutManager.html#clutter-layout-manager-allocate" title="clutter_layout_manager_allocate ()"><code class="function">clutter_layout_manager_allocate()</code></a> inside the
159
implementation of the <a class="link" href="ClutterActor.html#ClutterActorClass.allocate"><code class="function">ClutterActorClass.allocate()</code></a> virtual function.</p>
160
<p>In order to receive notifications for changes in the layout
161
manager policies you should also connect to the
162
<a class="link" href="ClutterLayoutManager.html#ClutterLayoutManager-layout-changed" title='The "layout-changed" signal'><span class="type">"layout-changed"</span></a> signal and queue a relayout
163
on your actor. The following code should be enough if the actor
164
does not need to perform specific operations whenever a layout
166
<div class="informalexample">
167
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
170
<td class="listing_lines" align="right"><pre>1
174
<td class="listing_code"><pre class="programlisting"><span class="function">g_signal_connect_swapped</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">layout_manager</span><span class="symbol">,</span>
175
<span class="normal"> </span><span class="string">"layout-changed"</span><span class="symbol">,</span>
176
<span class="normal"> </span><span class="function">G_CALLBACK</span><span class="normal"> </span><span class="symbol">(</span><span class="normal"><a href="ClutterActor.html#clutter-actor-queue-relayout">clutter_actor_queue_relayout</a></span><span class="symbol">),</span>
177
<span class="normal"> actor</span><span class="symbol">);</span></pre></td>
188
<div class="refsect2">
189
<a name="ClutterLayoutManager-implementation"></a><h3>Implementing a ClutterLayoutManager</h3>
190
<p>The implementation of a layout manager does not differ from
191
the implementation of the size requisition and allocation bits of
192
<a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a>, so you should read the relative documentation
193
<GTKDOCLINK HREF="clutter-subclassing-ClutterActor">for subclassing
194
ClutterActor</GTKDOCLINK>.</p>
195
<p>The layout manager implementation can hold a back pointer
196
to the <a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a> by implementing the
197
<code class="function"><code class="function">set_container()</code></code> virtual function. The layout manager
198
should not hold a real reference (i.e. call <code class="function">g_object_ref()</code>) on the
199
container actor, to avoid reference cycles.</p>
200
<p>If a layout manager has properties affecting the layout
201
policies then it should emit the <a class="link" href="ClutterLayoutManager.html#ClutterLayoutManager-layout-changed" title='The "layout-changed" signal'><span class="type">"layout-changed"</span></a>
202
signal on itself by using the <a class="link" href="ClutterLayoutManager.html#clutter-layout-manager-layout-changed" title="clutter_layout_manager_layout_changed ()"><code class="function">clutter_layout_manager_layout_changed()</code></a>
203
function whenever one of these properties changes.</p>
209
<div class="refsect2">
210
<a name="ClutterLayoutManager-animation"></a><h3>Animating a ClutterLayoutManager</h3>
211
<p>A layout manager is used to let a <a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a> take complete
212
ownership over the layout (that is: the position and sizing) of its
213
children; this means that using the Clutter animation API, like
214
<a class="link" href="clutter-Implicit-Animations.html#clutter-actor-animate" title="clutter_actor_animate ()"><code class="function">clutter_actor_animate()</code></a>, to animate the position and sizing of a child of
215
a layout manager it is not going to work properly, as the animation will
216
automatically override any setting done by the layout manager
218
<p>It is possible for a <a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a> sub-class to animate its
219
children layout by using the base class animation support. The
220
<a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a> animation support consists of three virtual
221
functions: <a class="link" href="ClutterLayoutManager.html#ClutterLayoutManagerClass.begin-animation"><code class="function">ClutterLayoutManagerClass.begin_animation()</code></a>,
222
<a class="link" href="ClutterLayoutManager.html#ClutterLayoutManagerClass.get-animation-progress"><code class="function">ClutterLayoutManagerClass.get_animation_progress()</code></a>, and
223
<a class="link" href="ClutterLayoutManager.html#ClutterLayoutManagerClass.end-animation"><code class="function">ClutterLayoutManagerClass.end_animation()</code></a>.</p>
224
<div class="variablelist"><table border="0" class="variablelist">
226
<col align="left" valign="top">
231
<td><p><span class="term"><code class="function">begin_animation (duration, easing)</code></span></p></td>
232
<td><p>This virtual function is invoked when the layout
233
manager should begin an animation. The implementation should set up
234
the state for the animation and create the ancillary objects for
235
animating the layout. The default implementation creates a
236
<a class="link" href="ClutterTimeline.html" title="ClutterTimeline"><span class="type">ClutterTimeline</span></a> for the given duration and a <a class="link" href="ClutterAlpha.html" title="ClutterAlpha"><span class="type">ClutterAlpha</span></a> binding
237
the timeline to the given easing mode. This function returns a
238
<a class="link" href="ClutterAlpha.html" title="ClutterAlpha"><span class="type">ClutterAlpha</span></a> which should be used to control the animation from
239
the caller perspective.</p></td>
242
<td><p><span class="term"><code class="function"><code class="function">get_animation_progress()</code></code></span></p></td>
243
<td><p>This virtual function should be invoked when animating
244
a layout manager. It returns the progress of the animation, using the
245
same semantics as the <a class="link" href="ClutterAlpha.html#ClutterAlpha--alpha" title='The "alpha" property'><span class="type">"alpha"</span></a> value.</p></td>
248
<td><p><span class="term"><code class="function"><code class="function">end_animation()</code></code></span></p></td>
249
<td><p>This virtual function is invoked when the animation of
250
a layout manager ends, and it is meant to be used for bookkeeping the
251
objects created in the <code class="function"><code class="function">begin_animation()</code></code>
252
function. The default implementation will call it implicitly when the
253
timeline is complete.</p></td>
257
<p>The simplest way to animate a layout is to create a <a class="link" href="ClutterTimeline.html" title="ClutterTimeline"><span class="type">ClutterTimeline</span></a>
258
inside the <code class="function"><code class="function">begin_animation()</code></code> virtual function, along
259
with a <a class="link" href="ClutterAlpha.html" title="ClutterAlpha"><span class="type">ClutterAlpha</span></a>, and for each <a class="link" href="ClutterTimeline.html#ClutterTimeline-new-frame" title='The "new-frame" signal'><span class="type">"new-frame"</span></a> signal
260
emission call <a class="link" href="ClutterLayoutManager.html#clutter-layout-manager-layout-changed" title="clutter_layout_manager_layout_changed ()"><code class="function">clutter_layout_manager_layout_changed()</code></a>, which will cause a
261
relayout. The <a class="link" href="ClutterTimeline.html#ClutterTimeline-completed" title='The "completed" signal'><span class="type">"completed"</span></a> signal emission should cause
262
<a class="link" href="ClutterLayoutManager.html#clutter-layout-manager-end-animation" title="clutter_layout_manager_end_animation ()"><code class="function">clutter_layout_manager_end_animation()</code></a> to be called. The default
263
implementation provided internally by <a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a> does exactly
264
this, so most sub-classes should either not override any animation-related
265
virtual function or simply override <a class="link" href="ClutterLayoutManager.html#ClutterLayoutManagerClass.begin-animation"><code class="function">ClutterLayoutManagerClass.begin_animation()</code></a>
266
and <a class="link" href="ClutterLayoutManager.html#ClutterLayoutManagerClass.end-animation"><code class="function">ClutterLayoutManagerClass.end_animation()</code></a> to set up ad hoc state, and then
267
chain up to the parent's implementation.</p>
268
<div class="example">
269
<a name="example-ClutterLayoutManager-animation"></a><p class="title"><b>Example 1. Animation of a Layout Manager</b></p>
270
<div class="example-contents">
271
<p>The code below shows how a <a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a> sub-class should
272
provide animating the allocation of its children from within the
273
<a class="link" href="ClutterLayoutManager.html#ClutterLayoutManagerClass.allocate"><code class="function">ClutterLayoutManagerClass.allocate()</code></a> virtual function implementation. The
274
animation is computed between the last stable allocation performed
275
before the animation started and the desired final allocation.</p>
276
<p>The <code class="varname">is_animating</code> variable is stored inside the
277
<a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a> sub-class and it is updated by overriding the
278
<a class="link" href="ClutterLayoutManager.html#ClutterLayoutManagerClass.begin-animation"><code class="function">ClutterLayoutManagerClass.begin_animation()</code></a> and the
279
<a class="link" href="ClutterLayoutManager.html#ClutterLayoutManagerClass.end-animation"><code class="function">ClutterLayoutManagerClass.end_animation()</code></a> virtual functions and chaining up
280
to the base class implementation.</p>
281
<p>The last stable allocation is stored within a <a class="link" href="ClutterLayoutMeta.html" title="ClutterLayoutMeta"><span class="type">ClutterLayoutMeta</span></a>
282
sub-class used by the implementation.</p>
283
<pre class="programlisting">
285
my_layout_manager_allocate (ClutterLayoutManager *manager,
286
ClutterContainer *container,
287
const ClutterActorBox *allocation,
288
ClutterAllocationFlags flags)
290
MyLayoutManager *self = MY_LAYOUT_MANAGER (manager);
293
for (child = clutter_actor_get_first_child (CLUTTER_ACTOR (container));
295
child = clutter_actor_get_next_sibling (child))
297
ClutterLayoutMeta *meta;
298
MyLayoutMeta *my_meta;
300
/* retrieve the layout meta-object */
301
meta = clutter_layout_manager_get_child_meta (manager,
304
my_meta = MY_LAYOUT_META (meta);
306
/* compute the desired allocation for the child */
307
compute_allocation (self, my_meta, child,
311
/* this is the additional code that deals with the animation
312
* of the layout manager
314
if (!self->is_animating)
316
/* store the last stable allocation for later use */
317
my_meta->last_alloc = clutter_actor_box_copy (&child_box);
321
ClutterActorBox end = { 0, };
324
/* get the progress of the animation */
325
p = clutter_layout_manager_get_animation_progress (manager);
327
if (my_meta->last_alloc != NULL)
329
/* copy the desired allocation as the final state */
332
/* then interpolate the initial and final state
333
* depending on the progress of the animation,
334
* and put the result inside the box we will use
335
* to allocate the child
337
clutter_actor_box_interpolate (my_meta->last_alloc,
344
/* if there is no stable allocation then the child was
345
* added while animating; one possible course of action
346
* is to just bail out and fall through to the allocation
347
* to position the child directly at its final state
349
my_meta->last_alloc =
350
clutter_actor_box_copy (&child_box);
354
/* allocate the child */
355
clutter_actor_allocate (child, &child_box, flags);
361
<br class="example-break"><p>Sub-classes of <a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a> that support animations of the
362
layout changes should call <a class="link" href="ClutterLayoutManager.html#clutter-layout-manager-begin-animation" title="clutter_layout_manager_begin_animation ()"><code class="function">clutter_layout_manager_begin_animation()</code></a>
363
whenever a layout property changes value, e.g.:</p>
364
<div class="informalexample">
365
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
368
<td class="listing_lines" align="right"><pre>1
380
<td class="listing_code"><pre class="programlisting"><span class="keyword">if</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">self</span><span class="symbol">-></span><span class="normal">orientation </span><span class="symbol">!=</span><span class="normal"> new_orientation</span><span class="symbol">)</span>
381
<span class="normal"> </span><span class="cbracket">{</span>
382
<span class="normal"> </span><span class="usertype">ClutterLayoutManager</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">manager</span><span class="symbol">;</span>
384
<span class="normal"> self</span><span class="symbol">-></span><span class="normal">orientation </span><span class="symbol">=</span><span class="normal"> new_orientation</span><span class="symbol">;</span>
386
<span class="normal"> manager </span><span class="symbol">=</span><span class="normal"> </span><span class="function">CLUTTER_LAYOUT_MANAGER</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">self</span><span class="symbol">);</span>
387
<span class="normal"> </span><span class="function"><a href="ClutterLayoutManager.html#clutter-layout-manager-layout-changed">clutter_layout_manager_layout_changed</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">manager</span><span class="symbol">);</span>
388
<span class="normal"> </span><span class="function"><a href="ClutterLayoutManager.html#clutter-layout-manager-begin-animation">clutter_layout_manager_begin_animation</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">manager</span><span class="symbol">,</span><span class="normal"> </span><span class="number">500</span><span class="symbol">,</span><span class="normal"> <a href="ClutterTimeline.html#CLUTTER-LINEAR:CAPS">CLUTTER_LINEAR</a></span><span class="symbol">);</span>
390
<span class="normal"> </span><span class="function">g_object_notify</span><span class="normal"> </span><span class="symbol">(</span><span class="function">G_OBJECT</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">self</span><span class="symbol">),</span><span class="normal"> </span><span class="string">"orientation"</span><span class="symbol">);</span>
391
<span class="normal"> </span><span class="cbracket">}</span></pre></td>
397
<p>The code above will animate a change in the
398
<code class="varname">orientation</code> layout property of a layout manager.</p>
404
<div class="refsect2">
405
<a name="clutter-layout-properties"></a><h3>Layout Properties</h3>
222
a generic container using <a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a> called <a class="link" href="ClutterBox.html" title="ClutterBox"><span class="type">ClutterBox</span></a>.</p>
223
<p>Clutter provides some simple <a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a> sub-classes, like
224
<a class="link" href="ClutterFlowLayout.html" title="ClutterFlowLayout"><span class="type">ClutterFlowLayout</span></a> and <a class="link" href="ClutterBinLayout.html" title="ClutterBinLayout"><span class="type">ClutterBinLayout</span></a>.</p>
225
<div class="refsect3">
226
<a name="id-1.5.2.6.7.5"></a><h4>Implementing a ClutterLayoutManager</h4>
227
<p>The implementation of a layout manager does not differ from the
228
implementation of the size requisition and allocation bits of
229
<a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a>, so you should read the relative documentation
230
forr subclassing <a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a>.</p>
231
<p>The layout manager implementation can hold a back pointer to the
232
<a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a> by implementing the <a class="link" href="ClutterLayoutManager.html#ClutterLayoutManagerClass.set-container"><code class="function">ClutterLayoutManagerClass.set_container()</code></a>
233
virtual function. The layout manager should not hold a real reference (i.e.
234
call <code class="function">g_object_ref()</code>) on the container actor, to avoid reference cycles.</p>
235
<p>If a layout manager has properties affecting the layout policies then it should
236
emit the <a class="link" href="ClutterLayoutManager.html#ClutterLayoutManager-layout-changed" title="The “layout-changed” signal"><span class="type">“layout-changed”</span></a> signal on itself by using the
237
<a class="link" href="ClutterLayoutManager.html#clutter-layout-manager-layout-changed" title="clutter_layout_manager_layout_changed ()"><code class="function">clutter_layout_manager_layout_changed()</code></a> function whenever one of these properties
240
<div class="refsect3">
241
<a name="id-1.5.2.6.7.6"></a><h4>Layout Properties</h4>
406
242
<p>If a layout manager has layout properties, that is properties that
407
should exist only as the result of the presence of a specific (layout
408
manager, container actor, child actor) combination, and it wishes to store
409
those properties inside a <a class="link" href="ClutterLayoutMeta.html" title="ClutterLayoutMeta"><span class="type">ClutterLayoutMeta</span></a>, then it should override the
410
<a class="link" href="ClutterLayoutManager.html#ClutterLayoutManagerClass.get-child-meta-type"><code class="function">ClutterLayoutManagerClass.get_child_meta_type()</code></a> virtual function to return
411
the <span class="type">GType</span> of the <a class="link" href="ClutterLayoutMeta.html" title="ClutterLayoutMeta"><span class="type">ClutterLayoutMeta</span></a> sub-class used to store the layout
412
properties; optionally, the <a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a> sub-class might also
413
override the <a class="link" href="ClutterLayoutManager.html#ClutterLayoutManagerClass.create-child-meta"><code class="function">ClutterLayoutManagerClass.create_child_meta()</code></a> virtual function
414
to control how the <a class="link" href="ClutterLayoutMeta.html" title="ClutterLayoutMeta"><span class="type">ClutterLayoutMeta</span></a> instance is created, otherwise the
415
default implementation will be equivalent to:</p>
243
should exist only as the result of the presence of a specific (layout
244
manager, container actor, child actor) combination, and it wishes to store
245
those properties inside a <a class="link" href="ClutterLayoutMeta.html" title="ClutterLayoutMeta"><span class="type">ClutterLayoutMeta</span></a>, then it should override the
246
<a class="link" href="ClutterLayoutManager.html#ClutterLayoutManagerClass.get-child-meta-type"><code class="function">ClutterLayoutManagerClass.get_child_meta_type()</code></a> virtual function to return
247
the <span class="type">GType</span> of the <a class="link" href="ClutterLayoutMeta.html" title="ClutterLayoutMeta"><span class="type">ClutterLayoutMeta</span></a> sub-class used to store the layout
248
properties; optionally, the <a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a> sub-class might also
249
override the <a class="link" href="ClutterLayoutManager.html#ClutterLayoutManagerClass.create-child-meta"><code class="function">ClutterLayoutManagerClass.create_child_meta()</code></a> virtual function
250
to control how the <a class="link" href="ClutterLayoutMeta.html" title="ClutterLayoutMeta"><span class="type">ClutterLayoutMeta</span></a> instance is created, otherwise the
251
default implementation will be equivalent to:</p>
416
252
<div class="informalexample">
417
253
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
533
<a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a> is available since Clutter 1.2
536
<div class="refsect1">
537
<a name="ClutterLayoutManager.details"></a><h2>Details</h2>
362
<p><a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a> is available since Clutter 1.2</p>
365
<div class="refsect1">
366
<a name="ClutterLayoutManager.functions_details"></a><h2>Functions</h2>
367
<div class="refsect2">
368
<a name="clutter-layout-manager-get-preferred-width"></a><h3>clutter_layout_manager_get_preferred_width ()</h3>
369
<pre class="programlisting"><span class="returnvalue">void</span>
370
clutter_layout_manager_get_preferred_width
371
(<em class="parameter"><code><a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a> *manager</code></em>,
372
<em class="parameter"><code><a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a> *container</code></em>,
373
<em class="parameter"><code><span class="type">gfloat</span> for_height</code></em>,
374
<em class="parameter"><code><span class="type">gfloat</span> *min_width_p</code></em>,
375
<em class="parameter"><code><span class="type">gfloat</span> *nat_width_p</code></em>);</pre>
376
<p>Computes the minimum and natural widths of the <em class="parameter"><code>container</code></em>
378
to <em class="parameter"><code>manager</code></em>
380
<p>See also <a class="link" href="ClutterActor.html#clutter-actor-get-preferred-width" title="clutter_actor_get_preferred_width ()"><code class="function">clutter_actor_get_preferred_width()</code></a></p>
381
<div class="refsect3">
382
<a name="id-1.5.2.6.8.2.6"></a><h4>Parameters</h4>
383
<div class="informaltable"><table width="100%" border="0">
385
<col width="150px" class="parameters_name">
386
<col class="parameters_description">
387
<col width="200px" class="parameters_annotations">
391
<td class="parameter_name"><p>manager</p></td>
392
<td class="parameter_description"><p>a <a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a></p></td>
393
<td class="parameter_annotations"> </td>
396
<td class="parameter_name"><p>container</p></td>
397
<td class="parameter_description"><p>the <a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a> using <em class="parameter"><code>manager</code></em>
399
<td class="parameter_annotations"> </td>
402
<td class="parameter_name"><p>for_height</p></td>
403
<td class="parameter_description"><p>the height for which the width should be computed, or -1</p></td>
404
<td class="parameter_annotations"> </td>
407
<td class="parameter_name"><p>min_width_p</p></td>
408
<td class="parameter_description"><p> return location for the minimum width
409
of the layout, or <code class="literal">NULL</code>. </p></td>
410
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
413
<td class="parameter_name"><p>nat_width_p</p></td>
414
<td class="parameter_description"><p> return location for the natural width
415
of the layout, or <code class="literal">NULL</code>. </p></td>
416
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
421
<p class="since">Since 1.2</p>
424
<div class="refsect2">
425
<a name="clutter-layout-manager-get-preferred-height"></a><h3>clutter_layout_manager_get_preferred_height ()</h3>
426
<pre class="programlisting"><span class="returnvalue">void</span>
427
clutter_layout_manager_get_preferred_height
428
(<em class="parameter"><code><a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a> *manager</code></em>,
429
<em class="parameter"><code><a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a> *container</code></em>,
430
<em class="parameter"><code><span class="type">gfloat</span> for_width</code></em>,
431
<em class="parameter"><code><span class="type">gfloat</span> *min_height_p</code></em>,
432
<em class="parameter"><code><span class="type">gfloat</span> *nat_height_p</code></em>);</pre>
433
<p>Computes the minimum and natural heights of the <em class="parameter"><code>container</code></em>
435
to <em class="parameter"><code>manager</code></em>
437
<p>See also <a class="link" href="ClutterActor.html#clutter-actor-get-preferred-height" title="clutter_actor_get_preferred_height ()"><code class="function">clutter_actor_get_preferred_height()</code></a></p>
438
<div class="refsect3">
439
<a name="id-1.5.2.6.8.3.6"></a><h4>Parameters</h4>
440
<div class="informaltable"><table width="100%" border="0">
442
<col width="150px" class="parameters_name">
443
<col class="parameters_description">
444
<col width="200px" class="parameters_annotations">
448
<td class="parameter_name"><p>manager</p></td>
449
<td class="parameter_description"><p>a <a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a></p></td>
450
<td class="parameter_annotations"> </td>
453
<td class="parameter_name"><p>container</p></td>
454
<td class="parameter_description"><p>the <a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a> using <em class="parameter"><code>manager</code></em>
456
<td class="parameter_annotations"> </td>
459
<td class="parameter_name"><p>for_width</p></td>
460
<td class="parameter_description"><p>the width for which the height should be computed, or -1</p></td>
461
<td class="parameter_annotations"> </td>
464
<td class="parameter_name"><p>min_height_p</p></td>
465
<td class="parameter_description"><p> return location for the minimum height
466
of the layout, or <code class="literal">NULL</code>. </p></td>
467
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
470
<td class="parameter_name"><p>nat_height_p</p></td>
471
<td class="parameter_description"><p> return location for the natural height
472
of the layout, or <code class="literal">NULL</code>. </p></td>
473
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
478
<p class="since">Since 1.2</p>
481
<div class="refsect2">
482
<a name="clutter-layout-manager-allocate"></a><h3>clutter_layout_manager_allocate ()</h3>
483
<pre class="programlisting"><span class="returnvalue">void</span>
484
clutter_layout_manager_allocate (<em class="parameter"><code><a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a> *manager</code></em>,
485
<em class="parameter"><code><a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a> *container</code></em>,
486
<em class="parameter"><code>const <a class="link" href="clutter-Base-geometric-types.html#ClutterActorBox" title="struct ClutterActorBox"><span class="type">ClutterActorBox</span></a> *allocation</code></em>,
487
<em class="parameter"><code><a class="link" href="ClutterActor.html#ClutterAllocationFlags" title="enum ClutterAllocationFlags"><span class="type">ClutterAllocationFlags</span></a> flags</code></em>);</pre>
488
<p>Allocates the children of <em class="parameter"><code>container</code></em>
490
<p>See also <a class="link" href="ClutterActor.html#clutter-actor-allocate" title="clutter_actor_allocate ()"><code class="function">clutter_actor_allocate()</code></a></p>
491
<div class="refsect3">
492
<a name="id-1.5.2.6.8.4.6"></a><h4>Parameters</h4>
493
<div class="informaltable"><table width="100%" border="0">
495
<col width="150px" class="parameters_name">
496
<col class="parameters_description">
497
<col width="200px" class="parameters_annotations">
501
<td class="parameter_name"><p>manager</p></td>
502
<td class="parameter_description"><p>a <a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a></p></td>
503
<td class="parameter_annotations"> </td>
506
<td class="parameter_name"><p>container</p></td>
507
<td class="parameter_description"><p>the <a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a> using <em class="parameter"><code>manager</code></em>
509
<td class="parameter_annotations"> </td>
512
<td class="parameter_name"><p>allocation</p></td>
513
<td class="parameter_description"><p>the <a class="link" href="clutter-Base-geometric-types.html#ClutterActorBox" title="struct ClutterActorBox"><span class="type">ClutterActorBox</span></a> containing the allocated area
514
of <em class="parameter"><code>container</code></em>
516
<td class="parameter_annotations"> </td>
519
<td class="parameter_name"><p>flags</p></td>
520
<td class="parameter_description"><p>the allocation flags</p></td>
521
<td class="parameter_annotations"> </td>
526
<p class="since">Since 1.2</p>
529
<div class="refsect2">
530
<a name="clutter-layout-manager-layout-changed"></a><h3>clutter_layout_manager_layout_changed ()</h3>
531
<pre class="programlisting"><span class="returnvalue">void</span>
532
clutter_layout_manager_layout_changed (<em class="parameter"><code><a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a> *manager</code></em>);</pre>
533
<p>Emits the <a class="link" href="ClutterLayoutManager.html#ClutterLayoutManager-layout-changed" title="The “layout-changed” signal"><span class="type">“layout-changed”</span></a> signal on <em class="parameter"><code>manager</code></em>
535
<p>This function should only be called by implementations of the
536
<a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a> class</p>
537
<div class="refsect3">
538
<a name="id-1.5.2.6.8.5.6"></a><h4>Parameters</h4>
539
<div class="informaltable"><table width="100%" border="0">
541
<col width="150px" class="parameters_name">
542
<col class="parameters_description">
543
<col width="200px" class="parameters_annotations">
546
<td class="parameter_name"><p>manager</p></td>
547
<td class="parameter_description"><p>a <a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a></p></td>
548
<td class="parameter_annotations"> </td>
552
<p class="since">Since 1.2</p>
555
<div class="refsect2">
556
<a name="clutter-layout-manager-set-container"></a><h3>clutter_layout_manager_set_container ()</h3>
557
<pre class="programlisting"><span class="returnvalue">void</span>
558
clutter_layout_manager_set_container (<em class="parameter"><code><a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a> *manager</code></em>,
559
<em class="parameter"><code><a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a> *container</code></em>);</pre>
560
<p>If the <a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a> sub-class allows it, allow
561
adding a weak reference of the <em class="parameter"><code>container</code></em>
562
using <em class="parameter"><code>manager</code></em>
564
from within the layout manager</p>
565
<p>The layout manager should not increase the reference
566
count of the <em class="parameter"><code>container</code></em>
568
<div class="refsect3">
569
<a name="id-1.5.2.6.8.6.6"></a><h4>Parameters</h4>
570
<div class="informaltable"><table width="100%" border="0">
572
<col width="150px" class="parameters_name">
573
<col class="parameters_description">
574
<col width="200px" class="parameters_annotations">
578
<td class="parameter_name"><p>manager</p></td>
579
<td class="parameter_description"><p>a <a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a></p></td>
580
<td class="parameter_annotations"> </td>
583
<td class="parameter_name"><p>container</p></td>
584
<td class="parameter_description"><p> a <a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a> using <em class="parameter"><code>manager</code></em>
586
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
591
<p class="since">Since 1.2</p>
594
<div class="refsect2">
595
<a name="clutter-layout-manager-get-child-meta"></a><h3>clutter_layout_manager_get_child_meta ()</h3>
596
<pre class="programlisting"><a class="link" href="ClutterLayoutMeta.html" title="ClutterLayoutMeta"><span class="returnvalue">ClutterLayoutMeta</span></a> *
597
clutter_layout_manager_get_child_meta (<em class="parameter"><code><a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a> *manager</code></em>,
598
<em class="parameter"><code><a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a> *container</code></em>,
599
<em class="parameter"><code><a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a> *actor</code></em>);</pre>
600
<p>Retrieves the <a class="link" href="ClutterLayoutMeta.html" title="ClutterLayoutMeta"><span class="type">ClutterLayoutMeta</span></a> that the layout <em class="parameter"><code>manager</code></em>
602
to the <em class="parameter"><code>actor</code></em>
603
child of <em class="parameter"><code>container</code></em>
604
, eventually by creating one if the
605
<a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a> supports layout properties</p>
606
<div class="refsect3">
607
<a name="id-1.5.2.6.8.7.5"></a><h4>Parameters</h4>
608
<div class="informaltable"><table width="100%" border="0">
610
<col width="150px" class="parameters_name">
611
<col class="parameters_description">
612
<col width="200px" class="parameters_annotations">
616
<td class="parameter_name"><p>manager</p></td>
617
<td class="parameter_description"><p>a <a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a></p></td>
618
<td class="parameter_annotations"> </td>
621
<td class="parameter_name"><p>container</p></td>
622
<td class="parameter_description"><p>a <a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a> using <em class="parameter"><code>manager</code></em>
624
<td class="parameter_annotations"> </td>
627
<td class="parameter_name"><p>actor</p></td>
628
<td class="parameter_description"><p>a <a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a> child of <em class="parameter"><code>container</code></em>
630
<td class="parameter_annotations"> </td>
635
<div class="refsect3">
636
<a name="id-1.5.2.6.8.7.6"></a><h4>Returns</h4>
637
<p> a <a class="link" href="ClutterLayoutMeta.html" title="ClutterLayoutMeta"><span class="type">ClutterLayoutMeta</span></a>, or <code class="literal">NULL</code> if the
638
<a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a> does not have layout properties. The returned
639
layout meta instance is owned by the <a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a> and it
640
should not be unreferenced. </p>
641
<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
643
<p class="since">Since 1.0</p>
646
<div class="refsect2">
647
<a name="clutter-layout-manager-child-set"></a><h3>clutter_layout_manager_child_set ()</h3>
648
<pre class="programlisting"><span class="returnvalue">void</span>
649
clutter_layout_manager_child_set (<em class="parameter"><code><a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a> *manager</code></em>,
650
<em class="parameter"><code><a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a> *container</code></em>,
651
<em class="parameter"><code><a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a> *actor</code></em>,
652
<em class="parameter"><code>const <span class="type">gchar</span> *first_property</code></em>,
653
<em class="parameter"><code>...</code></em>);</pre>
654
<p>Sets a list of properties and their values on the <a class="link" href="ClutterLayoutMeta.html" title="ClutterLayoutMeta"><span class="type">ClutterLayoutMeta</span></a>
655
associated by <em class="parameter"><code>manager</code></em>
656
to a child of <em class="parameter"><code>container</code></em>
658
<p>Languages bindings should use <a class="link" href="ClutterLayoutManager.html#clutter-layout-manager-child-set-property" title="clutter_layout_manager_child_set_property ()"><code class="function">clutter_layout_manager_child_set_property()</code></a>
660
<div class="refsect3">
661
<a name="id-1.5.2.6.8.8.6"></a><h4>Parameters</h4>
662
<div class="informaltable"><table width="100%" border="0">
664
<col width="150px" class="parameters_name">
665
<col class="parameters_description">
666
<col width="200px" class="parameters_annotations">
670
<td class="parameter_name"><p>manager</p></td>
671
<td class="parameter_description"><p>a <a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a></p></td>
672
<td class="parameter_annotations"> </td>
675
<td class="parameter_name"><p>container</p></td>
676
<td class="parameter_description"><p>a <a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a> using <em class="parameter"><code>manager</code></em>
678
<td class="parameter_annotations"> </td>
681
<td class="parameter_name"><p>actor</p></td>
682
<td class="parameter_description"><p>a <a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a> child of <em class="parameter"><code>container</code></em>
684
<td class="parameter_annotations"> </td>
687
<td class="parameter_name"><p>first_property</p></td>
688
<td class="parameter_description"><p>the first property name</p></td>
689
<td class="parameter_annotations"> </td>
692
<td class="parameter_name"><p>...</p></td>
693
<td class="parameter_description"><p>a list of property name and value pairs</p></td>
694
<td class="parameter_annotations"> </td>
699
<p class="since">Since 1.2</p>
702
<div class="refsect2">
703
<a name="clutter-layout-manager-child-set-property"></a><h3>clutter_layout_manager_child_set_property ()</h3>
704
<pre class="programlisting"><span class="returnvalue">void</span>
705
clutter_layout_manager_child_set_property
706
(<em class="parameter"><code><a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a> *manager</code></em>,
707
<em class="parameter"><code><a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a> *container</code></em>,
708
<em class="parameter"><code><a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a> *actor</code></em>,
709
<em class="parameter"><code>const <span class="type">gchar</span> *property_name</code></em>,
710
<em class="parameter"><code>const <span class="type">GValue</span> *value</code></em>);</pre>
711
<p>Sets a property on the <a class="link" href="ClutterLayoutMeta.html" title="ClutterLayoutMeta"><span class="type">ClutterLayoutMeta</span></a> created by <em class="parameter"><code>manager</code></em>
713
attached to a child of <em class="parameter"><code>container</code></em>
715
<div class="refsect3">
716
<a name="id-1.5.2.6.8.9.5"></a><h4>Parameters</h4>
717
<div class="informaltable"><table width="100%" border="0">
719
<col width="150px" class="parameters_name">
720
<col class="parameters_description">
721
<col width="200px" class="parameters_annotations">
725
<td class="parameter_name"><p>manager</p></td>
726
<td class="parameter_description"><p>a <a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a></p></td>
727
<td class="parameter_annotations"> </td>
730
<td class="parameter_name"><p>container</p></td>
731
<td class="parameter_description"><p>a <a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a> using <em class="parameter"><code>manager</code></em>
733
<td class="parameter_annotations"> </td>
736
<td class="parameter_name"><p>actor</p></td>
737
<td class="parameter_description"><p>a <a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a> child of <em class="parameter"><code>container</code></em>
739
<td class="parameter_annotations"> </td>
742
<td class="parameter_name"><p>property_name</p></td>
743
<td class="parameter_description"><p>the name of the property to set</p></td>
744
<td class="parameter_annotations"> </td>
747
<td class="parameter_name"><p>value</p></td>
748
<td class="parameter_description"><p>a <span class="type">GValue</span> with the value of the property to set</p></td>
749
<td class="parameter_annotations"> </td>
754
<p class="since">Since 1.2</p>
757
<div class="refsect2">
758
<a name="clutter-layout-manager-child-get"></a><h3>clutter_layout_manager_child_get ()</h3>
759
<pre class="programlisting"><span class="returnvalue">void</span>
760
clutter_layout_manager_child_get (<em class="parameter"><code><a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a> *manager</code></em>,
761
<em class="parameter"><code><a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a> *container</code></em>,
762
<em class="parameter"><code><a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a> *actor</code></em>,
763
<em class="parameter"><code>const <span class="type">gchar</span> *first_property</code></em>,
764
<em class="parameter"><code>...</code></em>);</pre>
765
<p>Retrieves the values for a list of properties out of the
766
<a class="link" href="ClutterLayoutMeta.html" title="ClutterLayoutMeta"><span class="type">ClutterLayoutMeta</span></a> created by <em class="parameter"><code>manager</code></em>
768
child of a <em class="parameter"><code>container</code></em>
770
<div class="refsect3">
771
<a name="id-1.5.2.6.8.10.5"></a><h4>Parameters</h4>
772
<div class="informaltable"><table width="100%" border="0">
774
<col width="150px" class="parameters_name">
775
<col class="parameters_description">
776
<col width="200px" class="parameters_annotations">
780
<td class="parameter_name"><p>manager</p></td>
781
<td class="parameter_description"><p>a <a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a></p></td>
782
<td class="parameter_annotations"> </td>
785
<td class="parameter_name"><p>container</p></td>
786
<td class="parameter_description"><p>a <a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a> using <em class="parameter"><code>manager</code></em>
788
<td class="parameter_annotations"> </td>
791
<td class="parameter_name"><p>actor</p></td>
792
<td class="parameter_description"><p>a <a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a> child of <em class="parameter"><code>container</code></em>
794
<td class="parameter_annotations"> </td>
797
<td class="parameter_name"><p>first_property</p></td>
798
<td class="parameter_description"><p>the name of the first property</p></td>
799
<td class="parameter_annotations"> </td>
802
<td class="parameter_name"><p>...</p></td>
803
<td class="parameter_description"><p>a list of property name and return location for the value pairs</p></td>
804
<td class="parameter_annotations"> </td>
809
<p class="since">Since 1.2</p>
812
<div class="refsect2">
813
<a name="clutter-layout-manager-child-get-property"></a><h3>clutter_layout_manager_child_get_property ()</h3>
814
<pre class="programlisting"><span class="returnvalue">void</span>
815
clutter_layout_manager_child_get_property
816
(<em class="parameter"><code><a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a> *manager</code></em>,
817
<em class="parameter"><code><a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a> *container</code></em>,
818
<em class="parameter"><code><a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a> *actor</code></em>,
819
<em class="parameter"><code>const <span class="type">gchar</span> *property_name</code></em>,
820
<em class="parameter"><code><span class="type">GValue</span> *value</code></em>);</pre>
821
<p>Gets a property on the <a class="link" href="ClutterLayoutMeta.html" title="ClutterLayoutMeta"><span class="type">ClutterLayoutMeta</span></a> created by <em class="parameter"><code>manager</code></em>
823
attached to a child of <em class="parameter"><code>container</code></em>
825
<p>The <span class="type">GValue</span> must already be initialized to the type of the property
826
and has to be unset with <code class="function">g_value_unset()</code> after extracting the real
828
<div class="refsect3">
829
<a name="id-1.5.2.6.8.11.6"></a><h4>Parameters</h4>
830
<div class="informaltable"><table width="100%" border="0">
832
<col width="150px" class="parameters_name">
833
<col class="parameters_description">
834
<col width="200px" class="parameters_annotations">
838
<td class="parameter_name"><p>manager</p></td>
839
<td class="parameter_description"><p>a <a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a></p></td>
840
<td class="parameter_annotations"> </td>
843
<td class="parameter_name"><p>container</p></td>
844
<td class="parameter_description"><p>a <a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a> using <em class="parameter"><code>manager</code></em>
846
<td class="parameter_annotations"> </td>
849
<td class="parameter_name"><p>actor</p></td>
850
<td class="parameter_description"><p>a <a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a> child of <em class="parameter"><code>container</code></em>
852
<td class="parameter_annotations"> </td>
855
<td class="parameter_name"><p>property_name</p></td>
856
<td class="parameter_description"><p>the name of the property to get</p></td>
857
<td class="parameter_annotations"> </td>
860
<td class="parameter_name"><p>value</p></td>
861
<td class="parameter_description"><p>a <span class="type">GValue</span> with the value of the property to get</p></td>
862
<td class="parameter_annotations"> </td>
867
<p class="since">Since 1.2</p>
870
<div class="refsect2">
871
<a name="clutter-layout-manager-find-child-property"></a><h3>clutter_layout_manager_find_child_property ()</h3>
872
<pre class="programlisting"><span class="returnvalue">GParamSpec</span> *
873
clutter_layout_manager_find_child_property
874
(<em class="parameter"><code><a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a> *manager</code></em>,
875
<em class="parameter"><code>const <span class="type">gchar</span> *name</code></em>);</pre>
876
<p>Retrieves the <span class="type">GParamSpec</span> for the layout property <em class="parameter"><code>name</code></em>
878
the <a class="link" href="ClutterLayoutMeta.html" title="ClutterLayoutMeta"><span class="type">ClutterLayoutMeta</span></a> sub-class used by <em class="parameter"><code>manager</code></em>
880
<div class="refsect3">
881
<a name="id-1.5.2.6.8.12.5"></a><h4>Parameters</h4>
882
<div class="informaltable"><table width="100%" border="0">
884
<col width="150px" class="parameters_name">
885
<col class="parameters_description">
886
<col width="200px" class="parameters_annotations">
890
<td class="parameter_name"><p>manager</p></td>
891
<td class="parameter_description"><p>a <a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a></p></td>
892
<td class="parameter_annotations"> </td>
895
<td class="parameter_name"><p>name</p></td>
896
<td class="parameter_description"><p>the name of the property</p></td>
897
<td class="parameter_annotations"> </td>
902
<div class="refsect3">
903
<a name="id-1.5.2.6.8.12.6"></a><h4>Returns</h4>
904
<p> a <span class="type">GParamSpec</span> describing the property,
905
or <code class="literal">NULL</code> if no property with that name exists. The returned
906
<span class="type">GParamSpec</span> is owned by the layout manager and should not be
907
modified or freed. </p>
908
<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
910
<p class="since">Since 1.2</p>
913
<div class="refsect2">
914
<a name="clutter-layout-manager-list-child-properties"></a><h3>clutter_layout_manager_list_child_properties ()</h3>
915
<pre class="programlisting"><span class="returnvalue">GParamSpec</span> **
916
clutter_layout_manager_list_child_properties
917
(<em class="parameter"><code><a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a> *manager</code></em>,
918
<em class="parameter"><code><span class="type">guint</span> *n_pspecs</code></em>);</pre>
919
<p>Retrieves all the <span class="type">GParamSpec</span><!-- -->s for the layout properties
920
stored inside the <a class="link" href="ClutterLayoutMeta.html" title="ClutterLayoutMeta"><span class="type">ClutterLayoutMeta</span></a> sub-class used by <em class="parameter"><code>manager</code></em>
922
<div class="refsect3">
923
<a name="id-1.5.2.6.8.13.5"></a><h4>Parameters</h4>
924
<div class="informaltable"><table width="100%" border="0">
926
<col width="150px" class="parameters_name">
927
<col class="parameters_description">
928
<col width="200px" class="parameters_annotations">
932
<td class="parameter_name"><p>manager</p></td>
933
<td class="parameter_description"><p>a <a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a></p></td>
934
<td class="parameter_annotations"> </td>
937
<td class="parameter_name"><p>n_pspecs</p></td>
938
<td class="parameter_description"><p> return location for the number of returned
939
<span class="type">GParamSpec</span><!-- -->s. </p></td>
940
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
945
<div class="refsect3">
946
<a name="id-1.5.2.6.8.13.6"></a><h4>Returns</h4>
947
<p> the newly-allocated,
948
<code class="literal">NULL</code>-terminated array of <span class="type">GParamSpec</span><!-- -->s. Use <code class="function">g_free()</code> to free the
949
resources allocated for the array. </p>
950
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=n_pspecs]</span></p>
952
<p class="since">Since 1.2</p>
955
<div class="refsect2">
956
<a name="clutter-layout-manager-begin-animation"></a><h3>clutter_layout_manager_begin_animation ()</h3>
957
<pre class="programlisting"><a class="link" href="ClutterAlpha.html" title="ClutterAlpha"><span class="returnvalue">ClutterAlpha</span></a> *
958
clutter_layout_manager_begin_animation
959
(<em class="parameter"><code><a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a> *manager</code></em>,
960
<em class="parameter"><code><span class="type">guint</span> duration</code></em>,
961
<em class="parameter"><code><span class="type">gulong</span> mode</code></em>);</pre>
962
<div class="warning"><p><code class="literal">clutter_layout_manager_begin_animation</code> has been deprecated since version 1.12 and should not be used in newly-written code.</p></div>
963
<p>Begins an animation of <em class="parameter"><code>duration</code></em>
964
milliseconds, using the provided
965
easing <em class="parameter"><code>mode</code></em>
967
<p>The easing mode can be specified either as a <a class="link" href="ClutterTimeline.html#ClutterAnimationMode" title="enum ClutterAnimationMode"><span class="type">ClutterAnimationMode</span></a>
968
or as a logical id returned by <a class="link" href="ClutterAlpha.html#clutter-alpha-register-func" title="clutter_alpha_register_func ()"><code class="function">clutter_alpha_register_func()</code></a></p>
969
<p>The result of this function depends on the <em class="parameter"><code>manager</code></em>
971
<div class="refsect3">
972
<a name="id-1.5.2.6.8.14.9"></a><h4>Parameters</h4>
973
<div class="informaltable"><table width="100%" border="0">
975
<col width="150px" class="parameters_name">
976
<col class="parameters_description">
977
<col width="200px" class="parameters_annotations">
981
<td class="parameter_name"><p>manager</p></td>
982
<td class="parameter_description"><p>a <a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a></p></td>
983
<td class="parameter_annotations"> </td>
986
<td class="parameter_name"><p>duration</p></td>
987
<td class="parameter_description"><p>the duration of the animation, in milliseconds</p></td>
988
<td class="parameter_annotations"> </td>
991
<td class="parameter_name"><p>mode</p></td>
992
<td class="parameter_description"><p>the easing mode of the animation</p></td>
993
<td class="parameter_annotations"> </td>
998
<div class="refsect3">
999
<a name="id-1.5.2.6.8.14.10"></a><h4>Returns</h4>
1000
<p> The <a class="link" href="ClutterAlpha.html" title="ClutterAlpha"><span class="type">ClutterAlpha</span></a> created by the
1001
layout manager; the returned instance is owned by the layout
1002
manager and should not be unreferenced. </p>
1003
<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
1005
<p class="since">Since 1.2</p>
1008
<div class="refsect2">
1009
<a name="clutter-layout-manager-end-animation"></a><h3>clutter_layout_manager_end_animation ()</h3>
1010
<pre class="programlisting"><span class="returnvalue">void</span>
1011
clutter_layout_manager_end_animation (<em class="parameter"><code><a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a> *manager</code></em>);</pre>
1012
<div class="warning"><p><code class="literal">clutter_layout_manager_end_animation</code> has been deprecated since version 1.12 and should not be used in newly-written code.</p></div>
1013
<p>Ends an animation started by <a class="link" href="ClutterLayoutManager.html#clutter-layout-manager-begin-animation" title="clutter_layout_manager_begin_animation ()"><code class="function">clutter_layout_manager_begin_animation()</code></a></p>
1014
<p>The result of this call depends on the <em class="parameter"><code>manager</code></em>
1016
<div class="refsect3">
1017
<a name="id-1.5.2.6.8.15.8"></a><h4>Parameters</h4>
1018
<div class="informaltable"><table width="100%" border="0">
1020
<col width="150px" class="parameters_name">
1021
<col class="parameters_description">
1022
<col width="200px" class="parameters_annotations">
1025
<td class="parameter_name"><p>manager</p></td>
1026
<td class="parameter_description"><p>a <a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a></p></td>
1027
<td class="parameter_annotations"> </td>
1031
<p class="since">Since 1.2</p>
1034
<div class="refsect2">
1035
<a name="clutter-layout-manager-get-animation-progress"></a><h3>clutter_layout_manager_get_animation_progress ()</h3>
1036
<pre class="programlisting"><span class="returnvalue">gdouble</span>
1037
clutter_layout_manager_get_animation_progress
1038
(<em class="parameter"><code><a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a> *manager</code></em>);</pre>
1039
<div class="warning"><p><code class="literal">clutter_layout_manager_get_animation_progress</code> has been deprecated since version 1.12 and should not be used in newly-written code.</p></div>
1040
<p>Retrieves the progress of the animation, if one has been started by
1041
<a class="link" href="ClutterLayoutManager.html#clutter-layout-manager-begin-animation" title="clutter_layout_manager_begin_animation ()"><code class="function">clutter_layout_manager_begin_animation()</code></a></p>
1042
<p>The returned value has the same semantics of the <a class="link" href="ClutterAlpha.html#ClutterAlpha--alpha" title="The “alpha” property"><span class="type">“alpha”</span></a>
1044
<div class="refsect3">
1045
<a name="id-1.5.2.6.8.16.8"></a><h4>Parameters</h4>
1046
<div class="informaltable"><table width="100%" border="0">
1048
<col width="150px" class="parameters_name">
1049
<col class="parameters_description">
1050
<col width="200px" class="parameters_annotations">
1053
<td class="parameter_name"><p>manager</p></td>
1054
<td class="parameter_description"><p>a <a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a></p></td>
1055
<td class="parameter_annotations"> </td>
1059
<div class="refsect3">
1060
<a name="id-1.5.2.6.8.16.9"></a><h4>Returns</h4>
1061
<p> the progress of the animation</p>
1064
<p class="since">Since 1.2</p>
1067
<div class="refsect1">
1068
<a name="ClutterLayoutManager.other_details"></a><h2>Types and Values</h2>
538
1069
<div class="refsect2">
539
1070
<a name="ClutterLayoutManager-struct"></a><h3>ClutterLayoutManager</h3>
540
1071
<pre class="programlisting">typedef struct _ClutterLayoutManager ClutterLayoutManager;</pre>
542
The <a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a> structure contains only private data
543
and should be accessed using the provided API
1072
<p>The <a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a> structure contains only private data
1073
and should be accessed using the provided API</p>
545
1074
<p class="since">Since 1.2</p>
583
1112
void (* layout_changed) (ClutterLayoutManager *manager);
587
The <a class="link" href="ClutterLayoutManager.html#ClutterLayoutManagerClass" title="struct ClutterLayoutManagerClass"><span class="type">ClutterLayoutManagerClass</span></a> structure contains only private
588
data and should be accessed using the provided API
590
<div class="variablelist"><table border="0" class="variablelist">
1115
<p>The <a class="link" href="ClutterLayoutManager.html#ClutterLayoutManagerClass" title="struct ClutterLayoutManagerClass"><span class="type">ClutterLayoutManagerClass</span></a> structure contains only private
1116
data and should be accessed using the provided API</p>
1117
<div class="refsect3">
1118
<a name="id-1.5.2.6.9.3.5"></a><h4>Members</h4>
1119
<div class="informaltable"><table width="100%" border="0">
592
<col align="left" valign="top">
1121
<col width="300px" class="struct_members_name">
1122
<col class="struct_members_description">
1123
<col width="200px" class="struct_members_annotations">
597
<td><p><span class="term"><em class="structfield"><code><a name="ClutterLayoutManagerClass.get-preferred-width"></a>get_preferred_width</code></em> ()</span></p></td>
598
<td>virtual function; override to provide a preferred
1127
<td class="struct_member_name"><p><em class="structfield"><code><a name="ClutterLayoutManagerClass.get-preferred-width"></a>get_preferred_width</code></em> ()</p></td>
1128
<td class="struct_member_description"><p>virtual function; override to provide a preferred
599
1129
width for the layout manager. See also the <code class="function">get_preferred_width()</code>
600
virtual function in <a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a>
1130
virtual function in <a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a></p></td>
1131
<td class="struct_member_annotations"> </td>
604
<td><p><span class="term"><em class="structfield"><code><a name="ClutterLayoutManagerClass.get-preferred-height"></a>get_preferred_height</code></em> ()</span></p></td>
605
<td>virtual function; override to provide a preferred
1134
<td class="struct_member_name"><p><em class="structfield"><code><a name="ClutterLayoutManagerClass.get-preferred-height"></a>get_preferred_height</code></em> ()</p></td>
1135
<td class="struct_member_description"><p>virtual function; override to provide a preferred
606
1136
height for the layout manager. See also the <code class="function">get_preferred_height()</code>
607
virtual function in <a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a>
1137
virtual function in <a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a></p></td>
1138
<td class="struct_member_annotations"> </td>
611
<td><p><span class="term"><em class="structfield"><code><a name="ClutterLayoutManagerClass.allocate"></a>allocate</code></em> ()</span></p></td>
612
<td>virtual function; override to allocate the children of the
1141
<td class="struct_member_name"><p><em class="structfield"><code><a name="ClutterLayoutManagerClass.allocate"></a>allocate</code></em> ()</p></td>
1142
<td class="struct_member_description"><p>virtual function; override to allocate the children of the
613
1143
layout manager. See also the <code class="function">allocate()</code> virtual function in
614
<a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a>
1144
<a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a></p></td>
1145
<td class="struct_member_annotations"> </td>
618
<td><p><span class="term"><em class="structfield"><code><a name="ClutterLayoutManagerClass.set-container"></a>set_container</code></em> ()</span></p></td>
619
<td>virtual function; override to set a back pointer
1148
<td class="struct_member_name"><p><em class="structfield"><code><a name="ClutterLayoutManagerClass.set-container"></a>set_container</code></em> ()</p></td>
1149
<td class="struct_member_description"><p>virtual function; override to set a back pointer
620
1150
on the <a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a> using the layout manager. The implementation
621
1151
should not take a reference on the container, but just take a weak
622
reference, to avoid potential leaks due to reference cycles</td>
625
<td><p><span class="term"><em class="structfield"><code><a name="ClutterLayoutManagerClass.get-child-meta-type"></a>get_child_meta_type</code></em> ()</span></p></td>
626
<td>virtual function; override to return the <span class="type">GType</span>
627
of the <a class="link" href="ClutterLayoutMeta.html" title="ClutterLayoutMeta"><span class="type">ClutterLayoutMeta</span></a> sub-class used by the <a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a>
631
<td><p><span class="term"><em class="structfield"><code><a name="ClutterLayoutManagerClass.create-child-meta"></a>create_child_meta</code></em> ()</span></p></td>
632
<td>virtual function; override to create a
1152
reference, to avoid potential leaks due to reference cycles</p></td>
1153
<td class="struct_member_annotations"> </td>
1156
<td class="struct_member_name"><p><em class="structfield"><code><a name="ClutterLayoutManagerClass.get-child-meta-type"></a>get_child_meta_type</code></em> ()</p></td>
1157
<td class="struct_member_description"><p>virtual function; override to return the <span class="type">GType</span>
1158
of the <a class="link" href="ClutterLayoutMeta.html" title="ClutterLayoutMeta"><span class="type">ClutterLayoutMeta</span></a> sub-class used by the <a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a></p></td>
1159
<td class="struct_member_annotations"> </td>
1162
<td class="struct_member_name"><p><em class="structfield"><code><a name="ClutterLayoutManagerClass.create-child-meta"></a>create_child_meta</code></em> ()</p></td>
1163
<td class="struct_member_description"><p>virtual function; override to create a
633
1164
<a class="link" href="ClutterLayoutMeta.html" title="ClutterLayoutMeta"><span class="type">ClutterLayoutMeta</span></a> instance associated to a <a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a> and a
634
child <a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a>, used to maintain layout manager specific properties</td>
1165
child <a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a>, used to maintain layout manager specific properties</p></td>
1166
<td class="struct_member_annotations"> </td>
637
<td><p><span class="term"><em class="structfield"><code><a name="ClutterLayoutManagerClass.begin-animation"></a>begin_animation</code></em> ()</span></p></td>
638
<td>virtual function; override to control the animation
1169
<td class="struct_member_name"><p><em class="structfield"><code><a name="ClutterLayoutManagerClass.begin-animation"></a>begin_animation</code></em> ()</p></td>
1170
<td class="struct_member_description"><p>virtual function; override to control the animation
639
1171
of a <a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a> with the given duration and easing mode.
640
1172
This virtual function is deprecated, and it should not be overridden
641
in newly written code.</td>
1173
in newly written code.</p></td>
1174
<td class="struct_member_annotations"> </td>
644
<td><p><span class="term"><em class="structfield"><code><a name="ClutterLayoutManagerClass.get-animation-progress"></a>get_animation_progress</code></em> ()</span></p></td>
645
<td>virtual function; override to control the
1177
<td class="struct_member_name"><p><em class="structfield"><code><a name="ClutterLayoutManagerClass.get-animation-progress"></a>get_animation_progress</code></em> ()</p></td>
1178
<td class="struct_member_description"><p>virtual function; override to control the
646
1179
progress of the animation of a <a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a>. This virtual
647
1180
function is deprecated, and it should not be overridden in newly written
651
<td><p><span class="term"><em class="structfield"><code><a name="ClutterLayoutManagerClass.end-animation"></a>end_animation</code></em> ()</span></p></td>
652
<td>virtual function; override to end an animation started
653
by <a class="link" href="ClutterLayoutManager.html#clutter-layout-manager-begin-animation" title="clutter_layout_manager_begin_animation ()"><code class="function">clutter_layout_manager_begin_animation()</code></a>. This virtual function is
654
deprecated, and it should not be overriden in newly written code.</td>
657
<td><p><span class="term"><em class="structfield"><code><a name="ClutterLayoutManagerClass.layout-changed"></a>layout_changed</code></em> ()</span></p></td>
658
<td>class handler for the <a class="link" href="ClutterLayoutManager.html#ClutterLayoutManager-layout-changed" title='The "layout-changed" signal'><span class="type">"layout-changed"</span></a>
663
<p class="since">Since 1.2</p>
666
<div class="refsect2">
667
<a name="clutter-layout-manager-get-preferred-width"></a><h3>clutter_layout_manager_get_preferred_width ()</h3>
668
<pre class="programlisting"><span class="returnvalue">void</span> clutter_layout_manager_get_preferred_width
669
(<em class="parameter"><code><a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a> *manager</code></em>,
670
<em class="parameter"><code><a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a> *container</code></em>,
671
<em class="parameter"><code><span class="type">gfloat</span> for_height</code></em>,
672
<em class="parameter"><code><span class="type">gfloat</span> *min_width_p</code></em>,
673
<em class="parameter"><code><span class="type">gfloat</span> *nat_width_p</code></em>);</pre>
675
Computes the minimum and natural widths of the <em class="parameter"><code>container</code></em> according
676
to <em class="parameter"><code>manager</code></em>.
679
See also <a class="link" href="ClutterActor.html#clutter-actor-get-preferred-width" title="clutter_actor_get_preferred_width ()"><code class="function">clutter_actor_get_preferred_width()</code></a>
681
<div class="variablelist"><table border="0" class="variablelist">
683
<col align="left" valign="top">
688
<td><p><span class="term"><em class="parameter"><code>manager</code></em> :</span></p></td>
689
<td>a <a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a>
693
<td><p><span class="term"><em class="parameter"><code>container</code></em> :</span></p></td>
694
<td>the <a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a> using <em class="parameter"><code>manager</code></em>
698
<td><p><span class="term"><em class="parameter"><code>for_height</code></em> :</span></p></td>
699
<td>the height for which the width should be computed, or -1</td>
702
<td><p><span class="term"><em class="parameter"><code>min_width_p</code></em> :</span></p></td>
703
<td>return location for the minimum width
704
of the layout, or <code class="literal">NULL</code>. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
708
<td><p><span class="term"><em class="parameter"><code>nat_width_p</code></em> :</span></p></td>
709
<td>return location for the natural width
710
of the layout, or <code class="literal">NULL</code>. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
715
<p class="since">Since 1.2</p>
718
<div class="refsect2">
719
<a name="clutter-layout-manager-get-preferred-height"></a><h3>clutter_layout_manager_get_preferred_height ()</h3>
720
<pre class="programlisting"><span class="returnvalue">void</span> clutter_layout_manager_get_preferred_height
721
(<em class="parameter"><code><a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a> *manager</code></em>,
722
<em class="parameter"><code><a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a> *container</code></em>,
723
<em class="parameter"><code><span class="type">gfloat</span> for_width</code></em>,
724
<em class="parameter"><code><span class="type">gfloat</span> *min_height_p</code></em>,
725
<em class="parameter"><code><span class="type">gfloat</span> *nat_height_p</code></em>);</pre>
727
Computes the minimum and natural heights of the <em class="parameter"><code>container</code></em> according
728
to <em class="parameter"><code>manager</code></em>.
731
See also <a class="link" href="ClutterActor.html#clutter-actor-get-preferred-height" title="clutter_actor_get_preferred_height ()"><code class="function">clutter_actor_get_preferred_height()</code></a>
733
<div class="variablelist"><table border="0" class="variablelist">
735
<col align="left" valign="top">
740
<td><p><span class="term"><em class="parameter"><code>manager</code></em> :</span></p></td>
741
<td>a <a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a>
745
<td><p><span class="term"><em class="parameter"><code>container</code></em> :</span></p></td>
746
<td>the <a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a> using <em class="parameter"><code>manager</code></em>
750
<td><p><span class="term"><em class="parameter"><code>for_width</code></em> :</span></p></td>
751
<td>the width for which the height should be computed, or -1</td>
754
<td><p><span class="term"><em class="parameter"><code>min_height_p</code></em> :</span></p></td>
755
<td>return location for the minimum height
756
of the layout, or <code class="literal">NULL</code>. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
760
<td><p><span class="term"><em class="parameter"><code>nat_height_p</code></em> :</span></p></td>
761
<td>return location for the natural height
762
of the layout, or <code class="literal">NULL</code>. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
767
<p class="since">Since 1.2</p>
770
<div class="refsect2">
771
<a name="clutter-layout-manager-allocate"></a><h3>clutter_layout_manager_allocate ()</h3>
772
<pre class="programlisting"><span class="returnvalue">void</span> clutter_layout_manager_allocate (<em class="parameter"><code><a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a> *manager</code></em>,
773
<em class="parameter"><code><a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a> *container</code></em>,
774
<em class="parameter"><code>const <a class="link" href="clutter-Base-geometric-types.html#ClutterActorBox" title="struct ClutterActorBox"><span class="type">ClutterActorBox</span></a> *allocation</code></em>,
775
<em class="parameter"><code><a class="link" href="ClutterActor.html#ClutterAllocationFlags" title="enum ClutterAllocationFlags"><span class="type">ClutterAllocationFlags</span></a> flags</code></em>);</pre>
777
Allocates the children of <em class="parameter"><code>container</code></em> given an area
780
See also <a class="link" href="ClutterActor.html#clutter-actor-allocate" title="clutter_actor_allocate ()"><code class="function">clutter_actor_allocate()</code></a>
782
<div class="variablelist"><table border="0" class="variablelist">
784
<col align="left" valign="top">
789
<td><p><span class="term"><em class="parameter"><code>manager</code></em> :</span></p></td>
790
<td>a <a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a>
794
<td><p><span class="term"><em class="parameter"><code>container</code></em> :</span></p></td>
795
<td>the <a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a> using <em class="parameter"><code>manager</code></em>
799
<td><p><span class="term"><em class="parameter"><code>allocation</code></em> :</span></p></td>
800
<td>the <a class="link" href="clutter-Base-geometric-types.html#ClutterActorBox" title="struct ClutterActorBox"><span class="type">ClutterActorBox</span></a> containing the allocated area
801
of <em class="parameter"><code>container</code></em>
805
<td><p><span class="term"><em class="parameter"><code>flags</code></em> :</span></p></td>
806
<td>the allocation flags</td>
810
<p class="since">Since 1.2</p>
813
<div class="refsect2">
814
<a name="clutter-layout-manager-layout-changed"></a><h3>clutter_layout_manager_layout_changed ()</h3>
815
<pre class="programlisting"><span class="returnvalue">void</span> clutter_layout_manager_layout_changed
816
(<em class="parameter"><code><a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a> *manager</code></em>);</pre>
818
Emits the <a class="link" href="ClutterLayoutManager.html#ClutterLayoutManager-layout-changed" title='The "layout-changed" signal'><span class="type">"layout-changed"</span></a> signal on <em class="parameter"><code>manager</code></em>
821
This function should only be called by implementations of the
822
<a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a> class
824
<div class="variablelist"><table border="0" class="variablelist">
826
<col align="left" valign="top">
830
<td><p><span class="term"><em class="parameter"><code>manager</code></em> :</span></p></td>
831
<td>a <a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a>
835
<p class="since">Since 1.2</p>
838
<div class="refsect2">
839
<a name="clutter-layout-manager-set-container"></a><h3>clutter_layout_manager_set_container ()</h3>
840
<pre class="programlisting"><span class="returnvalue">void</span> clutter_layout_manager_set_container
841
(<em class="parameter"><code><a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a> *manager</code></em>,
842
<em class="parameter"><code><a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a> *container</code></em>);</pre>
844
If the <a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a> sub-class allows it, allow
845
adding a weak reference of the <em class="parameter"><code>container</code></em> using <em class="parameter"><code>manager</code></em>
846
from within the layout manager
849
The layout manager should not increase the reference
850
count of the <em class="parameter"><code>container</code></em>
852
<div class="variablelist"><table border="0" class="variablelist">
854
<col align="left" valign="top">
859
<td><p><span class="term"><em class="parameter"><code>manager</code></em> :</span></p></td>
860
<td>a <a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a>
864
<td><p><span class="term"><em class="parameter"><code>container</code></em> :</span></p></td>
865
<td>a <a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a> using <em class="parameter"><code>manager</code></em>. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
870
<p class="since">Since 1.2</p>
873
<div class="refsect2">
874
<a name="clutter-layout-manager-get-child-meta"></a><h3>clutter_layout_manager_get_child_meta ()</h3>
875
<pre class="programlisting"><a class="link" href="ClutterLayoutMeta.html" title="ClutterLayoutMeta"><span class="returnvalue">ClutterLayoutMeta</span></a> * clutter_layout_manager_get_child_meta
876
(<em class="parameter"><code><a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a> *manager</code></em>,
877
<em class="parameter"><code><a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a> *container</code></em>,
878
<em class="parameter"><code><a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a> *actor</code></em>);</pre>
880
Retrieves the <a class="link" href="ClutterLayoutMeta.html" title="ClutterLayoutMeta"><span class="type">ClutterLayoutMeta</span></a> that the layout <em class="parameter"><code>manager</code></em> associated
881
to the <em class="parameter"><code>actor</code></em> child of <em class="parameter"><code>container</code></em>, eventually by creating one if the
882
<a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a> supports layout properties
884
<div class="variablelist"><table border="0" class="variablelist">
886
<col align="left" valign="top">
891
<td><p><span class="term"><em class="parameter"><code>manager</code></em> :</span></p></td>
892
<td>a <a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a>
896
<td><p><span class="term"><em class="parameter"><code>container</code></em> :</span></p></td>
897
<td>a <a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a> using <em class="parameter"><code>manager</code></em>
901
<td><p><span class="term"><em class="parameter"><code>actor</code></em> :</span></p></td>
902
<td>a <a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a> child of <em class="parameter"><code>container</code></em>
906
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
907
<td>a <a class="link" href="ClutterLayoutMeta.html" title="ClutterLayoutMeta"><span class="type">ClutterLayoutMeta</span></a>, or <code class="literal">NULL</code> if the
908
<a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a> does not have layout properties. The returned
909
layout meta instance is owned by the <a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a> and it
910
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>
915
<p class="since">Since 1.0</p>
918
<div class="refsect2">
919
<a name="clutter-layout-manager-child-set"></a><h3>clutter_layout_manager_child_set ()</h3>
920
<pre class="programlisting"><span class="returnvalue">void</span> clutter_layout_manager_child_set (<em class="parameter"><code><a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a> *manager</code></em>,
921
<em class="parameter"><code><a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a> *container</code></em>,
922
<em class="parameter"><code><a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a> *actor</code></em>,
923
<em class="parameter"><code>const <span class="type">gchar</span> *first_property</code></em>,
924
<em class="parameter"><code>...</code></em>);</pre>
926
Sets a list of properties and their values on the <a class="link" href="ClutterLayoutMeta.html" title="ClutterLayoutMeta"><span class="type">ClutterLayoutMeta</span></a>
927
associated by <em class="parameter"><code>manager</code></em> to a child of <em class="parameter"><code>container</code></em>
930
Languages bindings should use <a class="link" href="ClutterLayoutManager.html#clutter-layout-manager-child-set-property" title="clutter_layout_manager_child_set_property ()"><code class="function">clutter_layout_manager_child_set_property()</code></a>
933
<div class="variablelist"><table border="0" class="variablelist">
935
<col align="left" valign="top">
940
<td><p><span class="term"><em class="parameter"><code>manager</code></em> :</span></p></td>
941
<td>a <a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a>
945
<td><p><span class="term"><em class="parameter"><code>container</code></em> :</span></p></td>
946
<td>a <a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a> using <em class="parameter"><code>manager</code></em>
950
<td><p><span class="term"><em class="parameter"><code>actor</code></em> :</span></p></td>
951
<td>a <a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a> child of <em class="parameter"><code>container</code></em>
955
<td><p><span class="term"><em class="parameter"><code>first_property</code></em> :</span></p></td>
956
<td>the first property name</td>
959
<td><p><span class="term"><em class="parameter"><code>...</code></em> :</span></p></td>
960
<td>a list of property name and value pairs</td>
964
<p class="since">Since 1.2</p>
967
<div class="refsect2">
968
<a name="clutter-layout-manager-child-set-property"></a><h3>clutter_layout_manager_child_set_property ()</h3>
969
<pre class="programlisting"><span class="returnvalue">void</span> clutter_layout_manager_child_set_property
970
(<em class="parameter"><code><a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a> *manager</code></em>,
971
<em class="parameter"><code><a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a> *container</code></em>,
972
<em class="parameter"><code><a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a> *actor</code></em>,
973
<em class="parameter"><code>const <span class="type">gchar</span> *property_name</code></em>,
974
<em class="parameter"><code>const <span class="type">GValue</span> *value</code></em>);</pre>
976
Sets a property on the <a class="link" href="ClutterLayoutMeta.html" title="ClutterLayoutMeta"><span class="type">ClutterLayoutMeta</span></a> created by <em class="parameter"><code>manager</code></em> and
977
attached to a child of <em class="parameter"><code>container</code></em>
979
<div class="variablelist"><table border="0" class="variablelist">
981
<col align="left" valign="top">
986
<td><p><span class="term"><em class="parameter"><code>manager</code></em> :</span></p></td>
987
<td>a <a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a>
991
<td><p><span class="term"><em class="parameter"><code>container</code></em> :</span></p></td>
992
<td>a <a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a> using <em class="parameter"><code>manager</code></em>
996
<td><p><span class="term"><em class="parameter"><code>actor</code></em> :</span></p></td>
997
<td>a <a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a> child of <em class="parameter"><code>container</code></em>
1001
<td><p><span class="term"><em class="parameter"><code>property_name</code></em> :</span></p></td>
1002
<td>the name of the property to set</td>
1005
<td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
1006
<td>a <span class="type">GValue</span> with the value of the property to set</td>
1010
<p class="since">Since 1.2</p>
1013
<div class="refsect2">
1014
<a name="clutter-layout-manager-child-get"></a><h3>clutter_layout_manager_child_get ()</h3>
1015
<pre class="programlisting"><span class="returnvalue">void</span> clutter_layout_manager_child_get (<em class="parameter"><code><a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a> *manager</code></em>,
1016
<em class="parameter"><code><a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a> *container</code></em>,
1017
<em class="parameter"><code><a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a> *actor</code></em>,
1018
<em class="parameter"><code>const <span class="type">gchar</span> *first_property</code></em>,
1019
<em class="parameter"><code>...</code></em>);</pre>
1021
Retrieves the values for a list of properties out of the
1022
<a class="link" href="ClutterLayoutMeta.html" title="ClutterLayoutMeta"><span class="type">ClutterLayoutMeta</span></a> created by <em class="parameter"><code>manager</code></em> and attached to the
1023
child of a <em class="parameter"><code>container</code></em>
1025
<div class="variablelist"><table border="0" class="variablelist">
1027
<col align="left" valign="top">
1032
<td><p><span class="term"><em class="parameter"><code>manager</code></em> :</span></p></td>
1033
<td>a <a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a>
1037
<td><p><span class="term"><em class="parameter"><code>container</code></em> :</span></p></td>
1038
<td>a <a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a> using <em class="parameter"><code>manager</code></em>
1042
<td><p><span class="term"><em class="parameter"><code>actor</code></em> :</span></p></td>
1043
<td>a <a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a> child of <em class="parameter"><code>container</code></em>
1047
<td><p><span class="term"><em class="parameter"><code>first_property</code></em> :</span></p></td>
1048
<td>the name of the first property</td>
1051
<td><p><span class="term"><em class="parameter"><code>...</code></em> :</span></p></td>
1052
<td>a list of property name and return location for the value pairs</td>
1056
<p class="since">Since 1.2</p>
1059
<div class="refsect2">
1060
<a name="clutter-layout-manager-child-get-property"></a><h3>clutter_layout_manager_child_get_property ()</h3>
1061
<pre class="programlisting"><span class="returnvalue">void</span> clutter_layout_manager_child_get_property
1062
(<em class="parameter"><code><a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a> *manager</code></em>,
1063
<em class="parameter"><code><a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a> *container</code></em>,
1064
<em class="parameter"><code><a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a> *actor</code></em>,
1065
<em class="parameter"><code>const <span class="type">gchar</span> *property_name</code></em>,
1066
<em class="parameter"><code><span class="type">GValue</span> *value</code></em>);</pre>
1068
Gets a property on the <a class="link" href="ClutterLayoutMeta.html" title="ClutterLayoutMeta"><span class="type">ClutterLayoutMeta</span></a> created by <em class="parameter"><code>manager</code></em> and
1069
attached to a child of <em class="parameter"><code>container</code></em>
1072
The <span class="type">GValue</span> must already be initialized to the type of the property
1073
and has to be unset with <code class="function">g_value_unset()</code> after extracting the real
1076
<div class="variablelist"><table border="0" class="variablelist">
1078
<col align="left" valign="top">
1083
<td><p><span class="term"><em class="parameter"><code>manager</code></em> :</span></p></td>
1084
<td>a <a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a>
1088
<td><p><span class="term"><em class="parameter"><code>container</code></em> :</span></p></td>
1089
<td>a <a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a> using <em class="parameter"><code>manager</code></em>
1093
<td><p><span class="term"><em class="parameter"><code>actor</code></em> :</span></p></td>
1094
<td>a <a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a> child of <em class="parameter"><code>container</code></em>
1098
<td><p><span class="term"><em class="parameter"><code>property_name</code></em> :</span></p></td>
1099
<td>the name of the property to get</td>
1102
<td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
1103
<td>a <span class="type">GValue</span> with the value of the property to get</td>
1107
<p class="since">Since 1.2</p>
1110
<div class="refsect2">
1111
<a name="clutter-layout-manager-find-child-property"></a><h3>clutter_layout_manager_find_child_property ()</h3>
1112
<pre class="programlisting"><span class="returnvalue">GParamSpec</span> * clutter_layout_manager_find_child_property
1113
(<em class="parameter"><code><a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a> *manager</code></em>,
1114
<em class="parameter"><code>const <span class="type">gchar</span> *name</code></em>);</pre>
1116
Retrieves the <span class="type">GParamSpec</span> for the layout property <em class="parameter"><code>name</code></em> inside
1117
the <a class="link" href="ClutterLayoutMeta.html" title="ClutterLayoutMeta"><span class="type">ClutterLayoutMeta</span></a> sub-class used by <em class="parameter"><code>manager</code></em>
1119
<div class="variablelist"><table border="0" class="variablelist">
1121
<col align="left" valign="top">
1126
<td><p><span class="term"><em class="parameter"><code>manager</code></em> :</span></p></td>
1127
<td>a <a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a>
1131
<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
1132
<td>the name of the property</td>
1135
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1136
<td>a <span class="type">GParamSpec</span> describing the property,
1137
or <code class="literal">NULL</code> if no property with that name exists. The returned
1138
<span class="type">GParamSpec</span> is owned by the layout manager and should not be
1139
modified or freed. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
1144
<p class="since">Since 1.2</p>
1147
<div class="refsect2">
1148
<a name="clutter-layout-manager-list-child-properties"></a><h3>clutter_layout_manager_list_child_properties ()</h3>
1149
<pre class="programlisting"><span class="returnvalue">GParamSpec</span> ** clutter_layout_manager_list_child_properties
1150
(<em class="parameter"><code><a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a> *manager</code></em>,
1151
<em class="parameter"><code><span class="type">guint</span> *n_pspecs</code></em>);</pre>
1153
Retrieves all the <span class="type">GParamSpec</span>s for the layout properties
1154
stored inside the <a class="link" href="ClutterLayoutMeta.html" title="ClutterLayoutMeta"><span class="type">ClutterLayoutMeta</span></a> sub-class used by <em class="parameter"><code>manager</code></em>
1156
<div class="variablelist"><table border="0" class="variablelist">
1158
<col align="left" valign="top">
1163
<td><p><span class="term"><em class="parameter"><code>manager</code></em> :</span></p></td>
1164
<td>a <a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a>
1168
<td><p><span class="term"><em class="parameter"><code>n_pspecs</code></em> :</span></p></td>
1169
<td>return location for the number of returned
1170
<span class="type">GParamSpec</span>s. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span>
1174
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1175
<td>the newly-allocated,
1176
<code class="literal">NULL</code>-terminated array of <span class="type">GParamSpec</span>s. Use <code class="function">g_free()</code> to free the
1177
resources allocated for the array. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=n_pspecs]</span>
1182
<p class="since">Since 1.2</p>
1185
<div class="refsect2">
1186
<a name="clutter-layout-manager-begin-animation"></a><h3>clutter_layout_manager_begin_animation ()</h3>
1187
<pre class="programlisting"><a class="link" href="ClutterAlpha.html" title="ClutterAlpha"><span class="returnvalue">ClutterAlpha</span></a> * clutter_layout_manager_begin_animation
1188
(<em class="parameter"><code><a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a> *manager</code></em>,
1189
<em class="parameter"><code><span class="type">guint</span> duration</code></em>,
1190
<em class="parameter"><code><span class="type">gulong</span> mode</code></em>);</pre>
1191
<div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
1192
<h3 class="title">Warning</h3>
1193
<p><code class="literal">clutter_layout_manager_begin_animation</code> is deprecated and should not be used in newly-written code. 1.12</p>
1196
Begins an animation of <em class="parameter"><code>duration</code></em> milliseconds, using the provided
1197
easing <em class="parameter"><code>mode</code></em>
1200
The easing mode can be specified either as a <a class="link" href="ClutterTimeline.html#ClutterAnimationMode" title="enum ClutterAnimationMode"><span class="type">ClutterAnimationMode</span></a>
1201
or as a logical id returned by <a class="link" href="ClutterAlpha.html#clutter-alpha-register-func" title="clutter_alpha_register_func ()"><code class="function">clutter_alpha_register_func()</code></a>
1204
The result of this function depends on the <em class="parameter"><code>manager</code></em> implementation
1206
<div class="variablelist"><table border="0" class="variablelist">
1208
<col align="left" valign="top">
1213
<td><p><span class="term"><em class="parameter"><code>manager</code></em> :</span></p></td>
1214
<td>a <a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a>
1218
<td><p><span class="term"><em class="parameter"><code>duration</code></em> :</span></p></td>
1219
<td>the duration of the animation, in milliseconds</td>
1222
<td><p><span class="term"><em class="parameter"><code>mode</code></em> :</span></p></td>
1223
<td>the easing mode of the animation</td>
1226
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1227
<td>The <a class="link" href="ClutterAlpha.html" title="ClutterAlpha"><span class="type">ClutterAlpha</span></a> created by the
1228
layout manager; the returned instance is owned by the layout
1229
manager and 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>
1234
<p class="since">Since 1.2</p>
1237
<div class="refsect2">
1238
<a name="clutter-layout-manager-end-animation"></a><h3>clutter_layout_manager_end_animation ()</h3>
1239
<pre class="programlisting"><span class="returnvalue">void</span> clutter_layout_manager_end_animation
1240
(<em class="parameter"><code><a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a> *manager</code></em>);</pre>
1241
<div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
1242
<h3 class="title">Warning</h3>
1243
<p><code class="literal">clutter_layout_manager_end_animation</code> is deprecated and should not be used in newly-written code. 1.12</p>
1246
Ends an animation started by <a class="link" href="ClutterLayoutManager.html#clutter-layout-manager-begin-animation" title="clutter_layout_manager_begin_animation ()"><code class="function">clutter_layout_manager_begin_animation()</code></a>
1249
The result of this call depends on the <em class="parameter"><code>manager</code></em> implementation
1251
<div class="variablelist"><table border="0" class="variablelist">
1253
<col align="left" valign="top">
1257
<td><p><span class="term"><em class="parameter"><code>manager</code></em> :</span></p></td>
1258
<td>a <a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a>
1262
<p class="since">Since 1.2</p>
1265
<div class="refsect2">
1266
<a name="clutter-layout-manager-get-animation-progress"></a><h3>clutter_layout_manager_get_animation_progress ()</h3>
1267
<pre class="programlisting"><span class="returnvalue">gdouble</span> clutter_layout_manager_get_animation_progress
1268
(<em class="parameter"><code><a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a> *manager</code></em>);</pre>
1269
<div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
1270
<h3 class="title">Warning</h3>
1271
<p><code class="literal">clutter_layout_manager_get_animation_progress</code> is deprecated and should not be used in newly-written code. 1.12</p>
1274
Retrieves the progress of the animation, if one has been started by
1275
<a class="link" href="ClutterLayoutManager.html#clutter-layout-manager-begin-animation" title="clutter_layout_manager_begin_animation ()"><code class="function">clutter_layout_manager_begin_animation()</code></a>
1278
The returned value has the same semantics of the <a class="link" href="ClutterAlpha.html#ClutterAlpha--alpha" title='The "alpha" property'><span class="type">"alpha"</span></a>
1281
<div class="variablelist"><table border="0" class="variablelist">
1283
<col align="left" valign="top">
1288
<td><p><span class="term"><em class="parameter"><code>manager</code></em> :</span></p></td>
1289
<td>a <a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a>
1293
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1294
<td>the progress of the animation</td>
1182
<td class="struct_member_annotations"> </td>
1185
<td class="struct_member_name"><p><em class="structfield"><code><a name="ClutterLayoutManagerClass.end-animation"></a>end_animation</code></em> ()</p></td>
1186
<td class="struct_member_description"><p>virtual function; override to end an animation started
1187
by <a class="link" href="ClutterLayoutManager.html#clutter-layout-manager-begin-animation" title="clutter_layout_manager_begin_animation ()"><code class="function">clutter_layout_manager_begin_animation()</code></a>. This virtual function is
1188
deprecated, and it should not be overriden in newly written code.</p></td>
1189
<td class="struct_member_annotations"> </td>
1192
<td class="struct_member_name"><p><em class="structfield"><code><a name="ClutterLayoutManagerClass.layout-changed"></a>layout_changed</code></em> ()</p></td>
1193
<td class="struct_member_description"><p>class handler for the <a class="link" href="ClutterLayoutManager.html#ClutterLayoutManager-layout-changed" title="The “layout-changed” signal"><span class="type">“layout-changed”</span></a>
1195
<td class="struct_member_annotations"> </td>
1298
1200
<p class="since">Since 1.2</p>
1301
1203
<div class="refsect1">
1302
1204
<a name="ClutterLayoutManager.signal-details"></a><h2>Signal Details</h2>
1303
1205
<div class="refsect2">
1304
<a name="ClutterLayoutManager-layout-changed"></a><h3>The <code class="literal">"layout-changed"</code> signal</h3>
1305
<pre class="programlisting"><span class="returnvalue">void</span> user_function (<a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a> *manager,
1306
<span class="type">gpointer</span> user_data) : <code class="literal">Run Last</code></pre>
1308
The ::layout-changed signal is emitted each time a layout manager
1309
has been changed. Every <a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a> using the <em class="parameter"><code>manager</code></em> instance
1206
<a name="ClutterLayoutManager-layout-changed"></a><h3>The <code class="literal">“layout-changed”</code> signal</h3>
1207
<pre class="programlisting"><span class="returnvalue">void</span>
1208
user_function (<a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a> *manager,
1209
<span class="type">gpointer</span> user_data)</pre>
1210
<p>The ::layout-changed signal is emitted each time a layout manager
1211
has been changed. Every <a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a> using the <em class="parameter"><code>manager</code></em>
1310
1213
as a layout manager should connect a handler to the ::layout-changed
1311
signal and queue a relayout on themselves:
1214
signal and queue a relayout on themselves:</p>
1315
1215
<div class="informalexample">
1316
1216
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">