34
39
<div class="refnamediv"><table width="100%"><tr>
36
41
<h2><span class="refentrytitle"><a name="cogl-Color-Type.top_of_page"></a>Color Type</span></h2>
42
<p>Color Type — A generic color definition</p>
39
44
<td valign="top" align="right"></td>
40
45
</tr></table></div>
41
46
<div class="refsynopsisdiv" title="Synopsis">
42
47
<a name="cogl-Color-Type.synopsis"></a><h2>Synopsis</h2>
43
<pre class="synopsis">
44
<a class="link" href="cogl-Color-Type.html#CoglColor" title="CoglColor">CoglColor</a>;
45
<a class="link" href="cogl-Color-Type.html#CoglColor" title="CoglColor">CoglColor</a> * <a class="link" href="cogl-Color-Type.html#cogl-color-new" title="cogl_color_new ()">cogl_color_new</a> (void);
46
<a class="link" href="cogl-Color-Type.html#CoglColor" title="CoglColor">CoglColor</a> * <a class="link" href="cogl-Color-Type.html#cogl-color-copy" title="cogl_color_copy ()">cogl_color_copy</a> (const <a class="link" href="cogl-Color-Type.html#CoglColor" title="CoglColor">CoglColor</a> *color);
47
void <a class="link" href="cogl-Color-Type.html#cogl-color-free" title="cogl_color_free ()">cogl_color_free</a> (<a class="link" href="cogl-Color-Type.html#CoglColor" title="CoglColor">CoglColor</a> *color);
48
void <a class="link" href="cogl-Color-Type.html#cogl-color-set-from-4ub" title="cogl_color_set_from_4ub ()">cogl_color_set_from_4ub</a> (<a class="link" href="cogl-Color-Type.html#CoglColor" title="CoglColor">CoglColor</a> *dest,
50
href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint8"
53
href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint8"
56
href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint8"
59
href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint8"
61
void <a class="link" href="cogl-Color-Type.html#cogl-color-set-from-4f" title="cogl_color_set_from_4f ()">cogl_color_set_from_4f</a> (<a class="link" href="cogl-Color-Type.html#CoglColor" title="CoglColor">CoglColor</a> *dest,
67
float <a class="link" href="cogl-Color-Type.html#cogl-color-get-red" title="cogl_color_get_red ()">cogl_color_get_red</a> (const <a class="link" href="cogl-Color-Type.html#CoglColor" title="CoglColor">CoglColor</a> *color);
68
float <a class="link" href="cogl-Color-Type.html#cogl-color-get-green" title="cogl_color_get_green ()">cogl_color_get_green</a> (const <a class="link" href="cogl-Color-Type.html#CoglColor" title="CoglColor">CoglColor</a> *color);
69
float <a class="link" href="cogl-Color-Type.html#cogl-color-get-blue" title="cogl_color_get_blue ()">cogl_color_get_blue</a> (const <a class="link" href="cogl-Color-Type.html#CoglColor" title="CoglColor">CoglColor</a> *color);
70
float <a class="link" href="cogl-Color-Type.html#cogl-color-get-alpha" title="cogl_color_get_alpha ()">cogl_color_get_alpha</a> (const <a class="link" href="cogl-Color-Type.html#CoglColor" title="CoglColor">CoglColor</a> *color);
72
unsigned char <a class="link" href="cogl-Color-Type.html#cogl-color-get-red-byte" title="cogl_color_get_red_byte ()">cogl_color_get_red_byte</a> (const <a class="link" href="cogl-Color-Type.html#CoglColor" title="CoglColor">CoglColor</a> *color);
73
unsigned char <a class="link" href="cogl-Color-Type.html#cogl-color-get-green-byte" title="cogl_color_get_green_byte ()">cogl_color_get_green_byte</a> (const <a class="link" href="cogl-Color-Type.html#CoglColor" title="CoglColor">CoglColor</a> *color);
74
unsigned char <a class="link" href="cogl-Color-Type.html#cogl-color-get-blue-byte" title="cogl_color_get_blue_byte ()">cogl_color_get_blue_byte</a> (const <a class="link" href="cogl-Color-Type.html#CoglColor" title="CoglColor">CoglColor</a> *color);
75
unsigned char <a class="link" href="cogl-Color-Type.html#cogl-color-get-alpha-byte" title="cogl_color_get_alpha_byte ()">cogl_color_get_alpha_byte</a> (const <a class="link" href="cogl-Color-Type.html#CoglColor" title="CoglColor">CoglColor</a> *color);
77
float <a class="link" href="cogl-Color-Type.html#cogl-color-get-red-float" title="cogl_color_get_red_float ()">cogl_color_get_red_float</a> (const <a class="link" href="cogl-Color-Type.html#CoglColor" title="CoglColor">CoglColor</a> *color);
78
float <a class="link" href="cogl-Color-Type.html#cogl-color-get-green-float" title="cogl_color_get_green_float ()">cogl_color_get_green_float</a> (const <a class="link" href="cogl-Color-Type.html#CoglColor" title="CoglColor">CoglColor</a> *color);
79
float <a class="link" href="cogl-Color-Type.html#cogl-color-get-blue-float" title="cogl_color_get_blue_float ()">cogl_color_get_blue_float</a> (const <a class="link" href="cogl-Color-Type.html#CoglColor" title="CoglColor">CoglColor</a> *color);
80
float <a class="link" href="cogl-Color-Type.html#cogl-color-get-alpha-float" title="cogl_color_get_alpha_float ()">cogl_color_get_alpha_float</a> (const <a class="link" href="cogl-Color-Type.html#CoglColor" title="CoglColor">CoglColor</a> *color);
48
<pre class="synopsis"> <a class="link" href="cogl-Color-Type.html#CoglColor" title="CoglColor">CoglColor</a>;
49
<a class="link" href="cogl-Color-Type.html#CoglColor" title="CoglColor"><span class="returnvalue">CoglColor</span></a> * <a class="link" href="cogl-Color-Type.html#cogl-color-new" title="cogl_color_new ()">cogl_color_new</a> (void);
50
<a class="link" href="cogl-Color-Type.html#CoglColor" title="CoglColor"><span class="returnvalue">CoglColor</span></a> * <a class="link" href="cogl-Color-Type.html#cogl-color-copy" title="cogl_color_copy ()">cogl_color_copy</a> (const <a class="link" href="cogl-Color-Type.html#CoglColor" title="CoglColor"><span class="returnvalue">CoglColor</span></a> *color);
51
<span class="returnvalue">void</span> <a class="link" href="cogl-Color-Type.html#cogl-color-free" title="cogl_color_free ()">cogl_color_free</a> (<a class="link" href="cogl-Color-Type.html#CoglColor" title="CoglColor"><span class="returnvalue">CoglColor</span></a> *color);
52
<span class="returnvalue">void</span> <a class="link" href="cogl-Color-Type.html#cogl-color-set-from-4ub" title="cogl_color_set_from_4ub ()">cogl_color_set_from_4ub</a> (<a class="link" href="cogl-Color-Type.html#CoglColor" title="CoglColor"><span class="returnvalue">CoglColor</span></a> *dest,
53
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint8"><span class="returnvalue">guint8</span></a> red,
54
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint8"><span class="returnvalue">guint8</span></a> green,
55
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint8"><span class="returnvalue">guint8</span></a> blue,
56
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint8"><span class="returnvalue">guint8</span></a> alpha);
57
<span class="returnvalue">void</span> <a class="link" href="cogl-Color-Type.html#cogl-color-set-from-4f" title="cogl_color_set_from_4f ()">cogl_color_set_from_4f</a> (<a class="link" href="cogl-Color-Type.html#CoglColor" title="CoglColor"><span class="returnvalue">CoglColor</span></a> *dest,
58
<span class="returnvalue">float</span> red,
59
<span class="returnvalue">float</span> green,
60
<span class="returnvalue">float</span> blue,
61
<span class="returnvalue">float</span> alpha);
63
<span class="returnvalue">float</span> <a class="link" href="cogl-Color-Type.html#cogl-color-get-red" title="cogl_color_get_red ()">cogl_color_get_red</a> (const <a class="link" href="cogl-Color-Type.html#CoglColor" title="CoglColor"><span class="returnvalue">CoglColor</span></a> *color);
64
<span class="returnvalue">float</span> <a class="link" href="cogl-Color-Type.html#cogl-color-get-green" title="cogl_color_get_green ()">cogl_color_get_green</a> (const <a class="link" href="cogl-Color-Type.html#CoglColor" title="CoglColor"><span class="returnvalue">CoglColor</span></a> *color);
65
<span class="returnvalue">float</span> <a class="link" href="cogl-Color-Type.html#cogl-color-get-blue" title="cogl_color_get_blue ()">cogl_color_get_blue</a> (const <a class="link" href="cogl-Color-Type.html#CoglColor" title="CoglColor"><span class="returnvalue">CoglColor</span></a> *color);
66
<span class="returnvalue">float</span> <a class="link" href="cogl-Color-Type.html#cogl-color-get-alpha" title="cogl_color_get_alpha ()">cogl_color_get_alpha</a> (const <a class="link" href="cogl-Color-Type.html#CoglColor" title="CoglColor"><span class="returnvalue">CoglColor</span></a> *color);
68
unsigned <span class="returnvalue">char</span> <a class="link" href="cogl-Color-Type.html#cogl-color-get-red-byte" title="cogl_color_get_red_byte ()">cogl_color_get_red_byte</a> (const <a class="link" href="cogl-Color-Type.html#CoglColor" title="CoglColor"><span class="returnvalue">CoglColor</span></a> *color);
69
unsigned <span class="returnvalue">char</span> <a class="link" href="cogl-Color-Type.html#cogl-color-get-green-byte" title="cogl_color_get_green_byte ()">cogl_color_get_green_byte</a> (const <a class="link" href="cogl-Color-Type.html#CoglColor" title="CoglColor"><span class="returnvalue">CoglColor</span></a> *color);
70
unsigned <span class="returnvalue">char</span> <a class="link" href="cogl-Color-Type.html#cogl-color-get-blue-byte" title="cogl_color_get_blue_byte ()">cogl_color_get_blue_byte</a> (const <a class="link" href="cogl-Color-Type.html#CoglColor" title="CoglColor"><span class="returnvalue">CoglColor</span></a> *color);
71
unsigned <span class="returnvalue">char</span> <a class="link" href="cogl-Color-Type.html#cogl-color-get-alpha-byte" title="cogl_color_get_alpha_byte ()">cogl_color_get_alpha_byte</a> (const <a class="link" href="cogl-Color-Type.html#CoglColor" title="CoglColor"><span class="returnvalue">CoglColor</span></a> *color);
73
<span class="returnvalue">float</span> <a class="link" href="cogl-Color-Type.html#cogl-color-get-red-float" title="cogl_color_get_red_float ()">cogl_color_get_red_float</a> (const <a class="link" href="cogl-Color-Type.html#CoglColor" title="CoglColor"><span class="returnvalue">CoglColor</span></a> *color);
74
<span class="returnvalue">float</span> <a class="link" href="cogl-Color-Type.html#cogl-color-get-green-float" title="cogl_color_get_green_float ()">cogl_color_get_green_float</a> (const <a class="link" href="cogl-Color-Type.html#CoglColor" title="CoglColor"><span class="returnvalue">CoglColor</span></a> *color);
75
<span class="returnvalue">float</span> <a class="link" href="cogl-Color-Type.html#cogl-color-get-blue-float" title="cogl_color_get_blue_float ()">cogl_color_get_blue_float</a> (const <a class="link" href="cogl-Color-Type.html#CoglColor" title="CoglColor"><span class="returnvalue">CoglColor</span></a> *color);
76
<span class="returnvalue">float</span> <a class="link" href="cogl-Color-Type.html#cogl-color-get-alpha-float" title="cogl_color_get_alpha_float ()">cogl_color_get_alpha_float</a> (const <a class="link" href="cogl-Color-Type.html#CoglColor" title="CoglColor"><span class="returnvalue">CoglColor</span></a> *color);
78
<span class="returnvalue">void</span> <a class="link" href="cogl-Color-Type.html#cogl-color-premultiply" title="cogl_color_premultiply ()">cogl_color_premultiply</a> (<a class="link" href="cogl-Color-Type.html#CoglColor" title="CoglColor"><span class="returnvalue">CoglColor</span></a> *color);
79
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="cogl-Color-Type.html#cogl-color-equal" title="cogl_color_equal ()">cogl_color_equal</a> (<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gconstpointer"><span class="returnvalue">gconstpointer</span></a> v1,
80
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gconstpointer"><span class="returnvalue">gconstpointer</span></a> v2);
83
83
<div class="refsect1" title="Description">
84
84
<a name="cogl-Color-Type.description"></a><h2>Description</h2>
86
<a class="link" href="cogl-Color-Type.html#CoglColor" title="CoglColor"><span class="type">CoglColor</span></a> is a simple structure holding the definition of a color such
87
that it can be efficiently used by GL</p>
88
89
<div class="refsect1" title="Details">
89
90
<a name="cogl-Color-Type.details"></a><h2>Details</h2>
96
97
A structure for holding a color definition. The contents of
97
98
the CoglColor structure are private and should never by accessed
101
100
<p class="since">Since 1.0</p>
104
103
<div class="refsect2" title="cogl_color_new ()">
105
104
<a name="cogl-color-new"></a><h3>cogl_color_new ()</h3>
106
<pre class="programlisting"><a class="link" href="cogl-Color-Type.html#CoglColor" title="CoglColor">CoglColor</a> * cogl_color_new (void);</pre>
105
<pre class="programlisting"><a class="link" href="cogl-Color-Type.html#CoglColor" title="CoglColor"><span class="returnvalue">CoglColor</span></a> * cogl_color_new (void);</pre>
107
Creates a new (empty) color</p>
109
108
<div class="variablelist"><table border="0">
110
109
<col align="left" valign="top">
112
111
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
112
<td> a newly-allocated <a class="link" href="cogl-Color-Type.html#CoglColor" title="CoglColor"><span class="type">CoglColor</span></a>. Use <a class="link" href="cogl-Color-Type.html#cogl-color-free" title="cogl_color_free ()"><code class="function">cogl_color_free()</code></a>
113
to free the allocated resources
118
<p class="since">Since 1.0</p>
119
121
<div class="refsect2" title="cogl_color_copy ()">
120
122
<a name="cogl-color-copy"></a><h3>cogl_color_copy ()</h3>
121
<pre class="programlisting"><a class="link" href="cogl-Color-Type.html#CoglColor" title="CoglColor">CoglColor</a> * cogl_color_copy (const <a class="link" href="cogl-Color-Type.html#CoglColor" title="CoglColor">CoglColor</a> *color);</pre>
123
<pre class="programlisting"><a class="link" href="cogl-Color-Type.html#CoglColor" title="CoglColor"><span class="returnvalue">CoglColor</span></a> * cogl_color_copy (const <a class="link" href="cogl-Color-Type.html#CoglColor" title="CoglColor"><span class="returnvalue">CoglColor</span></a> *color);</pre>
125
Creates a copy of <em class="parameter"><code>color</code></em></p>
124
126
<div class="variablelist"><table border="0">
125
127
<col align="left" valign="top">
128
130
<td><p><span class="term"><em class="parameter"><code>color</code></em> :</span></p></td>
131
<td> the color to copy
133
135
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
136
<td> a newly-allocated <a class="link" href="cogl-Color-Type.html#CoglColor" title="CoglColor"><span class="type">CoglColor</span></a>. Use <a class="link" href="cogl-Color-Type.html#cogl-color-free" title="cogl_color_free ()"><code class="function">cogl_color_free()</code></a>
137
to free the allocate resources
143
<p class="since">Since 1.0</p>
141
146
<div class="refsect2" title="cogl_color_free ()">
142
147
<a name="cogl-color-free"></a><h3>cogl_color_free ()</h3>
143
<pre class="programlisting">void cogl_color_free (<a class="link" href="cogl-Color-Type.html#CoglColor" title="CoglColor">CoglColor</a> *color);</pre>
148
<pre class="programlisting"><span class="returnvalue">void</span> cogl_color_free (<a class="link" href="cogl-Color-Type.html#CoglColor" title="CoglColor"><span class="returnvalue">CoglColor</span></a> *color);</pre>
150
Frees the resources allocated by <a class="link" href="cogl-Color-Type.html#cogl-color-new" title="cogl_color_new ()"><code class="function">cogl_color_new()</code></a> and <a class="link" href="cogl-Color-Type.html#cogl-color-copy" title="cogl_color_copy ()"><code class="function">cogl_color_copy()</code></a></p>
146
151
<div class="variablelist"><table border="0">
147
152
<col align="left" valign="top">
149
154
<td><p><span class="term"><em class="parameter"><code>color</code></em> :</span></p></td>
155
<td> the color to free
159
<p class="since">Since 1.0</p>
156
162
<div class="refsect2" title="cogl_color_set_from_4ub ()">
157
163
<a name="cogl-color-set-from-4ub"></a><h3>cogl_color_set_from_4ub ()</h3>
158
<pre class="programlisting">void cogl_color_set_from_4ub (<a class="link" href="cogl-Color-Type.html#CoglColor" title="CoglColor">CoglColor</a> *dest,
160
href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint8"
163
href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint8"
166
href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint8"
169
href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint8"
170
>guint8</a> alpha);</pre>
164
<pre class="programlisting"><span class="returnvalue">void</span> cogl_color_set_from_4ub (<a class="link" href="cogl-Color-Type.html#CoglColor" title="CoglColor"><span class="returnvalue">CoglColor</span></a> *dest,
165
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint8"><span class="returnvalue">guint8</span></a> red,
166
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint8"><span class="returnvalue">guint8</span></a> green,
167
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint8"><span class="returnvalue">guint8</span></a> blue,
168
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint8"><span class="returnvalue">guint8</span></a> alpha);</pre>
172
170
Sets the values of the passed channels into a <a class="link" href="cogl-Color-Type.html#CoglColor" title="CoglColor"><span class="type">CoglColor</span></a>.</p>
175
171
<div class="variablelist"><table border="0">
176
172
<col align="left" valign="top">
549
521
<div class="refsect2" title="cogl_color_get_alpha_float ()">
550
522
<a name="cogl-color-get-alpha-float"></a><h3>cogl_color_get_alpha_float ()</h3>
551
<pre class="programlisting">float cogl_color_get_alpha_float (const <a class="link" href="cogl-Color-Type.html#CoglColor" title="CoglColor">CoglColor</a> *color);</pre>
523
<pre class="programlisting"><span class="returnvalue">float</span> cogl_color_get_alpha_float (const <a class="link" href="cogl-Color-Type.html#CoglColor" title="CoglColor"><span class="returnvalue">CoglColor</span></a> *color);</pre>
553
525
Retrieves the alpha channel of <em class="parameter"><code>color</code></em> as a floating point
554
526
value between 0.0 and 1.0</p>
527
<div class="variablelist"><table border="0">
528
<col align="left" valign="top">
531
<td><p><span class="term"><em class="parameter"><code>color</code></em> :</span></p></td>
532
<td> a <a class="link" href="cogl-Color-Type.html#CoglColor" title="CoglColor"><span class="type">CoglColor</span></a>
536
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
537
<td> the alpha channel of the passed color
543
<p class="since">Since 1.0</p>
546
<div class="refsect2" title="cogl_color_premultiply ()">
547
<a name="cogl-color-premultiply"></a><h3>cogl_color_premultiply ()</h3>
548
<pre class="programlisting"><span class="returnvalue">void</span> cogl_color_premultiply (<a class="link" href="cogl-Color-Type.html#CoglColor" title="CoglColor"><span class="returnvalue">CoglColor</span></a> *color);</pre>
550
Converts a non-premultiplied color to a pre-multiplied color. For
551
example, semi-transparent red is (1.0, 0, 0, 0.5) when non-premultiplied
552
and (0.5, 0, 0, 0.5) when premultiplied.</p>
553
<div class="variablelist"><table border="0">
554
<col align="left" valign="top">
556
<td><p><span class="term"><em class="parameter"><code>color</code></em> :</span></p></td>
557
<td> the color to premultiply
561
<p class="since">Since 1.0</p>
564
<div class="refsect2" title="cogl_color_equal ()">
565
<a name="cogl-color-equal"></a><h3>cogl_color_equal ()</h3>
566
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> cogl_color_equal (<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gconstpointer"><span class="returnvalue">gconstpointer</span></a> v1,
567
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gconstpointer"><span class="returnvalue">gconstpointer</span></a> v2);</pre>
569
Compares two <a class="link" href="cogl-Color-Type.html#CoglColor" title="CoglColor"><span class="type">CoglColor</span></a>s and checks if they are the same.
572
This function can be passed to <a href="http://library.gnome.org/devel/glib/unstable/glib-Hash-Tables.html#g-hash-table-new"><code class="function">g_hash_table_new()</code></a> as the <em class="parameter"><code>key_equal_func</code></em>
573
parameter, when using <a class="link" href="cogl-Color-Type.html#CoglColor" title="CoglColor"><span class="type">CoglColor</span></a>s as keys in a <a href="http://library.gnome.org/devel/glib/unstable/glib-Hash-Tables.html#GHashTable"><span class="type">GHashTable</span></a>.</p>
557
574
<div class="variablelist"><table border="0">
558
575
<col align="left" valign="top">
561
<td><p><span class="term"><em class="parameter"><code>color</code></em> :</span></p></td>
578
<td><p><span class="term"><em class="parameter"><code>v1</code></em> :</span></p></td>
579
<td> a <a class="link" href="cogl-Color-Type.html#CoglColor" title="CoglColor"><span class="type">CoglColor</span></a>
583
<td><p><span class="term"><em class="parameter"><code>v2</code></em> :</span></p></td>
562
584
<td> a <a class="link" href="cogl-Color-Type.html#CoglColor" title="CoglColor"><span class="type">CoglColor</span></a>
566
588
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
567
<td> the alpha channel of the passed color
589
<td> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the two colors are the same.