update to 1.10.4
[profile/ivi/clutter.git] / doc / reference / clutter / html / ClutterPath.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>ClutterPath</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="clutter-General.html" title="General">
10 <link rel="next" href="ClutterSettings.html" title="ClutterSettings">
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="clutter-General.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="ClutterSettings.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="#ClutterPath.synopsis" class="shortcut">Top</a>
25                    | 
26                   <a href="#ClutterPath.description" class="shortcut">Description</a>
27                    | 
28                   <a href="#ClutterPath.object-hierarchy" class="shortcut">Object Hierarchy</a>
29                    | 
30                   <a href="#ClutterPath.properties" class="shortcut">Properties</a>
31 </td></tr>
32 </table>
33 <div class="refentry">
34 <a name="ClutterPath"></a><div class="titlepage"></div>
35 <div class="refnamediv"><table width="100%"><tr>
36 <td valign="top">
37 <h2><span class="refentrytitle"><a name="ClutterPath.top_of_page"></a>ClutterPath</span></h2>
38 <p>ClutterPath — An object describing a path with straight lines
39 and bezier curves.</p>
40 </td>
41 <td valign="top" align="right"></td>
42 </tr></table></div>
43 <div class="refsynopsisdiv">
44 <a name="ClutterPath.synopsis"></a><h2>Synopsis</h2>
45 <pre class="synopsis">                    <a class="link" href="ClutterPath.html#ClutterPath-struct" title="ClutterPath">ClutterPath</a>;
46 struct              <a class="link" href="ClutterPath.html#ClutterPathClass" title="struct ClutterPathClass">ClutterPathClass</a>;
47 <span class="returnvalue">void</span>                (<a class="link" href="ClutterPath.html#ClutterPathCallback" title="ClutterPathCallback ()">*ClutterPathCallback</a>)              (<em class="parameter"><code>const <a class="link" href="ClutterPath.html#ClutterPathNode" title="struct ClutterPathNode"><span class="type">ClutterPathNode</span></a> *node</code></em>,
48                                                          <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>);
49 enum                <a class="link" href="ClutterPath.html#ClutterPathNodeType" title="enum ClutterPathNodeType">ClutterPathNodeType</a>;
50 <a class="link" href="ClutterPath.html" title="ClutterPath"><span class="returnvalue">ClutterPath</span></a> *       <a class="link" href="ClutterPath.html#clutter-path-new" title="clutter_path_new ()">clutter_path_new</a>                    (<em class="parameter"><code><span class="type">void</span></code></em>);
51 <a class="link" href="ClutterPath.html" title="ClutterPath"><span class="returnvalue">ClutterPath</span></a> *       <a class="link" href="ClutterPath.html#clutter-path-new-with-description" title="clutter_path_new_with_description ()">clutter_path_new_with_description</a>   (<em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *desc</code></em>);
52
53 <span class="returnvalue">void</span>                <a class="link" href="ClutterPath.html#clutter-path-add-move-to" title="clutter_path_add_move_to ()">clutter_path_add_move_to</a>            (<em class="parameter"><code><a class="link" href="ClutterPath.html" title="ClutterPath"><span class="type">ClutterPath</span></a> *path</code></em>,
54                                                          <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> x</code></em>,
55                                                          <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> y</code></em>);
56 <span class="returnvalue">void</span>                <a class="link" href="ClutterPath.html#clutter-path-add-rel-move-to" title="clutter_path_add_rel_move_to ()">clutter_path_add_rel_move_to</a>        (<em class="parameter"><code><a class="link" href="ClutterPath.html" title="ClutterPath"><span class="type">ClutterPath</span></a> *path</code></em>,
57                                                          <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> x</code></em>,
58                                                          <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> y</code></em>);
59 <span class="returnvalue">void</span>                <a class="link" href="ClutterPath.html#clutter-path-add-line-to" title="clutter_path_add_line_to ()">clutter_path_add_line_to</a>            (<em class="parameter"><code><a class="link" href="ClutterPath.html" title="ClutterPath"><span class="type">ClutterPath</span></a> *path</code></em>,
60                                                          <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> x</code></em>,
61                                                          <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> y</code></em>);
62 <span class="returnvalue">void</span>                <a class="link" href="ClutterPath.html#clutter-path-add-rel-line-to" title="clutter_path_add_rel_line_to ()">clutter_path_add_rel_line_to</a>        (<em class="parameter"><code><a class="link" href="ClutterPath.html" title="ClutterPath"><span class="type">ClutterPath</span></a> *path</code></em>,
63                                                          <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> x</code></em>,
64                                                          <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> y</code></em>);
65 <span class="returnvalue">void</span>                <a class="link" href="ClutterPath.html#clutter-path-add-curve-to" title="clutter_path_add_curve_to ()">clutter_path_add_curve_to</a>           (<em class="parameter"><code><a class="link" href="ClutterPath.html" title="ClutterPath"><span class="type">ClutterPath</span></a> *path</code></em>,
66                                                          <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> x_1</code></em>,
67                                                          <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> y_1</code></em>,
68                                                          <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> x_2</code></em>,
69                                                          <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> y_2</code></em>,
70                                                          <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> x_3</code></em>,
71                                                          <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> y_3</code></em>);
72 <span class="returnvalue">void</span>                <a class="link" href="ClutterPath.html#clutter-path-add-rel-curve-to" title="clutter_path_add_rel_curve_to ()">clutter_path_add_rel_curve_to</a>       (<em class="parameter"><code><a class="link" href="ClutterPath.html" title="ClutterPath"><span class="type">ClutterPath</span></a> *path</code></em>,
73                                                          <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> x_1</code></em>,
74                                                          <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> y_1</code></em>,
75                                                          <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> x_2</code></em>,
76                                                          <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> y_2</code></em>,
77                                                          <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> x_3</code></em>,
78                                                          <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> y_3</code></em>);
79 <span class="returnvalue">void</span>                <a class="link" href="ClutterPath.html#clutter-path-add-close" title="clutter_path_add_close ()">clutter_path_add_close</a>              (<em class="parameter"><code><a class="link" href="ClutterPath.html" title="ClutterPath"><span class="type">ClutterPath</span></a> *path</code></em>);
80 <a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="ClutterPath.html#clutter-path-add-string" title="clutter_path_add_string ()">clutter_path_add_string</a>             (<em class="parameter"><code><a class="link" href="ClutterPath.html" title="ClutterPath"><span class="type">ClutterPath</span></a> *path</code></em>,
81                                                          <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *str</code></em>);
82 <span class="returnvalue">void</span>                <a class="link" href="ClutterPath.html#clutter-path-add-node" title="clutter_path_add_node ()">clutter_path_add_node</a>               (<em class="parameter"><code><a class="link" href="ClutterPath.html" title="ClutterPath"><span class="type">ClutterPath</span></a> *path</code></em>,
83                                                          <em class="parameter"><code>const <a class="link" href="ClutterPath.html#ClutterPathNode" title="struct ClutterPathNode"><span class="type">ClutterPathNode</span></a> *node</code></em>);
84 <span class="returnvalue">void</span>                <a class="link" href="ClutterPath.html#clutter-path-add-cairo-path" title="clutter_path_add_cairo_path ()">clutter_path_add_cairo_path</a>         (<em class="parameter"><code><a class="link" href="ClutterPath.html" title="ClutterPath"><span class="type">ClutterPath</span></a> *path</code></em>,
85                                                          <em class="parameter"><code>const <a href="/home/ebassi/gnome3/install/share/gtk-doc/html/cairo/cairo-Paths.html#cairo-path-t"><span class="type">cairo_path_t</span></a> *cpath</code></em>);
86
87 <a href="../glib/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>               <a class="link" href="ClutterPath.html#clutter-path-get-n-nodes" title="clutter_path_get_n_nodes ()">clutter_path_get_n_nodes</a>            (<em class="parameter"><code><a class="link" href="ClutterPath.html" title="ClutterPath"><span class="type">ClutterPath</span></a> *path</code></em>);
88 <span class="returnvalue">void</span>                <a class="link" href="ClutterPath.html#clutter-path-get-node" title="clutter_path_get_node ()">clutter_path_get_node</a>               (<em class="parameter"><code><a class="link" href="ClutterPath.html" title="ClutterPath"><span class="type">ClutterPath</span></a> *path</code></em>,
89                                                          <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> index_</code></em>,
90                                                          <em class="parameter"><code><a class="link" href="ClutterPath.html#ClutterPathNode" title="struct ClutterPathNode"><span class="type">ClutterPathNode</span></a> *node</code></em>);
91 <a href="../glib/glib-Singly-Linked-Lists.html#GSList"><span class="returnvalue">GSList</span></a> *            <a class="link" href="ClutterPath.html#clutter-path-get-nodes" title="clutter_path_get_nodes ()">clutter_path_get_nodes</a>              (<em class="parameter"><code><a class="link" href="ClutterPath.html" title="ClutterPath"><span class="type">ClutterPath</span></a> *path</code></em>);
92 <span class="returnvalue">void</span>                <a class="link" href="ClutterPath.html#clutter-path-foreach" title="clutter_path_foreach ()">clutter_path_foreach</a>                (<em class="parameter"><code><a class="link" href="ClutterPath.html" title="ClutterPath"><span class="type">ClutterPath</span></a> *path</code></em>,
93                                                          <em class="parameter"><code><a class="link" href="ClutterPath.html#ClutterPathCallback" title="ClutterPathCallback ()"><span class="type">ClutterPathCallback</span></a> callback</code></em>,
94                                                          <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);
95 <span class="returnvalue">void</span>                <a class="link" href="ClutterPath.html#clutter-path-insert-node" title="clutter_path_insert_node ()">clutter_path_insert_node</a>            (<em class="parameter"><code><a class="link" href="ClutterPath.html" title="ClutterPath"><span class="type">ClutterPath</span></a> *path</code></em>,
96                                                          <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> index_</code></em>,
97                                                          <em class="parameter"><code>const <a class="link" href="ClutterPath.html#ClutterPathNode" title="struct ClutterPathNode"><span class="type">ClutterPathNode</span></a> *node</code></em>);
98 <span class="returnvalue">void</span>                <a class="link" href="ClutterPath.html#clutter-path-remove-node" title="clutter_path_remove_node ()">clutter_path_remove_node</a>            (<em class="parameter"><code><a class="link" href="ClutterPath.html" title="ClutterPath"><span class="type">ClutterPath</span></a> *path</code></em>,
99                                                          <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> index_</code></em>);
100 <span class="returnvalue">void</span>                <a class="link" href="ClutterPath.html#clutter-path-replace-node" title="clutter_path_replace_node ()">clutter_path_replace_node</a>           (<em class="parameter"><code><a class="link" href="ClutterPath.html" title="ClutterPath"><span class="type">ClutterPath</span></a> *path</code></em>,
101                                                          <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> index_</code></em>,
102                                                          <em class="parameter"><code>const <a class="link" href="ClutterPath.html#ClutterPathNode" title="struct ClutterPathNode"><span class="type">ClutterPathNode</span></a> *node</code></em>);
103 <a href="../glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *             <a class="link" href="ClutterPath.html#clutter-path-get-description" title="clutter_path_get_description ()">clutter_path_get_description</a>        (<em class="parameter"><code><a class="link" href="ClutterPath.html" title="ClutterPath"><span class="type">ClutterPath</span></a> *path</code></em>);
104 <a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="ClutterPath.html#clutter-path-set-description" title="clutter_path_set_description ()">clutter_path_set_description</a>        (<em class="parameter"><code><a class="link" href="ClutterPath.html" title="ClutterPath"><span class="type">ClutterPath</span></a> *path</code></em>,
105                                                          <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *str</code></em>);
106 <span class="returnvalue">void</span>                <a class="link" href="ClutterPath.html#clutter-path-to-cairo-path" title="clutter_path_to_cairo_path ()">clutter_path_to_cairo_path</a>          (<em class="parameter"><code><a class="link" href="ClutterPath.html" title="ClutterPath"><span class="type">ClutterPath</span></a> *path</code></em>,
107                                                          <em class="parameter"><code><a href="/home/ebassi/gnome3/install/share/gtk-doc/html/cairo/cairo-cairo-t.html#cairo-t"><span class="type">cairo_t</span></a> *cr</code></em>);
108 <span class="returnvalue">void</span>                <a class="link" href="ClutterPath.html#clutter-path-clear" title="clutter_path_clear ()">clutter_path_clear</a>                  (<em class="parameter"><code><a class="link" href="ClutterPath.html" title="ClutterPath"><span class="type">ClutterPath</span></a> *path</code></em>);
109 <a href="../glib/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>               <a class="link" href="ClutterPath.html#clutter-path-get-position" title="clutter_path_get_position ()">clutter_path_get_position</a>           (<em class="parameter"><code><a class="link" href="ClutterPath.html" title="ClutterPath"><span class="type">ClutterPath</span></a> *path</code></em>,
110                                                          <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> progress</code></em>,
111                                                          <em class="parameter"><code><a class="link" href="ClutterBehaviourPath.html#ClutterKnot" title="struct ClutterKnot"><span class="type">ClutterKnot</span></a> *position</code></em>);
112 <a href="../glib/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>               <a class="link" href="ClutterPath.html#clutter-path-get-length" title="clutter_path_get_length ()">clutter_path_get_length</a>             (<em class="parameter"><code><a class="link" href="ClutterPath.html" title="ClutterPath"><span class="type">ClutterPath</span></a> *path</code></em>);
113
114 struct              <a class="link" href="ClutterPath.html#ClutterPathNode" title="struct ClutterPathNode">ClutterPathNode</a>;
115 <a class="link" href="ClutterPath.html#ClutterPathNode" title="struct ClutterPathNode"><span class="returnvalue">ClutterPathNode</span></a> *   <a class="link" href="ClutterPath.html#clutter-path-node-copy" title="clutter_path_node_copy ()">clutter_path_node_copy</a>              (<em class="parameter"><code>const <a class="link" href="ClutterPath.html#ClutterPathNode" title="struct ClutterPathNode"><span class="type">ClutterPathNode</span></a> *node</code></em>);
116 <span class="returnvalue">void</span>                <a class="link" href="ClutterPath.html#clutter-path-node-free" title="clutter_path_node_free ()">clutter_path_node_free</a>              (<em class="parameter"><code><a class="link" href="ClutterPath.html#ClutterPathNode" title="struct ClutterPathNode"><span class="type">ClutterPathNode</span></a> *node</code></em>);
117 <a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="ClutterPath.html#clutter-path-node-equal" title="clutter_path_node_equal ()">clutter_path_node_equal</a>             (<em class="parameter"><code>const <a class="link" href="ClutterPath.html#ClutterPathNode" title="struct ClutterPathNode"><span class="type">ClutterPathNode</span></a> *node_a</code></em>,
118                                                          <em class="parameter"><code>const <a class="link" href="ClutterPath.html#ClutterPathNode" title="struct ClutterPathNode"><span class="type">ClutterPathNode</span></a> *node_b</code></em>);
119 </pre>
120 </div>
121 <div class="refsect1">
122 <a name="ClutterPath.object-hierarchy"></a><h2>Object Hierarchy</h2>
123 <pre class="synopsis">
124   <a href="../gobject/gobject-The-Base-Object-Type.html#GObject">GObject</a>
125    +----<a href="../gobject/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
126          +----ClutterPath
127 </pre>
128 </div>
129 <div class="refsect1">
130 <a name="ClutterPath.properties"></a><h2>Properties</h2>
131 <pre class="synopsis">
132   "<a class="link" href="ClutterPath.html#ClutterPath--description" title='The "description" property'>description</a>"              <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>*                : Read / Write
133   "<a class="link" href="ClutterPath.html#ClutterPath--length" title='The "length" property'>length</a>"                   <a href="../glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a>                 : Read
134 </pre>
135 </div>
136 <div class="refsect1">
137 <a name="ClutterPath.description"></a><h2>Description</h2>
138 <p>
139 A <a class="link" href="ClutterPath.html" title="ClutterPath"><span class="type">ClutterPath</span></a> contains a description of a path consisting of
140 straight lines and bezier curves. This can be used in a
141 <a class="link" href="ClutterBehaviourPath.html" title="ClutterBehaviourPath"><span class="type">ClutterBehaviourPath</span></a> to animate an actor moving along the path.
142 </p>
143 <p>
144 The path consists of a series of nodes. Each node is one of the
145 following four types:
146 </p>
147 <p>
148 </p>
149 <div class="variablelist"><table border="0">
150 <col align="left" valign="top">
151 <tbody>
152 <tr>
153 <td><p><span class="term"><a class="link" href="ClutterPath.html#CLUTTER-PATH-MOVE-TO:CAPS"><code class="literal">CLUTTER_PATH_MOVE_TO</code></a></span></p></td>
154 <td><p>
155 Changes the position of the path to the given pair of
156 coordinates. This is usually used as the first node of a path to
157 mark the start position. If it is used in the middle of a path then
158 the path will be disjoint and the actor will appear to jump to the
159 new position when animated.
160 </p></td>
161 </tr>
162 <tr>
163 <td><p><span class="term"><a class="link" href="ClutterPath.html#CLUTTER-PATH-LINE-TO:CAPS"><code class="literal">CLUTTER_PATH_LINE_TO</code></a></span></p></td>
164 <td><p>
165 Creates a straight line from the previous point to the given point.
166 </p></td>
167 </tr>
168 <tr>
169 <td><p><span class="term"><a class="link" href="ClutterPath.html#CLUTTER-PATH-CURVE-TO:CAPS"><code class="literal">CLUTTER_PATH_CURVE_TO</code></a></span></p></td>
170 <td><p>
171 Creates a bezier curve. The end of the last node is used as the
172 first control point and the three subsequent coordinates given in
173 the node as used as the other three.
174 </p></td>
175 </tr>
176 <tr>
177 <td><p><span class="term"><a class="link" href="ClutterPath.html#CLUTTER-PATH-CLOSE:CAPS"><code class="literal">CLUTTER_PATH_CLOSE</code></a></span></p></td>
178 <td><p>
179 Creates a straight line from the last node to the last
180 <a class="link" href="ClutterPath.html#CLUTTER-PATH-MOVE-TO:CAPS"><code class="literal">CLUTTER_PATH_MOVE_TO</code></a> node. This can be used to close a path so
181 that it will appear as a loop when animated.
182 </p></td>
183 </tr>
184 </tbody>
185 </table></div>
186 <p>
187 </p>
188 <p>
189 The first three types have the corresponding relative versions
190 <a class="link" href="ClutterPath.html#CLUTTER-PATH-REL-MOVE-TO:CAPS"><code class="literal">CLUTTER_PATH_REL_MOVE_TO</code></a>, <a class="link" href="ClutterPath.html#CLUTTER-PATH-REL-LINE-TO:CAPS"><code class="literal">CLUTTER_PATH_REL_LINE_TO</code></a> and
191 <a class="link" href="ClutterPath.html#CLUTTER-PATH-REL-CURVE-TO:CAPS"><code class="literal">CLUTTER_PATH_REL_CURVE_TO</code></a>. These are exactly the same except the
192 coordinates are given relative to the previous node instead of as
193 direct screen positions.
194 </p>
195 <p>
196 You can build a path using the node adding functions such as
197 <a class="link" href="ClutterPath.html#clutter-path-add-line-to" title="clutter_path_add_line_to ()"><code class="function">clutter_path_add_line_to()</code></a>. Alternatively the path can be described
198 in a string using a subset of the SVG path syntax. See
199 <a class="link" href="ClutterPath.html#clutter-path-add-string" title="clutter_path_add_string ()"><code class="function">clutter_path_add_string()</code></a> for details.
200 </p>
201 <p>
202 <a class="link" href="ClutterPath.html" title="ClutterPath"><span class="type">ClutterPath</span></a> is available since Clutter 1.0
203 </p>
204 </div>
205 <div class="refsect1">
206 <a name="ClutterPath.details"></a><h2>Details</h2>
207 <div class="refsect2">
208 <a name="ClutterPath-struct"></a><h3>ClutterPath</h3>
209 <pre class="programlisting">typedef struct _ClutterPath ClutterPath;</pre>
210 <p>
211 The <a class="link" href="ClutterPath.html" title="ClutterPath"><span class="type">ClutterPath</span></a> struct contains only private data and should
212 be accessed with the functions below.
213 </p>
214 <p class="since">Since 1.0</p>
215 </div>
216 <hr>
217 <div class="refsect2">
218 <a name="ClutterPathClass"></a><h3>struct ClutterPathClass</h3>
219 <pre class="programlisting">struct ClutterPathClass {
220 };
221 </pre>
222 <p>
223 The <a class="link" href="ClutterPath.html#ClutterPathClass" title="struct ClutterPathClass"><span class="type">ClutterPathClass</span></a> struct contains only private data.
224 </p>
225 <p class="since">Since 1.0</p>
226 </div>
227 <hr>
228 <div class="refsect2">
229 <a name="ClutterPathCallback"></a><h3>ClutterPathCallback ()</h3>
230 <pre class="programlisting"><span class="returnvalue">void</span>                (*ClutterPathCallback)              (<em class="parameter"><code>const <a class="link" href="ClutterPath.html#ClutterPathNode" title="struct ClutterPathNode"><span class="type">ClutterPathNode</span></a> *node</code></em>,
231                                                          <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>);</pre>
232 <p>
233 This function is passed to <a class="link" href="ClutterPath.html#clutter-path-foreach" title="clutter_path_foreach ()"><code class="function">clutter_path_foreach()</code></a> and will be
234 called for each node contained in the path.
235 </p>
236 <div class="variablelist"><table border="0">
237 <col align="left" valign="top">
238 <tbody>
239 <tr>
240 <td><p><span class="term"><em class="parameter"><code>node</code></em> :</span></p></td>
241 <td>the node</td>
242 </tr>
243 <tr>
244 <td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
245 <td>optional data passed to the function. <span class="annotation">[<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym>]</span>
246 </td>
247 </tr>
248 </tbody>
249 </table></div>
250 <p class="since">Since 1.0</p>
251 </div>
252 <hr>
253 <div class="refsect2">
254 <a name="ClutterPathNodeType"></a><h3>enum ClutterPathNodeType</h3>
255 <pre class="programlisting">typedef enum {
256   CLUTTER_PATH_MOVE_TO      = 0,
257   CLUTTER_PATH_LINE_TO      = 1,
258   CLUTTER_PATH_CURVE_TO     = 2,
259   CLUTTER_PATH_CLOSE        = 3,
260
261   CLUTTER_PATH_REL_MOVE_TO  = CLUTTER_PATH_MOVE_TO | CLUTTER_PATH_RELATIVE,
262   CLUTTER_PATH_REL_LINE_TO  = CLUTTER_PATH_LINE_TO | CLUTTER_PATH_RELATIVE,
263   CLUTTER_PATH_REL_CURVE_TO = CLUTTER_PATH_CURVE_TO | CLUTTER_PATH_RELATIVE
264 } ClutterPathNodeType;
265 </pre>
266 <p>
267 Types of nodes in a <a class="link" href="ClutterPath.html" title="ClutterPath"><span class="type">ClutterPath</span></a>.
268 </p>
269 <div class="variablelist"><table border="0">
270 <col align="left" valign="top">
271 <tbody>
272 <tr>
273 <td><p><a name="CLUTTER-PATH-MOVE-TO:CAPS"></a><span class="term"><code class="literal">CLUTTER_PATH_MOVE_TO</code></span></p></td>
274 <td>jump to the given position
275 </td>
276 </tr>
277 <tr>
278 <td><p><a name="CLUTTER-PATH-LINE-TO:CAPS"></a><span class="term"><code class="literal">CLUTTER_PATH_LINE_TO</code></span></p></td>
279 <td>create a line from the last node to the
280   given position
281 </td>
282 </tr>
283 <tr>
284 <td><p><a name="CLUTTER-PATH-CURVE-TO:CAPS"></a><span class="term"><code class="literal">CLUTTER_PATH_CURVE_TO</code></span></p></td>
285 <td>bezier curve using the last position and
286   three control points.
287 </td>
288 </tr>
289 <tr>
290 <td><p><a name="CLUTTER-PATH-CLOSE:CAPS"></a><span class="term"><code class="literal">CLUTTER_PATH_CLOSE</code></span></p></td>
291 <td>create a line from the last node to the last
292   <a class="link" href="ClutterPath.html#CLUTTER-PATH-MOVE-TO:CAPS"><code class="literal">CLUTTER_PATH_MOVE_TO</code></a> node.
293 </td>
294 </tr>
295 <tr>
296 <td><p><a name="CLUTTER-PATH-REL-MOVE-TO:CAPS"></a><span class="term"><code class="literal">CLUTTER_PATH_REL_MOVE_TO</code></span></p></td>
297 <td>same as <a class="link" href="ClutterPath.html#CLUTTER-PATH-MOVE-TO:CAPS"><code class="literal">CLUTTER_PATH_MOVE_TO</code></a> but with
298   coordinates relative to the last node.
299 </td>
300 </tr>
301 <tr>
302 <td><p><a name="CLUTTER-PATH-REL-LINE-TO:CAPS"></a><span class="term"><code class="literal">CLUTTER_PATH_REL_LINE_TO</code></span></p></td>
303 <td>same as <a class="link" href="ClutterPath.html#CLUTTER-PATH-LINE-TO:CAPS"><code class="literal">CLUTTER_PATH_LINE_TO</code></a> but with
304   coordinates relative to the last node.
305 </td>
306 </tr>
307 <tr>
308 <td><p><a name="CLUTTER-PATH-REL-CURVE-TO:CAPS"></a><span class="term"><code class="literal">CLUTTER_PATH_REL_CURVE_TO</code></span></p></td>
309 <td>same as <a class="link" href="ClutterPath.html#CLUTTER-PATH-CURVE-TO:CAPS"><code class="literal">CLUTTER_PATH_CURVE_TO</code></a> but with
310   coordinates relative to the last node.
311 </td>
312 </tr>
313 </tbody>
314 </table></div>
315 <p class="since">Since 1.0</p>
316 </div>
317 <hr>
318 <div class="refsect2">
319 <a name="clutter-path-new"></a><h3>clutter_path_new ()</h3>
320 <pre class="programlisting"><a class="link" href="ClutterPath.html" title="ClutterPath"><span class="returnvalue">ClutterPath</span></a> *       clutter_path_new                    (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
321 <p>
322 Creates a new <a class="link" href="ClutterPath.html" title="ClutterPath"><span class="type">ClutterPath</span></a> instance with no nodes.
323 </p>
324 <p>
325 The object has a floating reference so if you add it to a
326 <a class="link" href="ClutterBehaviourPath.html" title="ClutterBehaviourPath"><span class="type">ClutterBehaviourPath</span></a> then you do not need to unref it.
327 </p>
328 <div class="variablelist"><table border="0">
329 <col align="left" valign="top">
330 <tbody><tr>
331 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
332 <td>the newly created <a class="link" href="ClutterPath.html" title="ClutterPath"><span class="type">ClutterPath</span></a>
333 </td>
334 </tr></tbody>
335 </table></div>
336 <p class="since">Since 1.0</p>
337 </div>
338 <hr>
339 <div class="refsect2">
340 <a name="clutter-path-new-with-description"></a><h3>clutter_path_new_with_description ()</h3>
341 <pre class="programlisting"><a class="link" href="ClutterPath.html" title="ClutterPath"><span class="returnvalue">ClutterPath</span></a> *       clutter_path_new_with_description   (<em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *desc</code></em>);</pre>
342 <p>
343 Creates a new <a class="link" href="ClutterPath.html" title="ClutterPath"><span class="type">ClutterPath</span></a> instance with the nodes described in
344 <em class="parameter"><code>desc</code></em>. See <a class="link" href="ClutterPath.html#clutter-path-add-string" title="clutter_path_add_string ()"><code class="function">clutter_path_add_string()</code></a> for details of the format of
345 the string.
346 </p>
347 <p>
348 The object has a floating reference so if you add it to a
349 <a class="link" href="ClutterBehaviourPath.html" title="ClutterBehaviourPath"><span class="type">ClutterBehaviourPath</span></a> then you do not need to unref it.
350 </p>
351 <div class="variablelist"><table border="0">
352 <col align="left" valign="top">
353 <tbody>
354 <tr>
355 <td><p><span class="term"><em class="parameter"><code>desc</code></em> :</span></p></td>
356 <td>a string describing the path</td>
357 </tr>
358 <tr>
359 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
360 <td>the newly created <a class="link" href="ClutterPath.html" title="ClutterPath"><span class="type">ClutterPath</span></a>
361 </td>
362 </tr>
363 </tbody>
364 </table></div>
365 <p class="since">Since 1.0</p>
366 </div>
367 <hr>
368 <div class="refsect2">
369 <a name="clutter-path-add-move-to"></a><h3>clutter_path_add_move_to ()</h3>
370 <pre class="programlisting"><span class="returnvalue">void</span>                clutter_path_add_move_to            (<em class="parameter"><code><a class="link" href="ClutterPath.html" title="ClutterPath"><span class="type">ClutterPath</span></a> *path</code></em>,
371                                                          <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> x</code></em>,
372                                                          <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> y</code></em>);</pre>
373 <p>
374 Adds a <a class="link" href="ClutterPath.html#CLUTTER-PATH-MOVE-TO:CAPS"><code class="literal">CLUTTER_PATH_MOVE_TO</code></a> type node to the path. This is usually
375 used as the first node in a path. It can also be used in the middle
376 of the path to cause the actor to jump to the new coordinate.
377 </p>
378 <div class="variablelist"><table border="0">
379 <col align="left" valign="top">
380 <tbody>
381 <tr>
382 <td><p><span class="term"><em class="parameter"><code>path</code></em> :</span></p></td>
383 <td>a <a class="link" href="ClutterPath.html" title="ClutterPath"><span class="type">ClutterPath</span></a>
384 </td>
385 </tr>
386 <tr>
387 <td><p><span class="term"><em class="parameter"><code>x</code></em> :</span></p></td>
388 <td>the x coordinate</td>
389 </tr>
390 <tr>
391 <td><p><span class="term"><em class="parameter"><code>y</code></em> :</span></p></td>
392 <td>the y coordinate</td>
393 </tr>
394 </tbody>
395 </table></div>
396 <p class="since">Since 1.0</p>
397 </div>
398 <hr>
399 <div class="refsect2">
400 <a name="clutter-path-add-rel-move-to"></a><h3>clutter_path_add_rel_move_to ()</h3>
401 <pre class="programlisting"><span class="returnvalue">void</span>                clutter_path_add_rel_move_to        (<em class="parameter"><code><a class="link" href="ClutterPath.html" title="ClutterPath"><span class="type">ClutterPath</span></a> *path</code></em>,
402                                                          <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> x</code></em>,
403                                                          <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> y</code></em>);</pre>
404 <p>
405 Same as <a class="link" href="ClutterPath.html#clutter-path-add-move-to" title="clutter_path_add_move_to ()"><code class="function">clutter_path_add_move_to()</code></a> except the coordinates are
406 relative to the previous node.
407 </p>
408 <div class="variablelist"><table border="0">
409 <col align="left" valign="top">
410 <tbody>
411 <tr>
412 <td><p><span class="term"><em class="parameter"><code>path</code></em> :</span></p></td>
413 <td>a <a class="link" href="ClutterPath.html" title="ClutterPath"><span class="type">ClutterPath</span></a>
414 </td>
415 </tr>
416 <tr>
417 <td><p><span class="term"><em class="parameter"><code>x</code></em> :</span></p></td>
418 <td>the x coordinate</td>
419 </tr>
420 <tr>
421 <td><p><span class="term"><em class="parameter"><code>y</code></em> :</span></p></td>
422 <td>the y coordinate</td>
423 </tr>
424 </tbody>
425 </table></div>
426 <p class="since">Since 1.0</p>
427 </div>
428 <hr>
429 <div class="refsect2">
430 <a name="clutter-path-add-line-to"></a><h3>clutter_path_add_line_to ()</h3>
431 <pre class="programlisting"><span class="returnvalue">void</span>                clutter_path_add_line_to            (<em class="parameter"><code><a class="link" href="ClutterPath.html" title="ClutterPath"><span class="type">ClutterPath</span></a> *path</code></em>,
432                                                          <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> x</code></em>,
433                                                          <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> y</code></em>);</pre>
434 <p>
435 Adds a <a class="link" href="ClutterPath.html#CLUTTER-PATH-LINE-TO:CAPS"><code class="literal">CLUTTER_PATH_LINE_TO</code></a> type node to the path. This causes the
436 actor to move to the new coordinates in a straight line.
437 </p>
438 <div class="variablelist"><table border="0">
439 <col align="left" valign="top">
440 <tbody>
441 <tr>
442 <td><p><span class="term"><em class="parameter"><code>path</code></em> :</span></p></td>
443 <td>a <a class="link" href="ClutterPath.html" title="ClutterPath"><span class="type">ClutterPath</span></a>
444 </td>
445 </tr>
446 <tr>
447 <td><p><span class="term"><em class="parameter"><code>x</code></em> :</span></p></td>
448 <td>the x coordinate</td>
449 </tr>
450 <tr>
451 <td><p><span class="term"><em class="parameter"><code>y</code></em> :</span></p></td>
452 <td>the y coordinate</td>
453 </tr>
454 </tbody>
455 </table></div>
456 <p class="since">Since 1.0</p>
457 </div>
458 <hr>
459 <div class="refsect2">
460 <a name="clutter-path-add-rel-line-to"></a><h3>clutter_path_add_rel_line_to ()</h3>
461 <pre class="programlisting"><span class="returnvalue">void</span>                clutter_path_add_rel_line_to        (<em class="parameter"><code><a class="link" href="ClutterPath.html" title="ClutterPath"><span class="type">ClutterPath</span></a> *path</code></em>,
462                                                          <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> x</code></em>,
463                                                          <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> y</code></em>);</pre>
464 <p>
465 Same as <a class="link" href="ClutterPath.html#clutter-path-add-line-to" title="clutter_path_add_line_to ()"><code class="function">clutter_path_add_line_to()</code></a> except the coordinates are
466 relative to the previous node.
467 </p>
468 <div class="variablelist"><table border="0">
469 <col align="left" valign="top">
470 <tbody>
471 <tr>
472 <td><p><span class="term"><em class="parameter"><code>path</code></em> :</span></p></td>
473 <td>a <a class="link" href="ClutterPath.html" title="ClutterPath"><span class="type">ClutterPath</span></a>
474 </td>
475 </tr>
476 <tr>
477 <td><p><span class="term"><em class="parameter"><code>x</code></em> :</span></p></td>
478 <td>the x coordinate</td>
479 </tr>
480 <tr>
481 <td><p><span class="term"><em class="parameter"><code>y</code></em> :</span></p></td>
482 <td>the y coordinate</td>
483 </tr>
484 </tbody>
485 </table></div>
486 <p class="since">Since 1.0</p>
487 </div>
488 <hr>
489 <div class="refsect2">
490 <a name="clutter-path-add-curve-to"></a><h3>clutter_path_add_curve_to ()</h3>
491 <pre class="programlisting"><span class="returnvalue">void</span>                clutter_path_add_curve_to           (<em class="parameter"><code><a class="link" href="ClutterPath.html" title="ClutterPath"><span class="type">ClutterPath</span></a> *path</code></em>,
492                                                          <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> x_1</code></em>,
493                                                          <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> y_1</code></em>,
494                                                          <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> x_2</code></em>,
495                                                          <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> y_2</code></em>,
496                                                          <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> x_3</code></em>,
497                                                          <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> y_3</code></em>);</pre>
498 <p>
499 Adds a <a class="link" href="ClutterPath.html#CLUTTER-PATH-CURVE-TO:CAPS"><code class="literal">CLUTTER_PATH_CURVE_TO</code></a> type node to the path. This causes
500 the actor to follow a bezier from the last node to (<em class="parameter"><code>x_3</code></em>, <em class="parameter"><code>y_3</code></em>) using
501 (<em class="parameter"><code>x_1</code></em>, <em class="parameter"><code>y_1</code></em>) and (<em class="parameter"><code>x_2</code></em>,<em class="parameter"><code>y_2</code></em>) as control points.
502 </p>
503 <div class="variablelist"><table border="0">
504 <col align="left" valign="top">
505 <tbody>
506 <tr>
507 <td><p><span class="term"><em class="parameter"><code>path</code></em> :</span></p></td>
508 <td>a <a class="link" href="ClutterPath.html" title="ClutterPath"><span class="type">ClutterPath</span></a>
509 </td>
510 </tr>
511 <tr>
512 <td><p><span class="term"><em class="parameter"><code>x_1</code></em> :</span></p></td>
513 <td>the x coordinate of the first control point</td>
514 </tr>
515 <tr>
516 <td><p><span class="term"><em class="parameter"><code>y_1</code></em> :</span></p></td>
517 <td>the y coordinate of the first control point</td>
518 </tr>
519 <tr>
520 <td><p><span class="term"><em class="parameter"><code>x_2</code></em> :</span></p></td>
521 <td>the x coordinate of the second control point</td>
522 </tr>
523 <tr>
524 <td><p><span class="term"><em class="parameter"><code>y_2</code></em> :</span></p></td>
525 <td>the y coordinate of the second control point</td>
526 </tr>
527 <tr>
528 <td><p><span class="term"><em class="parameter"><code>x_3</code></em> :</span></p></td>
529 <td>the x coordinate of the third control point</td>
530 </tr>
531 <tr>
532 <td><p><span class="term"><em class="parameter"><code>y_3</code></em> :</span></p></td>
533 <td>the y coordinate of the third control point</td>
534 </tr>
535 </tbody>
536 </table></div>
537 <p class="since">Since 1.0</p>
538 </div>
539 <hr>
540 <div class="refsect2">
541 <a name="clutter-path-add-rel-curve-to"></a><h3>clutter_path_add_rel_curve_to ()</h3>
542 <pre class="programlisting"><span class="returnvalue">void</span>                clutter_path_add_rel_curve_to       (<em class="parameter"><code><a class="link" href="ClutterPath.html" title="ClutterPath"><span class="type">ClutterPath</span></a> *path</code></em>,
543                                                          <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> x_1</code></em>,
544                                                          <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> y_1</code></em>,
545                                                          <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> x_2</code></em>,
546                                                          <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> y_2</code></em>,
547                                                          <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> x_3</code></em>,
548                                                          <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> y_3</code></em>);</pre>
549 <p>
550 Same as <a class="link" href="ClutterPath.html#clutter-path-add-curve-to" title="clutter_path_add_curve_to ()"><code class="function">clutter_path_add_curve_to()</code></a> except the coordinates are
551 relative to the previous node.
552 </p>
553 <div class="variablelist"><table border="0">
554 <col align="left" valign="top">
555 <tbody>
556 <tr>
557 <td><p><span class="term"><em class="parameter"><code>path</code></em> :</span></p></td>
558 <td>a <a class="link" href="ClutterPath.html" title="ClutterPath"><span class="type">ClutterPath</span></a>
559 </td>
560 </tr>
561 <tr>
562 <td><p><span class="term"><em class="parameter"><code>x_1</code></em> :</span></p></td>
563 <td>the x coordinate of the first control point</td>
564 </tr>
565 <tr>
566 <td><p><span class="term"><em class="parameter"><code>y_1</code></em> :</span></p></td>
567 <td>the y coordinate of the first control point</td>
568 </tr>
569 <tr>
570 <td><p><span class="term"><em class="parameter"><code>x_2</code></em> :</span></p></td>
571 <td>the x coordinate of the second control point</td>
572 </tr>
573 <tr>
574 <td><p><span class="term"><em class="parameter"><code>y_2</code></em> :</span></p></td>
575 <td>the y coordinate of the second control point</td>
576 </tr>
577 <tr>
578 <td><p><span class="term"><em class="parameter"><code>x_3</code></em> :</span></p></td>
579 <td>the x coordinate of the third control point</td>
580 </tr>
581 <tr>
582 <td><p><span class="term"><em class="parameter"><code>y_3</code></em> :</span></p></td>
583 <td>the y coordinate of the third control point</td>
584 </tr>
585 </tbody>
586 </table></div>
587 <p class="since">Since 1.0</p>
588 </div>
589 <hr>
590 <div class="refsect2">
591 <a name="clutter-path-add-close"></a><h3>clutter_path_add_close ()</h3>
592 <pre class="programlisting"><span class="returnvalue">void</span>                clutter_path_add_close              (<em class="parameter"><code><a class="link" href="ClutterPath.html" title="ClutterPath"><span class="type">ClutterPath</span></a> *path</code></em>);</pre>
593 <p>
594 Adds a <a class="link" href="ClutterPath.html#CLUTTER-PATH-CLOSE:CAPS"><code class="literal">CLUTTER_PATH_CLOSE</code></a> type node to the path. This creates a
595 straight line from the last node to the last <a class="link" href="ClutterPath.html#CLUTTER-PATH-MOVE-TO:CAPS"><code class="literal">CLUTTER_PATH_MOVE_TO</code></a>
596 type node.
597 </p>
598 <div class="variablelist"><table border="0">
599 <col align="left" valign="top">
600 <tbody><tr>
601 <td><p><span class="term"><em class="parameter"><code>path</code></em> :</span></p></td>
602 <td>a <a class="link" href="ClutterPath.html" title="ClutterPath"><span class="type">ClutterPath</span></a>
603 </td>
604 </tr></tbody>
605 </table></div>
606 <p class="since">Since 1.0</p>
607 </div>
608 <hr>
609 <div class="refsect2">
610 <a name="clutter-path-add-string"></a><h3>clutter_path_add_string ()</h3>
611 <pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            clutter_path_add_string             (<em class="parameter"><code><a class="link" href="ClutterPath.html" title="ClutterPath"><span class="type">ClutterPath</span></a> *path</code></em>,
612                                                          <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *str</code></em>);</pre>
613 <p>
614 Adds new nodes to the end of the path as described in <em class="parameter"><code>str</code></em>. The
615 format is a subset of the SVG path format. Each node is represented
616 by a letter and is followed by zero, one or three pairs of
617 coordinates. The coordinates can be separated by spaces or a
618 comma. The types are:
619 </p>
620 <p>
621 </p>
622 <div class="variablelist"><table border="0">
623 <col align="left" valign="top">
624 <tbody>
625 <tr>
626 <td><p><span class="term">M</span></p></td>
627 <td><p>
628 Adds a <a class="link" href="ClutterPath.html#CLUTTER-PATH-MOVE-TO:CAPS"><code class="literal">CLUTTER_PATH_MOVE_TO</code></a> node. Takes one pair of coordinates.
629 </p></td>
630 </tr>
631 <tr>
632 <td><p><span class="term">L</span></p></td>
633 <td><p>
634 Adds a <a class="link" href="ClutterPath.html#CLUTTER-PATH-LINE-TO:CAPS"><code class="literal">CLUTTER_PATH_LINE_TO</code></a> node. Takes one pair of coordinates.
635 </p></td>
636 </tr>
637 <tr>
638 <td><p><span class="term">C</span></p></td>
639 <td><p>
640 Adds a <a class="link" href="ClutterPath.html#CLUTTER-PATH-CURVE-TO:CAPS"><code class="literal">CLUTTER_PATH_CURVE_TO</code></a> node. Takes three pairs of coordinates.
641 </p></td>
642 </tr>
643 <tr>
644 <td><p><span class="term">z</span></p></td>
645 <td><p>
646 Adds a <a class="link" href="ClutterPath.html#CLUTTER-PATH-CLOSE:CAPS"><code class="literal">CLUTTER_PATH_CLOSE</code></a> node. No coordinates are needed.
647 </p></td>
648 </tr>
649 </tbody>
650 </table></div>
651 <p>
652 </p>
653 <p>
654 The M, L and C commands can also be specified in lower case which
655 means the coordinates are relative to the previous node.
656 </p>
657 <p>
658 For example, to move an actor in a 100 by 100 pixel square centered
659 on the point 300,300 you could use the following path:
660 </p>
661 <p>
662 </p>
663 <div class="informalexample">
664   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
665     <tbody>
666       <tr>
667         <td class="listing_lines" align="right"><pre>1</pre></td>
668         <td class="listing_code"><pre class="programlisting"><span class="normal">M </span><span class="number">250</span><span class="symbol">,</span><span class="number">350</span><span class="normal"> l </span><span class="number">0</span><span class="normal"> </span><span class="symbol">-</span><span class="number">100</span><span class="normal"> L </span><span class="number">350</span><span class="symbol">,</span><span class="number">250</span><span class="normal"> l </span><span class="number">0</span><span class="normal"> </span><span class="number">100</span><span class="normal"> z</span></pre></td>
669       </tr>
670     </tbody>
671   </table>
672 </div>
673
674 <p>
675 </p>
676 <p>
677 If the path description isn't valid <a href="../glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> will be returned and no
678 nodes will be added.
679 </p>
680 <div class="variablelist"><table border="0">
681 <col align="left" valign="top">
682 <tbody>
683 <tr>
684 <td><p><span class="term"><em class="parameter"><code>path</code></em> :</span></p></td>
685 <td>a <a class="link" href="ClutterPath.html" title="ClutterPath"><span class="type">ClutterPath</span></a>
686 </td>
687 </tr>
688 <tr>
689 <td><p><span class="term"><em class="parameter"><code>str</code></em> :</span></p></td>
690 <td>a string describing the new nodes</td>
691 </tr>
692 <tr>
693 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
694 <td>
695 <a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> is the path description was valid or <a href="../glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>
696 otherwise.</td>
697 </tr>
698 </tbody>
699 </table></div>
700 <p class="since">Since 1.0</p>
701 </div>
702 <hr>
703 <div class="refsect2">
704 <a name="clutter-path-add-node"></a><h3>clutter_path_add_node ()</h3>
705 <pre class="programlisting"><span class="returnvalue">void</span>                clutter_path_add_node               (<em class="parameter"><code><a class="link" href="ClutterPath.html" title="ClutterPath"><span class="type">ClutterPath</span></a> *path</code></em>,
706                                                          <em class="parameter"><code>const <a class="link" href="ClutterPath.html#ClutterPathNode" title="struct ClutterPathNode"><span class="type">ClutterPathNode</span></a> *node</code></em>);</pre>
707 <p>
708 Adds <em class="parameter"><code>node</code></em> to the end of the path.
709 </p>
710 <div class="variablelist"><table border="0">
711 <col align="left" valign="top">
712 <tbody>
713 <tr>
714 <td><p><span class="term"><em class="parameter"><code>path</code></em> :</span></p></td>
715 <td>a <a class="link" href="ClutterPath.html" title="ClutterPath"><span class="type">ClutterPath</span></a>
716 </td>
717 </tr>
718 <tr>
719 <td><p><span class="term"><em class="parameter"><code>node</code></em> :</span></p></td>
720 <td>a <a class="link" href="ClutterPath.html#ClutterPathNode" title="struct ClutterPathNode"><span class="type">ClutterPathNode</span></a>
721 </td>
722 </tr>
723 </tbody>
724 </table></div>
725 <p class="since">Since 1.0</p>
726 </div>
727 <hr>
728 <div class="refsect2">
729 <a name="clutter-path-add-cairo-path"></a><h3>clutter_path_add_cairo_path ()</h3>
730 <pre class="programlisting"><span class="returnvalue">void</span>                clutter_path_add_cairo_path         (<em class="parameter"><code><a class="link" href="ClutterPath.html" title="ClutterPath"><span class="type">ClutterPath</span></a> *path</code></em>,
731                                                          <em class="parameter"><code>const <a href="/home/ebassi/gnome3/install/share/gtk-doc/html/cairo/cairo-Paths.html#cairo-path-t"><span class="type">cairo_path_t</span></a> *cpath</code></em>);</pre>
732 <p>
733 Add the nodes of the Cairo path to the end of <em class="parameter"><code>path</code></em>.
734 </p>
735 <div class="variablelist"><table border="0">
736 <col align="left" valign="top">
737 <tbody>
738 <tr>
739 <td><p><span class="term"><em class="parameter"><code>path</code></em> :</span></p></td>
740 <td>a <a class="link" href="ClutterPath.html" title="ClutterPath"><span class="type">ClutterPath</span></a>
741 </td>
742 </tr>
743 <tr>
744 <td><p><span class="term"><em class="parameter"><code>cpath</code></em> :</span></p></td>
745 <td>a Cairo path</td>
746 </tr>
747 </tbody>
748 </table></div>
749 <p class="since">Since 1.0</p>
750 </div>
751 <hr>
752 <div class="refsect2">
753 <a name="clutter-path-get-n-nodes"></a><h3>clutter_path_get_n_nodes ()</h3>
754 <pre class="programlisting"><a href="../glib/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>               clutter_path_get_n_nodes            (<em class="parameter"><code><a class="link" href="ClutterPath.html" title="ClutterPath"><span class="type">ClutterPath</span></a> *path</code></em>);</pre>
755 <p>
756 Retrieves the number of nodes in the path.
757 </p>
758 <div class="variablelist"><table border="0">
759 <col align="left" valign="top">
760 <tbody>
761 <tr>
762 <td><p><span class="term"><em class="parameter"><code>path</code></em> :</span></p></td>
763 <td>a <a class="link" href="ClutterPath.html" title="ClutterPath"><span class="type">ClutterPath</span></a>
764 </td>
765 </tr>
766 <tr>
767 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
768 <td>the number of nodes.</td>
769 </tr>
770 </tbody>
771 </table></div>
772 <p class="since">Since 1.0</p>
773 </div>
774 <hr>
775 <div class="refsect2">
776 <a name="clutter-path-get-node"></a><h3>clutter_path_get_node ()</h3>
777 <pre class="programlisting"><span class="returnvalue">void</span>                clutter_path_get_node               (<em class="parameter"><code><a class="link" href="ClutterPath.html" title="ClutterPath"><span class="type">ClutterPath</span></a> *path</code></em>,
778                                                          <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> index_</code></em>,
779                                                          <em class="parameter"><code><a class="link" href="ClutterPath.html#ClutterPathNode" title="struct ClutterPathNode"><span class="type">ClutterPathNode</span></a> *node</code></em>);</pre>
780 <p>
781 Retrieves the node of the path indexed by <em class="parameter"><code>index</code></em>.
782 </p>
783 <div class="variablelist"><table border="0">
784 <col align="left" valign="top">
785 <tbody>
786 <tr>
787 <td><p><span class="term"><em class="parameter"><code>path</code></em> :</span></p></td>
788 <td>a <a class="link" href="ClutterPath.html" title="ClutterPath"><span class="type">ClutterPath</span></a>
789 </td>
790 </tr>
791 <tr>
792 <td><p><span class="term"><em class="parameter"><code>index_</code></em> :</span></p></td>
793 <td>the node number to retrieve</td>
794 </tr>
795 <tr>
796 <td><p><span class="term"><em class="parameter"><code>node</code></em> :</span></p></td>
797 <td>a location to store a copy of the node. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span>
798 </td>
799 </tr>
800 </tbody>
801 </table></div>
802 <p class="since">Since 1.0</p>
803 </div>
804 <hr>
805 <div class="refsect2">
806 <a name="clutter-path-get-nodes"></a><h3>clutter_path_get_nodes ()</h3>
807 <pre class="programlisting"><a href="../glib/glib-Singly-Linked-Lists.html#GSList"><span class="returnvalue">GSList</span></a> *            clutter_path_get_nodes              (<em class="parameter"><code><a class="link" href="ClutterPath.html" title="ClutterPath"><span class="type">ClutterPath</span></a> *path</code></em>);</pre>
808 <p>
809 Returns a <a href="../glib/glib-Singly-Linked-Lists.html#GSList"><span class="type">GSList</span></a> of <a class="link" href="ClutterPath.html#ClutterPathNode" title="struct ClutterPathNode"><span class="type">ClutterPathNode</span></a>s. The list should be
810 freed with <a href="../glib/glib-Singly-Linked-Lists.html#g-slist-free"><code class="function">g_slist_free()</code></a>. The nodes are owned by the path and
811 should not be freed. Altering the path may cause the nodes in the
812 list to become invalid so you should copy them if you want to keep
813 the list.
814 </p>
815 <div class="variablelist"><table border="0">
816 <col align="left" valign="top">
817 <tbody>
818 <tr>
819 <td><p><span class="term"><em class="parameter"><code>path</code></em> :</span></p></td>
820 <td>a <a class="link" href="ClutterPath.html" title="ClutterPath"><span class="type">ClutterPath</span></a>
821 </td>
822 </tr>
823 <tr>
824 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
825 <td>a
826 list of nodes in the path. <span class="annotation">[<acronym title="Free data container after the code is done."><span class="acronym">transfer container</span></acronym>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> Clutter.PathNode]</span>
827 </td>
828 </tr>
829 </tbody>
830 </table></div>
831 <p class="since">Since 1.0</p>
832 </div>
833 <hr>
834 <div class="refsect2">
835 <a name="clutter-path-foreach"></a><h3>clutter_path_foreach ()</h3>
836 <pre class="programlisting"><span class="returnvalue">void</span>                clutter_path_foreach                (<em class="parameter"><code><a class="link" href="ClutterPath.html" title="ClutterPath"><span class="type">ClutterPath</span></a> *path</code></em>,
837                                                          <em class="parameter"><code><a class="link" href="ClutterPath.html#ClutterPathCallback" title="ClutterPathCallback ()"><span class="type">ClutterPathCallback</span></a> callback</code></em>,
838                                                          <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
839 <p>
840 Calls a function for each node of the path.
841 </p>
842 <div class="variablelist"><table border="0">
843 <col align="left" valign="top">
844 <tbody>
845 <tr>
846 <td><p><span class="term"><em class="parameter"><code>path</code></em> :</span></p></td>
847 <td>a <a class="link" href="ClutterPath.html" title="ClutterPath"><span class="type">ClutterPath</span></a>
848 </td>
849 </tr>
850 <tr>
851 <td><p><span class="term"><em class="parameter"><code>callback</code></em> :</span></p></td>
852 <td>the function to call with each node. <span class="annotation">[<acronym title="The callback is valid only during the call to the method."><span class="acronym">scope call</span></acronym>]</span>
853 </td>
854 </tr>
855 <tr>
856 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
857 <td>user data to pass to the function</td>
858 </tr>
859 </tbody>
860 </table></div>
861 <p class="since">Since 1.0</p>
862 </div>
863 <hr>
864 <div class="refsect2">
865 <a name="clutter-path-insert-node"></a><h3>clutter_path_insert_node ()</h3>
866 <pre class="programlisting"><span class="returnvalue">void</span>                clutter_path_insert_node            (<em class="parameter"><code><a class="link" href="ClutterPath.html" title="ClutterPath"><span class="type">ClutterPath</span></a> *path</code></em>,
867                                                          <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> index_</code></em>,
868                                                          <em class="parameter"><code>const <a class="link" href="ClutterPath.html#ClutterPathNode" title="struct ClutterPathNode"><span class="type">ClutterPathNode</span></a> *node</code></em>);</pre>
869 <p>
870 Inserts <em class="parameter"><code>node</code></em> into the path before the node at the given offset. If
871 <em class="parameter"><code>index_</code></em> is negative it will append the node to the end of the path.
872 </p>
873 <div class="variablelist"><table border="0">
874 <col align="left" valign="top">
875 <tbody>
876 <tr>
877 <td><p><span class="term"><em class="parameter"><code>path</code></em> :</span></p></td>
878 <td>a <a class="link" href="ClutterPath.html" title="ClutterPath"><span class="type">ClutterPath</span></a>
879 </td>
880 </tr>
881 <tr>
882 <td><p><span class="term"><em class="parameter"><code>index_</code></em> :</span></p></td>
883 <td>offset of where to insert the node</td>
884 </tr>
885 <tr>
886 <td><p><span class="term"><em class="parameter"><code>node</code></em> :</span></p></td>
887 <td>the node to insert</td>
888 </tr>
889 </tbody>
890 </table></div>
891 <p class="since">Since 1.0</p>
892 </div>
893 <hr>
894 <div class="refsect2">
895 <a name="clutter-path-remove-node"></a><h3>clutter_path_remove_node ()</h3>
896 <pre class="programlisting"><span class="returnvalue">void</span>                clutter_path_remove_node            (<em class="parameter"><code><a class="link" href="ClutterPath.html" title="ClutterPath"><span class="type">ClutterPath</span></a> *path</code></em>,
897                                                          <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> index_</code></em>);</pre>
898 <p>
899 Removes the node at the given offset from the path.
900 </p>
901 <div class="variablelist"><table border="0">
902 <col align="left" valign="top">
903 <tbody>
904 <tr>
905 <td><p><span class="term"><em class="parameter"><code>path</code></em> :</span></p></td>
906 <td>a <a class="link" href="ClutterPath.html" title="ClutterPath"><span class="type">ClutterPath</span></a>
907 </td>
908 </tr>
909 <tr>
910 <td><p><span class="term"><em class="parameter"><code>index_</code></em> :</span></p></td>
911 <td>index of the node to remove</td>
912 </tr>
913 </tbody>
914 </table></div>
915 <p class="since">Since 1.0</p>
916 </div>
917 <hr>
918 <div class="refsect2">
919 <a name="clutter-path-replace-node"></a><h3>clutter_path_replace_node ()</h3>
920 <pre class="programlisting"><span class="returnvalue">void</span>                clutter_path_replace_node           (<em class="parameter"><code><a class="link" href="ClutterPath.html" title="ClutterPath"><span class="type">ClutterPath</span></a> *path</code></em>,
921                                                          <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> index_</code></em>,
922                                                          <em class="parameter"><code>const <a class="link" href="ClutterPath.html#ClutterPathNode" title="struct ClutterPathNode"><span class="type">ClutterPathNode</span></a> *node</code></em>);</pre>
923 <p>
924 Replaces the node at offset <em class="parameter"><code>index_</code></em> with <em class="parameter"><code>node</code></em>.
925 </p>
926 <div class="variablelist"><table border="0">
927 <col align="left" valign="top">
928 <tbody>
929 <tr>
930 <td><p><span class="term"><em class="parameter"><code>path</code></em> :</span></p></td>
931 <td>a <a class="link" href="ClutterPath.html" title="ClutterPath"><span class="type">ClutterPath</span></a>
932 </td>
933 </tr>
934 <tr>
935 <td><p><span class="term"><em class="parameter"><code>index_</code></em> :</span></p></td>
936 <td>index to the existing node</td>
937 </tr>
938 <tr>
939 <td><p><span class="term"><em class="parameter"><code>node</code></em> :</span></p></td>
940 <td>the replacement node</td>
941 </tr>
942 </tbody>
943 </table></div>
944 <p class="since">Since 1.0</p>
945 </div>
946 <hr>
947 <div class="refsect2">
948 <a name="clutter-path-get-description"></a><h3>clutter_path_get_description ()</h3>
949 <pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *             clutter_path_get_description        (<em class="parameter"><code><a class="link" href="ClutterPath.html" title="ClutterPath"><span class="type">ClutterPath</span></a> *path</code></em>);</pre>
950 <p>
951 Returns a newly allocated string describing the path in the same
952 format as used by <a class="link" href="ClutterPath.html#clutter-path-add-string" title="clutter_path_add_string ()"><code class="function">clutter_path_add_string()</code></a>.
953 </p>
954 <div class="variablelist"><table border="0">
955 <col align="left" valign="top">
956 <tbody>
957 <tr>
958 <td><p><span class="term"><em class="parameter"><code>path</code></em> :</span></p></td>
959 <td>a <a class="link" href="ClutterPath.html" title="ClutterPath"><span class="type">ClutterPath</span></a>
960 </td>
961 </tr>
962 <tr>
963 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
964 <td>a string description of the path. Free with <a href="../glib/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>.</td>
965 </tr>
966 </tbody>
967 </table></div>
968 <p class="since">Since 1.0</p>
969 </div>
970 <hr>
971 <div class="refsect2">
972 <a name="clutter-path-set-description"></a><h3>clutter_path_set_description ()</h3>
973 <pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            clutter_path_set_description        (<em class="parameter"><code><a class="link" href="ClutterPath.html" title="ClutterPath"><span class="type">ClutterPath</span></a> *path</code></em>,
974                                                          <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *str</code></em>);</pre>
975 <p>
976 Replaces all of the nodes in the path with nodes described by
977 <em class="parameter"><code>str</code></em>. See <a class="link" href="ClutterPath.html#clutter-path-add-string" title="clutter_path_add_string ()"><code class="function">clutter_path_add_string()</code></a> for details of the format.
978 </p>
979 <p>
980 If the string is invalid then <a href="../glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> is returned and the path is
981 unaltered.
982 </p>
983 <div class="variablelist"><table border="0">
984 <col align="left" valign="top">
985 <tbody>
986 <tr>
987 <td><p><span class="term"><em class="parameter"><code>path</code></em> :</span></p></td>
988 <td>a <a class="link" href="ClutterPath.html" title="ClutterPath"><span class="type">ClutterPath</span></a>
989 </td>
990 </tr>
991 <tr>
992 <td><p><span class="term"><em class="parameter"><code>str</code></em> :</span></p></td>
993 <td>a string describing the path</td>
994 </tr>
995 <tr>
996 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
997 <td>
998 <a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> is the path was valid, <a href="../glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</td>
999 </tr>
1000 </tbody>
1001 </table></div>
1002 <p class="since">Since 1.0</p>
1003 </div>
1004 <hr>
1005 <div class="refsect2">
1006 <a name="clutter-path-to-cairo-path"></a><h3>clutter_path_to_cairo_path ()</h3>
1007 <pre class="programlisting"><span class="returnvalue">void</span>                clutter_path_to_cairo_path          (<em class="parameter"><code><a class="link" href="ClutterPath.html" title="ClutterPath"><span class="type">ClutterPath</span></a> *path</code></em>,
1008                                                          <em class="parameter"><code><a href="/home/ebassi/gnome3/install/share/gtk-doc/html/cairo/cairo-cairo-t.html#cairo-t"><span class="type">cairo_t</span></a> *cr</code></em>);</pre>
1009 <p>
1010 Add the nodes of the ClutterPath to the path in the Cairo context.
1011 </p>
1012 <div class="variablelist"><table border="0">
1013 <col align="left" valign="top">
1014 <tbody>
1015 <tr>
1016 <td><p><span class="term"><em class="parameter"><code>path</code></em> :</span></p></td>
1017 <td>a <a class="link" href="ClutterPath.html" title="ClutterPath"><span class="type">ClutterPath</span></a>
1018 </td>
1019 </tr>
1020 <tr>
1021 <td><p><span class="term"><em class="parameter"><code>cr</code></em> :</span></p></td>
1022 <td>a Cairo context</td>
1023 </tr>
1024 </tbody>
1025 </table></div>
1026 <p class="since">Since 1.0</p>
1027 </div>
1028 <hr>
1029 <div class="refsect2">
1030 <a name="clutter-path-clear"></a><h3>clutter_path_clear ()</h3>
1031 <pre class="programlisting"><span class="returnvalue">void</span>                clutter_path_clear                  (<em class="parameter"><code><a class="link" href="ClutterPath.html" title="ClutterPath"><span class="type">ClutterPath</span></a> *path</code></em>);</pre>
1032 <p>
1033 Removes all nodes from the path.
1034 </p>
1035 <div class="variablelist"><table border="0">
1036 <col align="left" valign="top">
1037 <tbody><tr>
1038 <td><p><span class="term"><em class="parameter"><code>path</code></em> :</span></p></td>
1039 <td>a <a class="link" href="ClutterPath.html" title="ClutterPath"><span class="type">ClutterPath</span></a>
1040 </td>
1041 </tr></tbody>
1042 </table></div>
1043 <p class="since">Since 1.0</p>
1044 </div>
1045 <hr>
1046 <div class="refsect2">
1047 <a name="clutter-path-get-position"></a><h3>clutter_path_get_position ()</h3>
1048 <pre class="programlisting"><a href="../glib/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>               clutter_path_get_position           (<em class="parameter"><code><a class="link" href="ClutterPath.html" title="ClutterPath"><span class="type">ClutterPath</span></a> *path</code></em>,
1049                                                          <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> progress</code></em>,
1050                                                          <em class="parameter"><code><a class="link" href="ClutterBehaviourPath.html#ClutterKnot" title="struct ClutterKnot"><span class="type">ClutterKnot</span></a> *position</code></em>);</pre>
1051 <p>
1052 The value in <em class="parameter"><code>progress</code></em> represents a position along the path where
1053 0.0 is the beginning and 1.0 is the end of the path. An
1054 interpolated position is then stored in <em class="parameter"><code>position</code></em>.
1055 </p>
1056 <div class="variablelist"><table border="0">
1057 <col align="left" valign="top">
1058 <tbody>
1059 <tr>
1060 <td><p><span class="term"><em class="parameter"><code>path</code></em> :</span></p></td>
1061 <td>a <a class="link" href="ClutterPath.html" title="ClutterPath"><span class="type">ClutterPath</span></a>
1062 </td>
1063 </tr>
1064 <tr>
1065 <td><p><span class="term"><em class="parameter"><code>progress</code></em> :</span></p></td>
1066 <td>a position along the path as a fraction of its length</td>
1067 </tr>
1068 <tr>
1069 <td><p><span class="term"><em class="parameter"><code>position</code></em> :</span></p></td>
1070 <td>location to store the position. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span>
1071 </td>
1072 </tr>
1073 <tr>
1074 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1075 <td>index of the node used to calculate the position.</td>
1076 </tr>
1077 </tbody>
1078 </table></div>
1079 <p class="since">Since 1.0</p>
1080 </div>
1081 <hr>
1082 <div class="refsect2">
1083 <a name="clutter-path-get-length"></a><h3>clutter_path_get_length ()</h3>
1084 <pre class="programlisting"><a href="../glib/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>               clutter_path_get_length             (<em class="parameter"><code><a class="link" href="ClutterPath.html" title="ClutterPath"><span class="type">ClutterPath</span></a> *path</code></em>);</pre>
1085 <p>
1086 Retrieves an approximation of the total length of the path.
1087 </p>
1088 <div class="variablelist"><table border="0">
1089 <col align="left" valign="top">
1090 <tbody>
1091 <tr>
1092 <td><p><span class="term"><em class="parameter"><code>path</code></em> :</span></p></td>
1093 <td>a <a class="link" href="ClutterPath.html" title="ClutterPath"><span class="type">ClutterPath</span></a>
1094 </td>
1095 </tr>
1096 <tr>
1097 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1098 <td>the length of the path.</td>
1099 </tr>
1100 </tbody>
1101 </table></div>
1102 <p class="since">Since 1.0</p>
1103 </div>
1104 <hr>
1105 <div class="refsect2">
1106 <a name="ClutterPathNode"></a><h3>struct ClutterPathNode</h3>
1107 <pre class="programlisting">struct ClutterPathNode {
1108   ClutterPathNodeType type;
1109
1110   ClutterKnot points[3];
1111 };
1112 </pre>
1113 <p>
1114 Represents a single node of a <a class="link" href="ClutterPath.html" title="ClutterPath"><span class="type">ClutterPath</span></a>.
1115 </p>
1116 <p>
1117 Some of the coordinates in <em class="parameter"><code>points</code></em> may be unused for some node
1118 types. <a class="link" href="ClutterPath.html#CLUTTER-PATH-MOVE-TO:CAPS"><code class="literal">CLUTTER_PATH_MOVE_TO</code></a> and <a class="link" href="ClutterPath.html#CLUTTER-PATH-LINE-TO:CAPS"><code class="literal">CLUTTER_PATH_LINE_TO</code></a> use only one
1119 pair of coordinates, <a class="link" href="ClutterPath.html#CLUTTER-PATH-CURVE-TO:CAPS"><code class="literal">CLUTTER_PATH_CURVE_TO</code></a> uses all three and
1120 <a class="link" href="ClutterPath.html#CLUTTER-PATH-CLOSE:CAPS"><code class="literal">CLUTTER_PATH_CLOSE</code></a> uses none.
1121 </p>
1122 <div class="variablelist"><table border="0">
1123 <col align="left" valign="top">
1124 <tbody>
1125 <tr>
1126 <td><p><span class="term"><a class="link" href="ClutterPath.html#ClutterPathNodeType" title="enum ClutterPathNodeType"><span class="type">ClutterPathNodeType</span></a> <em class="structfield"><code><a name="ClutterPathNode.type"></a>type</code></em>;</span></p></td>
1127 <td>the node's type</td>
1128 </tr>
1129 <tr>
1130 <td><p><span class="term"><a class="link" href="ClutterBehaviourPath.html#ClutterKnot" title="struct ClutterKnot"><span class="type">ClutterKnot</span></a> <em class="structfield"><code><a name="ClutterPathNode.points"></a>points</code></em>[3];</span></p></td>
1131 <td>the coordinates of the node</td>
1132 </tr>
1133 </tbody>
1134 </table></div>
1135 <p class="since">Since 1.0</p>
1136 </div>
1137 <hr>
1138 <div class="refsect2">
1139 <a name="clutter-path-node-copy"></a><h3>clutter_path_node_copy ()</h3>
1140 <pre class="programlisting"><a class="link" href="ClutterPath.html#ClutterPathNode" title="struct ClutterPathNode"><span class="returnvalue">ClutterPathNode</span></a> *   clutter_path_node_copy              (<em class="parameter"><code>const <a class="link" href="ClutterPath.html#ClutterPathNode" title="struct ClutterPathNode"><span class="type">ClutterPathNode</span></a> *node</code></em>);</pre>
1141 <p>
1142 Makes an allocated copy of a node.
1143 </p>
1144 <div class="variablelist"><table border="0">
1145 <col align="left" valign="top">
1146 <tbody>
1147 <tr>
1148 <td><p><span class="term"><em class="parameter"><code>node</code></em> :</span></p></td>
1149 <td>a <a class="link" href="ClutterPath.html#ClutterPathNode" title="struct ClutterPathNode"><span class="type">ClutterPathNode</span></a>
1150 </td>
1151 </tr>
1152 <tr>
1153 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1154 <td>the copied node.</td>
1155 </tr>
1156 </tbody>
1157 </table></div>
1158 <p class="since">Since 1.0</p>
1159 </div>
1160 <hr>
1161 <div class="refsect2">
1162 <a name="clutter-path-node-free"></a><h3>clutter_path_node_free ()</h3>
1163 <pre class="programlisting"><span class="returnvalue">void</span>                clutter_path_node_free              (<em class="parameter"><code><a class="link" href="ClutterPath.html#ClutterPathNode" title="struct ClutterPathNode"><span class="type">ClutterPathNode</span></a> *node</code></em>);</pre>
1164 <p>
1165 Frees the memory of an allocated node.
1166 </p>
1167 <div class="variablelist"><table border="0">
1168 <col align="left" valign="top">
1169 <tbody><tr>
1170 <td><p><span class="term"><em class="parameter"><code>node</code></em> :</span></p></td>
1171 <td>a <a class="link" href="ClutterPath.html#ClutterPathNode" title="struct ClutterPathNode"><span class="type">ClutterPathNode</span></a>
1172 </td>
1173 </tr></tbody>
1174 </table></div>
1175 <p class="since">Since 1.0</p>
1176 </div>
1177 <hr>
1178 <div class="refsect2">
1179 <a name="clutter-path-node-equal"></a><h3>clutter_path_node_equal ()</h3>
1180 <pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            clutter_path_node_equal             (<em class="parameter"><code>const <a class="link" href="ClutterPath.html#ClutterPathNode" title="struct ClutterPathNode"><span class="type">ClutterPathNode</span></a> *node_a</code></em>,
1181                                                          <em class="parameter"><code>const <a class="link" href="ClutterPath.html#ClutterPathNode" title="struct ClutterPathNode"><span class="type">ClutterPathNode</span></a> *node_b</code></em>);</pre>
1182 <p>
1183 Compares two nodes and checks if they are the same type with the
1184 same coordinates.
1185 </p>
1186 <div class="variablelist"><table border="0">
1187 <col align="left" valign="top">
1188 <tbody>
1189 <tr>
1190 <td><p><span class="term"><em class="parameter"><code>node_a</code></em> :</span></p></td>
1191 <td>First node</td>
1192 </tr>
1193 <tr>
1194 <td><p><span class="term"><em class="parameter"><code>node_b</code></em> :</span></p></td>
1195 <td>Second node</td>
1196 </tr>
1197 <tr>
1198 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1199 <td>
1200 <a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the nodes are the same.</td>
1201 </tr>
1202 </tbody>
1203 </table></div>
1204 <p class="since">Since 1.0</p>
1205 </div>
1206 </div>
1207 <div class="refsect1">
1208 <a name="ClutterPath.property-details"></a><h2>Property Details</h2>
1209 <div class="refsect2">
1210 <a name="ClutterPath--description"></a><h3>The <code class="literal">"description"</code> property</h3>
1211 <pre class="programlisting">  "description"              <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>*                : Read / Write</pre>
1212 <p>SVG-style description of the path.</p>
1213 <p>Default value: ""</p>
1214 </div>
1215 <hr>
1216 <div class="refsect2">
1217 <a name="ClutterPath--length"></a><h3>The <code class="literal">"length"</code> property</h3>
1218 <pre class="programlisting">  "length"                   <a href="../glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a>                 : Read</pre>
1219 <p>An approximation of the total length of the path.</p>
1220 <p>Default value: 0</p>
1221 </div>
1222 </div>
1223 </div>
1224 <div class="footer">
1225 <hr>
1226           Generated by GTK-Doc V1.18.1</div>
1227 </body>
1228 </html>