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

« back to all changes in this revision

Viewing changes to devel-docs/libgimpmath/html/libgimpmath-GimpMatrix.html

  • 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:
 
1
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
1
2
<html>
2
3
<head>
3
4
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
4
5
<title>GimpMatrix</title>
5
 
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
 
6
<meta name="generator" content="DocBook XSL Stylesheets V1.72.0">
6
7
<link rel="start" href="index.html" title="GIMP Math Library Reference Manual">
7
8
<link rel="up" href="libgimpmath.html" title="Part&#160;I.&#160;GIMP Math Library">
8
9
<link rel="prev" href="libgimpmath-GimpMath.html" title="GimpMath">
9
10
<link rel="next" href="libgimpmath-GimpVector.html" title="GimpVector">
10
 
<meta name="generator" content="GTK-Doc V1.4 (XML mode)">
 
11
<meta name="generator" content="GTK-Doc V1.8 (XML mode)">
11
12
<link rel="stylesheet" href="style.css" type="text/css">
12
13
<link rel="part" href="libgimpmath.html" title="Part&#160;I.&#160;GIMP Math Library">
 
14
<link rel="index" href="libgimpmath-index.html" title="Index">
 
15
<link rel="index" href="libgimpmath-index-new-in-2-2.html" title="Index of new symbols in GIMP 2.2">
 
16
<link rel="index" href="libgimpmath-index-new-in-2-4.html" title="Index of new symbols in GIMP 2.4">
 
17
<link rel="index" href="libgimpmath-index-deprecated.html" title="Index of deprecated symbols">
13
18
</head>
14
19
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
15
 
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
 
20
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
 
21
<tr valign="middle">
16
22
<td><a accesskey="p" href="libgimpmath-GimpMath.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
17
23
<td><a accesskey="u" href="libgimpmath.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
18
24
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
19
25
<th width="100%" align="center">GIMP Math Library Reference Manual</th>
20
26
<td><a accesskey="n" href="libgimpmath-GimpVector.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
21
 
</tr></table>
 
27
</tr>
 
28
<tr><td colspan="5" class="shortcuts"><nobr><a href="#id2594740" class="shortcut">Top</a>
 
29
                  &#160;|&#160;
 
30
                  <a href="#id2576332" class="shortcut">Description</a></nobr></td></tr>
 
31
</table>
22
32
<div class="refentry" lang="en">
23
33
<a name="libgimpmath-GimpMatrix"></a><div class="titlepage"></div>
24
34
<div class="refnamediv"><table width="100%"><tr>
25
35
<td valign="top">
26
 
<h2><span class="refentrytitle">GimpMatrix</span></h2>
 
36
<h2>
 
37
<a name="id2594740"></a><span class="refentrytitle">GimpMatrix</span>
 
38
</h2>
27
39
<p>GimpMatrix &#8212; Utilities to set up and manipulate 3x3 transformation matrices.</p>
28
40
</td>
29
41
<td valign="top" align="right"></td>
34
46
 
35
47
 
36
48
 
37
 
            <a href="libgimpmath-GimpMatrix.html#GimpMatrix2">GimpMatrix2</a>;
38
 
            <a href="libgimpmath-GimpMatrix.html#GimpMatrix3">GimpMatrix3</a>;
39
 
            <a href="libgimpmath-GimpMatrix.html#GimpMatrix4">GimpMatrix4</a>;
40
 
void        <a href="libgimpmath-GimpMatrix.html#gimp-matrix2-identity">gimp_matrix2_identity</a>           (<a href="libgimpmath-GimpMatrix.html#GimpMatrix2">GimpMatrix2</a> *matrix);
41
 
void        <a href="libgimpmath-GimpMatrix.html#gimp-matrix2-mult">gimp_matrix2_mult</a>               (const <a href="libgimpmath-GimpMatrix.html#GimpMatrix2">GimpMatrix2</a> *matrix1,
42
 
                                             <a href="libgimpmath-GimpMatrix.html#GimpMatrix2">GimpMatrix2</a> *matrix2);
43
 
void        <a href="libgimpmath-GimpMatrix.html#gimp-matrix3-identity">gimp_matrix3_identity</a>           (<a href="libgimpmath-GimpMatrix.html#GimpMatrix3">GimpMatrix3</a> *matrix);
44
 
void        <a href="libgimpmath-GimpMatrix.html#gimp-matrix3-mult">gimp_matrix3_mult</a>               (const <a href="libgimpmath-GimpMatrix.html#GimpMatrix3">GimpMatrix3</a> *matrix1,
45
 
                                             <a href="libgimpmath-GimpMatrix.html#GimpMatrix3">GimpMatrix3</a> *matrix2);
46
 
void        <a href="libgimpmath-GimpMatrix.html#gimp-matrix3-translate">gimp_matrix3_translate</a>          (<a href="libgimpmath-GimpMatrix.html#GimpMatrix3">GimpMatrix3</a> *matrix,
47
 
                                             gdouble x,
48
 
                                             gdouble y);
49
 
void        <a href="libgimpmath-GimpMatrix.html#gimp-matrix3-scale">gimp_matrix3_scale</a>              (<a href="libgimpmath-GimpMatrix.html#GimpMatrix3">GimpMatrix3</a> *matrix,
50
 
                                             gdouble x,
51
 
                                             gdouble y);
52
 
void        <a href="libgimpmath-GimpMatrix.html#gimp-matrix3-rotate">gimp_matrix3_rotate</a>             (<a href="libgimpmath-GimpMatrix.html#GimpMatrix3">GimpMatrix3</a> *matrix,
53
 
                                             gdouble theta);
54
 
void        <a href="libgimpmath-GimpMatrix.html#gimp-matrix3-xshear">gimp_matrix3_xshear</a>             (<a href="libgimpmath-GimpMatrix.html#GimpMatrix3">GimpMatrix3</a> *matrix,
55
 
                                             gdouble amount);
56
 
void        <a href="libgimpmath-GimpMatrix.html#gimp-matrix3-yshear">gimp_matrix3_yshear</a>             (<a href="libgimpmath-GimpMatrix.html#GimpMatrix3">GimpMatrix3</a> *matrix,
57
 
                                             gdouble amount);
58
 
void        <a href="libgimpmath-GimpMatrix.html#gimp-matrix3-affine">gimp_matrix3_affine</a>             (<a href="libgimpmath-GimpMatrix.html#GimpMatrix3">GimpMatrix3</a> *matrix,
59
 
                                             gdouble a,
60
 
                                             gdouble b,
61
 
                                             gdouble c,
62
 
                                             gdouble d,
63
 
                                             gdouble e,
64
 
                                             gdouble f);
65
 
void        <a href="libgimpmath-GimpMatrix.html#gimp-matrix3-transform-point">gimp_matrix3_transform_point</a>    (const <a href="libgimpmath-GimpMatrix.html#GimpMatrix3">GimpMatrix3</a> *matrix,
66
 
                                             gdouble x,
67
 
                                             gdouble y,
68
 
                                             gdouble *newx,
69
 
                                             gdouble *newy);
70
 
gdouble     <a href="libgimpmath-GimpMatrix.html#gimp-matrix3-determinant">gimp_matrix3_determinant</a>        (const <a href="libgimpmath-GimpMatrix.html#GimpMatrix3">GimpMatrix3</a> *matrix);
71
 
void        <a href="libgimpmath-GimpMatrix.html#gimp-matrix3-invert">gimp_matrix3_invert</a>             (<a href="libgimpmath-GimpMatrix.html#GimpMatrix3">GimpMatrix3</a> *matrix);
72
 
gboolean    <a href="libgimpmath-GimpMatrix.html#gimp-matrix3-is-diagonal">gimp_matrix3_is_diagonal</a>        (const <a href="libgimpmath-GimpMatrix.html#GimpMatrix3">GimpMatrix3</a> *matrix);
73
 
gboolean    <a href="libgimpmath-GimpMatrix.html#gimp-matrix3-is-identity">gimp_matrix3_is_identity</a>        (const <a href="libgimpmath-GimpMatrix.html#GimpMatrix3">GimpMatrix3</a> *matrix);
74
 
gboolean    <a href="libgimpmath-GimpMatrix.html#gimp-matrix3-is-simple">gimp_matrix3_is_simple</a>          (const <a href="libgimpmath-GimpMatrix.html#GimpMatrix3">GimpMatrix3</a> *matrix);
75
 
void        <a href="libgimpmath-GimpMatrix.html#gimp-matrix4-to-deg">gimp_matrix4_to_deg</a>             (const <a href="libgimpmath-GimpMatrix.html#GimpMatrix4">GimpMatrix4</a> *matrix,
76
 
                                             gdouble *a,
77
 
                                             gdouble *b,
78
 
                                             gdouble *c);
 
49
                    <a href="libgimpmath-GimpMatrix.html#GimpMatrix2">GimpMatrix2</a>;
 
50
                    <a href="libgimpmath-GimpMatrix.html#GimpMatrix3">GimpMatrix3</a>;
 
51
                    <a href="libgimpmath-GimpMatrix.html#GimpMatrix4">GimpMatrix4</a>;
 
52
void                <a href="libgimpmath-GimpMatrix.html#gimp-matrix2-identity">gimp_matrix2_identity</a>               (<a href="libgimpmath-GimpMatrix.html#GimpMatrix2">GimpMatrix2</a> *matrix);
 
53
void                <a href="libgimpmath-GimpMatrix.html#gimp-matrix2-mult">gimp_matrix2_mult</a>                   (const <a href="libgimpmath-GimpMatrix.html#GimpMatrix2">GimpMatrix2</a> *matrix1,
 
54
                                                         <a href="libgimpmath-GimpMatrix.html#GimpMatrix2">GimpMatrix2</a> *matrix2);
 
55
void                <a href="libgimpmath-GimpMatrix.html#gimp-matrix3-identity">gimp_matrix3_identity</a>               (<a href="libgimpmath-GimpMatrix.html#GimpMatrix3">GimpMatrix3</a> *matrix);
 
56
void                <a href="libgimpmath-GimpMatrix.html#gimp-matrix3-mult">gimp_matrix3_mult</a>                   (const <a href="libgimpmath-GimpMatrix.html#GimpMatrix3">GimpMatrix3</a> *matrix1,
 
57
                                                         <a href="libgimpmath-GimpMatrix.html#GimpMatrix3">GimpMatrix3</a> *matrix2);
 
58
void                <a href="libgimpmath-GimpMatrix.html#gimp-matrix3-translate">gimp_matrix3_translate</a>              (<a href="libgimpmath-GimpMatrix.html#GimpMatrix3">GimpMatrix3</a> *matrix,
 
59
                                                         gdouble x,
 
60
                                                         gdouble y);
 
61
void                <a href="libgimpmath-GimpMatrix.html#gimp-matrix3-scale">gimp_matrix3_scale</a>                  (<a href="libgimpmath-GimpMatrix.html#GimpMatrix3">GimpMatrix3</a> *matrix,
 
62
                                                         gdouble x,
 
63
                                                         gdouble y);
 
64
void                <a href="libgimpmath-GimpMatrix.html#gimp-matrix3-rotate">gimp_matrix3_rotate</a>                 (<a href="libgimpmath-GimpMatrix.html#GimpMatrix3">GimpMatrix3</a> *matrix,
 
65
                                                         gdouble theta);
 
66
void                <a href="libgimpmath-GimpMatrix.html#gimp-matrix3-xshear">gimp_matrix3_xshear</a>                 (<a href="libgimpmath-GimpMatrix.html#GimpMatrix3">GimpMatrix3</a> *matrix,
 
67
                                                         gdouble amount);
 
68
void                <a href="libgimpmath-GimpMatrix.html#gimp-matrix3-yshear">gimp_matrix3_yshear</a>                 (<a href="libgimpmath-GimpMatrix.html#GimpMatrix3">GimpMatrix3</a> *matrix,
 
69
                                                         gdouble amount);
 
70
void                <a href="libgimpmath-GimpMatrix.html#gimp-matrix3-affine">gimp_matrix3_affine</a>                 (<a href="libgimpmath-GimpMatrix.html#GimpMatrix3">GimpMatrix3</a> *matrix,
 
71
                                                         gdouble a,
 
72
                                                         gdouble b,
 
73
                                                         gdouble c,
 
74
                                                         gdouble d,
 
75
                                                         gdouble e,
 
76
                                                         gdouble f);
 
77
void                <a href="libgimpmath-GimpMatrix.html#gimp-matrix3-transform-point">gimp_matrix3_transform_point</a>        (const <a href="libgimpmath-GimpMatrix.html#GimpMatrix3">GimpMatrix3</a> *matrix,
 
78
                                                         gdouble x,
 
79
                                                         gdouble y,
 
80
                                                         gdouble *newx,
 
81
                                                         gdouble *newy);
 
82
gdouble             <a href="libgimpmath-GimpMatrix.html#gimp-matrix3-determinant">gimp_matrix3_determinant</a>            (const <a href="libgimpmath-GimpMatrix.html#GimpMatrix3">GimpMatrix3</a> *matrix);
 
83
void                <a href="libgimpmath-GimpMatrix.html#gimp-matrix3-invert">gimp_matrix3_invert</a>                 (<a href="libgimpmath-GimpMatrix.html#GimpMatrix3">GimpMatrix3</a> *matrix);
 
84
gboolean            <a href="libgimpmath-GimpMatrix.html#gimp-matrix3-is-identity">gimp_matrix3_is_identity</a>            (const <a href="libgimpmath-GimpMatrix.html#GimpMatrix3">GimpMatrix3</a> *matrix);
 
85
gboolean            <a href="libgimpmath-GimpMatrix.html#gimp-matrix3-is-diagonal">gimp_matrix3_is_diagonal</a>            (const <a href="libgimpmath-GimpMatrix.html#GimpMatrix3">GimpMatrix3</a> *matrix);
 
86
gboolean            <a href="libgimpmath-GimpMatrix.html#gimp-matrix3-is-affine">gimp_matrix3_is_affine</a>              (const <a href="libgimpmath-GimpMatrix.html#GimpMatrix3">GimpMatrix3</a> *matrix);
 
87
gboolean            <a href="libgimpmath-GimpMatrix.html#gimp-matrix3-is-simple">gimp_matrix3_is_simple</a>              (const <a href="libgimpmath-GimpMatrix.html#GimpMatrix3">GimpMatrix3</a> *matrix);
 
88
void                <a href="libgimpmath-GimpMatrix.html#gimp-matrix4-to-deg">gimp_matrix4_to_deg</a>                 (const <a href="libgimpmath-GimpMatrix.html#GimpMatrix4">GimpMatrix4</a> *matrix,
 
89
                                                         gdouble *a,
 
90
                                                         gdouble *b,
 
91
                                                         gdouble *c);
 
92
#define             <a href="libgimpmath-GimpMatrix.html#GIMP-TYPE-MATRIX2:CAPS">GIMP_TYPE_MATRIX2</a>
 
93
#define             <a href="libgimpmath-GimpMatrix.html#GIMP-TYPE-PARAM-MATRIX2:CAPS">GIMP_TYPE_PARAM_MATRIX2</a>
 
94
#define             <a href="libgimpmath-GimpMatrix.html#GIMP-IS-PARAM-SPEC-MATRIX2:CAPS">GIMP_IS_PARAM_SPEC_MATRIX2</a>          (pspec)
 
95
GParamSpec*         <a href="libgimpmath-GimpMatrix.html#gimp-param-spec-matrix2">gimp_param_spec_matrix2</a>             (const gchar *name,
 
96
                                                         const gchar *nick,
 
97
                                                         const gchar *blurb,
 
98
                                                         const <a href="libgimpmath-GimpMatrix.html#GimpMatrix2">GimpMatrix2</a> *default_value,
 
99
                                                         GParamFlags flags);
 
100
#define             <a href="libgimpmath-GimpMatrix.html#GIMP-VALUE-HOLDS-MATRIX2:CAPS">GIMP_VALUE_HOLDS_MATRIX2</a>            (value)
 
101
 
79
102
</pre>
80
103
</div>
81
104
<div class="refsect1" lang="en">
82
 
<a name="id2528821"></a><h2>Description</h2>
 
105
<a name="id2576332"></a><h2>Description</h2>
83
106
<p>
84
107
When doing image manipulation you will often need 3x3 transformation
85
108
matrices that define translation, rotation, scaling, shearing and 
87
110
find a set of utility functions to set up those matrices and to perform 
88
111
basic matrix manipulations and tests.
89
112
</p>
 
113
<p>
 
114
Each matrix class has a 2 dimensional gdouble coeff member. The
 
115
element for row r and column c of the matrix is coeff[r][c].
 
116
</p>
90
117
</div>
91
118
<div class="refsect1" lang="en">
92
 
<a name="id2528838"></a><h2>Details</h2>
 
119
<a name="id2510318"></a><h2>Details</h2>
93
120
<div class="refsect2" lang="en">
94
 
<a name="id2528844"></a><h3>
 
121
<a name="id2510328"></a><h3>
95
122
<a name="GimpMatrix2"></a>GimpMatrix2</h3>
96
 
<a class="indexterm" name="id2528854"></a><pre class="programlisting">typedef struct {
 
123
<a class="indexterm" name="id2510340"></a><pre class="programlisting">typedef struct {
97
124
  gdouble coeff[2][2];
98
125
} GimpMatrix2;
99
126
</pre>
103
130
</div>
104
131
<hr>
105
132
<div class="refsect2" lang="en">
106
 
<a name="id2528870"></a><h3>
 
133
<a name="id2510356"></a><h3>
107
134
<a name="GimpMatrix3"></a>GimpMatrix3</h3>
108
 
<a class="indexterm" name="id2528880"></a><pre class="programlisting">typedef struct {
 
135
<a class="indexterm" name="id2510368"></a><pre class="programlisting">typedef struct {
109
136
  gdouble coeff[3][3];
110
137
} GimpMatrix3;
111
138
</pre>
115
142
</div>
116
143
<hr>
117
144
<div class="refsect2" lang="en">
118
 
<a name="id2528896"></a><h3>
 
145
<a name="id2510385"></a><h3>
119
146
<a name="GimpMatrix4"></a>GimpMatrix4</h3>
120
 
<a class="indexterm" name="id2528905"></a><pre class="programlisting">typedef struct {
 
147
<a class="indexterm" name="id2510397"></a><pre class="programlisting">typedef struct {
121
148
  gdouble coeff[4][4];
122
149
} GimpMatrix4;
123
150
</pre>
127
154
</div>
128
155
<hr>
129
156
<div class="refsect2" lang="en">
130
 
<a name="id2528922"></a><h3>
 
157
<a name="id2510413"></a><h3>
131
158
<a name="gimp-matrix2-identity"></a>gimp_matrix2_identity ()</h3>
132
 
<a class="indexterm" name="id2528930"></a><pre class="programlisting">void        gimp_matrix2_identity           (<a href="libgimpmath-GimpMatrix.html#GimpMatrix2">GimpMatrix2</a> *matrix);</pre>
 
159
<a class="indexterm" name="id2510424"></a><pre class="programlisting">void                gimp_matrix2_identity               (<a href="libgimpmath-GimpMatrix.html#GimpMatrix2">GimpMatrix2</a> *matrix);</pre>
133
160
<p>
134
161
Sets the matrix to the identity matrix.</p>
135
162
<p>
138
165
<div class="variablelist"><table border="0">
139
166
<col align="left" valign="top">
140
167
<tbody><tr>
141
 
<td>
142
 
<span class="term"><em class="parameter"><code>matrix</code></em>&#160;:</span></td>
 
168
<td><span class="term"><em class="parameter"><code>matrix</code></em>&#160;:</span></td>
143
169
<td> A matrix.
144
170
</td>
145
171
</tr></tbody>
147
173
</div>
148
174
<hr>
149
175
<div class="refsect2" lang="en">
150
 
<a name="id2474142"></a><h3>
 
176
<a name="id2510473"></a><h3>
151
177
<a name="gimp-matrix2-mult"></a>gimp_matrix2_mult ()</h3>
152
 
<a class="indexterm" name="id2474151"></a><pre class="programlisting">void        gimp_matrix2_mult               (const <a href="libgimpmath-GimpMatrix.html#GimpMatrix2">GimpMatrix2</a> *matrix1,
153
 
                                             <a href="libgimpmath-GimpMatrix.html#GimpMatrix2">GimpMatrix2</a> *matrix2);</pre>
 
178
<a class="indexterm" name="id2510486"></a><pre class="programlisting">void                gimp_matrix2_mult                   (const <a href="libgimpmath-GimpMatrix.html#GimpMatrix2">GimpMatrix2</a> *matrix1,
 
179
                                                         <a href="libgimpmath-GimpMatrix.html#GimpMatrix2">GimpMatrix2</a> *matrix2);</pre>
154
180
<p>
155
181
Multiplies two matrices and puts the result into the second one.</p>
156
182
<p>
160
186
<col align="left" valign="top">
161
187
<tbody>
162
188
<tr>
163
 
<td>
164
 
<span class="term"><em class="parameter"><code>matrix1</code></em>&#160;:</span></td>
 
189
<td><span class="term"><em class="parameter"><code>matrix1</code></em>&#160;:</span></td>
165
190
<td> The first input matrix.
166
191
</td>
167
192
</tr>
168
193
<tr>
169
 
<td>
170
 
<span class="term"><em class="parameter"><code>matrix2</code></em>&#160;:</span></td>
 
194
<td><span class="term"><em class="parameter"><code>matrix2</code></em>&#160;:</span></td>
171
195
<td> The second input matrix which will be overwritten by the result.
172
196
</td>
173
197
</tr>
176
200
</div>
177
201
<hr>
178
202
<div class="refsect2" lang="en">
179
 
<a name="id2474223"></a><h3>
 
203
<a name="id2510558"></a><h3>
180
204
<a name="gimp-matrix3-identity"></a>gimp_matrix3_identity ()</h3>
181
 
<a class="indexterm" name="id2474232"></a><pre class="programlisting">void        gimp_matrix3_identity           (<a href="libgimpmath-GimpMatrix.html#GimpMatrix3">GimpMatrix3</a> *matrix);</pre>
 
205
<a class="indexterm" name="id2510569"></a><pre class="programlisting">void                gimp_matrix3_identity               (<a href="libgimpmath-GimpMatrix.html#GimpMatrix3">GimpMatrix3</a> *matrix);</pre>
182
206
<p>
183
207
Sets the matrix to the identity matrix.</p>
184
208
<p>
187
211
<div class="variablelist"><table border="0">
188
212
<col align="left" valign="top">
189
213
<tbody><tr>
190
 
<td>
191
 
<span class="term"><em class="parameter"><code>matrix</code></em>&#160;:</span></td>
 
214
<td><span class="term"><em class="parameter"><code>matrix</code></em>&#160;:</span></td>
192
215
<td> A matrix.
193
216
</td>
194
217
</tr></tbody>
196
219
</div>
197
220
<hr>
198
221
<div class="refsect2" lang="en">
199
 
<a name="id2474280"></a><h3>
 
222
<a name="id2599927"></a><h3>
200
223
<a name="gimp-matrix3-mult"></a>gimp_matrix3_mult ()</h3>
201
 
<a class="indexterm" name="id2474291"></a><pre class="programlisting">void        gimp_matrix3_mult               (const <a href="libgimpmath-GimpMatrix.html#GimpMatrix3">GimpMatrix3</a> *matrix1,
202
 
                                             <a href="libgimpmath-GimpMatrix.html#GimpMatrix3">GimpMatrix3</a> *matrix2);</pre>
 
224
<a class="indexterm" name="id2599938"></a><pre class="programlisting">void                gimp_matrix3_mult                   (const <a href="libgimpmath-GimpMatrix.html#GimpMatrix3">GimpMatrix3</a> *matrix1,
 
225
                                                         <a href="libgimpmath-GimpMatrix.html#GimpMatrix3">GimpMatrix3</a> *matrix2);</pre>
203
226
<p>
204
227
Multiplies two matrices and puts the result into the second one.</p>
205
228
<p>
209
232
<col align="left" valign="top">
210
233
<tbody>
211
234
<tr>
212
 
<td>
213
 
<span class="term"><em class="parameter"><code>matrix1</code></em>&#160;:</span></td>
 
235
<td><span class="term"><em class="parameter"><code>matrix1</code></em>&#160;:</span></td>
214
236
<td> The first input matrix.
215
237
</td>
216
238
</tr>
217
239
<tr>
218
 
<td>
219
 
<span class="term"><em class="parameter"><code>matrix2</code></em>&#160;:</span></td>
 
240
<td><span class="term"><em class="parameter"><code>matrix2</code></em>&#160;:</span></td>
220
241
<td> The second input matrix which will be overwritten by the result.
221
242
</td>
222
243
</tr>
225
246
</div>
226
247
<hr>
227
248
<div class="refsect2" lang="en">
228
 
<a name="id2474363"></a><h3>
 
249
<a name="id2600003"></a><h3>
229
250
<a name="gimp-matrix3-translate"></a>gimp_matrix3_translate ()</h3>
230
 
<a class="indexterm" name="id2474372"></a><pre class="programlisting">void        gimp_matrix3_translate          (<a href="libgimpmath-GimpMatrix.html#GimpMatrix3">GimpMatrix3</a> *matrix,
231
 
                                             gdouble x,
232
 
                                             gdouble y);</pre>
 
251
<a class="indexterm" name="id2600014"></a><pre class="programlisting">void                gimp_matrix3_translate              (<a href="libgimpmath-GimpMatrix.html#GimpMatrix3">GimpMatrix3</a> *matrix,
 
252
                                                         gdouble x,
 
253
                                                         gdouble y);</pre>
233
254
<p>
234
255
Translates the matrix by x and y.</p>
235
256
<p>
239
260
<col align="left" valign="top">
240
261
<tbody>
241
262
<tr>
242
 
<td>
243
 
<span class="term"><em class="parameter"><code>matrix</code></em>&#160;:</span></td>
 
263
<td><span class="term"><em class="parameter"><code>matrix</code></em>&#160;:</span></td>
244
264
<td> The matrix that is to be translated.
245
265
</td>
246
266
</tr>
247
267
<tr>
248
 
<td>
249
 
<span class="term"><em class="parameter"><code>x</code></em>&#160;:</span></td>
 
268
<td><span class="term"><em class="parameter"><code>x</code></em>&#160;:</span></td>
250
269
<td> Translation in X direction.
251
270
</td>
252
271
</tr>
253
272
<tr>
254
 
<td>
255
 
<span class="term"><em class="parameter"><code>y</code></em>&#160;:</span></td>
 
273
<td><span class="term"><em class="parameter"><code>y</code></em>&#160;:</span></td>
256
274
<td> Translation in Y direction.
257
275
</td>
258
276
</tr>
261
279
</div>
262
280
<hr>
263
281
<div class="refsect2" lang="en">
264
 
<a name="id2558440"></a><h3>
 
282
<a name="id2600101"></a><h3>
265
283
<a name="gimp-matrix3-scale"></a>gimp_matrix3_scale ()</h3>
266
 
<a class="indexterm" name="id2558449"></a><pre class="programlisting">void        gimp_matrix3_scale              (<a href="libgimpmath-GimpMatrix.html#GimpMatrix3">GimpMatrix3</a> *matrix,
267
 
                                             gdouble x,
268
 
                                             gdouble y);</pre>
 
284
<a class="indexterm" name="id2600114"></a><pre class="programlisting">void                gimp_matrix3_scale                  (<a href="libgimpmath-GimpMatrix.html#GimpMatrix3">GimpMatrix3</a> *matrix,
 
285
                                                         gdouble x,
 
286
                                                         gdouble y);</pre>
269
287
<p>
270
288
Scales the matrix by x and y</p>
271
289
<p>
275
293
<col align="left" valign="top">
276
294
<tbody>
277
295
<tr>
278
 
<td>
279
 
<span class="term"><em class="parameter"><code>matrix</code></em>&#160;:</span></td>
 
296
<td><span class="term"><em class="parameter"><code>matrix</code></em>&#160;:</span></td>
280
297
<td> The matrix that is to be scaled.
281
298
</td>
282
299
</tr>
283
300
<tr>
284
 
<td>
285
 
<span class="term"><em class="parameter"><code>x</code></em>&#160;:</span></td>
 
301
<td><span class="term"><em class="parameter"><code>x</code></em>&#160;:</span></td>
286
302
<td> X scale factor.
287
303
</td>
288
304
</tr>
289
305
<tr>
290
 
<td>
291
 
<span class="term"><em class="parameter"><code>y</code></em>&#160;:</span></td>
 
306
<td><span class="term"><em class="parameter"><code>y</code></em>&#160;:</span></td>
292
307
<td> Y scale factor.
293
308
</td>
294
309
</tr>
297
312
</div>
298
313
<hr>
299
314
<div class="refsect2" lang="en">
300
 
<a name="id2558532"></a><h3>
 
315
<a name="id2600207"></a><h3>
301
316
<a name="gimp-matrix3-rotate"></a>gimp_matrix3_rotate ()</h3>
302
 
<a class="indexterm" name="id2558542"></a><pre class="programlisting">void        gimp_matrix3_rotate             (<a href="libgimpmath-GimpMatrix.html#GimpMatrix3">GimpMatrix3</a> *matrix,
303
 
                                             gdouble theta);</pre>
 
317
<a class="indexterm" name="id2600219"></a><pre class="programlisting">void                gimp_matrix3_rotate                 (<a href="libgimpmath-GimpMatrix.html#GimpMatrix3">GimpMatrix3</a> *matrix,
 
318
                                                         gdouble theta);</pre>
304
319
<p>
305
320
Rotates the matrix by theta degrees.</p>
306
321
<p>
310
325
<col align="left" valign="top">
311
326
<tbody>
312
327
<tr>
313
 
<td>
314
 
<span class="term"><em class="parameter"><code>matrix</code></em>&#160;:</span></td>
 
328
<td><span class="term"><em class="parameter"><code>matrix</code></em>&#160;:</span></td>
315
329
<td> The matrix that is to be rotated.
316
330
</td>
317
331
</tr>
318
332
<tr>
319
 
<td>
320
 
<span class="term"><em class="parameter"><code>theta</code></em>&#160;:</span></td>
 
333
<td><span class="term"><em class="parameter"><code>theta</code></em>&#160;:</span></td>
321
334
<td> The angle of rotation (in radians).
322
335
</td>
323
336
</tr>
326
339
</div>
327
340
<hr>
328
341
<div class="refsect2" lang="en">
329
 
<a name="id2558614"></a><h3>
 
342
<a name="id2600290"></a><h3>
330
343
<a name="gimp-matrix3-xshear"></a>gimp_matrix3_xshear ()</h3>
331
 
<a class="indexterm" name="id2558624"></a><pre class="programlisting">void        gimp_matrix3_xshear             (<a href="libgimpmath-GimpMatrix.html#GimpMatrix3">GimpMatrix3</a> *matrix,
332
 
                                             gdouble amount);</pre>
 
344
<a class="indexterm" name="id2600303"></a><pre class="programlisting">void                gimp_matrix3_xshear                 (<a href="libgimpmath-GimpMatrix.html#GimpMatrix3">GimpMatrix3</a> *matrix,
 
345
                                                         gdouble amount);</pre>
333
346
<p>
334
347
Shears the matrix in the X direction.</p>
335
348
<p>
339
352
<col align="left" valign="top">
340
353
<tbody>
341
354
<tr>
342
 
<td>
343
 
<span class="term"><em class="parameter"><code>matrix</code></em>&#160;:</span></td>
 
355
<td><span class="term"><em class="parameter"><code>matrix</code></em>&#160;:</span></td>
344
356
<td> The matrix that is to be sheared.
345
357
</td>
346
358
</tr>
347
359
<tr>
348
 
<td>
349
 
<span class="term"><em class="parameter"><code>amount</code></em>&#160;:</span></td>
 
360
<td><span class="term"><em class="parameter"><code>amount</code></em>&#160;:</span></td>
350
361
<td> X shear amount.
351
362
</td>
352
363
</tr>
355
366
</div>
356
367
<hr>
357
368
<div class="refsect2" lang="en">
358
 
<a name="id2558695"></a><h3>
 
369
<a name="id2600374"></a><h3>
359
370
<a name="gimp-matrix3-yshear"></a>gimp_matrix3_yshear ()</h3>
360
 
<a class="indexterm" name="id2558706"></a><pre class="programlisting">void        gimp_matrix3_yshear             (<a href="libgimpmath-GimpMatrix.html#GimpMatrix3">GimpMatrix3</a> *matrix,
361
 
                                             gdouble amount);</pre>
 
371
<a class="indexterm" name="id2600387"></a><pre class="programlisting">void                gimp_matrix3_yshear                 (<a href="libgimpmath-GimpMatrix.html#GimpMatrix3">GimpMatrix3</a> *matrix,
 
372
                                                         gdouble amount);</pre>
362
373
<p>
363
374
Shears the matrix in the Y direction.</p>
364
375
<p>
368
379
<col align="left" valign="top">
369
380
<tbody>
370
381
<tr>
371
 
<td>
372
 
<span class="term"><em class="parameter"><code>matrix</code></em>&#160;:</span></td>
 
382
<td><span class="term"><em class="parameter"><code>matrix</code></em>&#160;:</span></td>
373
383
<td> The matrix that is to be sheared.
374
384
</td>
375
385
</tr>
376
386
<tr>
377
 
<td>
378
 
<span class="term"><em class="parameter"><code>amount</code></em>&#160;:</span></td>
 
387
<td><span class="term"><em class="parameter"><code>amount</code></em>&#160;:</span></td>
379
388
<td> Y shear amount.
380
389
</td>
381
390
</tr>
384
393
</div>
385
394
<hr>
386
395
<div class="refsect2" lang="en">
387
 
<a name="id2558777"></a><h3>
 
396
<a name="id2600459"></a><h3>
388
397
<a name="gimp-matrix3-affine"></a>gimp_matrix3_affine ()</h3>
389
 
<a class="indexterm" name="id2558787"></a><pre class="programlisting">void        gimp_matrix3_affine             (<a href="libgimpmath-GimpMatrix.html#GimpMatrix3">GimpMatrix3</a> *matrix,
390
 
                                             gdouble a,
391
 
                                             gdouble b,
392
 
                                             gdouble c,
393
 
                                             gdouble d,
394
 
                                             gdouble e,
395
 
                                             gdouble f);</pre>
 
398
<a class="indexterm" name="id2600471"></a><pre class="programlisting">void                gimp_matrix3_affine                 (<a href="libgimpmath-GimpMatrix.html#GimpMatrix3">GimpMatrix3</a> *matrix,
 
399
                                                         gdouble a,
 
400
                                                         gdouble b,
 
401
                                                         gdouble c,
 
402
                                                         gdouble d,
 
403
                                                         gdouble e,
 
404
                                                         gdouble f);</pre>
396
405
<p>
397
406
Applies the affine transformation given by six values to <em class="parameter"><code>matrix</code></em>.
398
407
The six values form define an affine transformation matrix as
409
418
<col align="left" valign="top">
410
419
<tbody>
411
420
<tr>
412
 
<td>
413
 
<span class="term"><em class="parameter"><code>matrix</code></em>&#160;:</span></td>
 
421
<td><span class="term"><em class="parameter"><code>matrix</code></em>&#160;:</span></td>
414
422
<td> The input matrix.
415
423
</td>
416
424
</tr>
417
425
<tr>
418
 
<td>
419
 
<span class="term"><em class="parameter"><code>a</code></em>&#160;:</span></td>
420
 
<td>
421
 
</td>
422
 
</tr>
423
 
<tr>
424
 
<td>
425
 
<span class="term"><em class="parameter"><code>b</code></em>&#160;:</span></td>
426
 
<td>
427
 
</td>
428
 
</tr>
429
 
<tr>
430
 
<td>
431
 
<span class="term"><em class="parameter"><code>c</code></em>&#160;:</span></td>
432
 
<td>
433
 
</td>
434
 
</tr>
435
 
<tr>
436
 
<td>
437
 
<span class="term"><em class="parameter"><code>d</code></em>&#160;:</span></td>
438
 
<td>
439
 
</td>
440
 
</tr>
441
 
<tr>
442
 
<td>
443
 
<span class="term"><em class="parameter"><code>e</code></em>&#160;:</span></td>
444
 
<td>
445
 
</td>
446
 
</tr>
447
 
<tr>
448
 
<td>
449
 
<span class="term"><em class="parameter"><code>f</code></em>&#160;:</span></td>
 
426
<td><span class="term"><em class="parameter"><code>a</code></em>&#160;:</span></td>
 
427
<td>
 
428
</td>
 
429
</tr>
 
430
<tr>
 
431
<td><span class="term"><em class="parameter"><code>b</code></em>&#160;:</span></td>
 
432
<td>
 
433
</td>
 
434
</tr>
 
435
<tr>
 
436
<td><span class="term"><em class="parameter"><code>c</code></em>&#160;:</span></td>
 
437
<td>
 
438
</td>
 
439
</tr>
 
440
<tr>
 
441
<td><span class="term"><em class="parameter"><code>d</code></em>&#160;:</span></td>
 
442
<td>
 
443
</td>
 
444
</tr>
 
445
<tr>
 
446
<td><span class="term"><em class="parameter"><code>e</code></em>&#160;:</span></td>
 
447
<td>
 
448
</td>
 
449
</tr>
 
450
<tr>
 
451
<td><span class="term"><em class="parameter"><code>f</code></em>&#160;:</span></td>
450
452
<td>
451
453
</td>
452
454
</tr>
455
457
</div>
456
458
<hr>
457
459
<div class="refsect2" lang="en">
458
 
<a name="id2558974"></a><h3>
 
460
<a name="id2600660"></a><h3>
459
461
<a name="gimp-matrix3-transform-point"></a>gimp_matrix3_transform_point ()</h3>
460
 
<a class="indexterm" name="id2558985"></a><pre class="programlisting">void        gimp_matrix3_transform_point    (const <a href="libgimpmath-GimpMatrix.html#GimpMatrix3">GimpMatrix3</a> *matrix,
461
 
                                             gdouble x,
462
 
                                             gdouble y,
463
 
                                             gdouble *newx,
464
 
                                             gdouble *newy);</pre>
 
462
<a class="indexterm" name="id2600673"></a><pre class="programlisting">void                gimp_matrix3_transform_point        (const <a href="libgimpmath-GimpMatrix.html#GimpMatrix3">GimpMatrix3</a> *matrix,
 
463
                                                         gdouble x,
 
464
                                                         gdouble y,
 
465
                                                         gdouble *newx,
 
466
                                                         gdouble *newy);</pre>
465
467
<p>
466
468
Transforms a point in 2D as specified by the transformation matrix.</p>
467
469
<p>
471
473
<col align="left" valign="top">
472
474
<tbody>
473
475
<tr>
474
 
<td>
475
 
<span class="term"><em class="parameter"><code>matrix</code></em>&#160;:</span></td>
 
476
<td><span class="term"><em class="parameter"><code>matrix</code></em>&#160;:</span></td>
476
477
<td> The transformation matrix.
477
478
</td>
478
479
</tr>
479
480
<tr>
480
 
<td>
481
 
<span class="term"><em class="parameter"><code>x</code></em>&#160;:</span></td>
 
481
<td><span class="term"><em class="parameter"><code>x</code></em>&#160;:</span></td>
482
482
<td> The source X coordinate.
483
483
</td>
484
484
</tr>
485
485
<tr>
486
 
<td>
487
 
<span class="term"><em class="parameter"><code>y</code></em>&#160;:</span></td>
 
486
<td><span class="term"><em class="parameter"><code>y</code></em>&#160;:</span></td>
488
487
<td> The source Y coordinate.
489
488
</td>
490
489
</tr>
491
490
<tr>
492
 
<td>
493
 
<span class="term"><em class="parameter"><code>newx</code></em>&#160;:</span></td>
 
491
<td><span class="term"><em class="parameter"><code>newx</code></em>&#160;:</span></td>
494
492
<td> The transformed X coordinate.
495
493
</td>
496
494
</tr>
497
495
<tr>
498
 
<td>
499
 
<span class="term"><em class="parameter"><code>newy</code></em>&#160;:</span></td>
 
496
<td><span class="term"><em class="parameter"><code>newy</code></em>&#160;:</span></td>
500
497
<td> The transformed Y coordinate.
501
498
</td>
502
499
</tr>
505
502
</div>
506
503
<hr>
507
504
<div class="refsect2" lang="en">
508
 
<a name="id2559121"></a><h3>
 
505
<a name="id2600810"></a><h3>
509
506
<a name="gimp-matrix3-determinant"></a>gimp_matrix3_determinant ()</h3>
510
 
<a class="indexterm" name="id2559130"></a><pre class="programlisting">gdouble     gimp_matrix3_determinant        (const <a href="libgimpmath-GimpMatrix.html#GimpMatrix3">GimpMatrix3</a> *matrix);</pre>
 
507
<a class="indexterm" name="id2600821"></a><pre class="programlisting">gdouble             gimp_matrix3_determinant            (const <a href="libgimpmath-GimpMatrix.html#GimpMatrix3">GimpMatrix3</a> *matrix);</pre>
511
508
<p>
512
509
Calculates the determinant of the given matrix.</p>
513
510
<p>
517
514
<col align="left" valign="top">
518
515
<tbody>
519
516
<tr>
520
 
<td>
521
 
<span class="term"><em class="parameter"><code>matrix</code></em>&#160;:</span></td>
 
517
<td><span class="term"><em class="parameter"><code>matrix</code></em>&#160;:</span></td>
522
518
<td> The input matrix.
523
519
</td>
524
520
</tr>
525
521
<tr>
526
 
<td>
527
 
<span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
 
522
<td><span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
528
523
<td> The determinant.
529
524
</td>
530
525
</tr>
533
528
</div>
534
529
<hr>
535
530
<div class="refsect2" lang="en">
536
 
<a name="id2559191"></a><h3>
 
531
<a name="id2600882"></a><h3>
537
532
<a name="gimp-matrix3-invert"></a>gimp_matrix3_invert ()</h3>
538
 
<a class="indexterm" name="id2559201"></a><pre class="programlisting">void        gimp_matrix3_invert             (<a href="libgimpmath-GimpMatrix.html#GimpMatrix3">GimpMatrix3</a> *matrix);</pre>
 
533
<a class="indexterm" name="id2600894"></a><pre class="programlisting">void                gimp_matrix3_invert                 (<a href="libgimpmath-GimpMatrix.html#GimpMatrix3">GimpMatrix3</a> *matrix);</pre>
539
534
<p>
540
535
Inverts the given matrix.</p>
541
536
<p>
544
539
<div class="variablelist"><table border="0">
545
540
<col align="left" valign="top">
546
541
<tbody><tr>
547
 
<td>
548
 
<span class="term"><em class="parameter"><code>matrix</code></em>&#160;:</span></td>
 
542
<td><span class="term"><em class="parameter"><code>matrix</code></em>&#160;:</span></td>
549
543
<td> The matrix that is to be inverted.
550
544
</td>
551
545
</tr></tbody>
553
547
</div>
554
548
<hr>
555
549
<div class="refsect2" lang="en">
556
 
<a name="id2559250"></a><h3>
 
550
<a name="id2600944"></a><h3>
 
551
<a name="gimp-matrix3-is-identity"></a>gimp_matrix3_is_identity ()</h3>
 
552
<a class="indexterm" name="id2600955"></a><pre class="programlisting">gboolean            gimp_matrix3_is_identity            (const <a href="libgimpmath-GimpMatrix.html#GimpMatrix3">GimpMatrix3</a> *matrix);</pre>
 
553
<p>
 
554
Checks if the given matrix is the identity matrix.</p>
 
555
<p>
 
556
 
 
557
</p>
 
558
<div class="variablelist"><table border="0">
 
559
<col align="left" valign="top">
 
560
<tbody>
 
561
<tr>
 
562
<td><span class="term"><em class="parameter"><code>matrix</code></em>&#160;:</span></td>
 
563
<td> The matrix that is to be tested.
 
564
</td>
 
565
</tr>
 
566
<tr>
 
567
<td><span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
 
568
<td> <code class="literal">TRUE</code> if the matrix is the identity matrix, <code class="literal">FALSE</code> otherwise
 
569
</td>
 
570
</tr>
 
571
</tbody>
 
572
</table></div>
 
573
</div>
 
574
<hr>
 
575
<div class="refsect2" lang="en">
 
576
<a name="id2601036"></a><h3>
557
577
<a name="gimp-matrix3-is-diagonal"></a>gimp_matrix3_is_diagonal ()</h3>
558
 
<a class="indexterm" name="id2559259"></a><pre class="programlisting">gboolean    gimp_matrix3_is_diagonal        (const <a href="libgimpmath-GimpMatrix.html#GimpMatrix3">GimpMatrix3</a> *matrix);</pre>
 
578
<a class="indexterm" name="id2601047"></a><pre class="programlisting">gboolean            gimp_matrix3_is_diagonal            (const <a href="libgimpmath-GimpMatrix.html#GimpMatrix3">GimpMatrix3</a> *matrix);</pre>
559
579
<p>
560
580
Checks if the given matrix is diagonal.</p>
561
581
<p>
565
585
<col align="left" valign="top">
566
586
<tbody>
567
587
<tr>
568
 
<td>
569
 
<span class="term"><em class="parameter"><code>matrix</code></em>&#160;:</span></td>
 
588
<td><span class="term"><em class="parameter"><code>matrix</code></em>&#160;:</span></td>
570
589
<td> The matrix that is to be tested.
571
590
</td>
572
591
</tr>
573
592
<tr>
574
 
<td>
575
 
<span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
576
 
<td> TRUE if the matrix is diagonal.
 
593
<td><span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
 
594
<td> <code class="literal">TRUE</code> if the matrix is diagonal, <code class="literal">FALSE</code> otherwise
577
595
</td>
578
596
</tr>
579
597
</tbody>
581
599
</div>
582
600
<hr>
583
601
<div class="refsect2" lang="en">
584
 
<a name="id2559320"></a><h3>
585
 
<a name="gimp-matrix3-is-identity"></a>gimp_matrix3_is_identity ()</h3>
586
 
<a class="indexterm" name="id2559329"></a><pre class="programlisting">gboolean    gimp_matrix3_is_identity        (const <a href="libgimpmath-GimpMatrix.html#GimpMatrix3">GimpMatrix3</a> *matrix);</pre>
 
602
<a name="id2601127"></a><h3>
 
603
<a name="gimp-matrix3-is-affine"></a>gimp_matrix3_is_affine ()</h3>
 
604
<a class="indexterm" name="id2601141"></a><pre class="programlisting">gboolean            gimp_matrix3_is_affine              (const <a href="libgimpmath-GimpMatrix.html#GimpMatrix3">GimpMatrix3</a> *matrix);</pre>
587
605
<p>
588
 
Checks if the given matrix is the identity matrix.</p>
 
606
Checks if the given matrix defines an affine transformation.</p>
589
607
<p>
590
608
 
591
609
</p>
593
611
<col align="left" valign="top">
594
612
<tbody>
595
613
<tr>
596
 
<td>
597
 
<span class="term"><em class="parameter"><code>matrix</code></em>&#160;:</span></td>
 
614
<td><span class="term"><em class="parameter"><code>matrix</code></em>&#160;:</span></td>
598
615
<td> The matrix that is to be tested.
599
616
</td>
600
617
</tr>
601
618
<tr>
602
 
<td>
603
 
<span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
604
 
<td> TRUE if the matrix is the identity matrix.
 
619
<td><span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
 
620
<td> <code class="literal">TRUE</code> if the matrix defines an affine transformation,
 
621
         <code class="literal">FALSE</code> otherwise
 
622
 
605
623
</td>
606
624
</tr>
607
625
</tbody>
608
626
</table></div>
 
627
<p class="since">Since  GIMP 2.4
 
628
</p>
609
629
</div>
610
630
<hr>
611
631
<div class="refsect2" lang="en">
612
 
<a name="id2526968"></a><h3>
 
632
<a name="id2601205"></a><h3>
613
633
<a name="gimp-matrix3-is-simple"></a>gimp_matrix3_is_simple ()</h3>
614
 
<a class="indexterm" name="id2526842"></a><pre class="programlisting">gboolean    gimp_matrix3_is_simple          (const <a href="libgimpmath-GimpMatrix.html#GimpMatrix3">GimpMatrix3</a> *matrix);</pre>
 
634
<a class="indexterm" name="id2601216"></a><pre class="programlisting">gboolean            gimp_matrix3_is_simple              (const <a href="libgimpmath-GimpMatrix.html#GimpMatrix3">GimpMatrix3</a> *matrix);</pre>
615
635
<p>
616
636
Checks if we'll need to interpolate when applying this matrix as
617
637
a transformation.</p>
622
642
<col align="left" valign="top">
623
643
<tbody>
624
644
<tr>
625
 
<td>
626
 
<span class="term"><em class="parameter"><code>matrix</code></em>&#160;:</span></td>
 
645
<td><span class="term"><em class="parameter"><code>matrix</code></em>&#160;:</span></td>
627
646
<td> The matrix that is to be tested.
628
647
</td>
629
648
</tr>
630
649
<tr>
631
 
<td>
632
 
<span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
633
 
<td> TRUE if all entries of the upper left 2x2 matrix are either
634
 
0 or 1
 
650
<td><span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
 
651
<td> <code class="literal">TRUE</code> if all entries of the upper left 2x2 matrix are
 
652
         either 0 or 1, <code class="literal">FALSE</code> otherwise
635
653
</td>
636
654
</tr>
637
655
</tbody>
639
657
</div>
640
658
<hr>
641
659
<div class="refsect2" lang="en">
642
 
<a name="id2559438"></a><h3>
 
660
<a name="id2601289"></a><h3>
643
661
<a name="gimp-matrix4-to-deg"></a>gimp_matrix4_to_deg ()</h3>
644
 
<a class="indexterm" name="id2559446"></a><pre class="programlisting">void        gimp_matrix4_to_deg             (const <a href="libgimpmath-GimpMatrix.html#GimpMatrix4">GimpMatrix4</a> *matrix,
645
 
                                             gdouble *a,
646
 
                                             gdouble *b,
647
 
                                             gdouble *c);</pre>
648
 
<p>
649
 
</p>
650
 
<p>
651
 
 
652
 
</p>
653
 
<div class="variablelist"><table border="0">
654
 
<col align="left" valign="top">
655
 
<tbody>
656
 
<tr>
657
 
<td>
658
 
<span class="term"><em class="parameter"><code>matrix</code></em>&#160;:</span></td>
659
 
<td>
660
 
</td>
661
 
</tr>
662
 
<tr>
663
 
<td>
664
 
<span class="term"><em class="parameter"><code>a</code></em>&#160;:</span></td>
665
 
<td>
666
 
</td>
667
 
</tr>
668
 
<tr>
669
 
<td>
670
 
<span class="term"><em class="parameter"><code>b</code></em>&#160;:</span></td>
671
 
<td>
672
 
</td>
673
 
</tr>
674
 
<tr>
675
 
<td>
676
 
<span class="term"><em class="parameter"><code>c</code></em>&#160;:</span></td>
677
 
<td>
678
 
</td>
679
 
</tr>
680
 
</tbody>
 
662
<a class="indexterm" name="id2601300"></a><pre class="programlisting">void                gimp_matrix4_to_deg                 (const <a href="libgimpmath-GimpMatrix.html#GimpMatrix4">GimpMatrix4</a> *matrix,
 
663
                                                         gdouble *a,
 
664
                                                         gdouble *b,
 
665
                                                         gdouble *c);</pre>
 
666
<p>
 
667
</p>
 
668
<p>
 
669
 
 
670
</p>
 
671
<div class="variablelist"><table border="0">
 
672
<col align="left" valign="top">
 
673
<tbody>
 
674
<tr>
 
675
<td><span class="term"><em class="parameter"><code>matrix</code></em>&#160;:</span></td>
 
676
<td>
 
677
</td>
 
678
</tr>
 
679
<tr>
 
680
<td><span class="term"><em class="parameter"><code>a</code></em>&#160;:</span></td>
 
681
<td>
 
682
</td>
 
683
</tr>
 
684
<tr>
 
685
<td><span class="term"><em class="parameter"><code>b</code></em>&#160;:</span></td>
 
686
<td>
 
687
</td>
 
688
</tr>
 
689
<tr>
 
690
<td><span class="term"><em class="parameter"><code>c</code></em>&#160;:</span></td>
 
691
<td>
 
692
</td>
 
693
</tr>
 
694
</tbody>
 
695
</table></div>
 
696
</div>
 
697
<hr>
 
698
<div class="refsect2" lang="en">
 
699
<a name="id2601401"></a><h3>
 
700
<a name="GIMP-TYPE-MATRIX2:CAPS"></a>GIMP_TYPE_MATRIX2</h3>
 
701
<a class="indexterm" name="id2601411"></a><pre class="programlisting">#define GIMP_TYPE_MATRIX2               (gimp_matrix2_get_type ())
 
702
</pre>
 
703
<p>
 
704
 
 
705
</p>
 
706
</div>
 
707
<hr>
 
708
<div class="refsect2" lang="en">
 
709
<a name="id2601426"></a><h3>
 
710
<a name="GIMP-TYPE-PARAM-MATRIX2:CAPS"></a>GIMP_TYPE_PARAM_MATRIX2</h3>
 
711
<a class="indexterm" name="id2601438"></a><pre class="programlisting">#define GIMP_TYPE_PARAM_MATRIX2            (gimp_param_matrix2_get_type ())
 
712
</pre>
 
713
<p>
 
714
 
 
715
</p>
 
716
</div>
 
717
<hr>
 
718
<div class="refsect2" lang="en">
 
719
<a name="id2601453"></a><h3>
 
720
<a name="GIMP-IS-PARAM-SPEC-MATRIX2:CAPS"></a>GIMP_IS_PARAM_SPEC_MATRIX2()</h3>
 
721
<a class="indexterm" name="id2601465"></a><pre class="programlisting">#define GIMP_IS_PARAM_SPEC_MATRIX2(pspec)  (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), GIMP_TYPE_PARAM_MATRIX2))
 
722
</pre>
 
723
<p>
 
724
 
 
725
</p>
 
726
<div class="variablelist"><table border="0">
 
727
<col align="left" valign="top">
 
728
<tbody><tr>
 
729
<td><span class="term"><em class="parameter"><code>pspec</code></em>&#160;:</span></td>
 
730
<td>
 
731
 
 
732
 
 
733
</td>
 
734
</tr></tbody>
 
735
</table></div>
 
736
</div>
 
737
<hr>
 
738
<div class="refsect2" lang="en">
 
739
<a name="id2601497"></a><h3>
 
740
<a name="gimp-param-spec-matrix2"></a>gimp_param_spec_matrix2 ()</h3>
 
741
<a class="indexterm" name="id2601510"></a><pre class="programlisting">GParamSpec*         gimp_param_spec_matrix2             (const gchar *name,
 
742
                                                         const gchar *nick,
 
743
                                                         const gchar *blurb,
 
744
                                                         const <a href="libgimpmath-GimpMatrix.html#GimpMatrix2">GimpMatrix2</a> *default_value,
 
745
                                                         GParamFlags flags);</pre>
 
746
<p>
 
747
Creates a param spec to hold a <a href="libgimpmath-GimpMatrix.html#GimpMatrix2"><span class="type">GimpMatrix2</span></a> value.
 
748
See <code class="function">g_param_spec_internal()</code> for more information.</p>
 
749
<p>
 
750
 
 
751
</p>
 
752
<div class="variablelist"><table border="0">
 
753
<col align="left" valign="top">
 
754
<tbody>
 
755
<tr>
 
756
<td><span class="term"><em class="parameter"><code>name</code></em>&#160;:</span></td>
 
757
<td>          Canonical name of the param
 
758
</td>
 
759
</tr>
 
760
<tr>
 
761
<td><span class="term"><em class="parameter"><code>nick</code></em>&#160;:</span></td>
 
762
<td>          Nickname of the param
 
763
</td>
 
764
</tr>
 
765
<tr>
 
766
<td><span class="term"><em class="parameter"><code>blurb</code></em>&#160;:</span></td>
 
767
<td>         Brief desciption of param.
 
768
</td>
 
769
</tr>
 
770
<tr>
 
771
<td><span class="term"><em class="parameter"><code>default_value</code></em>&#160;:</span></td>
 
772
<td> Value to use if none is assigned.
 
773
</td>
 
774
</tr>
 
775
<tr>
 
776
<td><span class="term"><em class="parameter"><code>flags</code></em>&#160;:</span></td>
 
777
<td>         a combination of <span class="type">GParamFlags</span>
 
778
</td>
 
779
</tr>
 
780
<tr>
 
781
<td><span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
 
782
<td> a newly allocated <span class="type">GParamSpec</span> instance
 
783
 
 
784
</td>
 
785
</tr>
 
786
</tbody>
 
787
</table></div>
 
788
<p class="since">Since  GIMP 2.4
 
789
</p>
 
790
</div>
 
791
<hr>
 
792
<div class="refsect2" lang="en">
 
793
<a name="id2601677"></a><h3>
 
794
<a name="GIMP-VALUE-HOLDS-MATRIX2:CAPS"></a>GIMP_VALUE_HOLDS_MATRIX2()</h3>
 
795
<a class="indexterm" name="id2601689"></a><pre class="programlisting">#define GIMP_VALUE_HOLDS_MATRIX2(value) (G_TYPE_CHECK_VALUE_TYPE ((value), GIMP_TYPE_MATRIX2))
 
796
</pre>
 
797
<p>
 
798
 
 
799
</p>
 
800
<div class="variablelist"><table border="0">
 
801
<col align="left" valign="top">
 
802
<tbody><tr>
 
803
<td><span class="term"><em class="parameter"><code>value</code></em>&#160;:</span></td>
 
804
<td>
 
805
 
 
806
 
 
807
</td>
 
808
</tr></tbody>
681
809
</table></div>
682
810
</div>
683
811
</div>
684
812
<div class="refsect1" lang="en">
685
 
<a name="id2559548"></a><h2>See Also</h2>
 
813
<a name="id2601723"></a><h2>See Also</h2>
686
814
<p>
687
815
<a href="libgimpmath-GimpVector.html#GimpVector2"><span class="type">GimpVector2</span></a>
688
816
</p>
694
822
</p>
695
823
</div>
696
824
</div>
697
 
<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="0"><tr valign="middle">
698
 
<td align="left"><a accesskey="p" href="libgimpmath-GimpMath.html"><b>&lt;&lt;&#160;GimpMath</b></a></td>
699
 
<td align="right"><a accesskey="n" href="libgimpmath-GimpVector.html"><b>GimpVector&#160;&gt;&gt;</b></a></td>
700
 
</tr></table>
701
825
</body>
702
826
</html>