017c12b900300822c09fe315858c8c021f7a218f
[profile/ivi/clutter.git] / doc / reference / clutter / html / clutter-Unit-conversion.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 <html>
3 <head>
4 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5 <title>Unit conversion</title>
6 <meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
7 <link rel="home" href="index.html" title="Clutter Reference Manual">
8 <link rel="up" href="ch11.html" title="General purpose API">
9 <link rel="prev" href="ClutterTextBuffer.html" title="ClutterTextBuffer">
10 <link rel="next" href="clutter-Utilities.html" title="Utilities">
11 <meta name="generator" content="GTK-Doc V1.18.1 (XML mode)">
12 <link rel="stylesheet" href="style.css" type="text/css">
13 </head>
14 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
15 <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
16 <tr valign="middle">
17 <td><a accesskey="p" href="ClutterTextBuffer.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
18 <td><a accesskey="u" href="ch11.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
19 <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
20 <th width="100%" align="center">Clutter Reference Manual</th>
21 <td><a accesskey="n" href="clutter-Utilities.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
22 </tr>
23 <tr><td colspan="5" class="shortcuts">
24 <a href="#clutter-Unit-conversion.synopsis" class="shortcut">Top</a>
25                    | 
26                   <a href="#clutter-Unit-conversion.description" class="shortcut">Description</a>
27 </td></tr>
28 </table>
29 <div class="refentry">
30 <a name="clutter-Unit-conversion"></a><div class="titlepage"></div>
31 <div class="refnamediv"><table width="100%"><tr>
32 <td valign="top">
33 <h2><span class="refentrytitle"><a name="clutter-Unit-conversion.top_of_page"></a>Unit conversion</span></h2>
34 <p>Unit conversion — A logical distance unit</p>
35 </td>
36 <td valign="top" align="right"></td>
37 </tr></table></div>
38 <div class="refsynopsisdiv">
39 <a name="clutter-Unit-conversion.synopsis"></a><h2>Synopsis</h2>
40 <pre class="synopsis">enum                <a class="link" href="clutter-Unit-conversion.html#ClutterUnitType" title="enum ClutterUnitType">ClutterUnitType</a>;
41 struct              <a class="link" href="clutter-Unit-conversion.html#ClutterUnits" title="struct ClutterUnits">ClutterUnits</a>;
42 <span class="returnvalue">void</span>                <a class="link" href="clutter-Unit-conversion.html#clutter-units-from-cm" title="clutter_units_from_cm ()">clutter_units_from_cm</a>               (<em class="parameter"><code><a class="link" href="clutter-Unit-conversion.html#ClutterUnits" title="struct ClutterUnits"><span class="type">ClutterUnits</span></a> *units</code></em>,
43                                                          <em class="parameter"><code><span class="type">gfloat</span> cm</code></em>);
44 <span class="returnvalue">void</span>                <a class="link" href="clutter-Unit-conversion.html#clutter-units-from-em" title="clutter_units_from_em ()">clutter_units_from_em</a>               (<em class="parameter"><code><a class="link" href="clutter-Unit-conversion.html#ClutterUnits" title="struct ClutterUnits"><span class="type">ClutterUnits</span></a> *units</code></em>,
45                                                          <em class="parameter"><code><span class="type">gfloat</span> em</code></em>);
46 <span class="returnvalue">void</span>                <a class="link" href="clutter-Unit-conversion.html#clutter-units-from-em-for-font" title="clutter_units_from_em_for_font ()">clutter_units_from_em_for_font</a>      (<em class="parameter"><code><a class="link" href="clutter-Unit-conversion.html#ClutterUnits" title="struct ClutterUnits"><span class="type">ClutterUnits</span></a> *units</code></em>,
47                                                          <em class="parameter"><code>const <span class="type">gchar</span> *font_name</code></em>,
48                                                          <em class="parameter"><code><span class="type">gfloat</span> em</code></em>);
49 <span class="returnvalue">void</span>                <a class="link" href="clutter-Unit-conversion.html#clutter-units-from-mm" title="clutter_units_from_mm ()">clutter_units_from_mm</a>               (<em class="parameter"><code><a class="link" href="clutter-Unit-conversion.html#ClutterUnits" title="struct ClutterUnits"><span class="type">ClutterUnits</span></a> *units</code></em>,
50                                                          <em class="parameter"><code><span class="type">gfloat</span> mm</code></em>);
51 <span class="returnvalue">void</span>                <a class="link" href="clutter-Unit-conversion.html#clutter-units-from-pixels" title="clutter_units_from_pixels ()">clutter_units_from_pixels</a>           (<em class="parameter"><code><a class="link" href="clutter-Unit-conversion.html#ClutterUnits" title="struct ClutterUnits"><span class="type">ClutterUnits</span></a> *units</code></em>,
52                                                          <em class="parameter"><code><span class="type">gint</span> px</code></em>);
53 <span class="returnvalue">void</span>                <a class="link" href="clutter-Unit-conversion.html#clutter-units-from-pt" title="clutter_units_from_pt ()">clutter_units_from_pt</a>               (<em class="parameter"><code><a class="link" href="clutter-Unit-conversion.html#ClutterUnits" title="struct ClutterUnits"><span class="type">ClutterUnits</span></a> *units</code></em>,
54                                                          <em class="parameter"><code><span class="type">gfloat</span> pt</code></em>);
55 <span class="returnvalue">gfloat</span>              <a class="link" href="clutter-Unit-conversion.html#clutter-units-to-pixels" title="clutter_units_to_pixels ()">clutter_units_to_pixels</a>             (<em class="parameter"><code><a class="link" href="clutter-Unit-conversion.html#ClutterUnits" title="struct ClutterUnits"><span class="type">ClutterUnits</span></a> *units</code></em>);
56 <a class="link" href="clutter-Unit-conversion.html#ClutterUnits" title="struct ClutterUnits"><span class="returnvalue">ClutterUnits</span></a> *      <a class="link" href="clutter-Unit-conversion.html#clutter-units-copy" title="clutter_units_copy ()">clutter_units_copy</a>                  (<em class="parameter"><code>const <a class="link" href="clutter-Unit-conversion.html#ClutterUnits" title="struct ClutterUnits"><span class="type">ClutterUnits</span></a> *units</code></em>);
57 <span class="returnvalue">void</span>                <a class="link" href="clutter-Unit-conversion.html#clutter-units-free" title="clutter_units_free ()">clutter_units_free</a>                  (<em class="parameter"><code><a class="link" href="clutter-Unit-conversion.html#ClutterUnits" title="struct ClutterUnits"><span class="type">ClutterUnits</span></a> *units</code></em>);
58 <a class="link" href="clutter-Unit-conversion.html#ClutterUnitType" title="enum ClutterUnitType"><span class="returnvalue">ClutterUnitType</span></a>     <a class="link" href="clutter-Unit-conversion.html#clutter-units-get-unit-type" title="clutter_units_get_unit_type ()">clutter_units_get_unit_type</a>         (<em class="parameter"><code>const <a class="link" href="clutter-Unit-conversion.html#ClutterUnits" title="struct ClutterUnits"><span class="type">ClutterUnits</span></a> *units</code></em>);
59 <span class="returnvalue">gfloat</span>              <a class="link" href="clutter-Unit-conversion.html#clutter-units-get-unit-value" title="clutter_units_get_unit_value ()">clutter_units_get_unit_value</a>        (<em class="parameter"><code>const <a class="link" href="clutter-Unit-conversion.html#ClutterUnits" title="struct ClutterUnits"><span class="type">ClutterUnits</span></a> *units</code></em>);
60 <span class="returnvalue">gboolean</span>            <a class="link" href="clutter-Unit-conversion.html#clutter-units-from-string" title="clutter_units_from_string ()">clutter_units_from_string</a>           (<em class="parameter"><code><a class="link" href="clutter-Unit-conversion.html#ClutterUnits" title="struct ClutterUnits"><span class="type">ClutterUnits</span></a> *units</code></em>,
61                                                          <em class="parameter"><code>const <span class="type">gchar</span> *str</code></em>);
62 <span class="returnvalue">gchar</span> *             <a class="link" href="clutter-Unit-conversion.html#clutter-units-to-string" title="clutter_units_to_string ()">clutter_units_to_string</a>             (<em class="parameter"><code>const <a class="link" href="clutter-Unit-conversion.html#ClutterUnits" title="struct ClutterUnits"><span class="type">ClutterUnits</span></a> *units</code></em>);
63
64 struct              <a class="link" href="clutter-Unit-conversion.html#ClutterParamSpecUnits" title="struct ClutterParamSpecUnits">ClutterParamSpecUnits</a>;
65 <span class="returnvalue">GParamSpec</span> *        <a class="link" href="clutter-Unit-conversion.html#clutter-param-spec-units" title="clutter_param_spec_units ()">clutter_param_spec_units</a>            (<em class="parameter"><code>const <span class="type">gchar</span> *name</code></em>,
66                                                          <em class="parameter"><code>const <span class="type">gchar</span> *nick</code></em>,
67                                                          <em class="parameter"><code>const <span class="type">gchar</span> *blurb</code></em>,
68                                                          <em class="parameter"><code><a class="link" href="clutter-Unit-conversion.html#ClutterUnitType" title="enum ClutterUnitType"><span class="type">ClutterUnitType</span></a> default_type</code></em>,
69                                                          <em class="parameter"><code><span class="type">gfloat</span> minimum</code></em>,
70                                                          <em class="parameter"><code><span class="type">gfloat</span> maximum</code></em>,
71                                                          <em class="parameter"><code><span class="type">gfloat</span> default_value</code></em>,
72                                                          <em class="parameter"><code><span class="type">GParamFlags</span> flags</code></em>);
73 #define             <a class="link" href="clutter-Unit-conversion.html#CLUTTER-VALUE-HOLDS-UNITS:CAPS" title="CLUTTER_VALUE_HOLDS_UNITS()">CLUTTER_VALUE_HOLDS_UNITS</a>           (x)
74 <span class="returnvalue">void</span>                <a class="link" href="clutter-Unit-conversion.html#clutter-value-set-units" title="clutter_value_set_units ()">clutter_value_set_units</a>             (<em class="parameter"><code><span class="type">GValue</span> *value</code></em>,
75                                                          <em class="parameter"><code>const <a class="link" href="clutter-Unit-conversion.html#ClutterUnits" title="struct ClutterUnits"><span class="type">ClutterUnits</span></a> *units</code></em>);
76 const <a class="link" href="clutter-Unit-conversion.html#ClutterUnits" title="struct ClutterUnits"><span class="returnvalue">ClutterUnits</span></a> * <a class="link" href="clutter-Unit-conversion.html#clutter-value-get-units" title="clutter_value_get_units ()">clutter_value_get_units</a>            (<em class="parameter"><code>const <span class="type">GValue</span> *value</code></em>);
77 </pre>
78 </div>
79 <div class="refsect1">
80 <a name="clutter-Unit-conversion.description"></a><h2>Description</h2>
81 <p>
82 <a class="link" href="clutter-Unit-conversion.html#ClutterUnits" title="struct ClutterUnits"><span class="type">ClutterUnits</span></a> is a structure holding a logical distance value along with
83 its type, expressed as a value of the <a class="link" href="clutter-Unit-conversion.html#ClutterUnitType" title="enum ClutterUnitType"><span class="type">ClutterUnitType</span></a> enumeration. It is
84 possible to use <a class="link" href="clutter-Unit-conversion.html#ClutterUnits" title="struct ClutterUnits"><span class="type">ClutterUnits</span></a> to store a position or a size in units
85 different than pixels, and convert them whenever needed (for instance
86 inside the <a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a>::<code class="function">allocate()</code> virtual function, or inside the
87 <a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a>::<code class="function">get_preferred_width()</code> and <a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a>::<code class="function">get_preferred_height()</code>
88 virtual functions.
89 </p>
90 <p>
91 In order to register a <a class="link" href="clutter-Unit-conversion.html#ClutterUnits" title="struct ClutterUnits"><span class="type">ClutterUnits</span></a> property, the <a class="link" href="clutter-Unit-conversion.html#ClutterParamSpecUnits" title="struct ClutterParamSpecUnits"><span class="type">ClutterParamSpecUnits</span></a>
92 <span class="type">GParamSpec</span> sub-class should be used:
93 </p>
94 <p>
95 </p>
96 <div class="informalexample">
97   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
98     <tbody>
99       <tr>
100         <td class="listing_lines" align="right"><pre>1
101 2
102 3
103 4
104 5
105 6
106 7
107 8
108 9
109 10</pre></td>
110         <td class="listing_code"><pre class="programlisting"><span class="usertype">GParamSpec</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">pspec</span><span class="symbol">;</span>
111
112 <span class="normal">pspec </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="clutter-Unit-conversion.html#clutter-param-spec-units">clutter_param_spec_units</a></span><span class="normal"> </span><span class="symbol">(</span><span class="string">"active-width"</span><span class="symbol">,</span>
113 <span class="normal">                                  </span><span class="string">"Width"</span><span class="symbol">,</span>
114 <span class="normal">                                  </span><span class="string">"Width of the active area, in millimeters"</span><span class="symbol">,</span>
115 <span class="normal">                                  <a href="clutter-Unit-conversion.html#CLUTTER-UNIT-MM:CAPS">CLUTTER_UNIT_MM</a></span><span class="symbol">,</span>
116 <span class="normal">                                  </span><span class="number">0.0</span><span class="symbol">,</span><span class="normal"> </span><span class="number">12.0</span><span class="symbol">,</span>
117 <span class="normal">                                  </span><span class="number">12.0</span><span class="symbol">,</span>
118 <span class="normal">                                  G_PARAM_READWRITE</span><span class="symbol">);</span>
119 <span class="function">g_object_class_install_property</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">gobject_class</span><span class="symbol">,</span><span class="normal"> PROP_WIDTH</span><span class="symbol">,</span><span class="normal"> pspec</span><span class="symbol">);</span></pre></td>
120       </tr>
121     </tbody>
122   </table>
123 </div>
124
125 <p>
126 </p>
127 <p>
128 A <span class="type">GValue</span> holding units can be manipulated using <a class="link" href="clutter-Unit-conversion.html#clutter-value-set-units" title="clutter_value_set_units ()"><code class="function">clutter_value_set_units()</code></a>
129 and <a class="link" href="clutter-Unit-conversion.html#clutter-value-get-units" title="clutter_value_get_units ()"><code class="function">clutter_value_get_units()</code></a>. <span class="type">GValue</span>s containing a <a class="link" href="clutter-Unit-conversion.html#ClutterUnits" title="struct ClutterUnits"><span class="type">ClutterUnits</span></a>
130 value can also be transformed to <span class="type">GValue</span>s initialized with
131 <code class="literal">G_TYPE_INT</code>, <code class="literal">G_TYPE_FLOAT</code> and <code class="literal">G_TYPE_STRING</code> through implicit conversion
132 and using <code class="function">g_value_transform()</code>.
133 </p>
134 <p>
135 <a class="link" href="clutter-Unit-conversion.html#ClutterUnits" title="struct ClutterUnits"><span class="type">ClutterUnits</span></a> is available since Clutter 1.0
136 </p>
137 </div>
138 <div class="refsect1">
139 <a name="clutter-Unit-conversion.details"></a><h2>Details</h2>
140 <div class="refsect2">
141 <a name="ClutterUnitType"></a><h3>enum ClutterUnitType</h3>
142 <pre class="programlisting">typedef enum {
143  /*&lt; prefix=CLUTTER_UNIT &gt;*/
144   CLUTTER_UNIT_PIXEL,
145   CLUTTER_UNIT_EM,
146   CLUTTER_UNIT_MM,
147   CLUTTER_UNIT_POINT,
148   CLUTTER_UNIT_CM
149 } ClutterUnitType;
150 </pre>
151 <p>
152 The type of unit in which a value is expressed
153 </p>
154 <p>
155 This enumeration might be expanded at later date
156 </p>
157 <div class="variablelist"><table border="0">
158 <col align="left" valign="top">
159 <tbody>
160 <tr>
161 <td><p><a name="CLUTTER-UNIT-PIXEL:CAPS"></a><span class="term"><code class="literal">CLUTTER_UNIT_PIXEL</code></span></p></td>
162 <td>Unit expressed in pixels (with subpixel precision)
163 </td>
164 </tr>
165 <tr>
166 <td><p><a name="CLUTTER-UNIT-EM:CAPS"></a><span class="term"><code class="literal">CLUTTER_UNIT_EM</code></span></p></td>
167 <td>Unit expressed in em
168 </td>
169 </tr>
170 <tr>
171 <td><p><a name="CLUTTER-UNIT-MM:CAPS"></a><span class="term"><code class="literal">CLUTTER_UNIT_MM</code></span></p></td>
172 <td>Unit expressed in millimeters
173 </td>
174 </tr>
175 <tr>
176 <td><p><a name="CLUTTER-UNIT-POINT:CAPS"></a><span class="term"><code class="literal">CLUTTER_UNIT_POINT</code></span></p></td>
177 <td>Unit expressed in points
178 </td>
179 </tr>
180 <tr>
181 <td><p><a name="CLUTTER-UNIT-CM:CAPS"></a><span class="term"><code class="literal">CLUTTER_UNIT_CM</code></span></p></td>
182 <td>Unit expressed in centimeters
183 </td>
184 </tr>
185 </tbody>
186 </table></div>
187 <p class="since">Since 1.0</p>
188 </div>
189 <hr>
190 <div class="refsect2">
191 <a name="ClutterUnits"></a><h3>struct ClutterUnits</h3>
192 <pre class="programlisting">struct ClutterUnits {
193 };
194 </pre>
195 <p>
196 An opaque structure, to be used to store sizing and positioning
197 values along with their unit.
198 </p>
199 <p class="since">Since 1.0</p>
200 </div>
201 <hr>
202 <div class="refsect2">
203 <a name="clutter-units-from-cm"></a><h3>clutter_units_from_cm ()</h3>
204 <pre class="programlisting"><span class="returnvalue">void</span>                clutter_units_from_cm               (<em class="parameter"><code><a class="link" href="clutter-Unit-conversion.html#ClutterUnits" title="struct ClutterUnits"><span class="type">ClutterUnits</span></a> *units</code></em>,
205                                                          <em class="parameter"><code><span class="type">gfloat</span> cm</code></em>);</pre>
206 <p>
207 Stores a value in centimeters inside <em class="parameter"><code>units</code></em>
208 </p>
209 <div class="variablelist"><table border="0">
210 <col align="left" valign="top">
211 <tbody>
212 <tr>
213 <td><p><span class="term"><em class="parameter"><code>units</code></em> :</span></p></td>
214 <td>a <a class="link" href="clutter-Unit-conversion.html#ClutterUnits" title="struct ClutterUnits"><span class="type">ClutterUnits</span></a>. <span class="annotation">[<acronym title="Out parameter, where caller must allocate storage."><span class="acronym">out caller-allocates</span></acronym>]</span>
215 </td>
216 </tr>
217 <tr>
218 <td><p><span class="term"><em class="parameter"><code>cm</code></em> :</span></p></td>
219 <td>centimeters</td>
220 </tr>
221 </tbody>
222 </table></div>
223 <p class="since">Since 1.2</p>
224 </div>
225 <hr>
226 <div class="refsect2">
227 <a name="clutter-units-from-em"></a><h3>clutter_units_from_em ()</h3>
228 <pre class="programlisting"><span class="returnvalue">void</span>                clutter_units_from_em               (<em class="parameter"><code><a class="link" href="clutter-Unit-conversion.html#ClutterUnits" title="struct ClutterUnits"><span class="type">ClutterUnits</span></a> *units</code></em>,
229                                                          <em class="parameter"><code><span class="type">gfloat</span> em</code></em>);</pre>
230 <p>
231 Stores a value in em inside <em class="parameter"><code>units</code></em>, using the default font
232 name as returned by <a class="link" href="ClutterBackend.html#clutter-backend-get-font-name" title="clutter_backend_get_font_name ()"><code class="function">clutter_backend_get_font_name()</code></a>
233 </p>
234 <div class="variablelist"><table border="0">
235 <col align="left" valign="top">
236 <tbody>
237 <tr>
238 <td><p><span class="term"><em class="parameter"><code>units</code></em> :</span></p></td>
239 <td>a <a class="link" href="clutter-Unit-conversion.html#ClutterUnits" title="struct ClutterUnits"><span class="type">ClutterUnits</span></a>. <span class="annotation">[<acronym title="Out parameter, where caller must allocate storage."><span class="acronym">out caller-allocates</span></acronym>]</span>
240 </td>
241 </tr>
242 <tr>
243 <td><p><span class="term"><em class="parameter"><code>em</code></em> :</span></p></td>
244 <td>em</td>
245 </tr>
246 </tbody>
247 </table></div>
248 <p class="since">Since 1.0</p>
249 </div>
250 <hr>
251 <div class="refsect2">
252 <a name="clutter-units-from-em-for-font"></a><h3>clutter_units_from_em_for_font ()</h3>
253 <pre class="programlisting"><span class="returnvalue">void</span>                clutter_units_from_em_for_font      (<em class="parameter"><code><a class="link" href="clutter-Unit-conversion.html#ClutterUnits" title="struct ClutterUnits"><span class="type">ClutterUnits</span></a> *units</code></em>,
254                                                          <em class="parameter"><code>const <span class="type">gchar</span> *font_name</code></em>,
255                                                          <em class="parameter"><code><span class="type">gfloat</span> em</code></em>);</pre>
256 <p>
257 Stores a value in em inside <em class="parameter"><code>units</code></em> using <em class="parameter"><code>font_name</code></em>
258 </p>
259 <div class="variablelist"><table border="0">
260 <col align="left" valign="top">
261 <tbody>
262 <tr>
263 <td><p><span class="term"><em class="parameter"><code>units</code></em> :</span></p></td>
264 <td>a <a class="link" href="clutter-Unit-conversion.html#ClutterUnits" title="struct ClutterUnits"><span class="type">ClutterUnits</span></a>. <span class="annotation">[<acronym title="Out parameter, where caller must allocate storage."><span class="acronym">out caller-allocates</span></acronym>]</span>
265 </td>
266 </tr>
267 <tr>
268 <td><p><span class="term"><em class="parameter"><code>font_name</code></em> :</span></p></td>
269 <td>the font name and size. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
270 </td>
271 </tr>
272 <tr>
273 <td><p><span class="term"><em class="parameter"><code>em</code></em> :</span></p></td>
274 <td>em</td>
275 </tr>
276 </tbody>
277 </table></div>
278 <p class="since">Since 1.0</p>
279 </div>
280 <hr>
281 <div class="refsect2">
282 <a name="clutter-units-from-mm"></a><h3>clutter_units_from_mm ()</h3>
283 <pre class="programlisting"><span class="returnvalue">void</span>                clutter_units_from_mm               (<em class="parameter"><code><a class="link" href="clutter-Unit-conversion.html#ClutterUnits" title="struct ClutterUnits"><span class="type">ClutterUnits</span></a> *units</code></em>,
284                                                          <em class="parameter"><code><span class="type">gfloat</span> mm</code></em>);</pre>
285 <p>
286 Stores a value in millimiters inside <em class="parameter"><code>units</code></em>
287 </p>
288 <div class="variablelist"><table border="0">
289 <col align="left" valign="top">
290 <tbody>
291 <tr>
292 <td><p><span class="term"><em class="parameter"><code>units</code></em> :</span></p></td>
293 <td>a <a class="link" href="clutter-Unit-conversion.html#ClutterUnits" title="struct ClutterUnits"><span class="type">ClutterUnits</span></a>. <span class="annotation">[<acronym title="Out parameter, where caller must allocate storage."><span class="acronym">out caller-allocates</span></acronym>]</span>
294 </td>
295 </tr>
296 <tr>
297 <td><p><span class="term"><em class="parameter"><code>mm</code></em> :</span></p></td>
298 <td>millimeters</td>
299 </tr>
300 </tbody>
301 </table></div>
302 <p class="since">Since 1.0</p>
303 </div>
304 <hr>
305 <div class="refsect2">
306 <a name="clutter-units-from-pixels"></a><h3>clutter_units_from_pixels ()</h3>
307 <pre class="programlisting"><span class="returnvalue">void</span>                clutter_units_from_pixels           (<em class="parameter"><code><a class="link" href="clutter-Unit-conversion.html#ClutterUnits" title="struct ClutterUnits"><span class="type">ClutterUnits</span></a> *units</code></em>,
308                                                          <em class="parameter"><code><span class="type">gint</span> px</code></em>);</pre>
309 <p>
310 Stores a value in pixels inside <em class="parameter"><code>units</code></em>
311 </p>
312 <div class="variablelist"><table border="0">
313 <col align="left" valign="top">
314 <tbody>
315 <tr>
316 <td><p><span class="term"><em class="parameter"><code>units</code></em> :</span></p></td>
317 <td>a <a class="link" href="clutter-Unit-conversion.html#ClutterUnits" title="struct ClutterUnits"><span class="type">ClutterUnits</span></a>. <span class="annotation">[<acronym title="Out parameter, where caller must allocate storage."><span class="acronym">out caller-allocates</span></acronym>]</span>
318 </td>
319 </tr>
320 <tr>
321 <td><p><span class="term"><em class="parameter"><code>px</code></em> :</span></p></td>
322 <td>pixels</td>
323 </tr>
324 </tbody>
325 </table></div>
326 <p class="since">Since 1.0</p>
327 </div>
328 <hr>
329 <div class="refsect2">
330 <a name="clutter-units-from-pt"></a><h3>clutter_units_from_pt ()</h3>
331 <pre class="programlisting"><span class="returnvalue">void</span>                clutter_units_from_pt               (<em class="parameter"><code><a class="link" href="clutter-Unit-conversion.html#ClutterUnits" title="struct ClutterUnits"><span class="type">ClutterUnits</span></a> *units</code></em>,
332                                                          <em class="parameter"><code><span class="type">gfloat</span> pt</code></em>);</pre>
333 <p>
334 Stores a value in typographic points inside <em class="parameter"><code>units</code></em>
335 </p>
336 <div class="variablelist"><table border="0">
337 <col align="left" valign="top">
338 <tbody>
339 <tr>
340 <td><p><span class="term"><em class="parameter"><code>units</code></em> :</span></p></td>
341 <td>a <a class="link" href="clutter-Unit-conversion.html#ClutterUnits" title="struct ClutterUnits"><span class="type">ClutterUnits</span></a>. <span class="annotation">[<acronym title="Out parameter, where caller must allocate storage."><span class="acronym">out caller-allocates</span></acronym>]</span>
342 </td>
343 </tr>
344 <tr>
345 <td><p><span class="term"><em class="parameter"><code>pt</code></em> :</span></p></td>
346 <td>typographic points</td>
347 </tr>
348 </tbody>
349 </table></div>
350 <p class="since">Since 1.0</p>
351 </div>
352 <hr>
353 <div class="refsect2">
354 <a name="clutter-units-to-pixels"></a><h3>clutter_units_to_pixels ()</h3>
355 <pre class="programlisting"><span class="returnvalue">gfloat</span>              clutter_units_to_pixels             (<em class="parameter"><code><a class="link" href="clutter-Unit-conversion.html#ClutterUnits" title="struct ClutterUnits"><span class="type">ClutterUnits</span></a> *units</code></em>);</pre>
356 <p>
357 Converts a value in <a class="link" href="clutter-Unit-conversion.html#ClutterUnits" title="struct ClutterUnits"><span class="type">ClutterUnits</span></a> to pixels
358 </p>
359 <div class="variablelist"><table border="0">
360 <col align="left" valign="top">
361 <tbody>
362 <tr>
363 <td><p><span class="term"><em class="parameter"><code>units</code></em> :</span></p></td>
364 <td>units to convert</td>
365 </tr>
366 <tr>
367 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
368 <td>the value in pixels</td>
369 </tr>
370 </tbody>
371 </table></div>
372 <p class="since">Since 1.0</p>
373 </div>
374 <hr>
375 <div class="refsect2">
376 <a name="clutter-units-copy"></a><h3>clutter_units_copy ()</h3>
377 <pre class="programlisting"><a class="link" href="clutter-Unit-conversion.html#ClutterUnits" title="struct ClutterUnits"><span class="returnvalue">ClutterUnits</span></a> *      clutter_units_copy                  (<em class="parameter"><code>const <a class="link" href="clutter-Unit-conversion.html#ClutterUnits" title="struct ClutterUnits"><span class="type">ClutterUnits</span></a> *units</code></em>);</pre>
378 <p>
379 Copies <em class="parameter"><code>units</code></em>
380 </p>
381 <div class="variablelist"><table border="0">
382 <col align="left" valign="top">
383 <tbody>
384 <tr>
385 <td><p><span class="term"><em class="parameter"><code>units</code></em> :</span></p></td>
386 <td>the <a class="link" href="clutter-Unit-conversion.html#ClutterUnits" title="struct ClutterUnits"><span class="type">ClutterUnits</span></a> to copy</td>
387 </tr>
388 <tr>
389 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
390 <td>the newly created copy of a
391 <a class="link" href="clutter-Unit-conversion.html#ClutterUnits" title="struct ClutterUnits"><span class="type">ClutterUnits</span></a> structure. Use <a class="link" href="clutter-Unit-conversion.html#clutter-units-free" title="clutter_units_free ()"><code class="function">clutter_units_free()</code></a> to free
392 the allocated resources. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
393 </td>
394 </tr>
395 </tbody>
396 </table></div>
397 <p class="since">Since 1.0</p>
398 </div>
399 <hr>
400 <div class="refsect2">
401 <a name="clutter-units-free"></a><h3>clutter_units_free ()</h3>
402 <pre class="programlisting"><span class="returnvalue">void</span>                clutter_units_free                  (<em class="parameter"><code><a class="link" href="clutter-Unit-conversion.html#ClutterUnits" title="struct ClutterUnits"><span class="type">ClutterUnits</span></a> *units</code></em>);</pre>
403 <p>
404 Frees the resources allocated by <em class="parameter"><code>units</code></em>
405 </p>
406 <p>
407 You should only call this function on a <a class="link" href="clutter-Unit-conversion.html#ClutterUnits" title="struct ClutterUnits"><span class="type">ClutterUnits</span></a>
408 created using <a class="link" href="clutter-Unit-conversion.html#clutter-units-copy" title="clutter_units_copy ()"><code class="function">clutter_units_copy()</code></a>
409 </p>
410 <div class="variablelist"><table border="0">
411 <col align="left" valign="top">
412 <tbody><tr>
413 <td><p><span class="term"><em class="parameter"><code>units</code></em> :</span></p></td>
414 <td>the <a class="link" href="clutter-Unit-conversion.html#ClutterUnits" title="struct ClutterUnits"><span class="type">ClutterUnits</span></a> to free</td>
415 </tr></tbody>
416 </table></div>
417 <p class="since">Since 1.0</p>
418 </div>
419 <hr>
420 <div class="refsect2">
421 <a name="clutter-units-get-unit-type"></a><h3>clutter_units_get_unit_type ()</h3>
422 <pre class="programlisting"><a class="link" href="clutter-Unit-conversion.html#ClutterUnitType" title="enum ClutterUnitType"><span class="returnvalue">ClutterUnitType</span></a>     clutter_units_get_unit_type         (<em class="parameter"><code>const <a class="link" href="clutter-Unit-conversion.html#ClutterUnits" title="struct ClutterUnits"><span class="type">ClutterUnits</span></a> *units</code></em>);</pre>
423 <p>
424 Retrieves the unit type of the value stored inside <em class="parameter"><code>units</code></em>
425 </p>
426 <div class="variablelist"><table border="0">
427 <col align="left" valign="top">
428 <tbody>
429 <tr>
430 <td><p><span class="term"><em class="parameter"><code>units</code></em> :</span></p></td>
431 <td>a <a class="link" href="clutter-Unit-conversion.html#ClutterUnits" title="struct ClutterUnits"><span class="type">ClutterUnits</span></a>
432 </td>
433 </tr>
434 <tr>
435 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
436 <td>a unit type</td>
437 </tr>
438 </tbody>
439 </table></div>
440 <p class="since">Since 1.0</p>
441 </div>
442 <hr>
443 <div class="refsect2">
444 <a name="clutter-units-get-unit-value"></a><h3>clutter_units_get_unit_value ()</h3>
445 <pre class="programlisting"><span class="returnvalue">gfloat</span>              clutter_units_get_unit_value        (<em class="parameter"><code>const <a class="link" href="clutter-Unit-conversion.html#ClutterUnits" title="struct ClutterUnits"><span class="type">ClutterUnits</span></a> *units</code></em>);</pre>
446 <p>
447 Retrieves the value stored inside <em class="parameter"><code>units</code></em>
448 </p>
449 <div class="variablelist"><table border="0">
450 <col align="left" valign="top">
451 <tbody>
452 <tr>
453 <td><p><span class="term"><em class="parameter"><code>units</code></em> :</span></p></td>
454 <td>a <a class="link" href="clutter-Unit-conversion.html#ClutterUnits" title="struct ClutterUnits"><span class="type">ClutterUnits</span></a>
455 </td>
456 </tr>
457 <tr>
458 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
459 <td>the value stored inside a <a class="link" href="clutter-Unit-conversion.html#ClutterUnits" title="struct ClutterUnits"><span class="type">ClutterUnits</span></a>
460 </td>
461 </tr>
462 </tbody>
463 </table></div>
464 <p class="since">Since 1.0</p>
465 </div>
466 <hr>
467 <div class="refsect2">
468 <a name="clutter-units-from-string"></a><h3>clutter_units_from_string ()</h3>
469 <pre class="programlisting"><span class="returnvalue">gboolean</span>            clutter_units_from_string           (<em class="parameter"><code><a class="link" href="clutter-Unit-conversion.html#ClutterUnits" title="struct ClutterUnits"><span class="type">ClutterUnits</span></a> *units</code></em>,
470                                                          <em class="parameter"><code>const <span class="type">gchar</span> *str</code></em>);</pre>
471 <p>
472 Parses a value and updates <em class="parameter"><code>units</code></em> with it
473 </p>
474 <p>
475 A <a class="link" href="clutter-Unit-conversion.html#ClutterUnits" title="struct ClutterUnits"><span class="type">ClutterUnits</span></a> expressed in string should match:
476 </p>
477 <p>
478 </p>
479 <div class="informalexample">
480   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
481     <tbody>
482       <tr>
483         <td class="listing_lines" align="right"><pre>1
484 2
485 3
486 4
487 5
488 6
489 7
490 8</pre></td>
491         <td class="listing_code"><pre class="programlisting"><span class="normal">units</span><span class="symbol">:</span><span class="normal"> wsp</span><span class="symbol">*</span><span class="normal"> unit</span><span class="symbol">-</span><span class="usertype">value</span><span class="normal"> wsp</span><span class="symbol">*</span><span class="normal"> unit</span><span class="symbol">-</span><span class="normal">name</span><span class="symbol">?</span><span class="normal"> wsp</span><span class="symbol">*</span>
492 <span class="normal">unit</span><span class="symbol">-</span><span class="normal">value</span><span class="symbol">:</span><span class="normal"> number</span>
493 <span class="normal">unit</span><span class="symbol">-</span><span class="normal">name</span><span class="symbol">:</span><span class="normal"> </span><span class="string">'px'</span><span class="normal"> </span><span class="symbol">|</span><span class="normal"> </span><span class="string">'pt'</span><span class="normal"> </span><span class="symbol">|</span><span class="normal"> </span><span class="string">'mm'</span><span class="normal"> </span><span class="symbol">|</span><span class="normal"> </span><span class="string">'em'</span><span class="normal"> </span><span class="symbol">|</span><span class="normal"> </span><span class="string">'cm'</span>
494 <span class="normal">number</span><span class="symbol">:</span><span class="normal"> digit</span><span class="symbol">+</span>
495 <span class="normal">        </span><span class="symbol">|</span><span class="normal"> digit</span><span class="symbol">*</span><span class="normal"> </span><span class="usertype">sep</span><span class="normal"> digit</span><span class="symbol">+</span>
496 <span class="normal">sep</span><span class="symbol">:</span><span class="normal"> </span><span class="string">'.'</span><span class="normal"> </span><span class="symbol">|</span><span class="normal"> </span><span class="string">','</span>
497 <span class="normal">digit</span><span class="symbol">:</span><span class="normal"> </span><span class="string">'0'</span><span class="normal"> </span><span class="symbol">|</span><span class="normal"> </span><span class="string">'1'</span><span class="normal"> </span><span class="symbol">|</span><span class="normal"> </span><span class="string">'2'</span><span class="normal"> </span><span class="symbol">|</span><span class="normal"> </span><span class="string">'3'</span><span class="normal"> </span><span class="symbol">|</span><span class="normal"> </span><span class="string">'4'</span><span class="normal"> </span><span class="symbol">|</span><span class="normal"> </span><span class="string">'5'</span><span class="normal"> </span><span class="symbol">|</span><span class="normal"> </span><span class="string">'6'</span><span class="normal"> </span><span class="symbol">|</span><span class="normal"> </span><span class="string">'7'</span><span class="normal"> </span><span class="symbol">|</span><span class="normal"> </span><span class="string">'8'</span><span class="normal"> </span><span class="symbol">|</span><span class="normal"> </span><span class="string">'9'</span>
498 <span class="normal">wsp</span><span class="symbol">:</span><span class="normal"> </span><span class="symbol">(&lt;</span><span class="usertype">GTKDOCLINK</span><span class="normal"> HREF</span><span class="symbol">=</span><span class="string">"0x20"</span><span class="symbol">&gt;</span><span class="number">0x20</span><span class="symbol">&lt;/</span><span class="normal">GTKDOCLINK</span><span class="symbol">&gt;</span><span class="normal"> </span><span class="symbol">|</span><span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">GTKDOCLINK</span><span class="normal"> HREF</span><span class="symbol">=</span><span class="string">"0x9"</span><span class="symbol">&gt;</span><span class="number">0x9</span><span class="symbol">&lt;/</span><span class="normal">GTKDOCLINK</span><span class="symbol">&gt;</span><span class="normal"> </span><span class="symbol">|</span><span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">GTKDOCLINK</span><span class="normal"> HREF</span><span class="symbol">=</span><span class="string">"0xA"</span><span class="symbol">&gt;</span><span class="number">0xA</span><span class="symbol">&lt;/</span><span class="normal">GTKDOCLINK</span><span class="symbol">&gt;</span><span class="normal"> </span><span class="symbol">|</span><span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">GTKDOCLINK</span><span class="normal"> HREF</span><span class="symbol">=</span><span class="string">"0xB"</span><span class="symbol">&gt;</span><span class="number">0xB</span><span class="symbol">&lt;/</span><span class="normal">GTKDOCLINK</span><span class="symbol">&gt;</span><span class="normal"> </span><span class="symbol">|</span><span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">GTKDOCLINK</span><span class="normal"> HREF</span><span class="symbol">=</span><span class="string">"0xC"</span><span class="symbol">&gt;</span><span class="number">0xC</span><span class="symbol">&lt;/</span><span class="normal">GTKDOCLINK</span><span class="symbol">&gt;</span><span class="normal"> </span><span class="symbol">|</span><span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">GTKDOCLINK</span><span class="normal"> HREF</span><span class="symbol">=</span><span class="string">"0xD"</span><span class="symbol">&gt;</span><span class="number">0xD</span><span class="symbol">&lt;/</span><span class="normal">GTKDOCLINK</span><span class="symbol">&gt;)+</span></pre></td>
499       </tr>
500     </tbody>
501   </table>
502 </div>
503
504 <p>
505 </p>
506 <p>
507 For instance, these are valid strings:
508 </p>
509 <p>
510 </p>
511 <div class="informalexample">
512   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
513     <tbody>
514       <tr>
515         <td class="listing_lines" align="right"><pre>1
516 2
517 3
518 4
519 5</pre></td>
520         <td class="listing_code"><pre class="programlisting"><span class="number">10</span><span class="normal"> px</span>
521 <span class="number">5.1</span><span class="normal"> em</span>
522 <span class="number">24</span><span class="normal"> pt</span>
523 <span class="number">12.6</span><span class="normal"> mm</span>
524 <span class="symbol">.</span><span class="number">3</span><span class="normal"> cm</span></pre></td>
525       </tr>
526     </tbody>
527   </table>
528 </div>
529
530 <p>
531 </p>
532 <p>
533 While these are not:
534 </p>
535 <p>
536 </p>
537 <div class="informalexample">
538   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
539     <tbody>
540       <tr>
541         <td class="listing_lines" align="right"><pre>1
542 2</pre></td>
543         <td class="listing_code"><pre class="programlisting"><span class="number">42</span><span class="normal"> cats</span>
544 <span class="normal">omg</span><span class="symbol">!</span><span class="number">1</span><span class="symbol">!</span><span class="normal">ponies</span></pre></td>
545       </tr>
546     </tbody>
547   </table>
548 </div>
549
550 <p>
551 </p>
552 <p>
553 </p>
554 <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
555 <h3 class="title">Note</h3>
556 <p>If no unit is specified, pixels are assumed.</p>
557 </div>
558 <p>
559 </p>
560 <div class="variablelist"><table border="0">
561 <col align="left" valign="top">
562 <tbody>
563 <tr>
564 <td><p><span class="term"><em class="parameter"><code>units</code></em> :</span></p></td>
565 <td>a <a class="link" href="clutter-Unit-conversion.html#ClutterUnits" title="struct ClutterUnits"><span class="type">ClutterUnits</span></a>. <span class="annotation">[<acronym title="Out parameter, where caller must allocate storage."><span class="acronym">out caller-allocates</span></acronym>]</span>
566 </td>
567 </tr>
568 <tr>
569 <td><p><span class="term"><em class="parameter"><code>str</code></em> :</span></p></td>
570 <td>the string to convert</td>
571 </tr>
572 <tr>
573 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
574 <td>
575 <code class="literal">TRUE</code> if the string was successfully parsed,
576 and <code class="literal">FALSE</code> otherwise</td>
577 </tr>
578 </tbody>
579 </table></div>
580 <p class="since">Since 1.0</p>
581 </div>
582 <hr>
583 <div class="refsect2">
584 <a name="clutter-units-to-string"></a><h3>clutter_units_to_string ()</h3>
585 <pre class="programlisting"><span class="returnvalue">gchar</span> *             clutter_units_to_string             (<em class="parameter"><code>const <a class="link" href="clutter-Unit-conversion.html#ClutterUnits" title="struct ClutterUnits"><span class="type">ClutterUnits</span></a> *units</code></em>);</pre>
586 <p>
587 Converts <em class="parameter"><code>units</code></em> into a string
588 </p>
589 <p>
590 See <a class="link" href="clutter-Unit-conversion.html#clutter-units-from-string" title="clutter_units_from_string ()"><code class="function">clutter_units_from_string()</code></a> for the units syntax and for
591 examples of output
592 </p>
593 <p>
594 </p>
595 <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
596 <h3 class="title">Note</h3>Fractional values are truncated to the second decimal
597 position for em, mm and cm, and to the first decimal position for
598 typographic points. Pixels are integers.</div>
599 <p>
600 </p>
601 <div class="variablelist"><table border="0">
602 <col align="left" valign="top">
603 <tbody>
604 <tr>
605 <td><p><span class="term"><em class="parameter"><code>units</code></em> :</span></p></td>
606 <td>a <a class="link" href="clutter-Unit-conversion.html#ClutterUnits" title="struct ClutterUnits"><span class="type">ClutterUnits</span></a>
607 </td>
608 </tr>
609 <tr>
610 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
611 <td>a newly allocated string containing the encoded
612 <a class="link" href="clutter-Unit-conversion.html#ClutterUnits" title="struct ClutterUnits"><span class="type">ClutterUnits</span></a> value. Use <code class="function">g_free()</code> to free the string</td>
613 </tr>
614 </tbody>
615 </table></div>
616 <p class="since">Since 1.0</p>
617 </div>
618 <hr>
619 <div class="refsect2">
620 <a name="ClutterParamSpecUnits"></a><h3>struct ClutterParamSpecUnits</h3>
621 <pre class="programlisting">struct ClutterParamSpecUnits {
622   ClutterUnitType default_type;
623
624   gfloat default_value;
625   gfloat minimum;
626   gfloat maximum;
627 };
628 </pre>
629 <p>
630 <span class="type">GParamSpec</span> subclass for unit based properties.
631 </p>
632 <div class="variablelist"><table border="0">
633 <col align="left" valign="top">
634 <tbody>
635 <tr>
636 <td><p><span class="term"><a class="link" href="clutter-Unit-conversion.html#ClutterUnitType" title="enum ClutterUnitType"><span class="type">ClutterUnitType</span></a> <em class="structfield"><code><a name="ClutterParamSpecUnits.default-type"></a>default_type</code></em>;</span></p></td>
637 <td>default type</td>
638 </tr>
639 <tr>
640 <td><p><span class="term"><span class="type">gfloat</span> <em class="structfield"><code><a name="ClutterParamSpecUnits.default-value"></a>default_value</code></em>;</span></p></td>
641 <td>default value</td>
642 </tr>
643 <tr>
644 <td><p><span class="term"><span class="type">gfloat</span> <em class="structfield"><code><a name="ClutterParamSpecUnits.minimum"></a>minimum</code></em>;</span></p></td>
645 <td>lower boundary</td>
646 </tr>
647 <tr>
648 <td><p><span class="term"><span class="type">gfloat</span> <em class="structfield"><code><a name="ClutterParamSpecUnits.maximum"></a>maximum</code></em>;</span></p></td>
649 <td>higher boundary</td>
650 </tr>
651 </tbody>
652 </table></div>
653 <p class="since">Since 1.0</p>
654 </div>
655 <hr>
656 <div class="refsect2">
657 <a name="clutter-param-spec-units"></a><h3>clutter_param_spec_units ()</h3>
658 <pre class="programlisting"><span class="returnvalue">GParamSpec</span> *        clutter_param_spec_units            (<em class="parameter"><code>const <span class="type">gchar</span> *name</code></em>,
659                                                          <em class="parameter"><code>const <span class="type">gchar</span> *nick</code></em>,
660                                                          <em class="parameter"><code>const <span class="type">gchar</span> *blurb</code></em>,
661                                                          <em class="parameter"><code><a class="link" href="clutter-Unit-conversion.html#ClutterUnitType" title="enum ClutterUnitType"><span class="type">ClutterUnitType</span></a> default_type</code></em>,
662                                                          <em class="parameter"><code><span class="type">gfloat</span> minimum</code></em>,
663                                                          <em class="parameter"><code><span class="type">gfloat</span> maximum</code></em>,
664                                                          <em class="parameter"><code><span class="type">gfloat</span> default_value</code></em>,
665                                                          <em class="parameter"><code><span class="type">GParamFlags</span> flags</code></em>);</pre>
666 <p>
667 Creates a <span class="type">GParamSpec</span> for properties using <a class="link" href="clutter-Unit-conversion.html#ClutterUnits" title="struct ClutterUnits"><span class="type">ClutterUnits</span></a>.
668 </p>
669 <div class="variablelist"><table border="0">
670 <col align="left" valign="top">
671 <tbody>
672 <tr>
673 <td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
674 <td>name of the property</td>
675 </tr>
676 <tr>
677 <td><p><span class="term"><em class="parameter"><code>nick</code></em> :</span></p></td>
678 <td>short name</td>
679 </tr>
680 <tr>
681 <td><p><span class="term"><em class="parameter"><code>blurb</code></em> :</span></p></td>
682 <td>description (can be translatable)</td>
683 </tr>
684 <tr>
685 <td><p><span class="term"><em class="parameter"><code>default_type</code></em> :</span></p></td>
686 <td>the default type for the <a class="link" href="clutter-Unit-conversion.html#ClutterUnits" title="struct ClutterUnits"><span class="type">ClutterUnits</span></a>
687 </td>
688 </tr>
689 <tr>
690 <td><p><span class="term"><em class="parameter"><code>minimum</code></em> :</span></p></td>
691 <td>lower boundary</td>
692 </tr>
693 <tr>
694 <td><p><span class="term"><em class="parameter"><code>maximum</code></em> :</span></p></td>
695 <td>higher boundary</td>
696 </tr>
697 <tr>
698 <td><p><span class="term"><em class="parameter"><code>default_value</code></em> :</span></p></td>
699 <td>default value</td>
700 </tr>
701 <tr>
702 <td><p><span class="term"><em class="parameter"><code>flags</code></em> :</span></p></td>
703 <td>flags for the param spec</td>
704 </tr>
705 <tr>
706 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
707 <td>the newly created <span class="type">GParamSpec</span>
708 </td>
709 </tr>
710 </tbody>
711 </table></div>
712 <p class="since">Since 1.0</p>
713 </div>
714 <hr>
715 <div class="refsect2">
716 <a name="CLUTTER-VALUE-HOLDS-UNITS:CAPS"></a><h3>CLUTTER_VALUE_HOLDS_UNITS()</h3>
717 <pre class="programlisting">#define CLUTTER_VALUE_HOLDS_UNITS(x)    (G_VALUE_HOLDS ((x), CLUTTER_TYPE_UNITS))
718 </pre>
719 <p>
720 Evaluates to <code class="literal">TRUE</code> if <em class="parameter"><code>x</code></em> holds a <a class="link" href="clutter-Unit-conversion.html#ClutterUnits" title="struct ClutterUnits"><span class="type">ClutterUnits</span></a> value
721 </p>
722 <div class="variablelist"><table border="0">
723 <col align="left" valign="top">
724 <tbody><tr>
725 <td><p><span class="term"><em class="parameter"><code>x</code></em> :</span></p></td>
726 <td>a <span class="type">GValue</span>
727 </td>
728 </tr></tbody>
729 </table></div>
730 <p class="since">Since 0.8</p>
731 </div>
732 <hr>
733 <div class="refsect2">
734 <a name="clutter-value-set-units"></a><h3>clutter_value_set_units ()</h3>
735 <pre class="programlisting"><span class="returnvalue">void</span>                clutter_value_set_units             (<em class="parameter"><code><span class="type">GValue</span> *value</code></em>,
736                                                          <em class="parameter"><code>const <a class="link" href="clutter-Unit-conversion.html#ClutterUnits" title="struct ClutterUnits"><span class="type">ClutterUnits</span></a> *units</code></em>);</pre>
737 <p>
738 Sets <em class="parameter"><code>value</code></em> to <em class="parameter"><code>units</code></em>
739 </p>
740 <div class="variablelist"><table border="0">
741 <col align="left" valign="top">
742 <tbody>
743 <tr>
744 <td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
745 <td>a <span class="type">GValue</span> initialized to <code class="literal">CLUTTER_TYPE_UNITS</code>
746 </td>
747 </tr>
748 <tr>
749 <td><p><span class="term"><em class="parameter"><code>units</code></em> :</span></p></td>
750 <td>the units to set</td>
751 </tr>
752 </tbody>
753 </table></div>
754 <p class="since">Since 0.8</p>
755 </div>
756 <hr>
757 <div class="refsect2">
758 <a name="clutter-value-get-units"></a><h3>clutter_value_get_units ()</h3>
759 <pre class="programlisting">const <a class="link" href="clutter-Unit-conversion.html#ClutterUnits" title="struct ClutterUnits"><span class="returnvalue">ClutterUnits</span></a> * clutter_value_get_units            (<em class="parameter"><code>const <span class="type">GValue</span> *value</code></em>);</pre>
760 <p>
761 Gets the <a class="link" href="clutter-Unit-conversion.html#ClutterUnits" title="struct ClutterUnits"><span class="type">ClutterUnits</span></a> contained in <em class="parameter"><code>value</code></em>.
762 </p>
763 <div class="variablelist"><table border="0">
764 <col align="left" valign="top">
765 <tbody>
766 <tr>
767 <td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
768 <td>a <span class="type">GValue</span> initialized to <code class="literal">CLUTTER_TYPE_UNITS</code>
769 </td>
770 </tr>
771 <tr>
772 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
773 <td>the units inside the passed <span class="type">GValue</span>
774 </td>
775 </tr>
776 </tbody>
777 </table></div>
778 <p class="since">Since 0.8</p>
779 </div>
780 </div>
781 </div>
782 <div class="footer">
783 <hr>
784           Generated by GTK-Doc V1.18.1</div>
785 </body>
786 </html>