1
<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>gimpregioniterator</title><meta name="generator" content="DocBook XSL Stylesheets V1.68.1"><link rel="start" href="index.html" title="GIMP Library Reference Manual"><link rel="up" href="libgimp-image.html" title="Manupulating Images and all their Properties"><link rel="prev" href="libgimp-gimppixelrgn.html" title="gimppixelrgn"><link rel="next" href="libgimp-gimpselection.html" title="gimpselection"><meta name="generator" content="GTK-Doc V1.3 (XML mode)"><link rel="stylesheet" href="style.css" type="text/css"><link rel="part" href="gimpdefinitions.html" title="Part�I.�GIMP Constants"><link rel="part" href="libgimp.html" title="Part�II.�GIMP Library"><link rel="chapter" href="libgimp-general.html" title="Functions not Related to Specific Images"><link rel="chapter" href="libgimp-image.html" title="Manupulating Images and all their Properties"><link rel="chapter" href="libgimp-data.html" title="Data Objects"><link rel="chapter" href="libgimp-selectors.html" title="Controlling the Core's Selection Dialogs"><link rel="part" href="libgimpui.html" title="Part�III.�GIMP User Interface Library"><link rel="chapter" href="libgimpui-hierarchy.html" title="Object Hierarchy"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libgimp-gimppixelrgn.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="libgimp-image.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">GIMP Library Reference Manual</th><td><a accesskey="n" href="libgimp-gimpselection.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr></table><div class="refentry" lang="en"><a name="libgimp-gimpregioniterator"></a><div class="titlepage"></div><div class="refnamediv"><table width="100%"><tr><td valign="top"><h2><span class="refentrytitle">gimpregioniterator</span></h2><p>gimpregioniterator — Functions to traverse a pixel regions.</p></td><td valign="top" align="right"></td></tr></table></div><div class="refsynopsisdiv"><h2>Synopsis</h2><pre class="synopsis">
5
<a href="libgimp-gimpregioniterator.html#GimpRgnIterator">GimpRgnIterator</a>;
6
void (<a href="libgimp-gimpregioniterator.html#GimpRgnFunc1">*GimpRgnFunc1</a>) (const guchar *src,
9
void (<a href="libgimp-gimpregioniterator.html#GimpRgnFunc2">*GimpRgnFunc2</a>) (const guchar *src,
13
void (<a href="libgimp-gimpregioniterator.html#GimpRgnFuncSrc">*GimpRgnFuncSrc</a>) (gint x,
18
void (<a href="libgimp-gimpregioniterator.html#GimpRgnFuncDest">*GimpRgnFuncDest</a>) (gint x,
23
void (<a href="libgimp-gimpregioniterator.html#GimpRgnFuncSrcDest">*GimpRgnFuncSrcDest</a>) (gint x,
29
<a href="libgimp-gimpregioniterator.html#GimpRgnIterator">GimpRgnIterator</a>* <a href="libgimp-gimpregioniterator.html#gimp-rgn-iterator-new">gimp_rgn_iterator_new</a> (<a href="libgimp-gimpdrawable.html#GimpDrawable">GimpDrawable</a> *drawable,
30
<a href="libgimp-gimpenums.html#GimpRunMode">GimpRunMode</a> unused);
31
void <a href="libgimp-gimpregioniterator.html#gimp-rgn-iterator-free">gimp_rgn_iterator_free</a> (<a href="libgimp-gimpregioniterator.html#GimpRgnIterator">GimpRgnIterator</a> *iter);
32
void <a href="libgimp-gimpregioniterator.html#gimp-rgn-iterator-src">gimp_rgn_iterator_src</a> (<a href="libgimp-gimpregioniterator.html#GimpRgnIterator">GimpRgnIterator</a> *iter,
33
<a href="libgimp-gimpregioniterator.html#GimpRgnFuncSrc">GimpRgnFuncSrc</a> func,
35
void <a href="libgimp-gimpregioniterator.html#gimp-rgn-iterator-dest">gimp_rgn_iterator_dest</a> (<a href="libgimp-gimpregioniterator.html#GimpRgnIterator">GimpRgnIterator</a> *iter,
36
<a href="libgimp-gimpregioniterator.html#GimpRgnFuncDest">GimpRgnFuncDest</a> func,
38
void <a href="libgimp-gimpregioniterator.html#gimp-rgn-iterator-src-dest">gimp_rgn_iterator_src_dest</a> (<a href="libgimp-gimpregioniterator.html#GimpRgnIterator">GimpRgnIterator</a> *iter,
39
<a href="libgimp-gimpregioniterator.html#GimpRgnFuncSrcDest">GimpRgnFuncSrcDest</a> func,
41
void <a href="libgimp-gimpregioniterator.html#gimp-rgn-iterate1">gimp_rgn_iterate1</a> (<a href="libgimp-gimpdrawable.html#GimpDrawable">GimpDrawable</a> *drawable,
42
<a href="libgimp-gimpenums.html#GimpRunMode">GimpRunMode</a> unused,
43
<a href="libgimp-gimpregioniterator.html#GimpRgnFunc1">GimpRgnFunc1</a> func,
45
void <a href="libgimp-gimpregioniterator.html#gimp-rgn-iterate2">gimp_rgn_iterate2</a> (<a href="libgimp-gimpdrawable.html#GimpDrawable">GimpDrawable</a> *drawable,
46
<a href="libgimp-gimpenums.html#GimpRunMode">GimpRunMode</a> unused,
47
<a href="libgimp-gimpregioniterator.html#GimpRgnFunc2">GimpRgnFunc2</a> func,
49
</pre></div><div class="refsect1" lang="en"><a name="id2632405"></a><h2>Description</h2><p>
50
The GimpRgnIterator functions provide a variety
51
of common ways to traverse a PixelRegion,
52
using a pre-defined function pointer per pixel.
53
</p></div><div class="refsect1" lang="en"><a name="id2632417"></a><h2>Details</h2><div class="refsect2" lang="en"><a name="id2632423"></a><h3><a name="GimpRgnIterator"></a>GimpRgnIterator</h3><a class="indexterm" name="id2632431"></a><pre class="programlisting">typedef struct _GimpRgnIterator GimpRgnIterator;</pre><p>
55
</p></div><hr><div class="refsect2" lang="en"><a name="id2632442"></a><h3><a name="GimpRgnFunc1"></a>GimpRgnFunc1 ()</h3><a class="indexterm" name="id2632450"></a><pre class="programlisting">void (*GimpRgnFunc1) (const guchar *src,
57
gpointer data);</pre><p>
59
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><em class="parameter"><code>src</code></em>�:</span></td><td>
60
</td></tr><tr><td><span class="term"><em class="parameter"><code>bpp</code></em>�:</span></td><td>
61
</td></tr><tr><td><span class="term"><em class="parameter"><code>data</code></em>�:</span></td><td>
64
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2632518"></a><h3><a name="GimpRgnFunc2"></a>GimpRgnFunc2 ()</h3><a class="indexterm" name="id2632527"></a><pre class="programlisting">void (*GimpRgnFunc2) (const guchar *src,
67
gpointer data);</pre><p>
69
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><em class="parameter"><code>src</code></em>�:</span></td><td>
70
</td></tr><tr><td><span class="term"><em class="parameter"><code>dest</code></em>�:</span></td><td>
71
</td></tr><tr><td><span class="term"><em class="parameter"><code>bpp</code></em>�:</span></td><td>
72
</td></tr><tr><td><span class="term"><em class="parameter"><code>data</code></em>�:</span></td><td>
75
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2617430"></a><h3><a name="GimpRgnFuncSrc"></a>GimpRgnFuncSrc ()</h3><a class="indexterm" name="id2617439"></a><pre class="programlisting">void (*GimpRgnFuncSrc) (gint x,
79
gpointer data);</pre><p>
81
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><em class="parameter"><code>x</code></em>�:</span></td><td>
82
</td></tr><tr><td><span class="term"><em class="parameter"><code>y</code></em>�:</span></td><td>
83
</td></tr><tr><td><span class="term"><em class="parameter"><code>src</code></em>�:</span></td><td>
84
</td></tr><tr><td><span class="term"><em class="parameter"><code>bpp</code></em>�:</span></td><td>
85
</td></tr><tr><td><span class="term"><em class="parameter"><code>data</code></em>�:</span></td><td>
88
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2617540"></a><h3><a name="GimpRgnFuncDest"></a>GimpRgnFuncDest ()</h3><a class="indexterm" name="id2617548"></a><pre class="programlisting">void (*GimpRgnFuncDest) (gint x,
92
gpointer data);</pre><p>
94
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><em class="parameter"><code>x</code></em>�:</span></td><td>
95
</td></tr><tr><td><span class="term"><em class="parameter"><code>y</code></em>�:</span></td><td>
96
</td></tr><tr><td><span class="term"><em class="parameter"><code>dest</code></em>�:</span></td><td>
97
</td></tr><tr><td><span class="term"><em class="parameter"><code>bpp</code></em>�:</span></td><td>
98
</td></tr><tr><td><span class="term"><em class="parameter"><code>data</code></em>�:</span></td><td>
101
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2617649"></a><h3><a name="GimpRgnFuncSrcDest"></a>GimpRgnFuncSrcDest ()</h3><a class="indexterm" name="id2617658"></a><pre class="programlisting">void (*GimpRgnFuncSrcDest) (gint x,
106
gpointer data);</pre><p>
108
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><em class="parameter"><code>x</code></em>�:</span></td><td>
109
</td></tr><tr><td><span class="term"><em class="parameter"><code>y</code></em>�:</span></td><td>
110
</td></tr><tr><td><span class="term"><em class="parameter"><code>src</code></em>�:</span></td><td>
111
</td></tr><tr><td><span class="term"><em class="parameter"><code>dest</code></em>�:</span></td><td>
112
</td></tr><tr><td><span class="term"><em class="parameter"><code>bpp</code></em>�:</span></td><td>
113
</td></tr><tr><td><span class="term"><em class="parameter"><code>data</code></em>�:</span></td><td>
116
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2636245"></a><h3><a name="gimp-rgn-iterator-new"></a>gimp_rgn_iterator_new ()</h3><a class="indexterm" name="id2636253"></a><pre class="programlisting"><a href="libgimp-gimpregioniterator.html#GimpRgnIterator">GimpRgnIterator</a>* gimp_rgn_iterator_new (<a href="libgimp-gimpdrawable.html#GimpDrawable">GimpDrawable</a> *drawable,
117
<a href="libgimp-gimpenums.html#GimpRunMode">GimpRunMode</a> unused);</pre><p>
118
Creates a new <a href="libgimp-gimpregioniterator.html#GimpRgnIterator"><span class="type">GimpRgnIterator</span></a> for <em class="parameter"><code>drawable</code></em>. The <a href="libgimp-gimpenums.html#GimpRunMode"><span class="type">GimpRunMode</span></a>
119
parameter is ignored.</p><p>
121
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><em class="parameter"><code>drawable</code></em>�:</span></td><td> a <a href="libgimp-gimpdrawable.html#GimpDrawable"><span class="type">GimpDrawable</span></a>
122
</td></tr><tr><td><span class="term"><em class="parameter"><code>unused</code></em>�:</span></td><td> ignored
123
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span>�:</span></td><td> a newly allocated <a href="libgimp-gimpregioniterator.html#GimpRgnIterator"><span class="type">GimpRgnIterator</span></a>.
124
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2636345"></a><h3><a name="gimp-rgn-iterator-free"></a>gimp_rgn_iterator_free ()</h3><a class="indexterm" name="id2636353"></a><pre class="programlisting">void gimp_rgn_iterator_free (<a href="libgimp-gimpregioniterator.html#GimpRgnIterator">GimpRgnIterator</a> *iter);</pre><p>
125
Frees the resources allocated for <em class="parameter"><code>iter</code></em>.</p><p>
127
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><em class="parameter"><code>iter</code></em>�:</span></td><td> a <a href="libgimp-gimpregioniterator.html#GimpRgnIterator"><span class="type">GimpRgnIterator</span></a>
128
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2636400"></a><h3><a name="gimp-rgn-iterator-src"></a>gimp_rgn_iterator_src ()</h3><a class="indexterm" name="id2636408"></a><pre class="programlisting">void gimp_rgn_iterator_src (<a href="libgimp-gimpregioniterator.html#GimpRgnIterator">GimpRgnIterator</a> *iter,
129
<a href="libgimp-gimpregioniterator.html#GimpRgnFuncSrc">GimpRgnFuncSrc</a> func,
130
gpointer data);</pre><p>
132
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><em class="parameter"><code>iter</code></em>�:</span></td><td>
133
</td></tr><tr><td><span class="term"><em class="parameter"><code>func</code></em>�:</span></td><td>
134
</td></tr><tr><td><span class="term"><em class="parameter"><code>data</code></em>�:</span></td><td>
137
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2636476"></a><h3><a name="gimp-rgn-iterator-dest"></a>gimp_rgn_iterator_dest ()</h3><a class="indexterm" name="id2636485"></a><pre class="programlisting">void gimp_rgn_iterator_dest (<a href="libgimp-gimpregioniterator.html#GimpRgnIterator">GimpRgnIterator</a> *iter,
138
<a href="libgimp-gimpregioniterator.html#GimpRgnFuncDest">GimpRgnFuncDest</a> func,
139
gpointer data);</pre><p>
141
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><em class="parameter"><code>iter</code></em>�:</span></td><td>
142
</td></tr><tr><td><span class="term"><em class="parameter"><code>func</code></em>�:</span></td><td>
143
</td></tr><tr><td><span class="term"><em class="parameter"><code>data</code></em>�:</span></td><td>
146
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2636553"></a><h3><a name="gimp-rgn-iterator-src-dest"></a>gimp_rgn_iterator_src_dest ()</h3><a class="indexterm" name="id2636562"></a><pre class="programlisting">void gimp_rgn_iterator_src_dest (<a href="libgimp-gimpregioniterator.html#GimpRgnIterator">GimpRgnIterator</a> *iter,
147
<a href="libgimp-gimpregioniterator.html#GimpRgnFuncSrcDest">GimpRgnFuncSrcDest</a> func,
148
gpointer data);</pre><p>
150
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><em class="parameter"><code>iter</code></em>�:</span></td><td>
151
</td></tr><tr><td><span class="term"><em class="parameter"><code>func</code></em>�:</span></td><td>
152
</td></tr><tr><td><span class="term"><em class="parameter"><code>data</code></em>�:</span></td><td>
155
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2636630"></a><h3><a name="gimp-rgn-iterate1"></a>gimp_rgn_iterate1 ()</h3><a class="indexterm" name="id2636638"></a><pre class="programlisting">void gimp_rgn_iterate1 (<a href="libgimp-gimpdrawable.html#GimpDrawable">GimpDrawable</a> *drawable,
156
<a href="libgimp-gimpenums.html#GimpRunMode">GimpRunMode</a> unused,
157
<a href="libgimp-gimpregioniterator.html#GimpRgnFunc1">GimpRgnFunc1</a> func,
158
gpointer data);</pre><p>
160
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><em class="parameter"><code>drawable</code></em>�:</span></td><td>
161
</td></tr><tr><td><span class="term"><em class="parameter"><code>unused</code></em>�:</span></td><td>
162
</td></tr><tr><td><span class="term"><em class="parameter"><code>func</code></em>�:</span></td><td>
163
</td></tr><tr><td><span class="term"><em class="parameter"><code>data</code></em>�:</span></td><td>
166
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2636724"></a><h3><a name="gimp-rgn-iterate2"></a>gimp_rgn_iterate2 ()</h3><a class="indexterm" name="id2636732"></a><pre class="programlisting">void gimp_rgn_iterate2 (<a href="libgimp-gimpdrawable.html#GimpDrawable">GimpDrawable</a> *drawable,
167
<a href="libgimp-gimpenums.html#GimpRunMode">GimpRunMode</a> unused,
168
<a href="libgimp-gimpregioniterator.html#GimpRgnFunc2">GimpRgnFunc2</a> func,
169
gpointer data);</pre><p>
171
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><em class="parameter"><code>drawable</code></em>�:</span></td><td>
172
</td></tr><tr><td><span class="term"><em class="parameter"><code>unused</code></em>�:</span></td><td>
173
</td></tr><tr><td><span class="term"><em class="parameter"><code>func</code></em>�:</span></td><td>
174
</td></tr><tr><td><span class="term"><em class="parameter"><code>data</code></em>�:</span></td><td>
177
</td></tr></tbody></table></div></div></div></div><table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="0"><tr valign="middle"><td align="left"><a accesskey="p" href="libgimp-gimppixelrgn.html"><b><<�gimppixelrgn</b></a></td><td align="right"><a accesskey="n" href="libgimp-gimpselection.html"><b>gimpselection�>></b></a></td></tr></table></body></html>