5
5
<refentry id="libgimpmath-GimpMatrix">
7
<refentrytitle>GimpMatrix</refentrytitle>
7
<refentrytitle role="top_of_page">GimpMatrix</refentrytitle>
8
8
<manvolnum>3</manvolnum>
9
9
<refmiscinfo>LIBGIMPMATH Library</refmiscinfo>
13
<refname>GimpMatrix</refname><refpurpose>Utilities to set up and manipulate 3x3 transformation matrices.</refpurpose>
13
<refname>GimpMatrix</refname>
14
<refpurpose>Utilities to set up and manipulate 3x3 transformation matrices.</refpurpose>
15
<!--[<xref linkend="desc" endterm="desc.title"/>]-->
16
<refsynopsisdiv><title>Synopsis</title>
18
<refsynopsisdiv role="synopsis">
19
<title role="synopsis.title">Synopsis</title>
22
<link linkend="GimpMatrix2">GimpMatrix2</link>;
23
<link linkend="GimpMatrix3">GimpMatrix3</link>;
24
<link linkend="GimpMatrix4">GimpMatrix4</link>;
25
<link linkend="void">void</link> <link linkend="gimp-matrix2-identity">gimp_matrix2_identity</link> (<link linkend="GimpMatrix2">GimpMatrix2</link> *matrix);
26
<link linkend="void">void</link> <link linkend="gimp-matrix2-mult">gimp_matrix2_mult</link> (const <link linkend="GimpMatrix2">GimpMatrix2</link> *matrix1,
27
<link linkend="GimpMatrix2">GimpMatrix2</link> *matrix2);
28
<link linkend="void">void</link> <link linkend="gimp-matrix3-identity">gimp_matrix3_identity</link> (<link linkend="GimpMatrix3">GimpMatrix3</link> *matrix);
29
<link linkend="void">void</link> <link linkend="gimp-matrix3-mult">gimp_matrix3_mult</link> (const <link linkend="GimpMatrix3">GimpMatrix3</link> *matrix1,
30
<link linkend="GimpMatrix3">GimpMatrix3</link> *matrix2);
31
<link linkend="void">void</link> <link linkend="gimp-matrix3-translate">gimp_matrix3_translate</link> (<link linkend="GimpMatrix3">GimpMatrix3</link> *matrix,
32
<link linkend="gdouble">gdouble</link> x,
33
<link linkend="gdouble">gdouble</link> y);
34
<link linkend="void">void</link> <link linkend="gimp-matrix3-scale">gimp_matrix3_scale</link> (<link linkend="GimpMatrix3">GimpMatrix3</link> *matrix,
35
<link linkend="gdouble">gdouble</link> x,
36
<link linkend="gdouble">gdouble</link> y);
37
<link linkend="void">void</link> <link linkend="gimp-matrix3-rotate">gimp_matrix3_rotate</link> (<link linkend="GimpMatrix3">GimpMatrix3</link> *matrix,
38
<link linkend="gdouble">gdouble</link> theta);
39
<link linkend="void">void</link> <link linkend="gimp-matrix3-xshear">gimp_matrix3_xshear</link> (<link linkend="GimpMatrix3">GimpMatrix3</link> *matrix,
40
<link linkend="gdouble">gdouble</link> amount);
41
<link linkend="void">void</link> <link linkend="gimp-matrix3-yshear">gimp_matrix3_yshear</link> (<link linkend="GimpMatrix3">GimpMatrix3</link> *matrix,
42
<link linkend="gdouble">gdouble</link> amount);
43
<link linkend="void">void</link> <link linkend="gimp-matrix3-affine">gimp_matrix3_affine</link> (<link linkend="GimpMatrix3">GimpMatrix3</link> *matrix,
44
<link linkend="gdouble">gdouble</link> a,
45
<link linkend="gdouble">gdouble</link> b,
46
<link linkend="gdouble">gdouble</link> c,
47
<link linkend="gdouble">gdouble</link> d,
48
<link linkend="gdouble">gdouble</link> e,
49
<link linkend="gdouble">gdouble</link> f);
50
<link linkend="void">void</link> <link linkend="gimp-matrix3-transform-point">gimp_matrix3_transform_point</link> (const <link linkend="GimpMatrix3">GimpMatrix3</link> *matrix,
51
<link linkend="gdouble">gdouble</link> x,
52
<link linkend="gdouble">gdouble</link> y,
53
<link linkend="gdouble">gdouble</link> *newx,
54
<link linkend="gdouble">gdouble</link> *newy);
55
<link linkend="gdouble">gdouble</link> <link linkend="gimp-matrix3-determinant">gimp_matrix3_determinant</link> (const <link linkend="GimpMatrix3">GimpMatrix3</link> *matrix);
56
<link linkend="void">void</link> <link linkend="gimp-matrix3-invert">gimp_matrix3_invert</link> (<link linkend="GimpMatrix3">GimpMatrix3</link> *matrix);
57
<link linkend="gboolean">gboolean</link> <link linkend="gimp-matrix3-is-diagonal">gimp_matrix3_is_diagonal</link> (const <link linkend="GimpMatrix3">GimpMatrix3</link> *matrix);
58
<link linkend="gboolean">gboolean</link> <link linkend="gimp-matrix3-is-identity">gimp_matrix3_is_identity</link> (const <link linkend="GimpMatrix3">GimpMatrix3</link> *matrix);
59
<link linkend="gboolean">gboolean</link> <link linkend="gimp-matrix3-is-simple">gimp_matrix3_is_simple</link> (const <link linkend="GimpMatrix3">GimpMatrix3</link> *matrix);
60
<link linkend="void">void</link> <link linkend="gimp-matrix4-to-deg">gimp_matrix4_to_deg</link> (const <link linkend="GimpMatrix4">GimpMatrix4</link> *matrix,
61
<link linkend="gdouble">gdouble</link> *a,
62
<link linkend="gdouble">gdouble</link> *b,
63
<link linkend="gdouble">gdouble</link> *c);
25
<link linkend="GimpMatrix2">GimpMatrix2</link>;
26
<link linkend="GimpMatrix3">GimpMatrix3</link>;
27
<link linkend="GimpMatrix4">GimpMatrix4</link>;
28
<link linkend="void">void</link> <link linkend="gimp-matrix2-identity">gimp_matrix2_identity</link> (<link linkend="GimpMatrix2">GimpMatrix2</link> *matrix);
29
<link linkend="void">void</link> <link linkend="gimp-matrix2-mult">gimp_matrix2_mult</link> (const <link linkend="GimpMatrix2">GimpMatrix2</link> *matrix1,
30
<link linkend="GimpMatrix2">GimpMatrix2</link> *matrix2);
31
<link linkend="void">void</link> <link linkend="gimp-matrix3-identity">gimp_matrix3_identity</link> (<link linkend="GimpMatrix3">GimpMatrix3</link> *matrix);
32
<link linkend="void">void</link> <link linkend="gimp-matrix3-mult">gimp_matrix3_mult</link> (const <link linkend="GimpMatrix3">GimpMatrix3</link> *matrix1,
33
<link linkend="GimpMatrix3">GimpMatrix3</link> *matrix2);
34
<link linkend="void">void</link> <link linkend="gimp-matrix3-translate">gimp_matrix3_translate</link> (<link linkend="GimpMatrix3">GimpMatrix3</link> *matrix,
35
<link linkend="gdouble">gdouble</link> x,
36
<link linkend="gdouble">gdouble</link> y);
37
<link linkend="void">void</link> <link linkend="gimp-matrix3-scale">gimp_matrix3_scale</link> (<link linkend="GimpMatrix3">GimpMatrix3</link> *matrix,
38
<link linkend="gdouble">gdouble</link> x,
39
<link linkend="gdouble">gdouble</link> y);
40
<link linkend="void">void</link> <link linkend="gimp-matrix3-rotate">gimp_matrix3_rotate</link> (<link linkend="GimpMatrix3">GimpMatrix3</link> *matrix,
41
<link linkend="gdouble">gdouble</link> theta);
42
<link linkend="void">void</link> <link linkend="gimp-matrix3-xshear">gimp_matrix3_xshear</link> (<link linkend="GimpMatrix3">GimpMatrix3</link> *matrix,
43
<link linkend="gdouble">gdouble</link> amount);
44
<link linkend="void">void</link> <link linkend="gimp-matrix3-yshear">gimp_matrix3_yshear</link> (<link linkend="GimpMatrix3">GimpMatrix3</link> *matrix,
45
<link linkend="gdouble">gdouble</link> amount);
46
<link linkend="void">void</link> <link linkend="gimp-matrix3-affine">gimp_matrix3_affine</link> (<link linkend="GimpMatrix3">GimpMatrix3</link> *matrix,
47
<link linkend="gdouble">gdouble</link> a,
48
<link linkend="gdouble">gdouble</link> b,
49
<link linkend="gdouble">gdouble</link> c,
50
<link linkend="gdouble">gdouble</link> d,
51
<link linkend="gdouble">gdouble</link> e,
52
<link linkend="gdouble">gdouble</link> f);
53
<link linkend="void">void</link> <link linkend="gimp-matrix3-transform-point">gimp_matrix3_transform_point</link> (const <link linkend="GimpMatrix3">GimpMatrix3</link> *matrix,
54
<link linkend="gdouble">gdouble</link> x,
55
<link linkend="gdouble">gdouble</link> y,
56
<link linkend="gdouble">gdouble</link> *newx,
57
<link linkend="gdouble">gdouble</link> *newy);
58
<link linkend="gdouble">gdouble</link> <link linkend="gimp-matrix3-determinant">gimp_matrix3_determinant</link> (const <link linkend="GimpMatrix3">GimpMatrix3</link> *matrix);
59
<link linkend="void">void</link> <link linkend="gimp-matrix3-invert">gimp_matrix3_invert</link> (<link linkend="GimpMatrix3">GimpMatrix3</link> *matrix);
60
<link linkend="gboolean">gboolean</link> <link linkend="gimp-matrix3-is-identity">gimp_matrix3_is_identity</link> (const <link linkend="GimpMatrix3">GimpMatrix3</link> *matrix);
61
<link linkend="gboolean">gboolean</link> <link linkend="gimp-matrix3-is-diagonal">gimp_matrix3_is_diagonal</link> (const <link linkend="GimpMatrix3">GimpMatrix3</link> *matrix);
62
<link linkend="gboolean">gboolean</link> <link linkend="gimp-matrix3-is-affine">gimp_matrix3_is_affine</link> (const <link linkend="GimpMatrix3">GimpMatrix3</link> *matrix);
63
<link linkend="gboolean">gboolean</link> <link linkend="gimp-matrix3-is-simple">gimp_matrix3_is_simple</link> (const <link linkend="GimpMatrix3">GimpMatrix3</link> *matrix);
64
<link linkend="void">void</link> <link linkend="gimp-matrix4-to-deg">gimp_matrix4_to_deg</link> (const <link linkend="GimpMatrix4">GimpMatrix4</link> *matrix,
65
<link linkend="gdouble">gdouble</link> *a,
66
<link linkend="gdouble">gdouble</link> *b,
67
<link linkend="gdouble">gdouble</link> *c);
68
#define <link linkend="GIMP-TYPE-MATRIX2:CAPS">GIMP_TYPE_MATRIX2</link>
69
#define <link linkend="GIMP-TYPE-PARAM-MATRIX2:CAPS">GIMP_TYPE_PARAM_MATRIX2</link>
70
#define <link linkend="GIMP-IS-PARAM-SPEC-MATRIX2:CAPS">GIMP_IS_PARAM_SPEC_MATRIX2</link> (pspec)
71
<link linkend="GParamSpec">GParamSpec</link>* <link linkend="gimp-param-spec-matrix2">gimp_param_spec_matrix2</link> (const <link linkend="gchar">gchar</link> *name,
72
const <link linkend="gchar">gchar</link> *nick,
73
const <link linkend="gchar">gchar</link> *blurb,
74
const <link linkend="GimpMatrix2">GimpMatrix2</link> *default_value,
75
<link linkend="GParamFlags">GParamFlags</link> flags);
76
#define <link linkend="GIMP-VALUE-HOLDS-MATRIX2:CAPS">GIMP_VALUE_HOLDS_MATRIX2</link> (value)
113
131
A four by four matrix.
114
132
</para></refsect2>
116
<title><anchor id="gimp-matrix2-identity"/>gimp_matrix2_identity ()</title>
117
<indexterm><primary>gimp_matrix2_identity</primary></indexterm><programlisting><link linkend="void">void</link> gimp_matrix2_identity (<link linkend="GimpMatrix2">GimpMatrix2</link> *matrix);</programlisting>
119
Sets the matrix to the identity matrix.</para>
122
</para><variablelist role="params">
123
<varlistentry><term><parameter>matrix</parameter> :</term>
124
<listitem><simpara> A matrix.
125
</simpara></listitem></varlistentry>
126
</variablelist></refsect2>
128
<title><anchor id="gimp-matrix2-mult"/>gimp_matrix2_mult ()</title>
129
<indexterm><primary>gimp_matrix2_mult</primary></indexterm><programlisting><link linkend="void">void</link> gimp_matrix2_mult (const <link linkend="GimpMatrix2">GimpMatrix2</link> *matrix1,
130
<link linkend="GimpMatrix2">GimpMatrix2</link> *matrix2);</programlisting>
132
Multiplies two matrices and puts the result into the second one.</para>
135
</para><variablelist role="params">
136
<varlistentry><term><parameter>matrix1</parameter> :</term>
137
<listitem><simpara> The first input matrix.
138
</simpara></listitem></varlistentry>
139
<varlistentry><term><parameter>matrix2</parameter> :</term>
140
<listitem><simpara> The second input matrix which will be overwritten by the result.
141
</simpara></listitem></varlistentry>
142
</variablelist></refsect2>
144
<title><anchor id="gimp-matrix3-identity"/>gimp_matrix3_identity ()</title>
145
<indexterm><primary>gimp_matrix3_identity</primary></indexterm><programlisting><link linkend="void">void</link> gimp_matrix3_identity (<link linkend="GimpMatrix3">GimpMatrix3</link> *matrix);</programlisting>
147
Sets the matrix to the identity matrix.</para>
150
</para><variablelist role="params">
151
<varlistentry><term><parameter>matrix</parameter> :</term>
152
<listitem><simpara> A matrix.
153
</simpara></listitem></varlistentry>
154
</variablelist></refsect2>
156
<title><anchor id="gimp-matrix3-mult"/>gimp_matrix3_mult ()</title>
157
<indexterm><primary>gimp_matrix3_mult</primary></indexterm><programlisting><link linkend="void">void</link> gimp_matrix3_mult (const <link linkend="GimpMatrix3">GimpMatrix3</link> *matrix1,
158
<link linkend="GimpMatrix3">GimpMatrix3</link> *matrix2);</programlisting>
160
Multiplies two matrices and puts the result into the second one.</para>
163
</para><variablelist role="params">
164
<varlistentry><term><parameter>matrix1</parameter> :</term>
165
<listitem><simpara> The first input matrix.
166
</simpara></listitem></varlistentry>
167
<varlistentry><term><parameter>matrix2</parameter> :</term>
168
<listitem><simpara> The second input matrix which will be overwritten by the result.
169
</simpara></listitem></varlistentry>
170
</variablelist></refsect2>
172
<title><anchor id="gimp-matrix3-translate"/>gimp_matrix3_translate ()</title>
173
<indexterm><primary>gimp_matrix3_translate</primary></indexterm><programlisting><link linkend="void">void</link> gimp_matrix3_translate (<link linkend="GimpMatrix3">GimpMatrix3</link> *matrix,
174
<link linkend="gdouble">gdouble</link> x,
175
<link linkend="gdouble">gdouble</link> y);</programlisting>
134
<title><anchor id="gimp-matrix2-identity" role="function"/>gimp_matrix2_identity ()</title>
135
<indexterm><primary>gimp_matrix2_identity</primary></indexterm><programlisting><link linkend="void">void</link> gimp_matrix2_identity (<link linkend="GimpMatrix2">GimpMatrix2</link> *matrix);</programlisting>
137
Sets the matrix to the identity matrix.</para>
140
</para><variablelist role="params">
141
<varlistentry><term><parameter>matrix</parameter> :</term>
142
<listitem><simpara> A matrix.
143
</simpara></listitem></varlistentry>
144
</variablelist></refsect2>
146
<title><anchor id="gimp-matrix2-mult" role="function"/>gimp_matrix2_mult ()</title>
147
<indexterm><primary>gimp_matrix2_mult</primary></indexterm><programlisting><link linkend="void">void</link> gimp_matrix2_mult (const <link linkend="GimpMatrix2">GimpMatrix2</link> *matrix1,
148
<link linkend="GimpMatrix2">GimpMatrix2</link> *matrix2);</programlisting>
150
Multiplies two matrices and puts the result into the second one.</para>
153
</para><variablelist role="params">
154
<varlistentry><term><parameter>matrix1</parameter> :</term>
155
<listitem><simpara> The first input matrix.
156
</simpara></listitem></varlistentry>
157
<varlistentry><term><parameter>matrix2</parameter> :</term>
158
<listitem><simpara> The second input matrix which will be overwritten by the result.
159
</simpara></listitem></varlistentry>
160
</variablelist></refsect2>
162
<title><anchor id="gimp-matrix3-identity" role="function"/>gimp_matrix3_identity ()</title>
163
<indexterm><primary>gimp_matrix3_identity</primary></indexterm><programlisting><link linkend="void">void</link> gimp_matrix3_identity (<link linkend="GimpMatrix3">GimpMatrix3</link> *matrix);</programlisting>
165
Sets the matrix to the identity matrix.</para>
168
</para><variablelist role="params">
169
<varlistentry><term><parameter>matrix</parameter> :</term>
170
<listitem><simpara> A matrix.
171
</simpara></listitem></varlistentry>
172
</variablelist></refsect2>
174
<title><anchor id="gimp-matrix3-mult" role="function"/>gimp_matrix3_mult ()</title>
175
<indexterm><primary>gimp_matrix3_mult</primary></indexterm><programlisting><link linkend="void">void</link> gimp_matrix3_mult (const <link linkend="GimpMatrix3">GimpMatrix3</link> *matrix1,
176
<link linkend="GimpMatrix3">GimpMatrix3</link> *matrix2);</programlisting>
178
Multiplies two matrices and puts the result into the second one.</para>
181
</para><variablelist role="params">
182
<varlistentry><term><parameter>matrix1</parameter> :</term>
183
<listitem><simpara> The first input matrix.
184
</simpara></listitem></varlistentry>
185
<varlistentry><term><parameter>matrix2</parameter> :</term>
186
<listitem><simpara> The second input matrix which will be overwritten by the result.
187
</simpara></listitem></varlistentry>
188
</variablelist></refsect2>
190
<title><anchor id="gimp-matrix3-translate" role="function"/>gimp_matrix3_translate ()</title>
191
<indexterm><primary>gimp_matrix3_translate</primary></indexterm><programlisting><link linkend="void">void</link> gimp_matrix3_translate (<link linkend="GimpMatrix3">GimpMatrix3</link> *matrix,
192
<link linkend="gdouble">gdouble</link> x,
193
<link linkend="gdouble">gdouble</link> y);</programlisting>
177
195
Translates the matrix by x and y.</para>
257
275
</simpara></listitem></varlistentry>
258
276
</variablelist></refsect2>
260
<title><anchor id="gimp-matrix3-affine"/>gimp_matrix3_affine ()</title>
261
<indexterm><primary>gimp_matrix3_affine</primary></indexterm><programlisting><link linkend="void">void</link> gimp_matrix3_affine (<link linkend="GimpMatrix3">GimpMatrix3</link> *matrix,
262
<link linkend="gdouble">gdouble</link> a,
263
<link linkend="gdouble">gdouble</link> b,
264
<link linkend="gdouble">gdouble</link> c,
265
<link linkend="gdouble">gdouble</link> d,
266
<link linkend="gdouble">gdouble</link> e,
267
<link linkend="gdouble">gdouble</link> f);</programlisting>
278
<title><anchor id="gimp-matrix3-affine" role="function"/>gimp_matrix3_affine ()</title>
279
<indexterm><primary>gimp_matrix3_affine</primary></indexterm><programlisting><link linkend="void">void</link> gimp_matrix3_affine (<link linkend="GimpMatrix3">GimpMatrix3</link> *matrix,
280
<link linkend="gdouble">gdouble</link> a,
281
<link linkend="gdouble">gdouble</link> b,
282
<link linkend="gdouble">gdouble</link> c,
283
<link linkend="gdouble">gdouble</link> d,
284
<link linkend="gdouble">gdouble</link> e,
285
<link linkend="gdouble">gdouble</link> f);</programlisting>
269
287
Applies the affine transformation given by six values to <parameter>matrix</parameter>.
270
288
The six values form define an affine transformation matrix as
364
396
<varlistentry><term><parameter>matrix</parameter> :</term>
365
397
<listitem><simpara> The matrix that is to be tested.
366
398
</simpara></listitem></varlistentry>
367
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> TRUE if the matrix is diagonal.
399
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the matrix is diagonal, <link linkend="FALSE:CAPS"><literal>FALSE</literal></link> otherwise
368
400
</simpara></listitem></varlistentry>
369
401
</variablelist></refsect2>
371
<title><anchor id="gimp-matrix3-is-identity"/>gimp_matrix3_is_identity ()</title>
372
<indexterm><primary>gimp_matrix3_is_identity</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> gimp_matrix3_is_identity (const <link linkend="GimpMatrix3">GimpMatrix3</link> *matrix);</programlisting>
403
<title><anchor id="gimp-matrix3-is-affine" role="function" condition="since:GIMP 2.4"/>gimp_matrix3_is_affine ()</title>
404
<indexterm role="GIMP 2.4"><primary>gimp_matrix3_is_affine</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> gimp_matrix3_is_affine (const <link linkend="GimpMatrix3">GimpMatrix3</link> *matrix);</programlisting>
374
Checks if the given matrix is the identity matrix.</para>
406
Checks if the given matrix defines an affine transformation.</para>
377
409
</para><variablelist role="params">
378
410
<varlistentry><term><parameter>matrix</parameter> :</term>
379
411
<listitem><simpara> The matrix that is to be tested.
380
412
</simpara></listitem></varlistentry>
381
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> TRUE if the matrix is the identity matrix.
413
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the matrix defines an affine transformation,
414
<link linkend="FALSE:CAPS"><literal>FALSE</literal></link> otherwise
382
416
</simpara></listitem></varlistentry>
383
</variablelist></refsect2>
417
</variablelist><para role="since">Since GIMP 2.4
385
<title><anchor id="gimp-matrix3-is-simple"/>gimp_matrix3_is_simple ()</title>
386
<indexterm><primary>gimp_matrix3_is_simple</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> gimp_matrix3_is_simple (const <link linkend="GimpMatrix3">GimpMatrix3</link> *matrix);</programlisting>
420
<title><anchor id="gimp-matrix3-is-simple" role="function"/>gimp_matrix3_is_simple ()</title>
421
<indexterm><primary>gimp_matrix3_is_simple</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> gimp_matrix3_is_simple (const <link linkend="GimpMatrix3">GimpMatrix3</link> *matrix);</programlisting>
388
423
Checks if we'll need to interpolate when applying this matrix as
389
424
a transformation.</para>
421
456
<listitem><simpara>
422
457
</simpara></listitem></varlistentry>
423
458
</variablelist></refsect2>
460
<title><anchor id="GIMP-TYPE-MATRIX2:CAPS" role="macro"/>GIMP_TYPE_MATRIX2</title>
461
<indexterm><primary>GIMP_TYPE_MATRIX2</primary></indexterm><programlisting>#define GIMP_TYPE_MATRIX2 (gimp_matrix2_get_type ())
467
<title><anchor id="GIMP-TYPE-PARAM-MATRIX2:CAPS" role="macro"/>GIMP_TYPE_PARAM_MATRIX2</title>
468
<indexterm><primary>GIMP_TYPE_PARAM_MATRIX2</primary></indexterm><programlisting>#define GIMP_TYPE_PARAM_MATRIX2 (gimp_param_matrix2_get_type ())
474
<title><anchor id="GIMP-IS-PARAM-SPEC-MATRIX2:CAPS" role="macro"/>GIMP_IS_PARAM_SPEC_MATRIX2()</title>
475
<indexterm><primary>GIMP_IS_PARAM_SPEC_MATRIX2</primary></indexterm><programlisting>#define GIMP_IS_PARAM_SPEC_MATRIX2(pspec) (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), GIMP_TYPE_PARAM_MATRIX2))
479
</para><variablelist role="params">
480
<varlistentry><term><parameter>pspec</parameter> :</term>
484
</simpara></listitem></varlistentry>
485
</variablelist></refsect2>
487
<title><anchor id="gimp-param-spec-matrix2" role="function" condition="since:GIMP 2.4"/>gimp_param_spec_matrix2 ()</title>
488
<indexterm role="GIMP 2.4"><primary>gimp_param_spec_matrix2</primary></indexterm><programlisting><link linkend="GParamSpec">GParamSpec</link>* gimp_param_spec_matrix2 (const <link linkend="gchar">gchar</link> *name,
489
const <link linkend="gchar">gchar</link> *nick,
490
const <link linkend="gchar">gchar</link> *blurb,
491
const <link linkend="GimpMatrix2">GimpMatrix2</link> *default_value,
492
<link linkend="GParamFlags">GParamFlags</link> flags);</programlisting>
494
Creates a param spec to hold a <link linkend="GimpMatrix2"><type>GimpMatrix2</type></link> value.
495
See <link linkend="g-param-spec-internal"><function>g_param_spec_internal()</function></link> for more information.</para>
498
</para><variablelist role="params">
499
<varlistentry><term><parameter>name</parameter> :</term>
500
<listitem><simpara> Canonical name of the param
501
</simpara></listitem></varlistentry>
502
<varlistentry><term><parameter>nick</parameter> :</term>
503
<listitem><simpara> Nickname of the param
504
</simpara></listitem></varlistentry>
505
<varlistentry><term><parameter>blurb</parameter> :</term>
506
<listitem><simpara> Brief desciption of param.
507
</simpara></listitem></varlistentry>
508
<varlistentry><term><parameter>default_value</parameter> :</term>
509
<listitem><simpara> Value to use if none is assigned.
510
</simpara></listitem></varlistentry>
511
<varlistentry><term><parameter>flags</parameter> :</term>
512
<listitem><simpara> a combination of <link linkend="GParamFlags"><type>GParamFlags</type></link>
513
</simpara></listitem></varlistentry>
514
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> a newly allocated <link linkend="GParamSpec"><type>GParamSpec</type></link> instance
516
</simpara></listitem></varlistentry>
517
</variablelist><para role="since">Since GIMP 2.4
520
<title><anchor id="GIMP-VALUE-HOLDS-MATRIX2:CAPS" role="macro"/>GIMP_VALUE_HOLDS_MATRIX2()</title>
521
<indexterm><primary>GIMP_VALUE_HOLDS_MATRIX2</primary></indexterm><programlisting>#define GIMP_VALUE_HOLDS_MATRIX2(value) (G_TYPE_CHECK_VALUE_TYPE ((value), GIMP_TYPE_MATRIX2))
525
</para><variablelist role="params">
526
<varlistentry><term><parameter>value</parameter> :</term>
530
</simpara></listitem></varlistentry>
531
</variablelist></refsect2>