1
<?xml version="1.0" encoding="UTF-8" ?>
2
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
3
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
5
<refentry id="libgimpcolor-GimpRGB">
7
<refentrytitle>GimpRGB</refentrytitle>
8
<manvolnum>3</manvolnum>
9
<refmiscinfo>LIBGIMPCOLOR Library</refmiscinfo>
13
<refname>GimpRGB</refname><refpurpose>Definitions and Functions relating to RGB colors.</refpurpose>
16
<refsynopsisdiv><title>Synopsis</title>
22
struct <link linkend="GimpRGB">GimpRGB</link>;
23
enum <link linkend="GimpRGBCompositeMode">GimpRGBCompositeMode</link>;
24
<link linkend="void">void</link> <link linkend="gimp-rgb-set">gimp_rgb_set</link> (<link linkend="GimpRGB">GimpRGB</link> *rgb,
25
<link linkend="gdouble">gdouble</link> red,
26
<link linkend="gdouble">gdouble</link> green,
27
<link linkend="gdouble">gdouble</link> blue);
28
<link linkend="void">void</link> <link linkend="gimp-rgb-set-alpha">gimp_rgb_set_alpha</link> (<link linkend="GimpRGB">GimpRGB</link> *rgb,
29
<link linkend="gdouble">gdouble</link> alpha);
30
<link linkend="void">void</link> <link linkend="gimp-rgb-set-uchar">gimp_rgb_set_uchar</link> (<link linkend="GimpRGB">GimpRGB</link> *rgb,
31
<link linkend="guchar">guchar</link> red,
32
<link linkend="guchar">guchar</link> green,
33
<link linkend="guchar">guchar</link> blue);
34
<link linkend="void">void</link> <link linkend="gimp-rgb-get-uchar">gimp_rgb_get_uchar</link> (const <link linkend="GimpRGB">GimpRGB</link> *rgb,
35
<link linkend="guchar">guchar</link> *red,
36
<link linkend="guchar">guchar</link> *green,
37
<link linkend="guchar">guchar</link> *blue);
38
<link linkend="gboolean">gboolean</link> <link linkend="gimp-rgb-parse-name">gimp_rgb_parse_name</link> (<link linkend="GimpRGB">GimpRGB</link> *rgb,
39
const <link linkend="gchar">gchar</link> *name,
40
<link linkend="gint">gint</link> len);
41
<link linkend="gboolean">gboolean</link> <link linkend="gimp-rgb-parse-hex">gimp_rgb_parse_hex</link> (<link linkend="GimpRGB">GimpRGB</link> *rgb,
42
const <link linkend="gchar">gchar</link> *hex,
43
<link linkend="gint">gint</link> len);
44
<link linkend="gboolean">gboolean</link> <link linkend="gimp-rgb-parse-css">gimp_rgb_parse_css</link> (<link linkend="GimpRGB">GimpRGB</link> *rgb,
45
const <link linkend="gchar">gchar</link> *css,
46
<link linkend="gint">gint</link> len);
47
<link linkend="gint">gint</link> <link linkend="gimp-rgb-list-names">gimp_rgb_list_names</link> (const <link linkend="gchar">gchar</link> ***names,
48
<link linkend="GimpRGB">GimpRGB</link> **colors);
49
<link linkend="void">void</link> <link linkend="gimp-rgb-add">gimp_rgb_add</link> (<link linkend="GimpRGB">GimpRGB</link> *rgb1,
50
const <link linkend="GimpRGB">GimpRGB</link> *rgb2);
51
<link linkend="void">void</link> <link linkend="gimp-rgb-subtract">gimp_rgb_subtract</link> (<link linkend="GimpRGB">GimpRGB</link> *rgb1,
52
const <link linkend="GimpRGB">GimpRGB</link> *rgb2);
53
<link linkend="void">void</link> <link linkend="gimp-rgb-multiply">gimp_rgb_multiply</link> (<link linkend="GimpRGB">GimpRGB</link> *rgb1,
54
<link linkend="gdouble">gdouble</link> factor);
55
<link linkend="gdouble">gdouble</link> <link linkend="gimp-rgb-distance">gimp_rgb_distance</link> (const <link linkend="GimpRGB">GimpRGB</link> *rgb1,
56
const <link linkend="GimpRGB">GimpRGB</link> *rgb2);
57
<link linkend="gdouble">gdouble</link> <link linkend="gimp-rgb-max">gimp_rgb_max</link> (const <link linkend="GimpRGB">GimpRGB</link> *rgb);
58
<link linkend="gdouble">gdouble</link> <link linkend="gimp-rgb-min">gimp_rgb_min</link> (const <link linkend="GimpRGB">GimpRGB</link> *rgb);
59
<link linkend="void">void</link> <link linkend="gimp-rgb-clamp">gimp_rgb_clamp</link> (<link linkend="GimpRGB">GimpRGB</link> *rgb);
60
<link linkend="void">void</link> <link linkend="gimp-rgb-gamma">gimp_rgb_gamma</link> (<link linkend="GimpRGB">GimpRGB</link> *rgb,
61
<link linkend="gdouble">gdouble</link> gamma);
62
<link linkend="gdouble">gdouble</link> <link linkend="gimp-rgb-intensity">gimp_rgb_intensity</link> (const <link linkend="GimpRGB">GimpRGB</link> *rgb);
63
<link linkend="guchar">guchar</link> <link linkend="gimp-rgb-intensity-uchar">gimp_rgb_intensity_uchar</link> (const <link linkend="GimpRGB">GimpRGB</link> *rgb);
64
<link linkend="void">void</link> <link linkend="gimp-rgb-composite">gimp_rgb_composite</link> (<link linkend="GimpRGB">GimpRGB</link> *color1,
65
const <link linkend="GimpRGB">GimpRGB</link> *color2,
66
<link linkend="GimpRGBCompositeMode">GimpRGBCompositeMode</link> mode);
67
<link linkend="void">void</link> <link linkend="gimp-rgba-set">gimp_rgba_set</link> (<link linkend="GimpRGB">GimpRGB</link> *rgba,
68
<link linkend="gdouble">gdouble</link> red,
69
<link linkend="gdouble">gdouble</link> green,
70
<link linkend="gdouble">gdouble</link> blue,
71
<link linkend="gdouble">gdouble</link> alpha);
72
<link linkend="void">void</link> <link linkend="gimp-rgba-set-uchar">gimp_rgba_set_uchar</link> (<link linkend="GimpRGB">GimpRGB</link> *rgba,
73
<link linkend="guchar">guchar</link> red,
74
<link linkend="guchar">guchar</link> green,
75
<link linkend="guchar">guchar</link> blue,
76
<link linkend="guchar">guchar</link> alpha);
77
<link linkend="void">void</link> <link linkend="gimp-rgba-get-uchar">gimp_rgba_get_uchar</link> (const <link linkend="GimpRGB">GimpRGB</link> *rgba,
78
<link linkend="guchar">guchar</link> *red,
79
<link linkend="guchar">guchar</link> *green,
80
<link linkend="guchar">guchar</link> *blue,
81
<link linkend="guchar">guchar</link> *alpha);
82
<link linkend="gboolean">gboolean</link> <link linkend="gimp-rgba-parse-css">gimp_rgba_parse_css</link> (<link linkend="GimpRGB">GimpRGB</link> *rgba,
83
const <link linkend="gchar">gchar</link> *css,
84
<link linkend="gint">gint</link> len);
85
<link linkend="void">void</link> <link linkend="gimp-rgba-add">gimp_rgba_add</link> (<link linkend="GimpRGB">GimpRGB</link> *rgba1,
86
const <link linkend="GimpRGB">GimpRGB</link> *rgba2);
87
<link linkend="void">void</link> <link linkend="gimp-rgba-subtract">gimp_rgba_subtract</link> (<link linkend="GimpRGB">GimpRGB</link> *rgba1,
88
const <link linkend="GimpRGB">GimpRGB</link> *rgba2);
89
<link linkend="void">void</link> <link linkend="gimp-rgba-multiply">gimp_rgba_multiply</link> (<link linkend="GimpRGB">GimpRGB</link> *rgba,
90
<link linkend="gdouble">gdouble</link> factor);
91
<link linkend="gdouble">gdouble</link> <link linkend="gimp-rgba-distance">gimp_rgba_distance</link> (const <link linkend="GimpRGB">GimpRGB</link> *rgba1,
92
const <link linkend="GimpRGB">GimpRGB</link> *rgba2);
93
#define <link linkend="GIMP-RGB-INTENSITY-CAPS">GIMP_RGB_INTENSITY</link> (r,g,b)
94
#define <link linkend="GIMP-RGB-INTENSITY-RED-CAPS">GIMP_RGB_INTENSITY_RED</link>
95
#define <link linkend="GIMP-RGB-INTENSITY-GREEN-CAPS">GIMP_RGB_INTENSITY_GREEN</link>
96
#define <link linkend="GIMP-RGB-INTENSITY-BLUE-CAPS">GIMP_RGB_INTENSITY_BLUE</link>
97
#define <link linkend="GIMP-TYPE-RGB-CAPS">GIMP_TYPE_RGB</link>
98
#define <link linkend="GIMP-VALUE-HOLDS-RGB-CAPS">GIMP_VALUE_HOLDS_RGB</link> (value)
112
<title>Description</title>
114
Definitions and Functions relating to RGB colors.
119
<title>Details</title>
121
<title><anchor id="GimpRGB"/>struct GimpRGB</title>
122
<indexterm><primary>GimpRGB</primary></indexterm><programlisting>struct GimpRGB {
131
<title><anchor id="GimpRGBCompositeMode"/>enum GimpRGBCompositeMode</title>
132
<indexterm><primary>GimpRGBCompositeMode</primary></indexterm><programlisting>typedef enum
134
GIMP_RGB_COMPOSITE_NONE = 0,
135
GIMP_RGB_COMPOSITE_NORMAL,
136
GIMP_RGB_COMPOSITE_BEHIND
137
} GimpRGBCompositeMode;
143
<title><anchor id="gimp-rgb-set"/>gimp_rgb_set ()</title>
144
<indexterm><primary>gimp_rgb_set</primary></indexterm><programlisting><link linkend="void">void</link> gimp_rgb_set (<link linkend="GimpRGB">GimpRGB</link> *rgb,
145
<link linkend="gdouble">gdouble</link> red,
146
<link linkend="gdouble">gdouble</link> green,
147
<link linkend="gdouble">gdouble</link> blue);</programlisting>
149
Sets the red, green and blue components of <parameter>rgb</parameter> and leaves the
150
alpha component unchanged. The color values should be between 0.0
151
and 1.0 but there is no check to enforce this and the values are
152
set exactly as they are passed in.</para>
155
</para><variablelist role="params">
156
<varlistentry><term><parameter>rgb</parameter> :</term>
157
<listitem><simpara> a <link linkend="GimpRGB"><type>GimpRGB</type></link> struct
158
</simpara></listitem></varlistentry>
159
<varlistentry><term><parameter>red</parameter> :</term>
161
</simpara></listitem></varlistentry>
162
<varlistentry><term><parameter>green</parameter> :</term>
164
</simpara></listitem></varlistentry>
165
<varlistentry><term><parameter>blue</parameter> :</term>
167
</simpara></listitem></varlistentry>
168
</variablelist></refsect2>
170
<title><anchor id="gimp-rgb-set-alpha"/>gimp_rgb_set_alpha ()</title>
171
<indexterm><primary>gimp_rgb_set_alpha</primary></indexterm><programlisting><link linkend="void">void</link> gimp_rgb_set_alpha (<link linkend="GimpRGB">GimpRGB</link> *rgb,
172
<link linkend="gdouble">gdouble</link> alpha);</programlisting>
174
Sets the alpha component of <parameter>rgb</parameter> and leaves the RGB components unchanged.</para>
177
</para><variablelist role="params">
178
<varlistentry><term><parameter>rgb</parameter> :</term>
179
<listitem><simpara> a <link linkend="GimpRGB"><type>GimpRGB</type></link> struct
180
</simpara></listitem></varlistentry>
181
<varlistentry><term><parameter>alpha</parameter> :</term>
183
</simpara></listitem></varlistentry>
184
</variablelist></refsect2>
186
<title><anchor id="gimp-rgb-set-uchar"/>gimp_rgb_set_uchar ()</title>
187
<indexterm><primary>gimp_rgb_set_uchar</primary></indexterm><programlisting><link linkend="void">void</link> gimp_rgb_set_uchar (<link linkend="GimpRGB">GimpRGB</link> *rgb,
188
<link linkend="guchar">guchar</link> red,
189
<link linkend="guchar">guchar</link> green,
190
<link linkend="guchar">guchar</link> blue);</programlisting>
192
Sets the red, green and blue components of <parameter>rgb</parameter> from 8bit values
193
(0 to 255) and leaves the alpha component unchanged.</para>
196
</para><variablelist role="params">
197
<varlistentry><term><parameter>rgb</parameter> :</term>
198
<listitem><simpara> a <link linkend="GimpRGB"><type>GimpRGB</type></link> struct
199
</simpara></listitem></varlistentry>
200
<varlistentry><term><parameter>red</parameter> :</term>
202
</simpara></listitem></varlistentry>
203
<varlistentry><term><parameter>green</parameter> :</term>
205
</simpara></listitem></varlistentry>
206
<varlistentry><term><parameter>blue</parameter> :</term>
208
</simpara></listitem></varlistentry>
209
</variablelist></refsect2>
211
<title><anchor id="gimp-rgb-get-uchar"/>gimp_rgb_get_uchar ()</title>
212
<indexterm><primary>gimp_rgb_get_uchar</primary></indexterm><programlisting><link linkend="void">void</link> gimp_rgb_get_uchar (const <link linkend="GimpRGB">GimpRGB</link> *rgb,
213
<link linkend="guchar">guchar</link> *red,
214
<link linkend="guchar">guchar</link> *green,
215
<link linkend="guchar">guchar</link> *blue);</programlisting>
218
</para><variablelist role="params">
219
<varlistentry><term><parameter>rgb</parameter> :</term>
221
</simpara></listitem></varlistentry>
222
<varlistentry><term><parameter>red</parameter> :</term>
224
</simpara></listitem></varlistentry>
225
<varlistentry><term><parameter>green</parameter> :</term>
227
</simpara></listitem></varlistentry>
228
<varlistentry><term><parameter>blue</parameter> :</term>
232
</simpara></listitem></varlistentry>
233
</variablelist></refsect2>
235
<title><anchor id="gimp-rgb-parse-name"/>gimp_rgb_parse_name ()</title>
236
<indexterm><primary>gimp_rgb_parse_name</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> gimp_rgb_parse_name (<link linkend="GimpRGB">GimpRGB</link> *rgb,
237
const <link linkend="gchar">gchar</link> *name,
238
<link linkend="gint">gint</link> len);</programlisting>
240
Attempts to parse a color name. This function accepts RGB hex
241
values or <ulink url="http://www.w3.org/TR/SVG/types.html">SVG 1.0
242
color keywords</ulink>. The format of an RGB value in hexadecimal
243
notation is a '#' immediately followed by either three or six
244
hexadecimal characters.
247
This funcion does not touch the alpha component of <parameter>rgb</parameter>.</para>
250
</para><variablelist role="params">
251
<varlistentry><term><parameter>rgb</parameter> :</term>
252
<listitem><simpara> a <link linkend="GimpRGB"><type>GimpRGB</type></link> struct used to return the parsed color
253
</simpara></listitem></varlistentry>
254
<varlistentry><term><parameter>name</parameter> :</term>
255
<listitem><simpara> a color name (in UTF-8 encoding)
256
</simpara></listitem></varlistentry>
257
<varlistentry><term><parameter>len</parameter> :</term>
258
<listitem><simpara> the length of <parameter>name</parameter>, in bytes. or -1 if <parameter>name</parameter> is nul-terminated
259
</simpara></listitem></varlistentry>
260
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> <literal>TRUE</literal> if <parameter>name</parameter> was parsed successfully and <parameter>rgb</parameter> has been
261
set, <literal>FALSE</literal> otherwise
263
</simpara></listitem></varlistentry>
264
</variablelist><para>Since GIMP 2.2
267
<title><anchor id="gimp-rgb-parse-hex"/>gimp_rgb_parse_hex ()</title>
268
<indexterm><primary>gimp_rgb_parse_hex</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> gimp_rgb_parse_hex (<link linkend="GimpRGB">GimpRGB</link> *rgb,
269
const <link linkend="gchar">gchar</link> *hex,
270
<link linkend="gint">gint</link> len);</programlisting>
272
Attempts to parse a string describing a color in RGB value in
273
hexadecimal notation (optionally prefixed with a '#').
276
This funcion does not touch the alpha component of <parameter>rgb</parameter>.</para>
279
</para><variablelist role="params">
280
<varlistentry><term><parameter>rgb</parameter> :</term>
281
<listitem><simpara> a <link linkend="GimpRGB"><type>GimpRGB</type></link> struct used to return the parsed color
282
</simpara></listitem></varlistentry>
283
<varlistentry><term><parameter>hex</parameter> :</term>
284
<listitem><simpara> a string describing a color in hexadecimal notation
285
</simpara></listitem></varlistentry>
286
<varlistentry><term><parameter>len</parameter> :</term>
287
<listitem><simpara> the length of <parameter>hex</parameter>, in bytes. or -1 if <parameter>hex</parameter> is nul-terminated
288
</simpara></listitem></varlistentry>
289
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> <literal>TRUE</literal> if <parameter>hex</parameter> was parsed successfully and <parameter>rgb</parameter> has been
290
set, <literal>FALSE</literal> otherwise
292
</simpara></listitem></varlistentry>
293
</variablelist><para>Since GIMP 2.2
296
<title><anchor id="gimp-rgb-parse-css"/>gimp_rgb_parse_css ()</title>
297
<indexterm><primary>gimp_rgb_parse_css</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> gimp_rgb_parse_css (<link linkend="GimpRGB">GimpRGB</link> *rgb,
298
const <link linkend="gchar">gchar</link> *css,
299
<link linkend="gint">gint</link> len);</programlisting>
301
Attempts to parse a string describing a color in RGB value in CSS
302
notation. This can be either a numerical representation
303
(<code>rgb(255,0,0)</code> or <code>rgb(100%,0%,0%)</code>) or
304
a hexadecimal notation as parsed by <link linkend="gimp-rgb-parse-hex"><function>gimp_rgb_parse_hex()</function></link>
305
(<code>#<link linkend="ff0000"><type>ff0000</type></link></code>) or a color name as parsed by
306
<link linkend="gimp-rgb-parse-name"><function>gimp_rgb_parse_name()</function></link> (<code>red</code>).
309
This funcion does not touch the alpha component of <parameter>rgb</parameter>.</para>
312
</para><variablelist role="params">
313
<varlistentry><term><parameter>rgb</parameter> :</term>
314
<listitem><simpara> a <link linkend="GimpRGB"><type>GimpRGB</type></link> struct used to return the parsed color
315
</simpara></listitem></varlistentry>
316
<varlistentry><term><parameter>css</parameter> :</term>
317
<listitem><simpara> a string describing a color in CSS notation
318
</simpara></listitem></varlistentry>
319
<varlistentry><term><parameter>len</parameter> :</term>
320
<listitem><simpara> the length of <parameter>hex</parameter>, in bytes. or -1 if <parameter>hex</parameter> is nul-terminated
321
</simpara></listitem></varlistentry>
322
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> <literal>TRUE</literal> if <parameter>css</parameter> was parsed successfully and <parameter>rgb</parameter> has been
323
set, <literal>FALSE</literal> otherwise
325
</simpara></listitem></varlistentry>
326
</variablelist><para>Since GIMP 2.2
329
<title><anchor id="gimp-rgb-list-names"/>gimp_rgb_list_names ()</title>
330
<indexterm><primary>gimp_rgb_list_names</primary></indexterm><programlisting><link linkend="gint">gint</link> gimp_rgb_list_names (const <link linkend="gchar">gchar</link> ***names,
331
<link linkend="GimpRGB">GimpRGB</link> **colors);</programlisting>
333
Allows to retrieve the list of <ulink
334
url="http://www.w3.org/TR/SVG/types.html">SVG 1.0 color
335
keywords</ulink> that is used by <link linkend="gimp-rgb-parse-name"><function>gimp_rgb_parse_name()</function></link>.
338
The returned strings are const and must not be freed. Only the two
339
arrays are allocated dynamically. You must call <link linkend="g-free"><function>g_free()</function></link> on the
340
<parameter>names</parameter> and <parameter>colors</parameter> arrays when they are not any longer needed.</para>
343
</para><variablelist role="params">
344
<varlistentry><term><parameter>names</parameter> :</term>
345
<listitem><simpara> return location for an array of color names
346
</simpara></listitem></varlistentry>
347
<varlistentry><term><parameter>colors</parameter> :</term>
348
<listitem><simpara> return location for an array of GimpRGB structs
349
</simpara></listitem></varlistentry>
350
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> the number of named colors
351
(i.e. the length of the returned arrays)
353
</simpara></listitem></varlistentry>
354
</variablelist><para>Since GIMP 2.2
357
<title><anchor id="gimp-rgb-add"/>gimp_rgb_add ()</title>
358
<indexterm><primary>gimp_rgb_add</primary></indexterm><programlisting><link linkend="void">void</link> gimp_rgb_add (<link linkend="GimpRGB">GimpRGB</link> *rgb1,
359
const <link linkend="GimpRGB">GimpRGB</link> *rgb2);</programlisting>
362
</para><variablelist role="params">
363
<varlistentry><term><parameter>rgb1</parameter> :</term>
365
</simpara></listitem></varlistentry>
366
<varlistentry><term><parameter>rgb2</parameter> :</term>
370
</simpara></listitem></varlistentry>
371
</variablelist></refsect2>
373
<title><anchor id="gimp-rgb-subtract"/>gimp_rgb_subtract ()</title>
374
<indexterm><primary>gimp_rgb_subtract</primary></indexterm><programlisting><link linkend="void">void</link> gimp_rgb_subtract (<link linkend="GimpRGB">GimpRGB</link> *rgb1,
375
const <link linkend="GimpRGB">GimpRGB</link> *rgb2);</programlisting>
378
</para><variablelist role="params">
379
<varlistentry><term><parameter>rgb1</parameter> :</term>
381
</simpara></listitem></varlistentry>
382
<varlistentry><term><parameter>rgb2</parameter> :</term>
386
</simpara></listitem></varlistentry>
387
</variablelist></refsect2>
389
<title><anchor id="gimp-rgb-multiply"/>gimp_rgb_multiply ()</title>
390
<indexterm><primary>gimp_rgb_multiply</primary></indexterm><programlisting><link linkend="void">void</link> gimp_rgb_multiply (<link linkend="GimpRGB">GimpRGB</link> *rgb1,
391
<link linkend="gdouble">gdouble</link> factor);</programlisting>
394
</para><variablelist role="params">
395
<varlistentry><term><parameter>rgb1</parameter> :</term>
397
</simpara></listitem></varlistentry>
398
<varlistentry><term><parameter>factor</parameter> :</term>
402
</simpara></listitem></varlistentry>
403
</variablelist></refsect2>
405
<title><anchor id="gimp-rgb-distance"/>gimp_rgb_distance ()</title>
406
<indexterm><primary>gimp_rgb_distance</primary></indexterm><programlisting><link linkend="gdouble">gdouble</link> gimp_rgb_distance (const <link linkend="GimpRGB">GimpRGB</link> *rgb1,
407
const <link linkend="GimpRGB">GimpRGB</link> *rgb2);</programlisting>
410
</para><variablelist role="params">
411
<varlistentry><term><parameter>rgb1</parameter> :</term>
413
</simpara></listitem></varlistentry>
414
<varlistentry><term><parameter>rgb2</parameter> :</term>
416
</simpara></listitem></varlistentry>
417
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara>
420
</simpara></listitem></varlistentry>
421
</variablelist></refsect2>
423
<title><anchor id="gimp-rgb-max"/>gimp_rgb_max ()</title>
424
<indexterm><primary>gimp_rgb_max</primary></indexterm><programlisting><link linkend="gdouble">gdouble</link> gimp_rgb_max (const <link linkend="GimpRGB">GimpRGB</link> *rgb);</programlisting>
427
</para><variablelist role="params">
428
<varlistentry><term><parameter>rgb</parameter> :</term>
430
</simpara></listitem></varlistentry>
431
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara>
434
</simpara></listitem></varlistentry>
435
</variablelist></refsect2>
437
<title><anchor id="gimp-rgb-min"/>gimp_rgb_min ()</title>
438
<indexterm><primary>gimp_rgb_min</primary></indexterm><programlisting><link linkend="gdouble">gdouble</link> gimp_rgb_min (const <link linkend="GimpRGB">GimpRGB</link> *rgb);</programlisting>
441
</para><variablelist role="params">
442
<varlistentry><term><parameter>rgb</parameter> :</term>
444
</simpara></listitem></varlistentry>
445
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara>
448
</simpara></listitem></varlistentry>
449
</variablelist></refsect2>
451
<title><anchor id="gimp-rgb-clamp"/>gimp_rgb_clamp ()</title>
452
<indexterm><primary>gimp_rgb_clamp</primary></indexterm><programlisting><link linkend="void">void</link> gimp_rgb_clamp (<link linkend="GimpRGB">GimpRGB</link> *rgb);</programlisting>
455
</para><variablelist role="params">
456
<varlistentry><term><parameter>rgb</parameter> :</term>
460
</simpara></listitem></varlistentry>
461
</variablelist></refsect2>
463
<title><anchor id="gimp-rgb-gamma"/>gimp_rgb_gamma ()</title>
464
<indexterm><primary>gimp_rgb_gamma</primary></indexterm><programlisting><link linkend="void">void</link> gimp_rgb_gamma (<link linkend="GimpRGB">GimpRGB</link> *rgb,
465
<link linkend="gdouble">gdouble</link> gamma);</programlisting>
468
</para><variablelist role="params">
469
<varlistentry><term><parameter>rgb</parameter> :</term>
471
</simpara></listitem></varlistentry>
472
<varlistentry><term><parameter>gamma</parameter> :</term>
476
</simpara></listitem></varlistentry>
477
</variablelist></refsect2>
479
<title><anchor id="gimp-rgb-intensity"/>gimp_rgb_intensity ()</title>
480
<indexterm><primary>gimp_rgb_intensity</primary></indexterm><programlisting><link linkend="gdouble">gdouble</link> gimp_rgb_intensity (const <link linkend="GimpRGB">GimpRGB</link> *rgb);</programlisting>
483
</para><variablelist role="params">
484
<varlistentry><term><parameter>rgb</parameter> :</term>
486
</simpara></listitem></varlistentry>
487
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara>
490
</simpara></listitem></varlistentry>
491
</variablelist></refsect2>
493
<title><anchor id="gimp-rgb-intensity-uchar"/>gimp_rgb_intensity_uchar ()</title>
494
<indexterm><primary>gimp_rgb_intensity_uchar</primary></indexterm><programlisting><link linkend="guchar">guchar</link> gimp_rgb_intensity_uchar (const <link linkend="GimpRGB">GimpRGB</link> *rgb);</programlisting>
497
</para><variablelist role="params">
498
<varlistentry><term><parameter>rgb</parameter> :</term>
500
</simpara></listitem></varlistentry>
501
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara>
504
</simpara></listitem></varlistentry>
505
</variablelist></refsect2>
507
<title><anchor id="gimp-rgb-composite"/>gimp_rgb_composite ()</title>
508
<indexterm><primary>gimp_rgb_composite</primary></indexterm><programlisting><link linkend="void">void</link> gimp_rgb_composite (<link linkend="GimpRGB">GimpRGB</link> *color1,
509
const <link linkend="GimpRGB">GimpRGB</link> *color2,
510
<link linkend="GimpRGBCompositeMode">GimpRGBCompositeMode</link> mode);</programlisting>
513
</para><variablelist role="params">
514
<varlistentry><term><parameter>color1</parameter> :</term>
516
</simpara></listitem></varlistentry>
517
<varlistentry><term><parameter>color2</parameter> :</term>
519
</simpara></listitem></varlistentry>
520
<varlistentry><term><parameter>mode</parameter> :</term>
524
</simpara></listitem></varlistentry>
525
</variablelist></refsect2>
527
<title><anchor id="gimp-rgba-set"/>gimp_rgba_set ()</title>
528
<indexterm><primary>gimp_rgba_set</primary></indexterm><programlisting><link linkend="void">void</link> gimp_rgba_set (<link linkend="GimpRGB">GimpRGB</link> *rgba,
529
<link linkend="gdouble">gdouble</link> red,
530
<link linkend="gdouble">gdouble</link> green,
531
<link linkend="gdouble">gdouble</link> blue,
532
<link linkend="gdouble">gdouble</link> alpha);</programlisting>
534
Sets the red, green, blue and alpha components of <parameter>rgb</parameter>. The values
535
should be between 0.0 and 1.0 but there is no check to enforce this
536
and the values are set exactly as they are passed in.</para>
539
</para><variablelist role="params">
540
<varlistentry><term><parameter>rgba</parameter> :</term>
541
<listitem><simpara> a <link linkend="GimpRGB"><type>GimpRGB</type></link> struct
542
</simpara></listitem></varlistentry>
543
<varlistentry><term><parameter>red</parameter> :</term>
545
</simpara></listitem></varlistentry>
546
<varlistentry><term><parameter>green</parameter> :</term>
548
</simpara></listitem></varlistentry>
549
<varlistentry><term><parameter>blue</parameter> :</term>
551
</simpara></listitem></varlistentry>
552
<varlistentry><term><parameter>alpha</parameter> :</term>
554
</simpara></listitem></varlistentry>
555
</variablelist></refsect2>
557
<title><anchor id="gimp-rgba-set-uchar"/>gimp_rgba_set_uchar ()</title>
558
<indexterm><primary>gimp_rgba_set_uchar</primary></indexterm><programlisting><link linkend="void">void</link> gimp_rgba_set_uchar (<link linkend="GimpRGB">GimpRGB</link> *rgba,
559
<link linkend="guchar">guchar</link> red,
560
<link linkend="guchar">guchar</link> green,
561
<link linkend="guchar">guchar</link> blue,
562
<link linkend="guchar">guchar</link> alpha);</programlisting>
564
Sets the red, green, blue and alpha components of <parameter>rgb</parameter> from 8bit
565
values (0 to 255).</para>
568
</para><variablelist role="params">
569
<varlistentry><term><parameter>rgba</parameter> :</term>
570
<listitem><simpara> a <link linkend="GimpRGB"><type>GimpRGB</type></link> struct
571
</simpara></listitem></varlistentry>
572
<varlistentry><term><parameter>red</parameter> :</term>
574
</simpara></listitem></varlistentry>
575
<varlistentry><term><parameter>green</parameter> :</term>
577
</simpara></listitem></varlistentry>
578
<varlistentry><term><parameter>blue</parameter> :</term>
580
</simpara></listitem></varlistentry>
581
<varlistentry><term><parameter>alpha</parameter> :</term>
583
</simpara></listitem></varlistentry>
584
</variablelist></refsect2>
586
<title><anchor id="gimp-rgba-get-uchar"/>gimp_rgba_get_uchar ()</title>
587
<indexterm><primary>gimp_rgba_get_uchar</primary></indexterm><programlisting><link linkend="void">void</link> gimp_rgba_get_uchar (const <link linkend="GimpRGB">GimpRGB</link> *rgba,
588
<link linkend="guchar">guchar</link> *red,
589
<link linkend="guchar">guchar</link> *green,
590
<link linkend="guchar">guchar</link> *blue,
591
<link linkend="guchar">guchar</link> *alpha);</programlisting>
594
</para><variablelist role="params">
595
<varlistentry><term><parameter>rgba</parameter> :</term>
597
</simpara></listitem></varlistentry>
598
<varlistentry><term><parameter>red</parameter> :</term>
600
</simpara></listitem></varlistentry>
601
<varlistentry><term><parameter>green</parameter> :</term>
603
</simpara></listitem></varlistentry>
604
<varlistentry><term><parameter>blue</parameter> :</term>
606
</simpara></listitem></varlistentry>
607
<varlistentry><term><parameter>alpha</parameter> :</term>
611
</simpara></listitem></varlistentry>
612
</variablelist></refsect2>
614
<title><anchor id="gimp-rgba-parse-css"/>gimp_rgba_parse_css ()</title>
615
<indexterm><primary>gimp_rgba_parse_css</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> gimp_rgba_parse_css (<link linkend="GimpRGB">GimpRGB</link> *rgba,
616
const <link linkend="gchar">gchar</link> *css,
617
<link linkend="gint">gint</link> len);</programlisting>
619
Similar to <link linkend="gimp-rgb-parse-css"><function>gimp_rgb_parse_css()</function></link> but handles RGB colors with alpha
620
channel in the numerical CSS notation (<code>rgba(255,0,0,255)</code>
621
or <code>rgba(100%,0%,0%,1000%)</code>).
624
It doesn't handle the hexadecimal notation or color names because
625
they leave the alpha channel unspecified.</para>
628
</para><variablelist role="params">
629
<varlistentry><term><parameter>rgba</parameter> :</term>
630
<listitem><simpara> a <link linkend="GimpRGB"><type>GimpRGB</type></link> struct used to return the parsed color
631
</simpara></listitem></varlistentry>
632
<varlistentry><term><parameter>css</parameter> :</term>
633
<listitem><simpara> a string describing a color in CSS notation
634
</simpara></listitem></varlistentry>
635
<varlistentry><term><parameter>len</parameter> :</term>
636
<listitem><simpara> the length of <parameter>hex</parameter>, in bytes. or -1 if <parameter>hex</parameter> is nul-terminated
637
</simpara></listitem></varlistentry>
638
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> <literal>TRUE</literal> if <parameter>css</parameter> was parsed successfully and <parameter>rgb</parameter> has been
639
set, <literal>FALSE</literal> otherwise
641
</simpara></listitem></varlistentry>
642
</variablelist><para>Since GIMP 2.2
645
<title><anchor id="gimp-rgba-add"/>gimp_rgba_add ()</title>
646
<indexterm><primary>gimp_rgba_add</primary></indexterm><programlisting><link linkend="void">void</link> gimp_rgba_add (<link linkend="GimpRGB">GimpRGB</link> *rgba1,
647
const <link linkend="GimpRGB">GimpRGB</link> *rgba2);</programlisting>
650
</para><variablelist role="params">
651
<varlistentry><term><parameter>rgba1</parameter> :</term>
653
</simpara></listitem></varlistentry>
654
<varlistentry><term><parameter>rgba2</parameter> :</term>
658
</simpara></listitem></varlistentry>
659
</variablelist></refsect2>
661
<title><anchor id="gimp-rgba-subtract"/>gimp_rgba_subtract ()</title>
662
<indexterm><primary>gimp_rgba_subtract</primary></indexterm><programlisting><link linkend="void">void</link> gimp_rgba_subtract (<link linkend="GimpRGB">GimpRGB</link> *rgba1,
663
const <link linkend="GimpRGB">GimpRGB</link> *rgba2);</programlisting>
666
</para><variablelist role="params">
667
<varlistentry><term><parameter>rgba1</parameter> :</term>
669
</simpara></listitem></varlistentry>
670
<varlistentry><term><parameter>rgba2</parameter> :</term>
674
</simpara></listitem></varlistentry>
675
</variablelist></refsect2>
677
<title><anchor id="gimp-rgba-multiply"/>gimp_rgba_multiply ()</title>
678
<indexterm><primary>gimp_rgba_multiply</primary></indexterm><programlisting><link linkend="void">void</link> gimp_rgba_multiply (<link linkend="GimpRGB">GimpRGB</link> *rgba,
679
<link linkend="gdouble">gdouble</link> factor);</programlisting>
682
</para><variablelist role="params">
683
<varlistentry><term><parameter>rgba</parameter> :</term>
685
</simpara></listitem></varlistentry>
686
<varlistentry><term><parameter>factor</parameter> :</term>
690
</simpara></listitem></varlistentry>
691
</variablelist></refsect2>
693
<title><anchor id="gimp-rgba-distance"/>gimp_rgba_distance ()</title>
694
<indexterm><primary>gimp_rgba_distance</primary></indexterm><programlisting><link linkend="gdouble">gdouble</link> gimp_rgba_distance (const <link linkend="GimpRGB">GimpRGB</link> *rgba1,
695
const <link linkend="GimpRGB">GimpRGB</link> *rgba2);</programlisting>
698
</para><variablelist role="params">
699
<varlistentry><term><parameter>rgba1</parameter> :</term>
701
</simpara></listitem></varlistentry>
702
<varlistentry><term><parameter>rgba2</parameter> :</term>
704
</simpara></listitem></varlistentry>
705
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara>
708
</simpara></listitem></varlistentry>
709
</variablelist></refsect2>
711
<title><anchor id="GIMP-RGB-INTENSITY-CAPS"/>GIMP_RGB_INTENSITY()</title>
712
<indexterm><primary>GIMP_RGB_INTENSITY</primary></indexterm><programlisting>#define GIMP_RGB_INTENSITY(r,g,b)</programlisting>
714
This macro calculates the intensity of an RGB value based on
715
coefficients taken from the NTSC analog television standard.
716
</para><variablelist role="params">
717
<varlistentry><term><parameter>r</parameter> :</term>
718
<listitem><simpara>red
719
</simpara></listitem></varlistentry>
720
<varlistentry><term><parameter>g</parameter> :</term>
721
<listitem><simpara>green
722
</simpara></listitem></varlistentry>
723
<varlistentry><term><parameter>b</parameter> :</term>
724
<listitem><simpara>blue
727
</simpara></listitem></varlistentry>
728
</variablelist></refsect2>
730
<title><anchor id="GIMP-RGB-INTENSITY-RED-CAPS"/>GIMP_RGB_INTENSITY_RED</title>
731
<indexterm><primary>GIMP_RGB_INTENSITY_RED</primary></indexterm><programlisting>#define GIMP_RGB_INTENSITY_RED 0.30
737
<title><anchor id="GIMP-RGB-INTENSITY-GREEN-CAPS"/>GIMP_RGB_INTENSITY_GREEN</title>
738
<indexterm><primary>GIMP_RGB_INTENSITY_GREEN</primary></indexterm><programlisting>#define GIMP_RGB_INTENSITY_GREEN 0.59
744
<title><anchor id="GIMP-RGB-INTENSITY-BLUE-CAPS"/>GIMP_RGB_INTENSITY_BLUE</title>
745
<indexterm><primary>GIMP_RGB_INTENSITY_BLUE</primary></indexterm><programlisting>#define GIMP_RGB_INTENSITY_BLUE 0.11
751
<title><anchor id="GIMP-TYPE-RGB-CAPS"/>GIMP_TYPE_RGB</title>
752
<indexterm><primary>GIMP_TYPE_RGB</primary></indexterm><programlisting>#define GIMP_TYPE_RGB (gimp_rgb_get_type ())
755
<link linkend="GIMP-TYPE-RGB-CAPS"><type>GIMP_TYPE_RGB</type></link> is a <link linkend="GType"><type>GType</type></link> derived from <link linkend="G-TYPE-BOXED-CAPS"><type>G_TYPE_BOXED</type></link>.
758
<title><anchor id="GIMP-VALUE-HOLDS-RGB-CAPS"/>GIMP_VALUE_HOLDS_RGB()</title>
759
<indexterm><primary>GIMP_VALUE_HOLDS_RGB</primary></indexterm><programlisting>#define GIMP_VALUE_HOLDS_RGB(value) (G_TYPE_CHECK_VALUE_TYPE ((value), GIMP_TYPE_RGB))
763
</para><variablelist role="params">
764
<varlistentry><term><parameter>value</parameter> :</term>
768
</simpara></listitem></varlistentry>
769
</variablelist></refsect2>