1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
4 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
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="deprecated.html" title="Part X. Deprecated Classes">
9 <link rel="prev" href="ClutterScore.html" title="ClutterScore">
10 <link rel="next" href="ClutterBehaviour.html" title="ClutterBehaviour">
11 <meta name="generator" content="GTK-Doc V1.18.1 (XML mode)">
12 <link rel="stylesheet" href="style.css" type="text/css">
14 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
15 <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
17 <td><a accesskey="p" href="ClutterScore.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
18 <td><a accesskey="u" href="deprecated.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="ClutterBehaviour.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
23 <tr><td colspan="5" class="shortcuts">
24 <a href="#clutter-Shaders.synopsis" class="shortcut">Top</a>
26 <a href="#clutter-Shaders.description" class="shortcut">Description</a>
28 <a href="#clutter-Shaders.object-hierarchy" class="shortcut">Object Hierarchy</a>
30 <a href="#clutter-Shaders.properties" class="shortcut">Properties</a>
33 <div class="refentry">
34 <a name="clutter-Shaders"></a><div class="titlepage"></div>
35 <div class="refnamediv"><table width="100%"><tr>
37 <h2><span class="refentrytitle"><a name="clutter-Shaders.top_of_page"></a>Shaders</span></h2>
38 <p>Shaders — Programmable pipeline abstraction</p>
40 <td valign="top" align="right"></td>
42 <div class="refsynopsisdiv">
43 <a name="clutter-Shaders.synopsis"></a><h2>Synopsis</h2>
44 <a name="ClutterShader"></a><pre class="synopsis">enum <a class="link" href="clutter-Shaders.html#ClutterShaderError" title="enum ClutterShaderError">ClutterShaderError</a>;
45 <a class="link" href="clutter-Shaders.html#ClutterShader-struct" title="ClutterShader">ClutterShader</a>;
46 struct <a class="link" href="clutter-Shaders.html#ClutterShaderClass" title="struct ClutterShaderClass">ClutterShaderClass</a>;
47 <a class="link" href="clutter-Shaders.html#ClutterShader"><span class="returnvalue">ClutterShader</span></a> * <a class="link" href="clutter-Shaders.html#clutter-shader-new" title="clutter_shader_new ()">clutter_shader_new</a> (<em class="parameter"><code><span class="type">void</span></code></em>);
48 <span class="returnvalue">void</span> <a class="link" href="clutter-Shaders.html#clutter-shader-set-vertex-source" title="clutter_shader_set_vertex_source ()">clutter_shader_set_vertex_source</a> (<em class="parameter"><code><a class="link" href="clutter-Shaders.html#ClutterShader"><span class="type">ClutterShader</span></a> *shader</code></em>,
49 <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *data</code></em>,
50 <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gssize"><span class="type">gssize</span></a> length</code></em>);
51 const <a href="../glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * <a class="link" href="clutter-Shaders.html#clutter-shader-get-vertex-source" title="clutter_shader_get_vertex_source ()">clutter_shader_get_vertex_source</a> (<em class="parameter"><code><a class="link" href="clutter-Shaders.html#ClutterShader"><span class="type">ClutterShader</span></a> *shader</code></em>);
52 <span class="returnvalue">void</span> <a class="link" href="clutter-Shaders.html#clutter-shader-set-fragment-source" title="clutter_shader_set_fragment_source ()">clutter_shader_set_fragment_source</a> (<em class="parameter"><code><a class="link" href="clutter-Shaders.html#ClutterShader"><span class="type">ClutterShader</span></a> *shader</code></em>,
53 <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *data</code></em>,
54 <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gssize"><span class="type">gssize</span></a> length</code></em>);
55 const <a href="../glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * <a class="link" href="clutter-Shaders.html#clutter-shader-get-fragment-source" title="clutter_shader_get_fragment_source ()">clutter_shader_get_fragment_source</a> (<em class="parameter"><code><a class="link" href="clutter-Shaders.html#ClutterShader"><span class="type">ClutterShader</span></a> *shader</code></em>);
56 <a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="clutter-Shaders.html#clutter-shader-compile" title="clutter_shader_compile ()">clutter_shader_compile</a> (<em class="parameter"><code><a class="link" href="clutter-Shaders.html#ClutterShader"><span class="type">ClutterShader</span></a> *shader</code></em>,
57 <em class="parameter"><code><a href="../glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
58 <span class="returnvalue">void</span> <a class="link" href="clutter-Shaders.html#clutter-shader-release" title="clutter_shader_release ()">clutter_shader_release</a> (<em class="parameter"><code><a class="link" href="clutter-Shaders.html#ClutterShader"><span class="type">ClutterShader</span></a> *shader</code></em>);
59 <a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="clutter-Shaders.html#clutter-shader-is-compiled" title="clutter_shader_is_compiled ()">clutter_shader_is_compiled</a> (<em class="parameter"><code><a class="link" href="clutter-Shaders.html#ClutterShader"><span class="type">ClutterShader</span></a> *shader</code></em>);
60 <span class="returnvalue">void</span> <a class="link" href="clutter-Shaders.html#clutter-shader-set-is-enabled" title="clutter_shader_set_is_enabled ()">clutter_shader_set_is_enabled</a> (<em class="parameter"><code><a class="link" href="clutter-Shaders.html#ClutterShader"><span class="type">ClutterShader</span></a> *shader</code></em>,
61 <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> enabled</code></em>);
62 <a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="clutter-Shaders.html#clutter-shader-get-is-enabled" title="clutter_shader_get_is_enabled ()">clutter_shader_get_is_enabled</a> (<em class="parameter"><code><a class="link" href="clutter-Shaders.html#ClutterShader"><span class="type">ClutterShader</span></a> *shader</code></em>);
64 <span class="returnvalue">void</span> <a class="link" href="clutter-Shaders.html#clutter-shader-set-uniform" title="clutter_shader_set_uniform ()">clutter_shader_set_uniform</a> (<em class="parameter"><code><a class="link" href="clutter-Shaders.html#ClutterShader"><span class="type">ClutterShader</span></a> *shader</code></em>,
65 <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>,
66 <em class="parameter"><code>const <a href="../gobject/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *value</code></em>);
67 <span class="returnvalue">CoglHandle</span> <a class="link" href="clutter-Shaders.html#clutter-shader-get-cogl-program" title="clutter_shader_get_cogl_program ()">clutter_shader_get_cogl_program</a> (<em class="parameter"><code><a class="link" href="clutter-Shaders.html#ClutterShader"><span class="type">ClutterShader</span></a> *shader</code></em>);
68 <span class="returnvalue">CoglHandle</span> <a class="link" href="clutter-Shaders.html#clutter-shader-get-cogl-fragment-shader" title="clutter_shader_get_cogl_fragment_shader ()">clutter_shader_get_cogl_fragment_shader</a>
69 (<em class="parameter"><code><a class="link" href="clutter-Shaders.html#ClutterShader"><span class="type">ClutterShader</span></a> *shader</code></em>);
70 <span class="returnvalue">CoglHandle</span> <a class="link" href="clutter-Shaders.html#clutter-shader-get-cogl-vertex-shader" title="clutter_shader_get_cogl_vertex_shader ()">clutter_shader_get_cogl_vertex_shader</a>
71 (<em class="parameter"><code><a class="link" href="clutter-Shaders.html#ClutterShader"><span class="type">ClutterShader</span></a> *shader</code></em>);
73 #define <a class="link" href="clutter-Shaders.html#CLUTTER-VALUE-HOLDS-SHADER-FLOAT:CAPS" title="CLUTTER_VALUE_HOLDS_SHADER_FLOAT()">CLUTTER_VALUE_HOLDS_SHADER_FLOAT</a> (x)
74 <span class="returnvalue">void</span> <a class="link" href="clutter-Shaders.html#clutter-value-set-shader-float" title="clutter_value_set_shader_float ()">clutter_value_set_shader_float</a> (<em class="parameter"><code><a href="../gobject/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *value</code></em>,
75 <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> size</code></em>,
76 <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gfloat"><span class="type">gfloat</span></a> *floats</code></em>);
77 const <a href="../glib/glib-Basic-Types.html#gfloat"><span class="returnvalue">gfloat</span></a> * <a class="link" href="clutter-Shaders.html#clutter-value-get-shader-float" title="clutter_value_get_shader_float ()">clutter_value_get_shader_float</a> (<em class="parameter"><code>const <a href="../gobject/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *value</code></em>,
78 <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> *length</code></em>);
79 #define <a class="link" href="clutter-Shaders.html#CLUTTER-VALUE-HOLDS-SHADER-INT:CAPS" title="CLUTTER_VALUE_HOLDS_SHADER_INT()">CLUTTER_VALUE_HOLDS_SHADER_INT</a> (x)
80 <span class="returnvalue">void</span> <a class="link" href="clutter-Shaders.html#clutter-value-set-shader-int" title="clutter_value_set_shader_int ()">clutter_value_set_shader_int</a> (<em class="parameter"><code><a href="../gobject/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *value</code></em>,
81 <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> size</code></em>,
82 <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> *ints</code></em>);
83 const <a href="../glib/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a> * <a class="link" href="clutter-Shaders.html#clutter-value-get-shader-int" title="clutter_value_get_shader_int ()">clutter_value_get_shader_int</a> (<em class="parameter"><code>const <a href="../gobject/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *value</code></em>,
84 <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> *length</code></em>);
85 #define <a class="link" href="clutter-Shaders.html#CLUTTER-VALUE-HOLDS-SHADER-MATRIX:CAPS" title="CLUTTER_VALUE_HOLDS_SHADER_MATRIX()">CLUTTER_VALUE_HOLDS_SHADER_MATRIX</a> (x)
86 <span class="returnvalue">void</span> <a class="link" href="clutter-Shaders.html#clutter-value-set-shader-matrix" title="clutter_value_set_shader_matrix ()">clutter_value_set_shader_matrix</a> (<em class="parameter"><code><a href="../gobject/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *value</code></em>,
87 <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> size</code></em>,
88 <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gfloat"><span class="type">gfloat</span></a> *matrix</code></em>);
89 const <a href="../glib/glib-Basic-Types.html#gfloat"><span class="returnvalue">gfloat</span></a> * <a class="link" href="clutter-Shaders.html#clutter-value-get-shader-matrix" title="clutter_value_get_shader_matrix ()">clutter_value_get_shader_matrix</a> (<em class="parameter"><code>const <a href="../gobject/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *value</code></em>,
90 <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> *length</code></em>);
93 <div class="refsect1">
94 <a name="clutter-Shaders.object-hierarchy"></a><h2>Object Hierarchy</h2>
95 <pre class="synopsis">
96 <a href="../gobject/gobject-The-Base-Object-Type.html#GObject">GObject</a>
100 <div class="refsect1">
101 <a name="clutter-Shaders.properties"></a><h2>Properties</h2>
102 <pre class="synopsis">
103 "<a class="link" href="clutter-Shaders.html#ClutterShader--compiled" title='The "compiled" property'>compiled</a>" <a href="../glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> : Read
104 "<a class="link" href="clutter-Shaders.html#ClutterShader--enabled" title='The "enabled" property'>enabled</a>" <a href="../glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> : Read / Write
105 "<a class="link" href="clutter-Shaders.html#ClutterShader--fragment-source" title='The "fragment-source" property'>fragment-source</a>" <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>* : Read / Write
106 "<a class="link" href="clutter-Shaders.html#ClutterShader--vertex-source" title='The "vertex-source" property'>vertex-source</a>" <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>* : Read / Write
109 <div class="refsect1">
110 <a name="clutter-Shaders.description"></a><h2>Description</h2>
112 <a class="link" href="clutter-Shaders.html#ClutterShader"><span class="type">ClutterShader</span></a> is an object providing an abstraction over the
113 OpenGL programmable pipeline. By using <a class="link" href="clutter-Shaders.html#ClutterShader"><span class="type">ClutterShader</span></a>s is
114 possible to override the drawing pipeline by using small programs
115 also known as "shaders".
118 <a class="link" href="clutter-Shaders.html#ClutterShader"><span class="type">ClutterShader</span></a> is available since Clutter 0.6.
121 <a class="link" href="clutter-Shaders.html#ClutterShader"><span class="type">ClutterShader</span></a> is deprecated since Clutter 1.8; use <a class="link" href="ClutterShaderEffect.html" title="ClutterShaderEffect"><span class="type">ClutterShaderEffect</span></a>
122 in newly written code.
125 <div class="refsect1">
126 <a name="clutter-Shaders.details"></a><h2>Details</h2>
127 <div class="refsect2">
128 <a name="ClutterShaderError"></a><h3>enum ClutterShaderError</h3>
129 <pre class="programlisting">typedef enum {
130 CLUTTER_SHADER_ERROR_NO_ASM,
131 CLUTTER_SHADER_ERROR_NO_GLSL,
132 CLUTTER_SHADER_ERROR_COMPILE
133 } ClutterShaderError;
135 <div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
136 <h3 class="title">Warning</h3>
137 <p><code class="literal">ClutterShaderError</code> is deprecated and should not be used in newly-written code. 1.8</p>
140 <a class="link" href="clutter-Shaders.html#ClutterShader"><span class="type">ClutterShader</span></a> error enumeration
142 <div class="variablelist"><table border="0">
143 <col align="left" valign="top">
146 <td><p><a name="CLUTTER-SHADER-ERROR-NO-ASM:CAPS"></a><span class="term"><code class="literal">CLUTTER_SHADER_ERROR_NO_ASM</code></span></p></td>
147 <td>No ASM shaders support
151 <td><p><a name="CLUTTER-SHADER-ERROR-NO-GLSL:CAPS"></a><span class="term"><code class="literal">CLUTTER_SHADER_ERROR_NO_GLSL</code></span></p></td>
152 <td>No GLSL shaders support
156 <td><p><a name="CLUTTER-SHADER-ERROR-COMPILE:CAPS"></a><span class="term"><code class="literal">CLUTTER_SHADER_ERROR_COMPILE</code></span></p></td>
157 <td>Compilation error
162 <p class="since">Since 0.6</p>
165 <div class="refsect2">
166 <a name="ClutterShader-struct"></a><h3>ClutterShader</h3>
167 <pre class="programlisting">typedef struct _ClutterShader ClutterShader;</pre>
168 <div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
169 <h3 class="title">Warning</h3>
170 <p><code class="literal">ClutterShader</code> has been deprecated since version 1.8 and should not be used in newly-written code. Use <a class="link" href="ClutterShaderEffect.html" title="ClutterShaderEffect"><span class="type">ClutterShaderEffect</span></a> instead</p>
173 The <a class="link" href="clutter-Shaders.html#ClutterShader"><span class="type">ClutterShader</span></a> structure contains only private data
174 and should be accessed using the provided API
176 <p class="since">Since 0.6</p>
179 <div class="refsect2">
180 <a name="ClutterShaderClass"></a><h3>struct ClutterShaderClass</h3>
181 <pre class="programlisting">struct ClutterShaderClass {
184 <div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
185 <h3 class="title">Warning</h3>
186 <p><code class="literal">ClutterShaderClass</code> has been deprecated since version 1.8 and should not be used in newly-written code. Use <a class="link" href="ClutterShaderEffect.html#ClutterShaderEffectClass" title="struct ClutterShaderEffectClass"><span class="type">ClutterShaderEffectClass</span></a> instead</p>
189 The <a class="link" href="clutter-Shaders.html#ClutterShaderClass" title="struct ClutterShaderClass"><span class="type">ClutterShaderClass</span></a> structure contains only private data
191 <p class="since">Since 0.6</p>
194 <div class="refsect2">
195 <a name="clutter-shader-new"></a><h3>clutter_shader_new ()</h3>
196 <pre class="programlisting"><a class="link" href="clutter-Shaders.html#ClutterShader"><span class="returnvalue">ClutterShader</span></a> * clutter_shader_new (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
197 <div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
198 <h3 class="title">Warning</h3>
199 <p><code class="literal">clutter_shader_new</code> has been deprecated since version 1.8 and should not be used in newly-written code. Use <a class="link" href="ClutterShaderEffect.html" title="ClutterShaderEffect"><span class="type">ClutterShaderEffect</span></a> instead.</p>
202 Create a new <a class="link" href="clutter-Shaders.html#ClutterShader"><span class="type">ClutterShader</span></a> instance.
204 <div class="variablelist"><table border="0">
205 <col align="left" valign="top">
207 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
208 <td>a new <a class="link" href="clutter-Shaders.html#ClutterShader"><span class="type">ClutterShader</span></a>.</td>
211 <p class="since">Since 0.6</p>
214 <div class="refsect2">
215 <a name="clutter-shader-set-vertex-source"></a><h3>clutter_shader_set_vertex_source ()</h3>
216 <pre class="programlisting"><span class="returnvalue">void</span> clutter_shader_set_vertex_source (<em class="parameter"><code><a class="link" href="clutter-Shaders.html#ClutterShader"><span class="type">ClutterShader</span></a> *shader</code></em>,
217 <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *data</code></em>,
218 <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gssize"><span class="type">gssize</span></a> length</code></em>);</pre>
219 <div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
220 <h3 class="title">Warning</h3>
221 <p><code class="literal">clutter_shader_set_vertex_source</code> has been deprecated since version 1.8 and should not be used in newly-written code. Use <a class="link" href="ClutterShaderEffect.html" title="ClutterShaderEffect"><span class="type">ClutterShaderEffect</span></a> instead.</p>
224 Sets the GLSL source code to be used by a <a class="link" href="clutter-Shaders.html#ClutterShader"><span class="type">ClutterShader</span></a> for the vertex
227 <div class="variablelist"><table border="0">
228 <col align="left" valign="top">
231 <td><p><span class="term"><em class="parameter"><code>shader</code></em> :</span></p></td>
232 <td>a <a class="link" href="clutter-Shaders.html#ClutterShader"><span class="type">ClutterShader</span></a>
236 <td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
237 <td>GLSL source code.</td>
240 <td><p><span class="term"><em class="parameter"><code>length</code></em> :</span></p></td>
241 <td>length of source buffer (currently ignored)</td>
245 <p class="since">Since 0.6</p>
248 <div class="refsect2">
249 <a name="clutter-shader-get-vertex-source"></a><h3>clutter_shader_get_vertex_source ()</h3>
250 <pre class="programlisting">const <a href="../glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * clutter_shader_get_vertex_source (<em class="parameter"><code><a class="link" href="clutter-Shaders.html#ClutterShader"><span class="type">ClutterShader</span></a> *shader</code></em>);</pre>
251 <div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
252 <h3 class="title">Warning</h3>
253 <p><code class="literal">clutter_shader_get_vertex_source</code> has been deprecated since version 1.8 and should not be used in newly-written code. Use <a class="link" href="ClutterShaderEffect.html" title="ClutterShaderEffect"><span class="type">ClutterShaderEffect</span></a> instead.</p>
256 Query the current GLSL vertex source set on <em class="parameter"><code>shader</code></em>.
258 <div class="variablelist"><table border="0">
259 <col align="left" valign="top">
262 <td><p><span class="term"><em class="parameter"><code>shader</code></em> :</span></p></td>
263 <td>a <a class="link" href="clutter-Shaders.html#ClutterShader"><span class="type">ClutterShader</span></a>
267 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
268 <td>the source of the vertex shader for this
269 ClutterShader object or <a href="/home/ebassi/gnome3/install/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL:CAPS"><code class="literal">NULL</code></a>. The returned string is owned by the
270 shader object and should never be modified or freed</td>
274 <p class="since">Since 0.6</p>
277 <div class="refsect2">
278 <a name="clutter-shader-set-fragment-source"></a><h3>clutter_shader_set_fragment_source ()</h3>
279 <pre class="programlisting"><span class="returnvalue">void</span> clutter_shader_set_fragment_source (<em class="parameter"><code><a class="link" href="clutter-Shaders.html#ClutterShader"><span class="type">ClutterShader</span></a> *shader</code></em>,
280 <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *data</code></em>,
281 <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gssize"><span class="type">gssize</span></a> length</code></em>);</pre>
282 <div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
283 <h3 class="title">Warning</h3>
284 <p><code class="literal">clutter_shader_set_fragment_source</code> has been deprecated since version 1.8 and should not be used in newly-written code. Use <a class="link" href="ClutterShaderEffect.html" title="ClutterShaderEffect"><span class="type">ClutterShaderEffect</span></a> instead.</p>
287 Sets the GLSL source code to be used by a <a class="link" href="clutter-Shaders.html#ClutterShader"><span class="type">ClutterShader</span></a> for the fragment
290 <div class="variablelist"><table border="0">
291 <col align="left" valign="top">
294 <td><p><span class="term"><em class="parameter"><code>shader</code></em> :</span></p></td>
295 <td>a <a class="link" href="clutter-Shaders.html#ClutterShader"><span class="type">ClutterShader</span></a>
299 <td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
300 <td>GLSL source code.</td>
303 <td><p><span class="term"><em class="parameter"><code>length</code></em> :</span></p></td>
304 <td>length of source buffer (currently ignored)</td>
308 <p class="since">Since 0.6</p>
311 <div class="refsect2">
312 <a name="clutter-shader-get-fragment-source"></a><h3>clutter_shader_get_fragment_source ()</h3>
313 <pre class="programlisting">const <a href="../glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * clutter_shader_get_fragment_source (<em class="parameter"><code><a class="link" href="clutter-Shaders.html#ClutterShader"><span class="type">ClutterShader</span></a> *shader</code></em>);</pre>
314 <div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
315 <h3 class="title">Warning</h3>
316 <p><code class="literal">clutter_shader_get_fragment_source</code> has been deprecated since version 1.8 and should not be used in newly-written code. Use <a class="link" href="ClutterShaderEffect.html" title="ClutterShaderEffect"><span class="type">ClutterShaderEffect</span></a> instead.</p>
319 Query the current GLSL fragment source set on <em class="parameter"><code>shader</code></em>.
321 <div class="variablelist"><table border="0">
322 <col align="left" valign="top">
325 <td><p><span class="term"><em class="parameter"><code>shader</code></em> :</span></p></td>
326 <td>a <a class="link" href="clutter-Shaders.html#ClutterShader"><span class="type">ClutterShader</span></a>
330 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
331 <td>the source of the fragment shader for this
332 ClutterShader object or <a href="/home/ebassi/gnome3/install/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL:CAPS"><code class="literal">NULL</code></a>. The returned string is owned by the
333 shader object and should never be modified or freed</td>
337 <p class="since">Since 0.6</p>
340 <div class="refsect2">
341 <a name="clutter-shader-compile"></a><h3>clutter_shader_compile ()</h3>
342 <pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> clutter_shader_compile (<em class="parameter"><code><a class="link" href="clutter-Shaders.html#ClutterShader"><span class="type">ClutterShader</span></a> *shader</code></em>,
343 <em class="parameter"><code><a href="../glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
344 <div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
345 <h3 class="title">Warning</h3>
346 <p><code class="literal">clutter_shader_compile</code> has been deprecated since version 1.8 and should not be used in newly-written code. Use <a class="link" href="ClutterShaderEffect.html" title="ClutterShaderEffect"><span class="type">ClutterShaderEffect</span></a> instead.</p>
349 Compiles and links GLSL sources set for vertex and fragment shaders for
350 a <a class="link" href="clutter-Shaders.html#ClutterShader"><span class="type">ClutterShader</span></a>. If the compilation fails and a <a href="../glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> return location is
351 provided the error will contain the errors from the compiler, if any.
353 <div class="variablelist"><table border="0">
354 <col align="left" valign="top">
357 <td><p><span class="term"><em class="parameter"><code>shader</code></em> :</span></p></td>
358 <td>a <a class="link" href="clutter-Shaders.html#ClutterShader"><span class="type">ClutterShader</span></a>
362 <td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
363 <td>return location for a <a href="../glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a>, or <a href="/home/ebassi/gnome3/install/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL:CAPS"><code class="literal">NULL</code></a>
367 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
368 <td>returns TRUE if the shader was succesfully compiled.</td>
372 <p class="since">Since 0.8</p>
375 <div class="refsect2">
376 <a name="clutter-shader-release"></a><h3>clutter_shader_release ()</h3>
377 <pre class="programlisting"><span class="returnvalue">void</span> clutter_shader_release (<em class="parameter"><code><a class="link" href="clutter-Shaders.html#ClutterShader"><span class="type">ClutterShader</span></a> *shader</code></em>);</pre>
378 <div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
379 <h3 class="title">Warning</h3>
380 <p><code class="literal">clutter_shader_release</code> has been deprecated since version 1.8 and should not be used in newly-written code. Use <a class="link" href="ClutterShaderEffect.html" title="ClutterShaderEffect"><span class="type">ClutterShaderEffect</span></a> instead.</p>
383 Frees up any GL context resources held by the shader.
385 <div class="variablelist"><table border="0">
386 <col align="left" valign="top">
388 <td><p><span class="term"><em class="parameter"><code>shader</code></em> :</span></p></td>
389 <td>a <a class="link" href="clutter-Shaders.html#ClutterShader"><span class="type">ClutterShader</span></a>
393 <p class="since">Since 0.6</p>
396 <div class="refsect2">
397 <a name="clutter-shader-is-compiled"></a><h3>clutter_shader_is_compiled ()</h3>
398 <pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> clutter_shader_is_compiled (<em class="parameter"><code><a class="link" href="clutter-Shaders.html#ClutterShader"><span class="type">ClutterShader</span></a> *shader</code></em>);</pre>
399 <div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
400 <h3 class="title">Warning</h3>
401 <p><code class="literal">clutter_shader_is_compiled</code> has been deprecated since version 1.8 and should not be used in newly-written code. Use <a class="link" href="ClutterShaderEffect.html" title="ClutterShaderEffect"><span class="type">ClutterShaderEffect</span></a> instead.</p>
404 Checks whether <em class="parameter"><code>shader</code></em> is is currently compiled, linked and bound
407 <div class="variablelist"><table border="0">
408 <col align="left" valign="top">
411 <td><p><span class="term"><em class="parameter"><code>shader</code></em> :</span></p></td>
412 <td>a <a class="link" href="clutter-Shaders.html#ClutterShader"><span class="type">ClutterShader</span></a>
416 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
418 <a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the shader is compiled, linked and ready for use.</td>
422 <p class="since">Since 0.8</p>
425 <div class="refsect2">
426 <a name="clutter-shader-set-is-enabled"></a><h3>clutter_shader_set_is_enabled ()</h3>
427 <pre class="programlisting"><span class="returnvalue">void</span> clutter_shader_set_is_enabled (<em class="parameter"><code><a class="link" href="clutter-Shaders.html#ClutterShader"><span class="type">ClutterShader</span></a> *shader</code></em>,
428 <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> enabled</code></em>);</pre>
429 <div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
430 <h3 class="title">Warning</h3>
431 <p><code class="literal">clutter_shader_set_is_enabled</code> has been deprecated since version 1.8 and should not be used in newly-written code. Use <a class="link" href="ClutterShaderEffect.html" title="ClutterShaderEffect"><span class="type">ClutterShaderEffect</span></a> instead.</p>
434 Enables a shader. This function will attempt to compile and link
435 the shader, if it isn't already.
438 When <em class="parameter"><code>enabled</code></em> is <a href="../glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> the default state of the GL pipeline will be
441 <div class="variablelist"><table border="0">
442 <col align="left" valign="top">
445 <td><p><span class="term"><em class="parameter"><code>shader</code></em> :</span></p></td>
446 <td>a <a class="link" href="clutter-Shaders.html#ClutterShader"><span class="type">ClutterShader</span></a>
450 <td><p><span class="term"><em class="parameter"><code>enabled</code></em> :</span></p></td>
451 <td>The new state of the shader.</td>
455 <p class="since">Since 0.6</p>
458 <div class="refsect2">
459 <a name="clutter-shader-get-is-enabled"></a><h3>clutter_shader_get_is_enabled ()</h3>
460 <pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> clutter_shader_get_is_enabled (<em class="parameter"><code><a class="link" href="clutter-Shaders.html#ClutterShader"><span class="type">ClutterShader</span></a> *shader</code></em>);</pre>
461 <div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
462 <h3 class="title">Warning</h3>
463 <p><code class="literal">clutter_shader_get_is_enabled</code> has been deprecated since version 1.8 and should not be used in newly-written code. Use <a class="link" href="ClutterShaderEffect.html" title="ClutterShaderEffect"><span class="type">ClutterShaderEffect</span></a> instead.</p>
466 Checks whether <em class="parameter"><code>shader</code></em> is enabled.
468 <div class="variablelist"><table border="0">
469 <col align="left" valign="top">
472 <td><p><span class="term"><em class="parameter"><code>shader</code></em> :</span></p></td>
473 <td>a <a class="link" href="clutter-Shaders.html#ClutterShader"><span class="type">ClutterShader</span></a>
477 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
479 <a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the shader is enabled.</td>
483 <p class="since">Since 0.6</p>
486 <div class="refsect2">
487 <a name="clutter-shader-set-uniform"></a><h3>clutter_shader_set_uniform ()</h3>
488 <pre class="programlisting"><span class="returnvalue">void</span> clutter_shader_set_uniform (<em class="parameter"><code><a class="link" href="clutter-Shaders.html#ClutterShader"><span class="type">ClutterShader</span></a> *shader</code></em>,
489 <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>,
490 <em class="parameter"><code>const <a href="../gobject/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *value</code></em>);</pre>
491 <div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
492 <h3 class="title">Warning</h3>
493 <p><code class="literal">clutter_shader_set_uniform</code> has been deprecated since version 1.8 and should not be used in newly-written code. Use <a class="link" href="ClutterShaderEffect.html" title="ClutterShaderEffect"><span class="type">ClutterShaderEffect</span></a> instead.</p>
496 Sets a user configurable variable in the GLSL shader programs attached to
497 a <a class="link" href="clutter-Shaders.html#ClutterShader"><span class="type">ClutterShader</span></a>.
499 <div class="variablelist"><table border="0">
500 <col align="left" valign="top">
503 <td><p><span class="term"><em class="parameter"><code>shader</code></em> :</span></p></td>
504 <td>a <a class="link" href="clutter-Shaders.html#ClutterShader"><span class="type">ClutterShader</span></a>.</td>
507 <td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
508 <td>name of uniform in GLSL shader program to set.</td>
511 <td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
512 <td>a <span class="type">ClutterShaderFloat</span>, <span class="type">ClutterShaderInt</span> or <span class="type">ClutterShaderMatrix</span>
513 <a href="../gobject/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a>.</td>
517 <p class="since">Since 1.0</p>
520 <div class="refsect2">
521 <a name="clutter-shader-get-cogl-program"></a><h3>clutter_shader_get_cogl_program ()</h3>
522 <pre class="programlisting"><span class="returnvalue">CoglHandle</span> clutter_shader_get_cogl_program (<em class="parameter"><code><a class="link" href="clutter-Shaders.html#ClutterShader"><span class="type">ClutterShader</span></a> *shader</code></em>);</pre>
523 <div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
524 <h3 class="title">Warning</h3>
525 <p><code class="literal">clutter_shader_get_cogl_program</code> has been deprecated since version 1.8 and should not be used in newly-written code. Use <a class="link" href="ClutterShaderEffect.html" title="ClutterShaderEffect"><span class="type">ClutterShaderEffect</span></a> instead.</p>
528 Retrieves the underlying <span class="type">CoglHandle</span> for the shader program.
530 <div class="variablelist"><table border="0">
531 <col align="left" valign="top">
534 <td><p><span class="term"><em class="parameter"><code>shader</code></em> :</span></p></td>
535 <td>a <a class="link" href="clutter-Shaders.html#ClutterShader"><span class="type">ClutterShader</span></a>
539 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
540 <td>A <span class="type">CoglHandle</span> for the shader program,
541 or <a href="/home/ebassi/gnome3/install/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL:CAPS"><code class="literal">NULL</code></a>. The handle is owned by the <a class="link" href="clutter-Shaders.html#ClutterShader"><span class="type">ClutterShader</span></a> and it should
542 not be unreferenced. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
547 <p class="since">Since 1.0</p>
550 <div class="refsect2">
551 <a name="clutter-shader-get-cogl-fragment-shader"></a><h3>clutter_shader_get_cogl_fragment_shader ()</h3>
552 <pre class="programlisting"><span class="returnvalue">CoglHandle</span> clutter_shader_get_cogl_fragment_shader
553 (<em class="parameter"><code><a class="link" href="clutter-Shaders.html#ClutterShader"><span class="type">ClutterShader</span></a> *shader</code></em>);</pre>
554 <div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
555 <h3 class="title">Warning</h3>
556 <p><code class="literal">clutter_shader_get_cogl_fragment_shader</code> has been deprecated since version 1.8 and should not be used in newly-written code. Use <a class="link" href="ClutterShaderEffect.html" title="ClutterShaderEffect"><span class="type">ClutterShaderEffect</span></a> instead.</p>
559 Retrieves the underlying <span class="type">CoglHandle</span> for the fragment shader.
561 <div class="variablelist"><table border="0">
562 <col align="left" valign="top">
565 <td><p><span class="term"><em class="parameter"><code>shader</code></em> :</span></p></td>
566 <td>a <a class="link" href="clutter-Shaders.html#ClutterShader"><span class="type">ClutterShader</span></a>
570 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
571 <td>A <span class="type">CoglHandle</span> for the fragment
572 shader, or <a href="/home/ebassi/gnome3/install/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL:CAPS"><code class="literal">NULL</code></a>. The handle is owned by the <a class="link" href="clutter-Shaders.html#ClutterShader"><span class="type">ClutterShader</span></a>
573 and it should not be unreferenced. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
578 <p class="since">Since 1.0</p>
581 <div class="refsect2">
582 <a name="clutter-shader-get-cogl-vertex-shader"></a><h3>clutter_shader_get_cogl_vertex_shader ()</h3>
583 <pre class="programlisting"><span class="returnvalue">CoglHandle</span> clutter_shader_get_cogl_vertex_shader
584 (<em class="parameter"><code><a class="link" href="clutter-Shaders.html#ClutterShader"><span class="type">ClutterShader</span></a> *shader</code></em>);</pre>
585 <div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
586 <h3 class="title">Warning</h3>
587 <p><code class="literal">clutter_shader_get_cogl_vertex_shader</code> has been deprecated since version 1.8 and should not be used in newly-written code. Use <a class="link" href="ClutterShaderEffect.html" title="ClutterShaderEffect"><span class="type">ClutterShaderEffect</span></a> instead.</p>
590 Retrieves the underlying <span class="type">CoglHandle</span> for the vertex shader.
592 <div class="variablelist"><table border="0">
593 <col align="left" valign="top">
596 <td><p><span class="term"><em class="parameter"><code>shader</code></em> :</span></p></td>
597 <td>a <a class="link" href="clutter-Shaders.html#ClutterShader"><span class="type">ClutterShader</span></a>
601 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
602 <td>A <span class="type">CoglHandle</span> for the vertex
603 shader, or <a href="/home/ebassi/gnome3/install/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL:CAPS"><code class="literal">NULL</code></a>. The handle is owned by the <a class="link" href="clutter-Shaders.html#ClutterShader"><span class="type">ClutterShader</span></a>
604 and it should not be unreferenced. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
609 <p class="since">Since 1.0</p>
612 <div class="refsect2">
613 <a name="CLUTTER-VALUE-HOLDS-SHADER-FLOAT:CAPS"></a><h3>CLUTTER_VALUE_HOLDS_SHADER_FLOAT()</h3>
614 <pre class="programlisting">#define CLUTTER_VALUE_HOLDS_SHADER_FLOAT(x) (G_VALUE_HOLDS ((x), CLUTTER_TYPE_SHADER_FLOAT))
617 Evaluates to <a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>x</code></em> holds a <span class="type">ClutterShaderFloat</span>.
619 <div class="variablelist"><table border="0">
620 <col align="left" valign="top">
622 <td><p><span class="term"><em class="parameter"><code>x</code></em> :</span></p></td>
623 <td>a <a href="../gobject/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a>
627 <p class="since">Since 1.0</p>
630 <div class="refsect2">
631 <a name="clutter-value-set-shader-float"></a><h3>clutter_value_set_shader_float ()</h3>
632 <pre class="programlisting"><span class="returnvalue">void</span> clutter_value_set_shader_float (<em class="parameter"><code><a href="../gobject/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *value</code></em>,
633 <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> size</code></em>,
634 <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gfloat"><span class="type">gfloat</span></a> *floats</code></em>);</pre>
636 Sets <em class="parameter"><code>floats</code></em> as the contents of <em class="parameter"><code>value</code></em>. The passed <a href="../gobject/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a>
637 must have been initialized using <code class="literal">CLUTTER_TYPE_SHADER_FLOAT</code>.
639 <div class="variablelist"><table border="0">
640 <col align="left" valign="top">
643 <td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
644 <td>a <a href="../gobject/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a>
648 <td><p><span class="term"><em class="parameter"><code>size</code></em> :</span></p></td>
649 <td>number of floating point values in <em class="parameter"><code>floats</code></em>
653 <td><p><span class="term"><em class="parameter"><code>floats</code></em> :</span></p></td>
654 <td>an array of floating point values</td>
658 <p class="since">Since 0.8</p>
661 <div class="refsect2">
662 <a name="clutter-value-get-shader-float"></a><h3>clutter_value_get_shader_float ()</h3>
663 <pre class="programlisting">const <a href="../glib/glib-Basic-Types.html#gfloat"><span class="returnvalue">gfloat</span></a> * clutter_value_get_shader_float (<em class="parameter"><code>const <a href="../gobject/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *value</code></em>,
664 <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> *length</code></em>);</pre>
666 Retrieves the list of floating point values stored inside
667 the passed <a href="../gobject/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a>. <em class="parameter"><code>value</code></em> must have been initialized with
668 <code class="literal">CLUTTER_TYPE_SHADER_FLOAT</code>.
670 <div class="variablelist"><table border="0">
671 <col align="left" valign="top">
674 <td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
675 <td>a <a href="../gobject/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a>
679 <td><p><span class="term"><em class="parameter"><code>length</code></em> :</span></p></td>
680 <td>return location for the number of returned floating
681 point values, or <a href="/home/ebassi/gnome3/install/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL:CAPS"><code class="literal">NULL</code></a>
685 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
686 <td>the pointer to a list of floating point values.
687 The returned value is owned by the <a href="../gobject/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> and should never
688 be modified or freed.</td>
692 <p class="since">Since 0.8</p>
695 <div class="refsect2">
696 <a name="CLUTTER-VALUE-HOLDS-SHADER-INT:CAPS"></a><h3>CLUTTER_VALUE_HOLDS_SHADER_INT()</h3>
697 <pre class="programlisting">#define CLUTTER_VALUE_HOLDS_SHADER_INT(x) (G_VALUE_HOLDS ((x), CLUTTER_TYPE_SHADER_INT))
700 Evaluates to <a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>x</code></em> holds a <span class="type">ClutterShaderInt</span>.
702 <div class="variablelist"><table border="0">
703 <col align="left" valign="top">
705 <td><p><span class="term"><em class="parameter"><code>x</code></em> :</span></p></td>
706 <td>a <a href="../gobject/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a>
710 <p class="since">Since 1.0</p>
713 <div class="refsect2">
714 <a name="clutter-value-set-shader-int"></a><h3>clutter_value_set_shader_int ()</h3>
715 <pre class="programlisting"><span class="returnvalue">void</span> clutter_value_set_shader_int (<em class="parameter"><code><a href="../gobject/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *value</code></em>,
716 <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> size</code></em>,
717 <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> *ints</code></em>);</pre>
719 Sets <em class="parameter"><code>ints</code></em> as the contents of <em class="parameter"><code>value</code></em>. The passed <a href="../gobject/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a>
720 must have been initialized using <code class="literal">CLUTTER_TYPE_SHADER_INT</code>.
722 <div class="variablelist"><table border="0">
723 <col align="left" valign="top">
726 <td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
727 <td>a <a href="../gobject/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a>
731 <td><p><span class="term"><em class="parameter"><code>size</code></em> :</span></p></td>
732 <td>number of integer values in <em class="parameter"><code>ints</code></em>
736 <td><p><span class="term"><em class="parameter"><code>ints</code></em> :</span></p></td>
737 <td>an array of integer values</td>
741 <p class="since">Since 0.8</p>
744 <div class="refsect2">
745 <a name="clutter-value-get-shader-int"></a><h3>clutter_value_get_shader_int ()</h3>
746 <pre class="programlisting">const <a href="../glib/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a> * clutter_value_get_shader_int (<em class="parameter"><code>const <a href="../gobject/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *value</code></em>,
747 <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> *length</code></em>);</pre>
749 Retrieves the list of integer values stored inside the passed
750 <a href="../gobject/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a>. <em class="parameter"><code>value</code></em> must have been initialized with
751 <code class="literal">CLUTTER_TYPE_SHADER_INT</code>.
753 <div class="variablelist"><table border="0">
754 <col align="left" valign="top">
757 <td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
758 <td>a <a href="../gobject/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a>
762 <td><p><span class="term"><em class="parameter"><code>length</code></em> :</span></p></td>
763 <td>return location for the number of returned integer
764 values, or <a href="/home/ebassi/gnome3/install/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL:CAPS"><code class="literal">NULL</code></a>
768 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
769 <td>the pointer to a list of integer values.
770 The returned value is owned by the <a href="../gobject/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> and should never
771 be modified or freed.</td>
775 <p class="since">Since 0.8</p>
778 <div class="refsect2">
779 <a name="CLUTTER-VALUE-HOLDS-SHADER-MATRIX:CAPS"></a><h3>CLUTTER_VALUE_HOLDS_SHADER_MATRIX()</h3>
780 <pre class="programlisting">#define CLUTTER_VALUE_HOLDS_SHADER_MATRIX(x) (G_VALUE_HOLDS ((x), CLUTTER_TYPE_SHADER_MATRIX))
783 Evaluates to <a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>x</code></em> holds a <span class="type">ClutterShaderMatrix</span>.
785 <div class="variablelist"><table border="0">
786 <col align="left" valign="top">
788 <td><p><span class="term"><em class="parameter"><code>x</code></em> :</span></p></td>
789 <td>a <a href="../gobject/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a>
793 <p class="since">Since 1.0</p>
796 <div class="refsect2">
797 <a name="clutter-value-set-shader-matrix"></a><h3>clutter_value_set_shader_matrix ()</h3>
798 <pre class="programlisting"><span class="returnvalue">void</span> clutter_value_set_shader_matrix (<em class="parameter"><code><a href="../gobject/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *value</code></em>,
799 <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> size</code></em>,
800 <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gfloat"><span class="type">gfloat</span></a> *matrix</code></em>);</pre>
802 Sets <em class="parameter"><code>matrix</code></em> as the contents of <em class="parameter"><code>value</code></em>. The passed <a href="../gobject/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a>
803 must have been initialized using <code class="literal">CLUTTER_TYPE_SHADER_MATRIX</code>.
805 <div class="variablelist"><table border="0">
806 <col align="left" valign="top">
809 <td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
810 <td>a <a href="../gobject/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a>
814 <td><p><span class="term"><em class="parameter"><code>size</code></em> :</span></p></td>
815 <td>number of floating point values in <em class="parameter"><code>floats</code></em>
819 <td><p><span class="term"><em class="parameter"><code>matrix</code></em> :</span></p></td>
820 <td>a matrix of floating point values</td>
824 <p class="since">Since 0.8</p>
827 <div class="refsect2">
828 <a name="clutter-value-get-shader-matrix"></a><h3>clutter_value_get_shader_matrix ()</h3>
829 <pre class="programlisting">const <a href="../glib/glib-Basic-Types.html#gfloat"><span class="returnvalue">gfloat</span></a> * clutter_value_get_shader_matrix (<em class="parameter"><code>const <a href="../gobject/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *value</code></em>,
830 <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> *length</code></em>);</pre>
832 Retrieves a matrix of floating point values stored inside
833 the passed <a href="../gobject/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a>. <em class="parameter"><code>value</code></em> must have been initialized with
834 <code class="literal">CLUTTER_TYPE_SHADER_MATRIX</code>.
836 <div class="variablelist"><table border="0">
837 <col align="left" valign="top">
840 <td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
841 <td>a <a href="../gobject/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a>
845 <td><p><span class="term"><em class="parameter"><code>length</code></em> :</span></p></td>
846 <td>return location for the number of returned floating
847 point values, or <a href="/home/ebassi/gnome3/install/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL:CAPS"><code class="literal">NULL</code></a>. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span>
851 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
852 <td>the pointer to a matrix
853 of floating point values. The returned value is owned by the <a href="../gobject/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> and
854 should never be modified or freed. <span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=length][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
859 <p class="since">Since 0.8</p>
862 <div class="refsect1">
863 <a name="clutter-Shaders.property-details"></a><h2>Property Details</h2>
864 <div class="refsect2">
865 <a name="ClutterShader--compiled"></a><h3>The <code class="literal">"compiled"</code> property</h3>
866 <pre class="programlisting"> "compiled" <a href="../glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> : Read</pre>
867 <div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
868 <h3 class="title">Warning</h3>
869 <p><code class="literal">ClutterShader:compiled</code> has been deprecated since version 1.8 and should not be used in newly-written code. Use <a class="link" href="ClutterShaderEffect.html" title="ClutterShaderEffect"><span class="type">ClutterShaderEffect</span></a> instead.</p>
872 Whether the shader is compiled and linked, ready for use
875 <p>Default value: FALSE</p>
876 <p class="since">Since 0.8</p>
879 <div class="refsect2">
880 <a name="ClutterShader--enabled"></a><h3>The <code class="literal">"enabled"</code> property</h3>
881 <pre class="programlisting"> "enabled" <a href="../glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> : Read / Write</pre>
882 <div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
883 <h3 class="title">Warning</h3>
884 <p><code class="literal">ClutterShader:enabled</code> has been deprecated since version 1.8 and should not be used in newly-written code. Use <a class="link" href="ClutterShaderEffect.html" title="ClutterShaderEffect"><span class="type">ClutterShaderEffect</span></a> instead.</p>
887 Whether the shader is currently used in the GL rendering pipeline.
889 <p>Default value: FALSE</p>
890 <p class="since">Since 0.6</p>
893 <div class="refsect2">
894 <a name="ClutterShader--fragment-source"></a><h3>The <code class="literal">"fragment-source"</code> property</h3>
895 <pre class="programlisting"> "fragment-source" <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>* : Read / Write</pre>
896 <div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
897 <h3 class="title">Warning</h3>
898 <p><code class="literal">ClutterShader:fragment-source</code> has been deprecated since version 1.8 and should not be used in newly-written code. Use <a class="link" href="ClutterShaderEffect.html" title="ClutterShaderEffect"><span class="type">ClutterShaderEffect</span></a> instead.</p>
901 GLSL source code for the fragment shader part of the shader program.
903 <p>Default value: NULL</p>
904 <p class="since">Since 0.6</p>
907 <div class="refsect2">
908 <a name="ClutterShader--vertex-source"></a><h3>The <code class="literal">"vertex-source"</code> property</h3>
909 <pre class="programlisting"> "vertex-source" <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>* : Read / Write</pre>
910 <div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
911 <h3 class="title">Warning</h3>
912 <p><code class="literal">ClutterShader:vertex-source</code> has been deprecated since version 1.8 and should not be used in newly-written code. Use <a class="link" href="ClutterShaderEffect.html" title="ClutterShaderEffect"><span class="type">ClutterShaderEffect</span></a> instead.</p>
915 GLSL source code for the vertex shader part of the shader
918 <p>Default value: NULL</p>
919 <p class="since">Since 0.6</p>
925 Generated by GTK-Doc V1.18.1</div>