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.66.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.2 (XML mode)"><style type="text/css">
2
.synopsis, .classsynopsis {
4
border: solid 1px #aaaaaa;
9
border: solid 1px #aaaaff;
18
border: solid 1px #ffaaaa;
25
.navigation a:visited {
31
</style></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"><h2><span class="refentrytitle">gimpregioniterator</span></h2><p>gimpregioniterator — Functions to traverse a pixel regions.</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><pre class="synopsis">
35
struct <a href="libgimp-gimpregioniterator.html#GimpRgnIterator">GimpRgnIterator</a>;
36
void (<a href="libgimp-gimpregioniterator.html#GimpRgnFunc1">*GimpRgnFunc1</a>) (const <a
37
href="../glib/glib-Basic-Types.html#guchar"
40
href="../glib/glib-Basic-Types.html#gint"
43
href="../glib/glib-Basic-Types.html#gpointer"
45
void (<a href="libgimp-gimpregioniterator.html#GimpRgnFunc2">*GimpRgnFunc2</a>) (const <a
46
href="../glib/glib-Basic-Types.html#guchar"
49
href="../glib/glib-Basic-Types.html#guchar"
52
href="../glib/glib-Basic-Types.html#gint"
55
href="../glib/glib-Basic-Types.html#gpointer"
57
void (<a href="libgimp-gimpregioniterator.html#GimpRgnFuncSrc">*GimpRgnFuncSrc</a>) (<a
58
href="../glib/glib-Basic-Types.html#gint"
61
href="../glib/glib-Basic-Types.html#gint"
64
href="../glib/glib-Basic-Types.html#guchar"
67
href="../glib/glib-Basic-Types.html#gint"
70
href="../glib/glib-Basic-Types.html#gpointer"
72
void (<a href="libgimp-gimpregioniterator.html#GimpRgnFuncDest">*GimpRgnFuncDest</a>) (<a
73
href="../glib/glib-Basic-Types.html#gint"
76
href="../glib/glib-Basic-Types.html#gint"
79
href="../glib/glib-Basic-Types.html#guchar"
82
href="../glib/glib-Basic-Types.html#gint"
85
href="../glib/glib-Basic-Types.html#gpointer"
87
void (<a href="libgimp-gimpregioniterator.html#GimpRgnFuncSrcDest">*GimpRgnFuncSrcDest</a>) (<a
88
href="../glib/glib-Basic-Types.html#gint"
91
href="../glib/glib-Basic-Types.html#gint"
94
href="../glib/glib-Basic-Types.html#guchar"
97
href="../glib/glib-Basic-Types.html#guchar"
100
href="../glib/glib-Basic-Types.html#gint"
103
href="../glib/glib-Basic-Types.html#gpointer"
105
<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,
106
<a href="libgimp-gimpenums.html#GimpRunMode">GimpRunMode</a> unused);
107
void <a href="libgimp-gimpregioniterator.html#gimp-rgn-iterator-free">gimp_rgn_iterator_free</a> (<a href="libgimp-gimpregioniterator.html#GimpRgnIterator">GimpRgnIterator</a> *iter);
108
void <a href="libgimp-gimpregioniterator.html#gimp-rgn-iterator-src">gimp_rgn_iterator_src</a> (<a href="libgimp-gimpregioniterator.html#GimpRgnIterator">GimpRgnIterator</a> *iter,
109
<a href="libgimp-gimpregioniterator.html#GimpRgnFuncSrc">GimpRgnFuncSrc</a> func,
111
href="../glib/glib-Basic-Types.html#gpointer"
113
void <a href="libgimp-gimpregioniterator.html#gimp-rgn-iterator-dest">gimp_rgn_iterator_dest</a> (<a href="libgimp-gimpregioniterator.html#GimpRgnIterator">GimpRgnIterator</a> *iter,
114
<a href="libgimp-gimpregioniterator.html#GimpRgnFuncDest">GimpRgnFuncDest</a> func,
116
href="../glib/glib-Basic-Types.html#gpointer"
118
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,
119
<a href="libgimp-gimpregioniterator.html#GimpRgnFuncSrcDest">GimpRgnFuncSrcDest</a> func,
121
href="../glib/glib-Basic-Types.html#gpointer"
123
void <a href="libgimp-gimpregioniterator.html#gimp-rgn-iterate1">gimp_rgn_iterate1</a> (<a href="libgimp-gimpdrawable.html#GimpDrawable">GimpDrawable</a> *drawable,
124
<a href="libgimp-gimpenums.html#GimpRunMode">GimpRunMode</a> unused,
125
<a href="libgimp-gimpregioniterator.html#GimpRgnFunc1">GimpRgnFunc1</a> func,
127
href="../glib/glib-Basic-Types.html#gpointer"
129
void <a href="libgimp-gimpregioniterator.html#gimp-rgn-iterate2">gimp_rgn_iterate2</a> (<a href="libgimp-gimpdrawable.html#GimpDrawable">GimpDrawable</a> *drawable,
130
<a href="libgimp-gimpenums.html#GimpRunMode">GimpRunMode</a> unused,
131
<a href="libgimp-gimpregioniterator.html#GimpRgnFunc2">GimpRgnFunc2</a> func,
133
href="../glib/glib-Basic-Types.html#gpointer"
135
</pre></div><div class="refsect1" lang="en"><a name="id2632140"></a><h2>Description</h2><p>
136
The GimpRgnIterator functions provide a variety
137
of common ways to traverse a PixelRegion,
138
using a pre-defined function pointer per pixel.
139
</p></div><div class="refsect1" lang="en"><a name="id2632152"></a><h2>Details</h2><div class="refsect2" lang="en"><a name="id2632157"></a><h3><a name="GimpRgnIterator"></a>struct GimpRgnIterator</h3><a class="indexterm" name="id2632165"></a><pre class="programlisting">struct GimpRgnIterator;</pre><p>
141
</p></div><hr><div class="refsect2" lang="en"><a name="id2632175"></a><h3><a name="GimpRgnFunc1"></a>GimpRgnFunc1 ()</h3><a class="indexterm" name="id2632183"></a><pre class="programlisting">void (*GimpRgnFunc1) (const <a
142
href="../glib/glib-Basic-Types.html#guchar"
145
href="../glib/glib-Basic-Types.html#gint"
148
href="../glib/glib-Basic-Types.html#gpointer"
149
>gpointer</a> data);</pre><p>
151
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>src</tt></i>�:</span></td><td>
152
</td></tr><tr><td><span class="term"><i class="parameter"><tt>bpp</tt></i>�:</span></td><td>
153
</td></tr><tr><td><span class="term"><i class="parameter"><tt>data</tt></i>�:</span></td><td>
156
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2632252"></a><h3><a name="GimpRgnFunc2"></a>GimpRgnFunc2 ()</h3><a class="indexterm" name="id2632260"></a><pre class="programlisting">void (*GimpRgnFunc2) (const <a
157
href="../glib/glib-Basic-Types.html#guchar"
160
href="../glib/glib-Basic-Types.html#guchar"
163
href="../glib/glib-Basic-Types.html#gint"
166
href="../glib/glib-Basic-Types.html#gpointer"
167
>gpointer</a> data);</pre><p>
169
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>src</tt></i>�:</span></td><td>
170
</td></tr><tr><td><span class="term"><i class="parameter"><tt>dest</tt></i>�:</span></td><td>
171
</td></tr><tr><td><span class="term"><i class="parameter"><tt>bpp</tt></i>�:</span></td><td>
172
</td></tr><tr><td><span class="term"><i class="parameter"><tt>data</tt></i>�:</span></td><td>
175
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2622501"></a><h3><a name="GimpRgnFuncSrc"></a>GimpRgnFuncSrc ()</h3><a class="indexterm" name="id2622510"></a><pre class="programlisting">void (*GimpRgnFuncSrc) (<a
176
href="../glib/glib-Basic-Types.html#gint"
179
href="../glib/glib-Basic-Types.html#gint"
182
href="../glib/glib-Basic-Types.html#guchar"
185
href="../glib/glib-Basic-Types.html#gint"
188
href="../glib/glib-Basic-Types.html#gpointer"
189
>gpointer</a> data);</pre><p>
191
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>x</tt></i>�:</span></td><td>
192
</td></tr><tr><td><span class="term"><i class="parameter"><tt>y</tt></i>�:</span></td><td>
193
</td></tr><tr><td><span class="term"><i class="parameter"><tt>src</tt></i>�:</span></td><td>
194
</td></tr><tr><td><span class="term"><i class="parameter"><tt>bpp</tt></i>�:</span></td><td>
195
</td></tr><tr><td><span class="term"><i class="parameter"><tt>data</tt></i>�:</span></td><td>
198
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2622611"></a><h3><a name="GimpRgnFuncDest"></a>GimpRgnFuncDest ()</h3><a class="indexterm" name="id2622619"></a><pre class="programlisting">void (*GimpRgnFuncDest) (<a
199
href="../glib/glib-Basic-Types.html#gint"
202
href="../glib/glib-Basic-Types.html#gint"
205
href="../glib/glib-Basic-Types.html#guchar"
208
href="../glib/glib-Basic-Types.html#gint"
211
href="../glib/glib-Basic-Types.html#gpointer"
212
>gpointer</a> data);</pre><p>
214
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>x</tt></i>�:</span></td><td>
215
</td></tr><tr><td><span class="term"><i class="parameter"><tt>y</tt></i>�:</span></td><td>
216
</td></tr><tr><td><span class="term"><i class="parameter"><tt>dest</tt></i>�:</span></td><td>
217
</td></tr><tr><td><span class="term"><i class="parameter"><tt>bpp</tt></i>�:</span></td><td>
218
</td></tr><tr><td><span class="term"><i class="parameter"><tt>data</tt></i>�:</span></td><td>
221
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2622720"></a><h3><a name="GimpRgnFuncSrcDest"></a>GimpRgnFuncSrcDest ()</h3><a class="indexterm" name="id2622729"></a><pre class="programlisting">void (*GimpRgnFuncSrcDest) (<a
222
href="../glib/glib-Basic-Types.html#gint"
225
href="../glib/glib-Basic-Types.html#gint"
228
href="../glib/glib-Basic-Types.html#guchar"
231
href="../glib/glib-Basic-Types.html#guchar"
234
href="../glib/glib-Basic-Types.html#gint"
237
href="../glib/glib-Basic-Types.html#gpointer"
238
>gpointer</a> data);</pre><p>
240
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>x</tt></i>�:</span></td><td>
241
</td></tr><tr><td><span class="term"><i class="parameter"><tt>y</tt></i>�:</span></td><td>
242
</td></tr><tr><td><span class="term"><i class="parameter"><tt>src</tt></i>�:</span></td><td>
243
</td></tr><tr><td><span class="term"><i class="parameter"><tt>dest</tt></i>�:</span></td><td>
244
</td></tr><tr><td><span class="term"><i class="parameter"><tt>bpp</tt></i>�:</span></td><td>
245
</td></tr><tr><td><span class="term"><i class="parameter"><tt>data</tt></i>�:</span></td><td>
248
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2636453"></a><h3><a name="gimp-rgn-iterator-new"></a>gimp_rgn_iterator_new ()</h3><a class="indexterm" name="id2636462"></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,
249
<a href="libgimp-gimpenums.html#GimpRunMode">GimpRunMode</a> unused);</pre><p>
250
Creates a new <a href="libgimp-gimpregioniterator.html#GimpRgnIterator"><span class="type">GimpRgnIterator</span></a> for <i class="parameter"><tt>drawable</tt></i>. The <a href="libgimp-gimpenums.html#GimpRunMode"><span class="type">GimpRunMode</span></a>
251
parameter is ignored.</p><p>
253
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>drawable</tt></i>�:</span></td><td> a <a href="libgimp-gimpdrawable.html#GimpDrawable"><span class="type">GimpDrawable</span></a>
254
</td></tr><tr><td><span class="term"><i class="parameter"><tt>unused</tt></i>�:</span></td><td> ignored
255
</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>.
256
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2617162"></a><h3><a name="gimp-rgn-iterator-free"></a>gimp_rgn_iterator_free ()</h3><a class="indexterm" name="id2636526"></a><pre class="programlisting">void gimp_rgn_iterator_free (<a href="libgimp-gimpregioniterator.html#GimpRgnIterator">GimpRgnIterator</a> *iter);</pre><p>
257
Frees the resources allocated for <i class="parameter"><tt>iter</tt></i>.</p><p>
259
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>iter</tt></i>�:</span></td><td> a <a href="libgimp-gimpregioniterator.html#GimpRgnIterator"><span class="type">GimpRgnIterator</span></a>
260
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2636568"></a><h3><a name="gimp-rgn-iterator-src"></a>gimp_rgn_iterator_src ()</h3><a class="indexterm" name="id2636576"></a><pre class="programlisting">void gimp_rgn_iterator_src (<a href="libgimp-gimpregioniterator.html#GimpRgnIterator">GimpRgnIterator</a> *iter,
261
<a href="libgimp-gimpregioniterator.html#GimpRgnFuncSrc">GimpRgnFuncSrc</a> func,
263
href="../glib/glib-Basic-Types.html#gpointer"
264
>gpointer</a> data);</pre><p>
266
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>iter</tt></i>�:</span></td><td>
267
</td></tr><tr><td><span class="term"><i class="parameter"><tt>func</tt></i>�:</span></td><td>
268
</td></tr><tr><td><span class="term"><i class="parameter"><tt>data</tt></i>�:</span></td><td>
271
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2636639"></a><h3><a name="gimp-rgn-iterator-dest"></a>gimp_rgn_iterator_dest ()</h3><a class="indexterm" name="id2636646"></a><pre class="programlisting">void gimp_rgn_iterator_dest (<a href="libgimp-gimpregioniterator.html#GimpRgnIterator">GimpRgnIterator</a> *iter,
272
<a href="libgimp-gimpregioniterator.html#GimpRgnFuncDest">GimpRgnFuncDest</a> func,
274
href="../glib/glib-Basic-Types.html#gpointer"
275
>gpointer</a> data);</pre><p>
277
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>iter</tt></i>�:</span></td><td>
278
</td></tr><tr><td><span class="term"><i class="parameter"><tt>func</tt></i>�:</span></td><td>
279
</td></tr><tr><td><span class="term"><i class="parameter"><tt>data</tt></i>�:</span></td><td>
282
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2636709"></a><h3><a name="gimp-rgn-iterator-src-dest"></a>gimp_rgn_iterator_src_dest ()</h3><a class="indexterm" name="id2636717"></a><pre class="programlisting">void gimp_rgn_iterator_src_dest (<a href="libgimp-gimpregioniterator.html#GimpRgnIterator">GimpRgnIterator</a> *iter,
283
<a href="libgimp-gimpregioniterator.html#GimpRgnFuncSrcDest">GimpRgnFuncSrcDest</a> func,
285
href="../glib/glib-Basic-Types.html#gpointer"
286
>gpointer</a> data);</pre><p>
288
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>iter</tt></i>�:</span></td><td>
289
</td></tr><tr><td><span class="term"><i class="parameter"><tt>func</tt></i>�:</span></td><td>
290
</td></tr><tr><td><span class="term"><i class="parameter"><tt>data</tt></i>�:</span></td><td>
293
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2636780"></a><h3><a name="gimp-rgn-iterate1"></a>gimp_rgn_iterate1 ()</h3><a class="indexterm" name="id2636787"></a><pre class="programlisting">void gimp_rgn_iterate1 (<a href="libgimp-gimpdrawable.html#GimpDrawable">GimpDrawable</a> *drawable,
294
<a href="libgimp-gimpenums.html#GimpRunMode">GimpRunMode</a> unused,
295
<a href="libgimp-gimpregioniterator.html#GimpRgnFunc1">GimpRgnFunc1</a> func,
297
href="../glib/glib-Basic-Types.html#gpointer"
298
>gpointer</a> data);</pre><p>
300
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>drawable</tt></i>�:</span></td><td>
301
</td></tr><tr><td><span class="term"><i class="parameter"><tt>unused</tt></i>�:</span></td><td>
302
</td></tr><tr><td><span class="term"><i class="parameter"><tt>func</tt></i>�:</span></td><td>
303
</td></tr><tr><td><span class="term"><i class="parameter"><tt>data</tt></i>�:</span></td><td>
306
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2636867"></a><h3><a name="gimp-rgn-iterate2"></a>gimp_rgn_iterate2 ()</h3><a class="indexterm" name="id2636875"></a><pre class="programlisting">void gimp_rgn_iterate2 (<a href="libgimp-gimpdrawable.html#GimpDrawable">GimpDrawable</a> *drawable,
307
<a href="libgimp-gimpenums.html#GimpRunMode">GimpRunMode</a> unused,
308
<a href="libgimp-gimpregioniterator.html#GimpRgnFunc2">GimpRgnFunc2</a> func,
310
href="../glib/glib-Basic-Types.html#gpointer"
311
>gpointer</a> data);</pre><p>
313
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>drawable</tt></i>�:</span></td><td>
314
</td></tr><tr><td><span class="term"><i class="parameter"><tt>unused</tt></i>�:</span></td><td>
315
</td></tr><tr><td><span class="term"><i class="parameter"><tt>func</tt></i>�:</span></td><td>
316
</td></tr><tr><td><span class="term"><i class="parameter"><tt>data</tt></i>�:</span></td><td>
319
</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>