summaryrefslogtreecommitdiffstats
path: root/devel-docs/libgimpmath/html/libgimpmath-GimpMatrix.html
diff options
context:
space:
mode:
Diffstat (limited to 'devel-docs/libgimpmath/html/libgimpmath-GimpMatrix.html')
-rw-r--r--devel-docs/libgimpmath/html/libgimpmath-GimpMatrix.html1373
1 files changed, 1373 insertions, 0 deletions
diff --git a/devel-docs/libgimpmath/html/libgimpmath-GimpMatrix.html b/devel-docs/libgimpmath/html/libgimpmath-GimpMatrix.html
new file mode 100644
index 0000000..f8dd89b
--- /dev/null
+++ b/devel-docs/libgimpmath/html/libgimpmath-GimpMatrix.html
@@ -0,0 +1,1373 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>GimpMatrix: GIMP Math Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="GIMP Math Library Reference Manual">
+<link rel="up" href="pt01.html" title="Part I. GIMP Math Library">
+<link rel="prev" href="libgimpmath-GimpMath.html" title="GimpMath">
+<link rel="next" href="libgimpmath-GimpVector.html" title="GimpVector">
+<meta name="generator" content="GTK-Doc V1.32 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#libgimpmath-GimpMatrix.description" class="shortcut">Description</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="pt01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="libgimpmath-GimpMath.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="libgimpmath-GimpVector.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="libgimpmath-GimpMatrix"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="libgimpmath-GimpMatrix.top_of_page"></a>GimpMatrix</span></h2>
+<p>GimpMatrix — Utilities to set up and manipulate 3x3
+transformation matrices.</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="libgimpmath-GimpMatrix.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_proto_type">
+<col class="functions_proto_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpMatrix.html#gimp-matrix2-identity" title="gimp_matrix2_identity ()">gimp_matrix2_identity</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpMatrix.html#gimp-matrix2-mult" title="gimp_matrix2_mult ()">gimp_matrix2_mult</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">gdouble</span>
+</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpMatrix.html#gimp-matrix2-determinant" title="gimp_matrix2_determinant ()">gimp_matrix2_determinant</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpMatrix.html#gimp-matrix2-invert" title="gimp_matrix2_invert ()">gimp_matrix2_invert</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpMatrix.html#gimp-matrix2-transform-point" title="gimp_matrix2_transform_point ()">gimp_matrix2_transform_point</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpMatrix.html#gimp-matrix3-identity" title="gimp_matrix3_identity ()">gimp_matrix3_identity</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpMatrix.html#gimp-matrix3-mult" title="gimp_matrix3_mult ()">gimp_matrix3_mult</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpMatrix.html#gimp-matrix3-translate" title="gimp_matrix3_translate ()">gimp_matrix3_translate</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpMatrix.html#gimp-matrix3-scale" title="gimp_matrix3_scale ()">gimp_matrix3_scale</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpMatrix.html#gimp-matrix3-rotate" title="gimp_matrix3_rotate ()">gimp_matrix3_rotate</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpMatrix.html#gimp-matrix3-xshear" title="gimp_matrix3_xshear ()">gimp_matrix3_xshear</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpMatrix.html#gimp-matrix3-yshear" title="gimp_matrix3_yshear ()">gimp_matrix3_yshear</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpMatrix.html#gimp-matrix3-affine" title="gimp_matrix3_affine ()">gimp_matrix3_affine</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpMatrix.html#gimp-matrix3-transform-point" title="gimp_matrix3_transform_point ()">gimp_matrix3_transform_point</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">gdouble</span>
+</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpMatrix.html#gimp-matrix3-determinant" title="gimp_matrix3_determinant ()">gimp_matrix3_determinant</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpMatrix.html#gimp-matrix3-invert" title="gimp_matrix3_invert ()">gimp_matrix3_invert</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">gboolean</span>
+</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpMatrix.html#gimp-matrix3-is-identity" title="gimp_matrix3_is_identity ()">gimp_matrix3_is_identity</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">gboolean</span>
+</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpMatrix.html#gimp-matrix3-is-diagonal" title="gimp_matrix3_is_diagonal ()">gimp_matrix3_is_diagonal</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">gboolean</span>
+</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpMatrix.html#gimp-matrix3-is-affine" title="gimp_matrix3_is_affine ()">gimp_matrix3_is_affine</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">gboolean</span>
+</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpMatrix.html#gimp-matrix3-is-simple" title="gimp_matrix3_is_simple ()">gimp_matrix3_is_simple</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">gboolean</span>
+</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpMatrix.html#gimp-matrix3-equal" title="gimp_matrix3_equal ()">gimp_matrix3_equal</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpMatrix.html#gimp-matrix4-identity" title="gimp_matrix4_identity ()">gimp_matrix4_identity</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpMatrix.html#gimp-matrix4-mult" title="gimp_matrix4_mult ()">gimp_matrix4_mult</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpMatrix.html#gimp-matrix4-to-deg" title="gimp_matrix4_to_deg ()">gimp_matrix4_to_deg</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">gdouble</span>
+</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpMatrix.html#gimp-matrix4-transform-point" title="gimp_matrix4_transform_point ()">gimp_matrix4_transform_point</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpMatrix.html#GIMP-IS-PARAM-SPEC-MATRIX2:CAPS" title="GIMP_IS_PARAM_SPEC_MATRIX2()">GIMP_IS_PARAM_SPEC_MATRIX2</a><span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">GParamSpec</span> *
+</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpMatrix.html#gimp-param-spec-matrix2" title="gimp_param_spec_matrix2 ()">gimp_param_spec_matrix2</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpMatrix.html#GIMP-VALUE-HOLDS-MATRIX2:CAPS" title="GIMP_VALUE_HOLDS_MATRIX2()">GIMP_VALUE_HOLDS_MATRIX2</a><span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpMatrix.html#GIMP-IS-PARAM-SPEC-MATRIX3:CAPS" title="GIMP_IS_PARAM_SPEC_MATRIX3()">GIMP_IS_PARAM_SPEC_MATRIX3</a><span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">GParamSpec</span> *
+</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpMatrix.html#gimp-param-spec-matrix3" title="gimp_param_spec_matrix3 ()">gimp_param_spec_matrix3</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpMatrix.html#GIMP-VALUE-HOLDS-MATRIX3:CAPS" title="GIMP_VALUE_HOLDS_MATRIX3()">GIMP_VALUE_HOLDS_MATRIX3</a><span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="libgimpmath-GimpMatrix.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="other_proto_type">
+<col class="other_proto_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="libgimpmath-GimpMatrix.html#GimpMatrix2" title="struct GimpMatrix2">GimpMatrix2</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="libgimpmath-GimpMatrix.html#GimpMatrix3" title="struct GimpMatrix3">GimpMatrix3</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="libgimpmath-GimpMatrix.html#GimpMatrix4" title="struct GimpMatrix4">GimpMatrix4</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="libgimpmath-GimpMatrix.html#GIMP-TYPE-MATRIX2:CAPS" title="GIMP_TYPE_MATRIX2">GIMP_TYPE_MATRIX2</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="libgimpmath-GimpMatrix.html#GIMP-TYPE-PARAM-MATRIX2:CAPS" title="GIMP_TYPE_PARAM_MATRIX2">GIMP_TYPE_PARAM_MATRIX2</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="libgimpmath-GimpMatrix.html#GIMP-TYPE-MATRIX3:CAPS" title="GIMP_TYPE_MATRIX3">GIMP_TYPE_MATRIX3</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="libgimpmath-GimpMatrix.html#GIMP-TYPE-PARAM-MATRIX3:CAPS" title="GIMP_TYPE_PARAM_MATRIX3">GIMP_TYPE_PARAM_MATRIX3</a></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="libgimpmath-GimpMatrix.description"></a><h2>Description</h2>
+<p>When doing image manipulation you will often need 3x3
+transformation matrices that define translation, rotation, scaling,
+shearing and arbitrary perspective transformations using a 3x3
+matrix. Here you'll find a set of utility functions to set up those
+matrices and to perform basic matrix manipulations and tests.</p>
+<p>Each matrix class has a 2 dimensional gdouble coeff member. The
+element for row r and column c of the matrix is coeffr.</p>
+</div>
+<div class="refsect1">
+<a name="libgimpmath-GimpMatrix.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="gimp-matrix2-identity"></a><h3>gimp_matrix2_identity ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gimp_matrix2_identity (<em class="parameter"><code><a class="link" href="libgimpmath-GimpMatrix.html#GimpMatrix2" title="struct GimpMatrix2"><span class="type">GimpMatrix2</span></a> *matrix</code></em>);</pre>
+<p>Sets the matrix to the identity matrix.</p>
+<div class="refsect3">
+<a name="gimp-matrix2-identity.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>matrix</p></td>
+<td class="parameter_description"><p>A matrix.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gimp-matrix2-mult"></a><h3>gimp_matrix2_mult ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gimp_matrix2_mult (<em class="parameter"><code>const <a class="link" href="libgimpmath-GimpMatrix.html#GimpMatrix2" title="struct GimpMatrix2"><span class="type">GimpMatrix2</span></a> *matrix1</code></em>,
+ <em class="parameter"><code><a class="link" href="libgimpmath-GimpMatrix.html#GimpMatrix2" title="struct GimpMatrix2"><span class="type">GimpMatrix2</span></a> *matrix2</code></em>);</pre>
+<p>Multiplies two matrices and puts the result into the second one.</p>
+<div class="refsect3">
+<a name="gimp-matrix2-mult.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>matrix1</p></td>
+<td class="parameter_description"><p>The first input matrix.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>matrix2</p></td>
+<td class="parameter_description"><p>The second input matrix which will be overwritten by the result.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gimp-matrix2-determinant"></a><h3>gimp_matrix2_determinant ()</h3>
+<pre class="programlisting"><span class="returnvalue">gdouble</span>
+gimp_matrix2_determinant (<em class="parameter"><code>const <a class="link" href="libgimpmath-GimpMatrix.html#GimpMatrix2" title="struct GimpMatrix2"><span class="type">GimpMatrix2</span></a> *matrix</code></em>);</pre>
+<p>Calculates the determinant of the given matrix.</p>
+<div class="refsect3">
+<a name="gimp-matrix2-determinant.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>matrix</p></td>
+<td class="parameter_description"><p>The input matrix.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gimp-matrix2-determinant.returns"></a><h4>Returns</h4>
+<p> The determinant.</p>
+</div>
+<p class="since">Since: 2.10.16</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gimp-matrix2-invert"></a><h3>gimp_matrix2_invert ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gimp_matrix2_invert (<em class="parameter"><code><a class="link" href="libgimpmath-GimpMatrix.html#GimpMatrix2" title="struct GimpMatrix2"><span class="type">GimpMatrix2</span></a> *matrix</code></em>);</pre>
+<p>Inverts the given matrix.</p>
+<div class="refsect3">
+<a name="gimp-matrix2-invert.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>matrix</p></td>
+<td class="parameter_description"><p>The matrix that is to be inverted.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<p class="since">Since: 2.10.16</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gimp-matrix2-transform-point"></a><h3>gimp_matrix2_transform_point ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gimp_matrix2_transform_point (<em class="parameter"><code>const <a class="link" href="libgimpmath-GimpMatrix.html#GimpMatrix2" title="struct GimpMatrix2"><span class="type">GimpMatrix2</span></a> *matrix</code></em>,
+ <em class="parameter"><code><span class="type">gdouble</span> x</code></em>,
+ <em class="parameter"><code><span class="type">gdouble</span> y</code></em>,
+ <em class="parameter"><code><span class="type">gdouble</span> *newx</code></em>,
+ <em class="parameter"><code><span class="type">gdouble</span> *newy</code></em>);</pre>
+<p>Transforms a point in 2D as specified by the transformation matrix.</p>
+<div class="refsect3">
+<a name="gimp-matrix2-transform-point.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>matrix</p></td>
+<td class="parameter_description"><p>The transformation matrix.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>x</p></td>
+<td class="parameter_description"><p>The source X coordinate.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>y</p></td>
+<td class="parameter_description"><p>The source Y coordinate.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>newx</p></td>
+<td class="parameter_description"><p>The transformed X coordinate.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>newy</p></td>
+<td class="parameter_description"><p>The transformed Y coordinate.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<p class="since">Since: 2.10.16</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gimp-matrix3-identity"></a><h3>gimp_matrix3_identity ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gimp_matrix3_identity (<em class="parameter"><code><a class="link" href="libgimpmath-GimpMatrix.html#GimpMatrix3" title="struct GimpMatrix3"><span class="type">GimpMatrix3</span></a> *matrix</code></em>);</pre>
+<p>Sets the matrix to the identity matrix.</p>
+<div class="refsect3">
+<a name="gimp-matrix3-identity.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>matrix</p></td>
+<td class="parameter_description"><p>A matrix.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gimp-matrix3-mult"></a><h3>gimp_matrix3_mult ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gimp_matrix3_mult (<em class="parameter"><code>const <a class="link" href="libgimpmath-GimpMatrix.html#GimpMatrix3" title="struct GimpMatrix3"><span class="type">GimpMatrix3</span></a> *matrix1</code></em>,
+ <em class="parameter"><code><a class="link" href="libgimpmath-GimpMatrix.html#GimpMatrix3" title="struct GimpMatrix3"><span class="type">GimpMatrix3</span></a> *matrix2</code></em>);</pre>
+<p>Multiplies two matrices and puts the result into the second one.</p>
+<div class="refsect3">
+<a name="gimp-matrix3-mult.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>matrix1</p></td>
+<td class="parameter_description"><p>The first input matrix.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>matrix2</p></td>
+<td class="parameter_description"><p>The second input matrix which will be overwritten by the result.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gimp-matrix3-translate"></a><h3>gimp_matrix3_translate ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gimp_matrix3_translate (<em class="parameter"><code><a class="link" href="libgimpmath-GimpMatrix.html#GimpMatrix3" title="struct GimpMatrix3"><span class="type">GimpMatrix3</span></a> *matrix</code></em>,
+ <em class="parameter"><code><span class="type">gdouble</span> x</code></em>,
+ <em class="parameter"><code><span class="type">gdouble</span> y</code></em>);</pre>
+<p>Translates the matrix by x and y.</p>
+<div class="refsect3">
+<a name="gimp-matrix3-translate.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>matrix</p></td>
+<td class="parameter_description"><p>The matrix that is to be translated.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>x</p></td>
+<td class="parameter_description"><p>Translation in X direction.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>y</p></td>
+<td class="parameter_description"><p>Translation in Y direction.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gimp-matrix3-scale"></a><h3>gimp_matrix3_scale ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gimp_matrix3_scale (<em class="parameter"><code><a class="link" href="libgimpmath-GimpMatrix.html#GimpMatrix3" title="struct GimpMatrix3"><span class="type">GimpMatrix3</span></a> *matrix</code></em>,
+ <em class="parameter"><code><span class="type">gdouble</span> x</code></em>,
+ <em class="parameter"><code><span class="type">gdouble</span> y</code></em>);</pre>
+<p>Scales the matrix by x and y</p>
+<div class="refsect3">
+<a name="gimp-matrix3-scale.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>matrix</p></td>
+<td class="parameter_description"><p>The matrix that is to be scaled.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>x</p></td>
+<td class="parameter_description"><p>X scale factor.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>y</p></td>
+<td class="parameter_description"><p>Y scale factor.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gimp-matrix3-rotate"></a><h3>gimp_matrix3_rotate ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gimp_matrix3_rotate (<em class="parameter"><code><a class="link" href="libgimpmath-GimpMatrix.html#GimpMatrix3" title="struct GimpMatrix3"><span class="type">GimpMatrix3</span></a> *matrix</code></em>,
+ <em class="parameter"><code><span class="type">gdouble</span> theta</code></em>);</pre>
+<p>Rotates the matrix by theta degrees.</p>
+<div class="refsect3">
+<a name="gimp-matrix3-rotate.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>matrix</p></td>
+<td class="parameter_description"><p>The matrix that is to be rotated.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>theta</p></td>
+<td class="parameter_description"><p>The angle of rotation (in radians).</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gimp-matrix3-xshear"></a><h3>gimp_matrix3_xshear ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gimp_matrix3_xshear (<em class="parameter"><code><a class="link" href="libgimpmath-GimpMatrix.html#GimpMatrix3" title="struct GimpMatrix3"><span class="type">GimpMatrix3</span></a> *matrix</code></em>,
+ <em class="parameter"><code><span class="type">gdouble</span> amount</code></em>);</pre>
+<p>Shears the matrix in the X direction.</p>
+<div class="refsect3">
+<a name="gimp-matrix3-xshear.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>matrix</p></td>
+<td class="parameter_description"><p>The matrix that is to be sheared.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>amount</p></td>
+<td class="parameter_description"><p>X shear amount.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gimp-matrix3-yshear"></a><h3>gimp_matrix3_yshear ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gimp_matrix3_yshear (<em class="parameter"><code><a class="link" href="libgimpmath-GimpMatrix.html#GimpMatrix3" title="struct GimpMatrix3"><span class="type">GimpMatrix3</span></a> *matrix</code></em>,
+ <em class="parameter"><code><span class="type">gdouble</span> amount</code></em>);</pre>
+<p>Shears the matrix in the Y direction.</p>
+<div class="refsect3">
+<a name="gimp-matrix3-yshear.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>matrix</p></td>
+<td class="parameter_description"><p>The matrix that is to be sheared.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>amount</p></td>
+<td class="parameter_description"><p>Y shear amount.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gimp-matrix3-affine"></a><h3>gimp_matrix3_affine ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gimp_matrix3_affine (<em class="parameter"><code><a class="link" href="libgimpmath-GimpMatrix.html#GimpMatrix3" title="struct GimpMatrix3"><span class="type">GimpMatrix3</span></a> *matrix</code></em>,
+ <em class="parameter"><code><span class="type">gdouble</span> a</code></em>,
+ <em class="parameter"><code><span class="type">gdouble</span> b</code></em>,
+ <em class="parameter"><code><span class="type">gdouble</span> c</code></em>,
+ <em class="parameter"><code><span class="type">gdouble</span> d</code></em>,
+ <em class="parameter"><code><span class="type">gdouble</span> e</code></em>,
+ <em class="parameter"><code><span class="type">gdouble</span> f</code></em>);</pre>
+<p>Applies the affine transformation given by six values to <em class="parameter"><code>matrix</code></em>
+.
+The six values form define an affine transformation matrix as
+illustrated below:</p>
+<p> ( a c e )
+ ( b d f )
+ ( 0 0 1 )</p>
+<div class="refsect3">
+<a name="gimp-matrix3-affine.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>matrix</p></td>
+<td class="parameter_description"><p>The input matrix.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>a</p></td>
+<td class="parameter_description"><p>the 'a' coefficient</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>b</p></td>
+<td class="parameter_description"><p>the 'b' coefficient</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>c</p></td>
+<td class="parameter_description"><p>the 'c' coefficient</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>d</p></td>
+<td class="parameter_description"><p>the 'd' coefficient</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>e</p></td>
+<td class="parameter_description"><p>the 'e' coefficient</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>f</p></td>
+<td class="parameter_description"><p>the 'f' coefficient</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gimp-matrix3-transform-point"></a><h3>gimp_matrix3_transform_point ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gimp_matrix3_transform_point (<em class="parameter"><code>const <a class="link" href="libgimpmath-GimpMatrix.html#GimpMatrix3" title="struct GimpMatrix3"><span class="type">GimpMatrix3</span></a> *matrix</code></em>,
+ <em class="parameter"><code><span class="type">gdouble</span> x</code></em>,
+ <em class="parameter"><code><span class="type">gdouble</span> y</code></em>,
+ <em class="parameter"><code><span class="type">gdouble</span> *newx</code></em>,
+ <em class="parameter"><code><span class="type">gdouble</span> *newy</code></em>);</pre>
+<p>Transforms a point in 2D as specified by the transformation matrix.</p>
+<div class="refsect3">
+<a name="gimp-matrix3-transform-point.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>matrix</p></td>
+<td class="parameter_description"><p>The transformation matrix.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>x</p></td>
+<td class="parameter_description"><p>The source X coordinate.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>y</p></td>
+<td class="parameter_description"><p>The source Y coordinate.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>newx</p></td>
+<td class="parameter_description"><p>The transformed X coordinate.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>newy</p></td>
+<td class="parameter_description"><p>The transformed Y coordinate.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gimp-matrix3-determinant"></a><h3>gimp_matrix3_determinant ()</h3>
+<pre class="programlisting"><span class="returnvalue">gdouble</span>
+gimp_matrix3_determinant (<em class="parameter"><code>const <a class="link" href="libgimpmath-GimpMatrix.html#GimpMatrix3" title="struct GimpMatrix3"><span class="type">GimpMatrix3</span></a> *matrix</code></em>);</pre>
+<p>Calculates the determinant of the given matrix.</p>
+<div class="refsect3">
+<a name="gimp-matrix3-determinant.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>matrix</p></td>
+<td class="parameter_description"><p>The input matrix.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gimp-matrix3-determinant.returns"></a><h4>Returns</h4>
+<p> The determinant.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gimp-matrix3-invert"></a><h3>gimp_matrix3_invert ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gimp_matrix3_invert (<em class="parameter"><code><a class="link" href="libgimpmath-GimpMatrix.html#GimpMatrix3" title="struct GimpMatrix3"><span class="type">GimpMatrix3</span></a> *matrix</code></em>);</pre>
+<p>Inverts the given matrix.</p>
+<div class="refsect3">
+<a name="gimp-matrix3-invert.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>matrix</p></td>
+<td class="parameter_description"><p>The matrix that is to be inverted.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gimp-matrix3-is-identity"></a><h3>gimp_matrix3_is_identity ()</h3>
+<pre class="programlisting"><span class="returnvalue">gboolean</span>
+gimp_matrix3_is_identity (<em class="parameter"><code>const <a class="link" href="libgimpmath-GimpMatrix.html#GimpMatrix3" title="struct GimpMatrix3"><span class="type">GimpMatrix3</span></a> *matrix</code></em>);</pre>
+<p>Checks if the given matrix is the identity matrix.</p>
+<div class="refsect3">
+<a name="gimp-matrix3-is-identity.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>matrix</p></td>
+<td class="parameter_description"><p>The matrix that is to be tested.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gimp-matrix3-is-identity.returns"></a><h4>Returns</h4>
+<p> <code class="literal">TRUE</code> if the matrix is the identity matrix, <code class="literal">FALSE</code> otherwise</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gimp-matrix3-is-diagonal"></a><h3>gimp_matrix3_is_diagonal ()</h3>
+<pre class="programlisting"><span class="returnvalue">gboolean</span>
+gimp_matrix3_is_diagonal (<em class="parameter"><code>const <a class="link" href="libgimpmath-GimpMatrix.html#GimpMatrix3" title="struct GimpMatrix3"><span class="type">GimpMatrix3</span></a> *matrix</code></em>);</pre>
+<p>Checks if the given matrix is diagonal.</p>
+<div class="refsect3">
+<a name="gimp-matrix3-is-diagonal.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>matrix</p></td>
+<td class="parameter_description"><p>The matrix that is to be tested.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gimp-matrix3-is-diagonal.returns"></a><h4>Returns</h4>
+<p> <code class="literal">TRUE</code> if the matrix is diagonal, <code class="literal">FALSE</code> otherwise</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gimp-matrix3-is-affine"></a><h3>gimp_matrix3_is_affine ()</h3>
+<pre class="programlisting"><span class="returnvalue">gboolean</span>
+gimp_matrix3_is_affine (<em class="parameter"><code>const <a class="link" href="libgimpmath-GimpMatrix.html#GimpMatrix3" title="struct GimpMatrix3"><span class="type">GimpMatrix3</span></a> *matrix</code></em>);</pre>
+<p>Checks if the given matrix defines an affine transformation.</p>
+<div class="refsect3">
+<a name="gimp-matrix3-is-affine.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>matrix</p></td>
+<td class="parameter_description"><p>The matrix that is to be tested.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gimp-matrix3-is-affine.returns"></a><h4>Returns</h4>
+<p> <code class="literal">TRUE</code> if the matrix defines an affine transformation,
+<code class="literal">FALSE</code> otherwise</p>
+</div>
+<p class="since">Since: <a class="link" href="api-index-2-4.html#api-index-2.4">2.4</a></p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gimp-matrix3-is-simple"></a><h3>gimp_matrix3_is_simple ()</h3>
+<pre class="programlisting"><span class="returnvalue">gboolean</span>
+gimp_matrix3_is_simple (<em class="parameter"><code>const <a class="link" href="libgimpmath-GimpMatrix.html#GimpMatrix3" title="struct GimpMatrix3"><span class="type">GimpMatrix3</span></a> *matrix</code></em>);</pre>
+<p>Checks if we'll need to interpolate when applying this matrix as
+a transformation.</p>
+<div class="refsect3">
+<a name="gimp-matrix3-is-simple.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>matrix</p></td>
+<td class="parameter_description"><p>The matrix that is to be tested.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gimp-matrix3-is-simple.returns"></a><h4>Returns</h4>
+<p> <code class="literal">TRUE</code> if all entries of the upper left 2x2 matrix are
+either 0 or 1, <code class="literal">FALSE</code> otherwise</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gimp-matrix3-equal"></a><h3>gimp_matrix3_equal ()</h3>
+<pre class="programlisting"><span class="returnvalue">gboolean</span>
+gimp_matrix3_equal (<em class="parameter"><code>const <a class="link" href="libgimpmath-GimpMatrix.html#GimpMatrix3" title="struct GimpMatrix3"><span class="type">GimpMatrix3</span></a> *matrix1</code></em>,
+ <em class="parameter"><code>const <a class="link" href="libgimpmath-GimpMatrix.html#GimpMatrix3" title="struct GimpMatrix3"><span class="type">GimpMatrix3</span></a> *matrix2</code></em>);</pre>
+<p>Checks if two matrices are equal.</p>
+<div class="refsect3">
+<a name="gimp-matrix3-equal.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>matrix1</p></td>
+<td class="parameter_description"><p>The first matrix</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>matrix2</p></td>
+<td class="parameter_description"><p>The second matrix</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gimp-matrix3-equal.returns"></a><h4>Returns</h4>
+<p> <code class="literal">TRUE</code> the matrices are equal, <code class="literal">FALSE</code> otherwise</p>
+</div>
+<p class="since">Since: 2.10.16</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gimp-matrix4-identity"></a><h3>gimp_matrix4_identity ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gimp_matrix4_identity (<em class="parameter"><code><a class="link" href="libgimpmath-GimpMatrix.html#GimpMatrix4" title="struct GimpMatrix4"><span class="type">GimpMatrix4</span></a> *matrix</code></em>);</pre>
+<p>Sets the matrix to the identity matrix.</p>
+<div class="refsect3">
+<a name="gimp-matrix4-identity.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>matrix</p></td>
+<td class="parameter_description"><p>A matrix.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<p class="since">Since: 2.10.16</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gimp-matrix4-mult"></a><h3>gimp_matrix4_mult ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gimp_matrix4_mult (<em class="parameter"><code>const <a class="link" href="libgimpmath-GimpMatrix.html#GimpMatrix4" title="struct GimpMatrix4"><span class="type">GimpMatrix4</span></a> *matrix1</code></em>,
+ <em class="parameter"><code><a class="link" href="libgimpmath-GimpMatrix.html#GimpMatrix4" title="struct GimpMatrix4"><span class="type">GimpMatrix4</span></a> *matrix2</code></em>);</pre>
+<p>Multiplies two matrices and puts the result into the second one.</p>
+<div class="refsect3">
+<a name="gimp-matrix4-mult.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>matrix1</p></td>
+<td class="parameter_description"><p>The first input matrix.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>matrix2</p></td>
+<td class="parameter_description"><p>The second input matrix which will be overwritten by the result.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<p class="since">Since: 2.10.16</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gimp-matrix4-to-deg"></a><h3>gimp_matrix4_to_deg ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gimp_matrix4_to_deg (<em class="parameter"><code>const <a class="link" href="libgimpmath-GimpMatrix.html#GimpMatrix4" title="struct GimpMatrix4"><span class="type">GimpMatrix4</span></a> *matrix</code></em>,
+ <em class="parameter"><code><span class="type">gdouble</span> *a</code></em>,
+ <em class="parameter"><code><span class="type">gdouble</span> *b</code></em>,
+ <em class="parameter"><code><span class="type">gdouble</span> *c</code></em>);</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gimp-matrix4-transform-point"></a><h3>gimp_matrix4_transform_point ()</h3>
+<pre class="programlisting"><span class="returnvalue">gdouble</span>
+gimp_matrix4_transform_point (<em class="parameter"><code>const <a class="link" href="libgimpmath-GimpMatrix.html#GimpMatrix4" title="struct GimpMatrix4"><span class="type">GimpMatrix4</span></a> *matrix</code></em>,
+ <em class="parameter"><code><span class="type">gdouble</span> x</code></em>,
+ <em class="parameter"><code><span class="type">gdouble</span> y</code></em>,
+ <em class="parameter"><code><span class="type">gdouble</span> z</code></em>,
+ <em class="parameter"><code><span class="type">gdouble</span> *newx</code></em>,
+ <em class="parameter"><code><span class="type">gdouble</span> *newy</code></em>,
+ <em class="parameter"><code><span class="type">gdouble</span> *newz</code></em>);</pre>
+<p>Transforms a point in 3D as specified by the transformation matrix.</p>
+<div class="refsect3">
+<a name="gimp-matrix4-transform-point.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>matrix</p></td>
+<td class="parameter_description"><p>The transformation matrix.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>x</p></td>
+<td class="parameter_description"><p>The source X coordinate.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>y</p></td>
+<td class="parameter_description"><p>The source Y coordinate.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>z</p></td>
+<td class="parameter_description"><p>The source Z coordinate.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>newx</p></td>
+<td class="parameter_description"><p>The transformed X coordinate.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>newy</p></td>
+<td class="parameter_description"><p>The transformed Y coordinate.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>newz</p></td>
+<td class="parameter_description"><p>The transformed Z coordinate.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gimp-matrix4-transform-point.returns"></a><h4>Returns</h4>
+<p> The transformed W coordinate.</p>
+</div>
+<p class="since">Since: 2.10.16</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GIMP-IS-PARAM-SPEC-MATRIX2:CAPS"></a><h3>GIMP_IS_PARAM_SPEC_MATRIX2()</h3>
+<pre class="programlisting">#define GIMP_IS_PARAM_SPEC_MATRIX2(pspec) (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), GIMP_TYPE_PARAM_MATRIX2))
+</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gimp-param-spec-matrix2"></a><h3>gimp_param_spec_matrix2 ()</h3>
+<pre class="programlisting"><span class="returnvalue">GParamSpec</span> *
+gimp_param_spec_matrix2 (<em class="parameter"><code>const <span class="type">gchar</span> *name</code></em>,
+ <em class="parameter"><code>const <span class="type">gchar</span> *nick</code></em>,
+ <em class="parameter"><code>const <span class="type">gchar</span> *blurb</code></em>,
+ <em class="parameter"><code>const <a class="link" href="libgimpmath-GimpMatrix.html#GimpMatrix2" title="struct GimpMatrix2"><span class="type">GimpMatrix2</span></a> *default_value</code></em>,
+ <em class="parameter"><code><span class="type">GParamFlags</span> flags</code></em>);</pre>
+<p>Creates a param spec to hold a <a class="link" href="libgimpmath-GimpMatrix.html#GimpMatrix2" title="struct GimpMatrix2"><span class="type">GimpMatrix2</span></a> value.
+See <code class="function">g_param_spec_internal()</code> for more information.</p>
+<div class="refsect3">
+<a name="gimp-param-spec-matrix2.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>Canonical name of the param</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>nick</p></td>
+<td class="parameter_description"><p>Nickname of the param</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>blurb</p></td>
+<td class="parameter_description"><p>Brief description of param.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>default_value</p></td>
+<td class="parameter_description"><p>Value to use if none is assigned.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>flags</p></td>
+<td class="parameter_description"><p>a combination of <span class="type">GParamFlags</span></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gimp-param-spec-matrix2.returns"></a><h4>Returns</h4>
+<p> a newly allocated <span class="type">GParamSpec</span> instance</p>
+</div>
+<p class="since">Since: <a class="link" href="api-index-2-4.html#api-index-2.4">2.4</a></p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GIMP-VALUE-HOLDS-MATRIX2:CAPS"></a><h3>GIMP_VALUE_HOLDS_MATRIX2()</h3>
+<pre class="programlisting">#define GIMP_VALUE_HOLDS_MATRIX2(value) (G_TYPE_CHECK_VALUE_TYPE ((value), GIMP_TYPE_MATRIX2))
+</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GIMP-IS-PARAM-SPEC-MATRIX3:CAPS"></a><h3>GIMP_IS_PARAM_SPEC_MATRIX3()</h3>
+<pre class="programlisting">#define GIMP_IS_PARAM_SPEC_MATRIX3(pspec) (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), GIMP_TYPE_PARAM_MATRIX3))
+</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gimp-param-spec-matrix3"></a><h3>gimp_param_spec_matrix3 ()</h3>
+<pre class="programlisting"><span class="returnvalue">GParamSpec</span> *
+gimp_param_spec_matrix3 (<em class="parameter"><code>const <span class="type">gchar</span> *name</code></em>,
+ <em class="parameter"><code>const <span class="type">gchar</span> *nick</code></em>,
+ <em class="parameter"><code>const <span class="type">gchar</span> *blurb</code></em>,
+ <em class="parameter"><code>const <a class="link" href="libgimpmath-GimpMatrix.html#GimpMatrix3" title="struct GimpMatrix3"><span class="type">GimpMatrix3</span></a> *default_value</code></em>,
+ <em class="parameter"><code><span class="type">GParamFlags</span> flags</code></em>);</pre>
+<p>Creates a param spec to hold a <a class="link" href="libgimpmath-GimpMatrix.html#GimpMatrix3" title="struct GimpMatrix3"><span class="type">GimpMatrix3</span></a> value.
+See <code class="function">g_param_spec_internal()</code> for more information.</p>
+<div class="refsect3">
+<a name="gimp-param-spec-matrix3.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>Canonical name of the param</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>nick</p></td>
+<td class="parameter_description"><p>Nickname of the param</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>blurb</p></td>
+<td class="parameter_description"><p>Brief description of param.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>default_value</p></td>
+<td class="parameter_description"><p>Value to use if none is assigned.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>flags</p></td>
+<td class="parameter_description"><p>a combination of <span class="type">GParamFlags</span></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gimp-param-spec-matrix3.returns"></a><h4>Returns</h4>
+<p> a newly allocated <span class="type">GParamSpec</span> instance</p>
+</div>
+<p class="since">Since: <a class="link" href="api-index-2-8.html#api-index-2.8">2.8</a></p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GIMP-VALUE-HOLDS-MATRIX3:CAPS"></a><h3>GIMP_VALUE_HOLDS_MATRIX3()</h3>
+<pre class="programlisting">#define GIMP_VALUE_HOLDS_MATRIX3(value) (G_TYPE_CHECK_VALUE_TYPE ((value), GIMP_TYPE_MATRIX3))
+</pre>
+</div>
+</div>
+<div class="refsect1">
+<a name="libgimpmath-GimpMatrix.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="GimpMatrix2"></a><h3>struct GimpMatrix2</h3>
+<pre class="programlisting">struct GimpMatrix2 {
+ gdouble coeff[2][2];
+};
+</pre>
+<p>A two by two matrix.</p>
+<div class="refsect3">
+<a name="GimpMatrix2.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
+</colgroup>
+<tbody><tr>
+<td class="struct_member_name"><p><span class="type">gdouble</span> <em class="structfield"><code><a name="GimpMatrix2.coeff"></a>coeff</code></em>[2][2];</p></td>
+<td class="struct_member_description"><p>the coefficients</p></td>
+<td class="struct_member_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GimpMatrix3"></a><h3>struct GimpMatrix3</h3>
+<pre class="programlisting">struct GimpMatrix3 {
+ gdouble coeff[3][3];
+};
+</pre>
+<p>A three by three matrix.</p>
+<div class="refsect3">
+<a name="GimpMatrix3.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
+</colgroup>
+<tbody><tr>
+<td class="struct_member_name"><p><span class="type">gdouble</span> <em class="structfield"><code><a name="GimpMatrix3.coeff"></a>coeff</code></em>[3][3];</p></td>
+<td class="struct_member_description"><p>the coefficients</p></td>
+<td class="struct_member_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GimpMatrix4"></a><h3>struct GimpMatrix4</h3>
+<pre class="programlisting">struct GimpMatrix4 {
+ gdouble coeff[4][4];
+};
+</pre>
+<p>A four by four matrix.</p>
+<div class="refsect3">
+<a name="GimpMatrix4.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
+</colgroup>
+<tbody><tr>
+<td class="struct_member_name"><p><span class="type">gdouble</span> <em class="structfield"><code><a name="GimpMatrix4.coeff"></a>coeff</code></em>[4][4];</p></td>
+<td class="struct_member_description"><p>the coefficients</p></td>
+<td class="struct_member_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GIMP-TYPE-MATRIX2:CAPS"></a><h3>GIMP_TYPE_MATRIX2</h3>
+<pre class="programlisting">#define GIMP_TYPE_MATRIX2 (gimp_matrix2_get_type ())
+</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GIMP-TYPE-PARAM-MATRIX2:CAPS"></a><h3>GIMP_TYPE_PARAM_MATRIX2</h3>
+<pre class="programlisting">#define GIMP_TYPE_PARAM_MATRIX2 (gimp_param_matrix2_get_type ())
+</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GIMP-TYPE-MATRIX3:CAPS"></a><h3>GIMP_TYPE_MATRIX3</h3>
+<pre class="programlisting">#define GIMP_TYPE_MATRIX3 (gimp_matrix3_get_type ())
+</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GIMP-TYPE-PARAM-MATRIX3:CAPS"></a><h3>GIMP_TYPE_PARAM_MATRIX3</h3>
+<pre class="programlisting">#define GIMP_TYPE_PARAM_MATRIX3 (gimp_param_matrix3_get_type ())
+</pre>
+</div>
+</div>
+<div class="refsect1">
+<a name="libgimpmath-GimpMatrix.see-also"></a><h2>See Also</h2>
+<p><a class="link" href="libgimpmath-GimpVector.html#GimpVector2" title="struct GimpVector2"><span class="type">GimpVector2</span></a>, <a class="link" href="libgimpmath-GimpVector.html#GimpVector3" title="struct GimpVector3"><span class="type">GimpVector3</span></a>, <a class="link" href="libgimpmath-GimpVector.html#GimpVector4" title="struct GimpVector4"><span class="type">GimpVector4</span></a></p>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.32</div>
+</body>
+</html> \ No newline at end of file