~ubuntu-branches/ubuntu/jaunty/gimp/jaunty-security

« back to all changes in this revision

Viewing changes to devel-docs/libgimpmath/xml/gimpmatrix.xml

  • Committer: Bazaar Package Importer
  • Author(s): Daniel Holbach
  • Date: 2007-05-02 16:33:03 UTC
  • mfrom: (1.1.4 upstream)
  • Revision ID: james.westby@ubuntu.com-20070502163303-bvzhjzbpw8qglc4y
Tags: 2.3.16-1ubuntu1
* Resynchronized with Debian, remaining Ubuntu changes:
  - debian/rules: i18n magic.
* debian/control.in:
  - Maintainer: Ubuntu Core Developers <ubuntu-devel@lists.ubuntu.com>
* debian/patches/02_help-message.patch,
  debian/patches/03_gimp.desktop.in.in.patch,
  debian/patches/10_dont_show_wizard.patch: updated.
* debian/patches/04_composite-signedness.patch,
  debian/patches/05_add-letter-spacing.patch: dropped, used upstream.

Show diffs side-by-side

added added

removed removed

Lines of Context:
4
4
 
5
5
<refentry id="libgimpmath-GimpMatrix">
6
6
<refmeta>
7
 
<refentrytitle>GimpMatrix</refentrytitle>
 
7
<refentrytitle role="top_of_page">GimpMatrix</refentrytitle>
8
8
<manvolnum>3</manvolnum>
9
9
<refmiscinfo>LIBGIMPMATH Library</refmiscinfo>
10
10
</refmeta>
11
11
 
12
12
<refnamediv>
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"/>]-->
14
16
</refnamediv>
15
17
 
16
 
<refsynopsisdiv><title>Synopsis</title>
 
18
<refsynopsisdiv role="synopsis">
 
19
<title role="synopsis.title">Synopsis</title>
17
20
 
18
21
<synopsis>
19
22
 
20
23
 
21
24
 
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)
 
77
 
64
78
</synopsis>
65
79
</refsynopsisdiv>
66
80
 
72
86
 
73
87
 
74
88
 
75
 
<refsect1>
76
 
<title>Description</title>
 
89
<refsect1 role="desc">
 
90
<title role="desc.title">Description</title>
77
91
<para>
78
92
When doing image manipulation you will often need 3x3 transformation
79
93
matrices that define translation, rotation, scaling, shearing and 
81
95
find a set of utility functions to set up those matrices and to perform 
82
96
basic matrix manipulations and tests.
83
97
</para>
 
98
<para>
 
99
Each matrix class has a 2 dimensional gdouble coeff member. The
 
100
element for row r and column c of the matrix is coeff[r][c].
 
101
</para>
84
102
</refsect1>
85
103
 
86
 
<refsect1>
87
 
<title>Details</title>
 
104
<refsect1 role="details">
 
105
<title role="details.title">Details</title>
88
106
<refsect2>
89
 
<title><anchor id="GimpMatrix2"/>GimpMatrix2</title>
 
107
<title><anchor id="GimpMatrix2" role="struct"/>GimpMatrix2</title>
90
108
<indexterm><primary>GimpMatrix2</primary></indexterm><programlisting>typedef struct {
91
109
  gdouble coeff[2][2];
92
110
} GimpMatrix2;
95
113
A two by two matrix.
96
114
</para></refsect2>
97
115
<refsect2>
98
 
<title><anchor id="GimpMatrix3"/>GimpMatrix3</title>
 
116
<title><anchor id="GimpMatrix3" role="struct"/>GimpMatrix3</title>
99
117
<indexterm><primary>GimpMatrix3</primary></indexterm><programlisting>typedef struct {
100
118
  gdouble coeff[3][3];
101
119
} GimpMatrix3;
104
122
A three by three matrix.
105
123
</para></refsect2>
106
124
<refsect2>
107
 
<title><anchor id="GimpMatrix4"/>GimpMatrix4</title>
 
125
<title><anchor id="GimpMatrix4" role="struct"/>GimpMatrix4</title>
108
126
<indexterm><primary>GimpMatrix4</primary></indexterm><programlisting>typedef struct {
109
127
  gdouble coeff[4][4];
110
128
} GimpMatrix4;
113
131
A four by four matrix.
114
132
</para></refsect2>
115
133
<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>
118
 
<para>
119
 
Sets the matrix to the identity matrix.</para>
120
 
<para>
121
 
 
122
 
</para><variablelist role="params">
123
 
<varlistentry><term><parameter>matrix</parameter>&nbsp;:</term>
124
 
<listitem><simpara> A matrix.
125
 
</simpara></listitem></varlistentry>
126
 
</variablelist></refsect2>
127
 
<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>
131
 
<para>
132
 
Multiplies two matrices and puts the result into the second one.</para>
133
 
<para>
134
 
 
135
 
</para><variablelist role="params">
136
 
<varlistentry><term><parameter>matrix1</parameter>&nbsp;:</term>
137
 
<listitem><simpara> The first input matrix.
138
 
</simpara></listitem></varlistentry>
139
 
<varlistentry><term><parameter>matrix2</parameter>&nbsp;:</term>
140
 
<listitem><simpara> The second input matrix which will be overwritten by the result.
141
 
</simpara></listitem></varlistentry>
142
 
</variablelist></refsect2>
143
 
<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>
146
 
<para>
147
 
Sets the matrix to the identity matrix.</para>
148
 
<para>
149
 
 
150
 
</para><variablelist role="params">
151
 
<varlistentry><term><parameter>matrix</parameter>&nbsp;:</term>
152
 
<listitem><simpara> A matrix.
153
 
</simpara></listitem></varlistentry>
154
 
</variablelist></refsect2>
155
 
<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>
159
 
<para>
160
 
Multiplies two matrices and puts the result into the second one.</para>
161
 
<para>
162
 
 
163
 
</para><variablelist role="params">
164
 
<varlistentry><term><parameter>matrix1</parameter>&nbsp;:</term>
165
 
<listitem><simpara> The first input matrix.
166
 
</simpara></listitem></varlistentry>
167
 
<varlistentry><term><parameter>matrix2</parameter>&nbsp;:</term>
168
 
<listitem><simpara> The second input matrix which will be overwritten by the result.
169
 
</simpara></listitem></varlistentry>
170
 
</variablelist></refsect2>
171
 
<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>
 
136
<para>
 
137
Sets the matrix to the identity matrix.</para>
 
138
<para>
 
139
 
 
140
</para><variablelist role="params">
 
141
<varlistentry><term><parameter>matrix</parameter>&nbsp;:</term>
 
142
<listitem><simpara> A matrix.
 
143
</simpara></listitem></varlistentry>
 
144
</variablelist></refsect2>
 
145
<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>
 
149
<para>
 
150
Multiplies two matrices and puts the result into the second one.</para>
 
151
<para>
 
152
 
 
153
</para><variablelist role="params">
 
154
<varlistentry><term><parameter>matrix1</parameter>&nbsp;:</term>
 
155
<listitem><simpara> The first input matrix.
 
156
</simpara></listitem></varlistentry>
 
157
<varlistentry><term><parameter>matrix2</parameter>&nbsp;:</term>
 
158
<listitem><simpara> The second input matrix which will be overwritten by the result.
 
159
</simpara></listitem></varlistentry>
 
160
</variablelist></refsect2>
 
161
<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>
 
164
<para>
 
165
Sets the matrix to the identity matrix.</para>
 
166
<para>
 
167
 
 
168
</para><variablelist role="params">
 
169
<varlistentry><term><parameter>matrix</parameter>&nbsp;:</term>
 
170
<listitem><simpara> A matrix.
 
171
</simpara></listitem></varlistentry>
 
172
</variablelist></refsect2>
 
173
<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>
 
177
<para>
 
178
Multiplies two matrices and puts the result into the second one.</para>
 
179
<para>
 
180
 
 
181
</para><variablelist role="params">
 
182
<varlistentry><term><parameter>matrix1</parameter>&nbsp;:</term>
 
183
<listitem><simpara> The first input matrix.
 
184
</simpara></listitem></varlistentry>
 
185
<varlistentry><term><parameter>matrix2</parameter>&nbsp;:</term>
 
186
<listitem><simpara> The second input matrix which will be overwritten by the result.
 
187
</simpara></listitem></varlistentry>
 
188
</variablelist></refsect2>
 
189
<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>
176
194
<para>
177
195
Translates the matrix by x and y.</para>
178
196
<para>
189
207
</simpara></listitem></varlistentry>
190
208
</variablelist></refsect2>
191
209
<refsect2>
192
 
<title><anchor id="gimp-matrix3-scale"/>gimp_matrix3_scale ()</title>
193
 
<indexterm><primary>gimp_matrix3_scale</primary></indexterm><programlisting><link linkend="void">void</link>        gimp_matrix3_scale              (<link linkend="GimpMatrix3">GimpMatrix3</link> *matrix,
194
 
                                             <link linkend="gdouble">gdouble</link> x,
195
 
                                             <link linkend="gdouble">gdouble</link> y);</programlisting>
 
210
<title><anchor id="gimp-matrix3-scale" role="function"/>gimp_matrix3_scale ()</title>
 
211
<indexterm><primary>gimp_matrix3_scale</primary></indexterm><programlisting><link linkend="void">void</link>                gimp_matrix3_scale                  (<link linkend="GimpMatrix3">GimpMatrix3</link> *matrix,
 
212
                                                         <link linkend="gdouble">gdouble</link> x,
 
213
                                                         <link linkend="gdouble">gdouble</link> y);</programlisting>
196
214
<para>
197
215
Scales the matrix by x and y</para>
198
216
<para>
209
227
</simpara></listitem></varlistentry>
210
228
</variablelist></refsect2>
211
229
<refsect2>
212
 
<title><anchor id="gimp-matrix3-rotate"/>gimp_matrix3_rotate ()</title>
213
 
<indexterm><primary>gimp_matrix3_rotate</primary></indexterm><programlisting><link linkend="void">void</link>        gimp_matrix3_rotate             (<link linkend="GimpMatrix3">GimpMatrix3</link> *matrix,
214
 
                                             <link linkend="gdouble">gdouble</link> theta);</programlisting>
 
230
<title><anchor id="gimp-matrix3-rotate" role="function"/>gimp_matrix3_rotate ()</title>
 
231
<indexterm><primary>gimp_matrix3_rotate</primary></indexterm><programlisting><link linkend="void">void</link>                gimp_matrix3_rotate                 (<link linkend="GimpMatrix3">GimpMatrix3</link> *matrix,
 
232
                                                         <link linkend="gdouble">gdouble</link> theta);</programlisting>
215
233
<para>
216
234
Rotates the matrix by theta degrees.</para>
217
235
<para>
225
243
</simpara></listitem></varlistentry>
226
244
</variablelist></refsect2>
227
245
<refsect2>
228
 
<title><anchor id="gimp-matrix3-xshear"/>gimp_matrix3_xshear ()</title>
229
 
<indexterm><primary>gimp_matrix3_xshear</primary></indexterm><programlisting><link linkend="void">void</link>        gimp_matrix3_xshear             (<link linkend="GimpMatrix3">GimpMatrix3</link> *matrix,
230
 
                                             <link linkend="gdouble">gdouble</link> amount);</programlisting>
 
246
<title><anchor id="gimp-matrix3-xshear" role="function"/>gimp_matrix3_xshear ()</title>
 
247
<indexterm><primary>gimp_matrix3_xshear</primary></indexterm><programlisting><link linkend="void">void</link>                gimp_matrix3_xshear                 (<link linkend="GimpMatrix3">GimpMatrix3</link> *matrix,
 
248
                                                         <link linkend="gdouble">gdouble</link> amount);</programlisting>
231
249
<para>
232
250
Shears the matrix in the X direction.</para>
233
251
<para>
241
259
</simpara></listitem></varlistentry>
242
260
</variablelist></refsect2>
243
261
<refsect2>
244
 
<title><anchor id="gimp-matrix3-yshear"/>gimp_matrix3_yshear ()</title>
245
 
<indexterm><primary>gimp_matrix3_yshear</primary></indexterm><programlisting><link linkend="void">void</link>        gimp_matrix3_yshear             (<link linkend="GimpMatrix3">GimpMatrix3</link> *matrix,
246
 
                                             <link linkend="gdouble">gdouble</link> amount);</programlisting>
 
262
<title><anchor id="gimp-matrix3-yshear" role="function"/>gimp_matrix3_yshear ()</title>
 
263
<indexterm><primary>gimp_matrix3_yshear</primary></indexterm><programlisting><link linkend="void">void</link>                gimp_matrix3_yshear                 (<link linkend="GimpMatrix3">GimpMatrix3</link> *matrix,
 
264
                                                         <link linkend="gdouble">gdouble</link> amount);</programlisting>
247
265
<para>
248
266
Shears the matrix in the Y direction.</para>
249
267
<para>
257
275
</simpara></listitem></varlistentry>
258
276
</variablelist></refsect2>
259
277
<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>
268
286
<para>
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
300
318
</simpara></listitem></varlistentry>
301
319
</variablelist></refsect2>
302
320
<refsect2>
303
 
<title><anchor id="gimp-matrix3-transform-point"/>gimp_matrix3_transform_point ()</title>
304
 
<indexterm><primary>gimp_matrix3_transform_point</primary></indexterm><programlisting><link linkend="void">void</link>        gimp_matrix3_transform_point    (const <link linkend="GimpMatrix3">GimpMatrix3</link> *matrix,
305
 
                                             <link linkend="gdouble">gdouble</link> x,
306
 
                                             <link linkend="gdouble">gdouble</link> y,
307
 
                                             <link linkend="gdouble">gdouble</link> *newx,
308
 
                                             <link linkend="gdouble">gdouble</link> *newy);</programlisting>
 
321
<title><anchor id="gimp-matrix3-transform-point" role="function"/>gimp_matrix3_transform_point ()</title>
 
322
<indexterm><primary>gimp_matrix3_transform_point</primary></indexterm><programlisting><link linkend="void">void</link>                gimp_matrix3_transform_point        (const <link linkend="GimpMatrix3">GimpMatrix3</link> *matrix,
 
323
                                                         <link linkend="gdouble">gdouble</link> x,
 
324
                                                         <link linkend="gdouble">gdouble</link> y,
 
325
                                                         <link linkend="gdouble">gdouble</link> *newx,
 
326
                                                         <link linkend="gdouble">gdouble</link> *newy);</programlisting>
309
327
<para>
310
328
Transforms a point in 2D as specified by the transformation matrix.</para>
311
329
<para>
328
346
</simpara></listitem></varlistentry>
329
347
</variablelist></refsect2>
330
348
<refsect2>
331
 
<title><anchor id="gimp-matrix3-determinant"/>gimp_matrix3_determinant ()</title>
332
 
<indexterm><primary>gimp_matrix3_determinant</primary></indexterm><programlisting><link linkend="gdouble">gdouble</link>     gimp_matrix3_determinant        (const <link linkend="GimpMatrix3">GimpMatrix3</link> *matrix);</programlisting>
 
349
<title><anchor id="gimp-matrix3-determinant" role="function"/>gimp_matrix3_determinant ()</title>
 
350
<indexterm><primary>gimp_matrix3_determinant</primary></indexterm><programlisting><link linkend="gdouble">gdouble</link>             gimp_matrix3_determinant            (const <link linkend="GimpMatrix3">GimpMatrix3</link> *matrix);</programlisting>
333
351
<para>
334
352
Calculates the determinant of the given matrix.</para>
335
353
<para>
342
360
</simpara></listitem></varlistentry>
343
361
</variablelist></refsect2>
344
362
<refsect2>
345
 
<title><anchor id="gimp-matrix3-invert"/>gimp_matrix3_invert ()</title>
346
 
<indexterm><primary>gimp_matrix3_invert</primary></indexterm><programlisting><link linkend="void">void</link>        gimp_matrix3_invert             (<link linkend="GimpMatrix3">GimpMatrix3</link> *matrix);</programlisting>
 
363
<title><anchor id="gimp-matrix3-invert" role="function"/>gimp_matrix3_invert ()</title>
 
364
<indexterm><primary>gimp_matrix3_invert</primary></indexterm><programlisting><link linkend="void">void</link>                gimp_matrix3_invert                 (<link linkend="GimpMatrix3">GimpMatrix3</link> *matrix);</programlisting>
347
365
<para>
348
366
Inverts the given matrix.</para>
349
367
<para>
354
372
</simpara></listitem></varlistentry>
355
373
</variablelist></refsect2>
356
374
<refsect2>
357
 
<title><anchor id="gimp-matrix3-is-diagonal"/>gimp_matrix3_is_diagonal ()</title>
358
 
<indexterm><primary>gimp_matrix3_is_diagonal</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>    gimp_matrix3_is_diagonal        (const <link linkend="GimpMatrix3">GimpMatrix3</link> *matrix);</programlisting>
 
375
<title><anchor id="gimp-matrix3-is-identity" role="function"/>gimp_matrix3_is_identity ()</title>
 
376
<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>
 
377
<para>
 
378
Checks if the given matrix is the identity matrix.</para>
 
379
<para>
 
380
 
 
381
</para><variablelist role="params">
 
382
<varlistentry><term><parameter>matrix</parameter>&nbsp;:</term>
 
383
<listitem><simpara> The matrix that is to be tested.
 
384
</simpara></listitem></varlistentry>
 
385
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the matrix is the identity matrix, <link linkend="FALSE:CAPS"><literal>FALSE</literal></link> otherwise
 
386
</simpara></listitem></varlistentry>
 
387
</variablelist></refsect2>
 
388
<refsect2>
 
389
<title><anchor id="gimp-matrix3-is-diagonal" role="function"/>gimp_matrix3_is_diagonal ()</title>
 
390
<indexterm><primary>gimp_matrix3_is_diagonal</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            gimp_matrix3_is_diagonal            (const <link linkend="GimpMatrix3">GimpMatrix3</link> *matrix);</programlisting>
359
391
<para>
360
392
Checks if the given matrix is diagonal.</para>
361
393
<para>
364
396
<varlistentry><term><parameter>matrix</parameter>&nbsp;:</term>
365
397
<listitem><simpara> The matrix that is to be tested.
366
398
</simpara></listitem></varlistentry>
367
 
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> TRUE if the matrix is diagonal.
 
399
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</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>
370
402
<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>
373
405
<para>
374
 
Checks if the given matrix is the identity matrix.</para>
 
406
Checks if the given matrix defines an affine transformation.</para>
375
407
<para>
376
408
 
377
409
</para><variablelist role="params">
378
410
<varlistentry><term><parameter>matrix</parameter>&nbsp;:</term>
379
411
<listitem><simpara> The matrix that is to be tested.
380
412
</simpara></listitem></varlistentry>
381
 
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> TRUE if the matrix is the identity matrix.
 
413
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</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
 
415
 
382
416
</simpara></listitem></varlistentry>
383
 
</variablelist></refsect2>
 
417
</variablelist><para role="since">Since  GIMP 2.4
 
418
</para></refsect2>
384
419
<refsect2>
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>
387
422
<para>
388
423
Checks if we'll need to interpolate when applying this matrix as
389
424
a transformation.</para>
393
428
<varlistentry><term><parameter>matrix</parameter>&nbsp;:</term>
394
429
<listitem><simpara> The matrix that is to be tested.
395
430
</simpara></listitem></varlistentry>
396
 
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> TRUE if all entries of the upper left 2x2 matrix are either
397
 
0 or 1
 
431
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if all entries of the upper left 2x2 matrix are
 
432
         either 0 or 1, <link linkend="FALSE:CAPS"><literal>FALSE</literal></link> otherwise
398
433
</simpara></listitem></varlistentry>
399
434
</variablelist></refsect2>
400
435
<refsect2>
401
 
<title><anchor id="gimp-matrix4-to-deg"/>gimp_matrix4_to_deg ()</title>
402
 
<indexterm><primary>gimp_matrix4_to_deg</primary></indexterm><programlisting><link linkend="void">void</link>        gimp_matrix4_to_deg             (const <link linkend="GimpMatrix4">GimpMatrix4</link> *matrix,
403
 
                                             <link linkend="gdouble">gdouble</link> *a,
404
 
                                             <link linkend="gdouble">gdouble</link> *b,
405
 
                                             <link linkend="gdouble">gdouble</link> *c);</programlisting>
 
436
<title><anchor id="gimp-matrix4-to-deg" role="function"/>gimp_matrix4_to_deg ()</title>
 
437
<indexterm><primary>gimp_matrix4_to_deg</primary></indexterm><programlisting><link linkend="void">void</link>                gimp_matrix4_to_deg                 (const <link linkend="GimpMatrix4">GimpMatrix4</link> *matrix,
 
438
                                                         <link linkend="gdouble">gdouble</link> *a,
 
439
                                                         <link linkend="gdouble">gdouble</link> *b,
 
440
                                                         <link linkend="gdouble">gdouble</link> *c);</programlisting>
406
441
<para>
407
442
</para>
408
443
<para>
421
456
<listitem><simpara>
422
457
</simpara></listitem></varlistentry>
423
458
</variablelist></refsect2>
 
459
<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 ())
 
462
</programlisting>
 
463
<para>
 
464
 
 
465
</para></refsect2>
 
466
<refsect2>
 
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 ())
 
469
</programlisting>
 
470
<para>
 
471
 
 
472
</para></refsect2>
 
473
<refsect2>
 
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))
 
476
</programlisting>
 
477
<para>
 
478
 
 
479
</para><variablelist role="params">
 
480
<varlistentry><term><parameter>pspec</parameter>&nbsp;:</term>
 
481
<listitem><simpara>
 
482
 
 
483
 
 
484
</simpara></listitem></varlistentry>
 
485
</variablelist></refsect2>
 
486
<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>
 
493
<para>
 
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>
 
496
<para>
 
497
 
 
498
</para><variablelist role="params">
 
499
<varlistentry><term><parameter>name</parameter>&nbsp;:</term>
 
500
<listitem><simpara>          Canonical name of the param
 
501
</simpara></listitem></varlistentry>
 
502
<varlistentry><term><parameter>nick</parameter>&nbsp;:</term>
 
503
<listitem><simpara>          Nickname of the param
 
504
</simpara></listitem></varlistentry>
 
505
<varlistentry><term><parameter>blurb</parameter>&nbsp;:</term>
 
506
<listitem><simpara>         Brief desciption of param.
 
507
</simpara></listitem></varlistentry>
 
508
<varlistentry><term><parameter>default_value</parameter>&nbsp;:</term>
 
509
<listitem><simpara> Value to use if none is assigned.
 
510
</simpara></listitem></varlistentry>
 
511
<varlistentry><term><parameter>flags</parameter>&nbsp;:</term>
 
512
<listitem><simpara>         a combination of <link linkend="GParamFlags"><type>GParamFlags</type></link>
 
513
</simpara></listitem></varlistentry>
 
514
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> a newly allocated <link linkend="GParamSpec"><type>GParamSpec</type></link> instance
 
515
 
 
516
</simpara></listitem></varlistentry>
 
517
</variablelist><para role="since">Since  GIMP 2.4
 
518
</para></refsect2>
 
519
<refsect2>
 
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))
 
522
</programlisting>
 
523
<para>
 
524
 
 
525
</para><variablelist role="params">
 
526
<varlistentry><term><parameter>value</parameter>&nbsp;:</term>
 
527
<listitem><simpara>
 
528
 
 
529
 
 
530
</simpara></listitem></varlistentry>
 
531
</variablelist></refsect2>
424
532
 
425
533
</refsect1>
426
534