<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>gimppixelrgn: GIMP Library Reference Manual</title>
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="GIMP Library Reference Manual">
<link rel="up" href="libgimp-image.html" title="Manipulating Images and their Properties">
<link rel="prev" href="libgimp-gimppixelfetcher.html" title="gimppixelfetcher">
<link rel="next" href="libgimp-gimpregioniterator.html" title="gimpregioniterator">
<meta name="generator" content="GTK-Doc V1.33.1 (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="#libgimp-gimppixelrgn.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="libgimp-image.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
<td><a accesskey="p" href="libgimp-gimppixelfetcher.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="libgimp-gimpregioniterator.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="refentry">
<a name="libgimp-gimppixelrgn"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle"><a name="libgimp-gimppixelrgn.top_of_page"></a>gimppixelrgn</span></h2>
<p>gimppixelrgn — Functions for operating on pixel regions.</p>
</td>
<td class="gallery_image" valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
<a name="libgimp-gimppixelrgn.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="libgimp-gimppixelrgn.html#gimp-pixel-rgn-init" title="gimp_pixel_rgn_init ()">gimp_pixel_rgn_init</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="libgimp-gimppixelrgn.html#gimp-pixel-rgn-resize" title="gimp_pixel_rgn_resize ()">gimp_pixel_rgn_resize</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="libgimp-gimppixelrgn.html#gimp-pixel-rgn-get-pixel" title="gimp_pixel_rgn_get_pixel ()">gimp_pixel_rgn_get_pixel</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="libgimp-gimppixelrgn.html#gimp-pixel-rgn-get-row" title="gimp_pixel_rgn_get_row ()">gimp_pixel_rgn_get_row</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="libgimp-gimppixelrgn.html#gimp-pixel-rgn-get-col" title="gimp_pixel_rgn_get_col ()">gimp_pixel_rgn_get_col</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="libgimp-gimppixelrgn.html#gimp-pixel-rgn-get-rect" title="gimp_pixel_rgn_get_rect ()">gimp_pixel_rgn_get_rect</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="libgimp-gimppixelrgn.html#gimp-pixel-rgn-set-pixel" title="gimp_pixel_rgn_set_pixel ()">gimp_pixel_rgn_set_pixel</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="libgimp-gimppixelrgn.html#gimp-pixel-rgn-set-row" title="gimp_pixel_rgn_set_row ()">gimp_pixel_rgn_set_row</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="libgimp-gimppixelrgn.html#gimp-pixel-rgn-set-col" title="gimp_pixel_rgn_set_col ()">gimp_pixel_rgn_set_col</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="libgimp-gimppixelrgn.html#gimp-pixel-rgn-set-rect" title="gimp_pixel_rgn_set_rect ()">gimp_pixel_rgn_set_rect</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gpointer</span>
</td>
<td class="function_name">
<a class="link" href="libgimp-gimppixelrgn.html#gimp-pixel-rgns-register" title="gimp_pixel_rgns_register ()">gimp_pixel_rgns_register</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gpointer</span>
</td>
<td class="function_name">
<a class="link" href="libgimp-gimppixelrgn.html#gimp-pixel-rgns-register2" title="gimp_pixel_rgns_register2 ()">gimp_pixel_rgns_register2</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gpointer</span>
</td>
<td class="function_name">
<a class="link" href="libgimp-gimppixelrgn.html#gimp-pixel-rgns-process" title="gimp_pixel_rgns_process ()">gimp_pixel_rgns_process</a> <span class="c_punctuation">()</span>
</td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="libgimp-gimppixelrgn.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"> </td>
<td class="function_name"><a class="link" href="libgimp-gimppixelrgn.html#GimpPixelRgn" title="GimpPixelRgn">GimpPixelRgn</a></td>
</tr></tbody>
</table></div>
</div>
<div class="refsect1">
<a name="libgimp-gimppixelrgn.description"></a><h2>Description</h2>
<p>Functions for operating on pixel regions. These functions provide
fast ways of accessing and modifying portions of a drawable.</p>
</div>
<div class="refsect1">
<a name="libgimp-gimppixelrgn.functions_details"></a><h2>Functions</h2>
<div class="refsect2">
<a name="gimp-pixel-rgn-init"></a><h3>gimp_pixel_rgn_init ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gimp_pixel_rgn_init (<em class="parameter"><code><a class="link" href="libgimp-gimppixelrgn.html#GimpPixelRgn" title="GimpPixelRgn"><span class="type">GimpPixelRgn</span></a> *pr</code></em>,
                     <em class="parameter"><code><a class="link" href="libgimp-gimpdrawable.html#GimpDrawable" title="GimpDrawable"><span class="type">GimpDrawable</span></a> *drawable</code></em>,
                     <em class="parameter"><code><span class="type">gint</span> x</code></em>,
                     <em class="parameter"><code><span class="type">gint</span> y</code></em>,
                     <em class="parameter"><code><span class="type">gint</span> width</code></em>,
                     <em class="parameter"><code><span class="type">gint</span> height</code></em>,
                     <em class="parameter"><code><span class="type">gint</span> dirty</code></em>,
                     <em class="parameter"><code><span class="type">gint</span> shadow</code></em>);</pre>
<div class="warning"><p><code class="literal">gimp_pixel_rgn_init</code> is deprecated and should not be used in newly-written code.</p></div>
<p>Initialize the pixel region pointed by <em class="parameter"><code>pr</code></em>
 with the specified parameters.</p>
<p>The <em class="parameter"><code>dirty</code></em>
 and <em class="parameter"><code>shadow</code></em>
 flags can be used as follows:</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem"><p><em class="parameter"><code>dirty</code></em>
 = FALSE, <em class="parameter"><code>shadow</code></em>
 = FALSE: the region will be used to read
                               the actual drawable datas.  This
                               is useful for save plug-ins or for
                               filters.</p></li>
<li class="listitem"><p><em class="parameter"><code>dirty</code></em>
 = FALSE, <em class="parameter"><code>shadow</code></em>
 = TRUE:  the region will be used to read the
                               shadow tiles.  This is used in
                               some filter plug-ins which operate
                               in two passes such as gaussian
                               blur.  The first pass reads the
                               actual drawable data and writes to
                               the shadow tiles, and the second
                               one reads from and writes to the
                               shadow tiles.</p></li>
<li class="listitem"><p><em class="parameter"><code>dirty</code></em>
 = TRUE, <em class="parameter"><code>shadow</code></em>
 = TRUE:   the region will be used to write to
                               the shadow tiles. It is common
                               practice to write to the shadow
                               tiles and then use
                               <a class="link" href="libgimp-gimpdrawable.html#gimp-drawable-merge-shadow" title="gimp_drawable_merge_shadow ()"><code class="function">gimp_drawable_merge_shadow()</code></a> to
                               merge the changes from the shadow
                               tiles using the current selection
                               as a mask.</p></li>
<li class="listitem"><p><em class="parameter"><code>dirty</code></em>
 = TRUE, <em class="parameter"><code>shadow</code></em>
 = FALSE:  the region will be used to directly
                               change the drawable content. Don't
                               do this, since this could prevent
                               the Undo-System from working as
                               expected.</p></li>
</ul></div>
<div class="refsect3">
<a name="gimp-pixel-rgn-init.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>pr</p></td>
<td class="parameter_description"><p>a pointer to a <a class="link" href="libgimp-gimppixelrgn.html#GimpPixelRgn" title="GimpPixelRgn"><span class="type">GimpPixelRgn</span></a> variable.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>drawable</p></td>
<td class="parameter_description"><p>the <a class="link" href="libgimp-gimpdrawable.html#GimpDrawable" title="GimpDrawable"><span class="type">GimpDrawable</span></a> the new region will be attached to.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>x</p></td>
<td class="parameter_description"><p>the x coordinate of the top-left pixel of the region in the
<em class="parameter"><code>drawable</code></em>
.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>y</p></td>
<td class="parameter_description"><p>the y coordinate of the top-left pixel of the region in the
<em class="parameter"><code>drawable</code></em>
.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>width</p></td>
<td class="parameter_description"><p>the width of the region.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>height</p></td>
<td class="parameter_description"><p>the height of the region.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>dirty</p></td>
<td class="parameter_description"><p>a <span class="type">gboolean</span> indicating whether the <em class="parameter"><code>drawable</code></em>
should be marked
as "dirty".</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>shadow</p></td>
<td class="parameter_description"><p>a <span class="type">gboolean</span> indicating whether the region is attached to the
shadow tiles or the real <em class="parameter"><code>drawable</code></em>
tiles.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gimp-pixel-rgn-resize"></a><h3>gimp_pixel_rgn_resize ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gimp_pixel_rgn_resize (<em class="parameter"><code><a class="link" href="libgimp-gimppixelrgn.html#GimpPixelRgn" title="GimpPixelRgn"><span class="type">GimpPixelRgn</span></a> *pr</code></em>,
                       <em class="parameter"><code><span class="type">gint</span> x</code></em>,
                       <em class="parameter"><code><span class="type">gint</span> y</code></em>,
                       <em class="parameter"><code><span class="type">gint</span> width</code></em>,
                       <em class="parameter"><code><span class="type">gint</span> height</code></em>);</pre>
<div class="warning"><p><code class="literal">gimp_pixel_rgn_resize</code> is deprecated and should not be used in newly-written code.</p></div>
<p>Change the position and size of a previously initialized pixel region.</p>
<div class="refsect3">
<a name="gimp-pixel-rgn-resize.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>pr</p></td>
<td class="parameter_description"><p>a pointer to a previously initialized <a class="link" href="libgimp-gimppixelrgn.html#GimpPixelRgn" title="GimpPixelRgn"><span class="type">GimpPixelRgn</span></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>x</p></td>
<td class="parameter_description"><p>the x coordinate of the new position of the region's
top-left corner.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>y</p></td>
<td class="parameter_description"><p>the y coordinate of the new position of the region's
top-left corner.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>width</p></td>
<td class="parameter_description"><p>the new width of the region.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>height</p></td>
<td class="parameter_description"><p>the new height of the region.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gimp-pixel-rgn-get-pixel"></a><h3>gimp_pixel_rgn_get_pixel ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gimp_pixel_rgn_get_pixel (<em class="parameter"><code><a class="link" href="libgimp-gimppixelrgn.html#GimpPixelRgn" title="GimpPixelRgn"><span class="type">GimpPixelRgn</span></a> *pr</code></em>,
                          <em class="parameter"><code><span class="type">guchar</span> *buf</code></em>,
                          <em class="parameter"><code><span class="type">gint</span> x</code></em>,
                          <em class="parameter"><code><span class="type">gint</span> y</code></em>);</pre>
<div class="warning"><p><code class="literal">gimp_pixel_rgn_get_pixel</code> is deprecated and should not be used in newly-written code.</p></div>
<p>Fill the buffer pointed by <em class="parameter"><code>buf</code></em>
 with the value of the pixel at (<em class="parameter"><code>x</code></em>
, <em class="parameter"><code>y</code></em>
)
in the region <em class="parameter"><code>pr</code></em>
. <em class="parameter"><code>buf</code></em>
 should be large enough to hold the pixel value
(1 <span class="type">guchar</span> for an indexed or grayscale drawable, 2 <span class="type">guchar</span> for
indexed with alpha or grayscale with alpha drawable, 3 <span class="type">guchar</span> for
rgb drawable and 4 <span class="type">guchar</span> for rgb with alpha drawable.</p>
<div class="refsect3">
<a name="gimp-pixel-rgn-get-pixel.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>pr</p></td>
<td class="parameter_description"><p>a pointer to a previously initialized <a class="link" href="libgimp-gimppixelrgn.html#GimpPixelRgn" title="GimpPixelRgn"><span class="type">GimpPixelRgn</span></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>buf</p></td>
<td class="parameter_description"><p>a pointer to an array of <span class="type">guchar</span></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>x</p></td>
<td class="parameter_description"><p>the x coordinate of the wanted pixel (relative to the drawable)</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>y</p></td>
<td class="parameter_description"><p>the y coordinate of the wanted pixel (relative to the drawable)</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gimp-pixel-rgn-get-row"></a><h3>gimp_pixel_rgn_get_row ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gimp_pixel_rgn_get_row (<em class="parameter"><code><a class="link" href="libgimp-gimppixelrgn.html#GimpPixelRgn" title="GimpPixelRgn"><span class="type">GimpPixelRgn</span></a> *pr</code></em>,
                        <em class="parameter"><code><span class="type">guchar</span> *buf</code></em>,
                        <em class="parameter"><code><span class="type">gint</span> x</code></em>,
                        <em class="parameter"><code><span class="type">gint</span> y</code></em>,
                        <em class="parameter"><code><span class="type">gint</span> width</code></em>);</pre>
<div class="warning"><p><code class="literal">gimp_pixel_rgn_get_row</code> is deprecated and should not be used in newly-written code.</p></div>
<p>Get several pixels of a region in a row. This function fills the buffer
<em class="parameter"><code>buf</code></em>
 with the values of the pixels from (<em class="parameter"><code>x</code></em>
, <em class="parameter"><code>y</code></em>
) to (<em class="parameter"><code>x</code></em>
+<em class="parameter"><code>width</code></em>
-1, <em class="parameter"><code>y</code></em>
).
<em class="parameter"><code>buf</code></em>
 should be large enough to hold all these values.</p>
<div class="refsect3">
<a name="gimp-pixel-rgn-get-row.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>pr</p></td>
<td class="parameter_description"><p>a pointer to a previously initialized <a class="link" href="libgimp-gimppixelrgn.html#GimpPixelRgn" title="GimpPixelRgn"><span class="type">GimpPixelRgn</span></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>buf</p></td>
<td class="parameter_description"><p>a pointer to an array of <span class="type">guchar</span></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>x</p></td>
<td class="parameter_description"><p>the x coordinate of the first pixel (relative to the drawable).</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>y</p></td>
<td class="parameter_description"><p>the y coordinate of the first pixel (relative to the drawable).</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>width</p></td>
<td class="parameter_description"><p>the number of pixels to get.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gimp-pixel-rgn-get-col"></a><h3>gimp_pixel_rgn_get_col ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gimp_pixel_rgn_get_col (<em class="parameter"><code><a class="link" href="libgimp-gimppixelrgn.html#GimpPixelRgn" title="GimpPixelRgn"><span class="type">GimpPixelRgn</span></a> *pr</code></em>,
                        <em class="parameter"><code><span class="type">guchar</span> *buf</code></em>,
                        <em class="parameter"><code><span class="type">gint</span> x</code></em>,
                        <em class="parameter"><code><span class="type">gint</span> y</code></em>,
                        <em class="parameter"><code><span class="type">gint</span> height</code></em>);</pre>
<div class="warning"><p><code class="literal">gimp_pixel_rgn_get_col</code> is deprecated and should not be used in newly-written code.</p></div>
<p>Get several pixels of a region's column. This function fills the buffer
<em class="parameter"><code>buf</code></em>
 with the values of the pixels from (<em class="parameter"><code>x</code></em>
, <em class="parameter"><code>y</code></em>
) to (<em class="parameter"><code>x</code></em>
, <em class="parameter"><code>y</code></em>
+<em class="parameter"><code>height</code></em>
-1).
<em class="parameter"><code>buf</code></em>
 should be large enough to hold all these values.</p>
<div class="refsect3">
<a name="gimp-pixel-rgn-get-col.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>pr</p></td>
<td class="parameter_description"><p>a pointer to a previously initialized <a class="link" href="libgimp-gimppixelrgn.html#GimpPixelRgn" title="GimpPixelRgn"><span class="type">GimpPixelRgn</span></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>buf</p></td>
<td class="parameter_description"><p>a pointer to an array of <span class="type">guchar</span></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>x</p></td>
<td class="parameter_description"><p>the x coordinate of the first pixel (relative to the drawable).</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>y</p></td>
<td class="parameter_description"><p>the y coordinate of the first pixel (relative to the drawable).</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>height</p></td>
<td class="parameter_description"><p>the number of pixels to get.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gimp-pixel-rgn-get-rect"></a><h3>gimp_pixel_rgn_get_rect ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gimp_pixel_rgn_get_rect (<em class="parameter"><code><a class="link" href="libgimp-gimppixelrgn.html#GimpPixelRgn" title="GimpPixelRgn"><span class="type">GimpPixelRgn</span></a> *pr</code></em>,
                         <em class="parameter"><code><span class="type">guchar</span> *buf</code></em>,
                         <em class="parameter"><code><span class="type">gint</span> x</code></em>,
                         <em class="parameter"><code><span class="type">gint</span> y</code></em>,
                         <em class="parameter"><code><span class="type">gint</span> width</code></em>,
                         <em class="parameter"><code><span class="type">gint</span> height</code></em>);</pre>
<div class="warning"><p><code class="literal">gimp_pixel_rgn_get_rect</code> is deprecated and should not be used in newly-written code.</p></div>
<p>Get all the pixel values from the rectangle defined by <em class="parameter"><code>x</code></em>
, <em class="parameter"><code>y</code></em>
, <em class="parameter"><code>width</code></em>
 and
<em class="parameter"><code>height</code></em>
. This function fills the buffer <em class="parameter"><code>buf</code></em>
 with the values of the pixels
from (<em class="parameter"><code>x</code></em>
, <em class="parameter"><code>y</code></em>
) to (<em class="parameter"><code>x</code></em>
+<em class="parameter"><code>width</code></em>
-1, <em class="parameter"><code>y</code></em>
+<em class="parameter"><code>height</code></em>
-1).
<em class="parameter"><code>buf</code></em>
 should be large enough to hold all these values (<em class="parameter"><code>width</code></em>
*<em class="parameter"><code>height</code></em>
*bpp).</p>
<div class="refsect3">
<a name="gimp-pixel-rgn-get-rect.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>pr</p></td>
<td class="parameter_description"><p>a pointer to a previously initialized <a class="link" href="libgimp-gimppixelrgn.html#GimpPixelRgn" title="GimpPixelRgn"><span class="type">GimpPixelRgn</span></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>buf</p></td>
<td class="parameter_description"><p>a pointer to an array of <span class="type">guchar</span></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>x</p></td>
<td class="parameter_description"><p>the x coordinate of the first pixel (relative to the drawable).</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>y</p></td>
<td class="parameter_description"><p>the y coordinate of the first pixel (relative to the drawable).</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>width</p></td>
<td class="parameter_description"><p>the width of the rectangle.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>height</p></td>
<td class="parameter_description"><p>the height of the rectangle.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gimp-pixel-rgn-set-pixel"></a><h3>gimp_pixel_rgn_set_pixel ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gimp_pixel_rgn_set_pixel (<em class="parameter"><code><a class="link" href="libgimp-gimppixelrgn.html#GimpPixelRgn" title="GimpPixelRgn"><span class="type">GimpPixelRgn</span></a> *pr</code></em>,
                          <em class="parameter"><code>const <span class="type">guchar</span> *buf</code></em>,
                          <em class="parameter"><code><span class="type">gint</span> x</code></em>,
                          <em class="parameter"><code><span class="type">gint</span> y</code></em>);</pre>
<div class="warning"><p><code class="literal">gimp_pixel_rgn_set_pixel</code> is deprecated and should not be used in newly-written code.</p></div>
<p>Set the pixel at (<em class="parameter"><code>x</code></em>
, <em class="parameter"><code>y</code></em>
) to the values from <em class="parameter"><code>buf</code></em>
.</p>
<div class="refsect3">
<a name="gimp-pixel-rgn-set-pixel.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>pr</p></td>
<td class="parameter_description"><p>a pointer to a previously initialized <a class="link" href="libgimp-gimppixelrgn.html#GimpPixelRgn" title="GimpPixelRgn"><span class="type">GimpPixelRgn</span></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>buf</p></td>
<td class="parameter_description"><p>a pointer to an array of <span class="type">guchar</span>.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>x</p></td>
<td class="parameter_description"><p>the x coordinate of the pixel (relative to the drawable).</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>y</p></td>
<td class="parameter_description"><p>the y coordinate of the pixel (relative to the drawable).</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gimp-pixel-rgn-set-row"></a><h3>gimp_pixel_rgn_set_row ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gimp_pixel_rgn_set_row (<em class="parameter"><code><a class="link" href="libgimp-gimppixelrgn.html#GimpPixelRgn" title="GimpPixelRgn"><span class="type">GimpPixelRgn</span></a> *pr</code></em>,
                        <em class="parameter"><code>const <span class="type">guchar</span> *buf</code></em>,
                        <em class="parameter"><code><span class="type">gint</span> x</code></em>,
                        <em class="parameter"><code><span class="type">gint</span> y</code></em>,
                        <em class="parameter"><code><span class="type">gint</span> width</code></em>);</pre>
<div class="warning"><p><code class="literal">gimp_pixel_rgn_set_row</code> is deprecated and should not be used in newly-written code.</p></div>
<p>Set several pixels of a region in a row. This function draws the pixels
from (<em class="parameter"><code>x</code></em>
, <em class="parameter"><code>y</code></em>
) to (<em class="parameter"><code>x</code></em>
+<em class="parameter"><code>width</code></em>
-1, <em class="parameter"><code>y</code></em>
) using the values of the buffer <em class="parameter"><code>buf</code></em>
.
<em class="parameter"><code>buf</code></em>
 should be large enough to hold all these values.</p>
<div class="refsect3">
<a name="gimp-pixel-rgn-set-row.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>pr</p></td>
<td class="parameter_description"><p>a pointer to a previously initialized <a class="link" href="libgimp-gimppixelrgn.html#GimpPixelRgn" title="GimpPixelRgn"><span class="type">GimpPixelRgn</span></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>buf</p></td>
<td class="parameter_description"><p>a pointer to an array of <span class="type">guchar</span></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>x</p></td>
<td class="parameter_description"><p>the x coordinate of the first pixel (relative to the drawable).</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>y</p></td>
<td class="parameter_description"><p>the y coordinate of the first pixel (relative to the drawable).</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>width</p></td>
<td class="parameter_description"><p>the number of pixels to set.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gimp-pixel-rgn-set-col"></a><h3>gimp_pixel_rgn_set_col ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gimp_pixel_rgn_set_col (<em class="parameter"><code><a class="link" href="libgimp-gimppixelrgn.html#GimpPixelRgn" title="GimpPixelRgn"><span class="type">GimpPixelRgn</span></a> *pr</code></em>,
                        <em class="parameter"><code>const <span class="type">guchar</span> *buf</code></em>,
                        <em class="parameter"><code><span class="type">gint</span> x</code></em>,
                        <em class="parameter"><code><span class="type">gint</span> y</code></em>,
                        <em class="parameter"><code><span class="type">gint</span> height</code></em>);</pre>
<div class="warning"><p><code class="literal">gimp_pixel_rgn_set_col</code> is deprecated and should not be used in newly-written code.</p></div>
<p>Set several pixels of a region's column. This function draws the pixels
from (<em class="parameter"><code>x</code></em>
, <em class="parameter"><code>y</code></em>
) to (<em class="parameter"><code>x</code></em>
, <em class="parameter"><code>y</code></em>
+<em class="parameter"><code>height</code></em>
-1) using the values from the buffer <em class="parameter"><code>buf</code></em>
.
<em class="parameter"><code>buf</code></em>
 should be large enough to hold all these values.</p>
<div class="refsect3">
<a name="gimp-pixel-rgn-set-col.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>pr</p></td>
<td class="parameter_description"><p>a pointer to a previously initialized <a class="link" href="libgimp-gimppixelrgn.html#GimpPixelRgn" title="GimpPixelRgn"><span class="type">GimpPixelRgn</span></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>buf</p></td>
<td class="parameter_description"><p>a pointer to an array of <span class="type">guchar</span></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>x</p></td>
<td class="parameter_description"><p>the x coordinate of the first pixel (relative to the drawable).</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>y</p></td>
<td class="parameter_description"><p>the y coordinate of the first pixel (relative to the drawable).</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>height</p></td>
<td class="parameter_description"><p>the number of pixels to set.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gimp-pixel-rgn-set-rect"></a><h3>gimp_pixel_rgn_set_rect ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gimp_pixel_rgn_set_rect (<em class="parameter"><code><a class="link" href="libgimp-gimppixelrgn.html#GimpPixelRgn" title="GimpPixelRgn"><span class="type">GimpPixelRgn</span></a> *pr</code></em>,
                         <em class="parameter"><code>const <span class="type">guchar</span> *buf</code></em>,
                         <em class="parameter"><code><span class="type">gint</span> x</code></em>,
                         <em class="parameter"><code><span class="type">gint</span> y</code></em>,
                         <em class="parameter"><code><span class="type">gint</span> width</code></em>,
                         <em class="parameter"><code><span class="type">gint</span> height</code></em>);</pre>
<div class="warning"><p><code class="literal">gimp_pixel_rgn_set_rect</code> is deprecated and should not be used in newly-written code.</p></div>
<p>Set all the pixel of the rectangle defined by <em class="parameter"><code>x</code></em>
, <em class="parameter"><code>y</code></em>
, <em class="parameter"><code>width</code></em>
 and
<em class="parameter"><code>height</code></em>
. This function draws the rectangle from (<em class="parameter"><code>x</code></em>
, <em class="parameter"><code>y</code></em>
) to
(<em class="parameter"><code>x</code></em>
+<em class="parameter"><code>width</code></em>
-1, <em class="parameter"><code>y</code></em>
+<em class="parameter"><code>height</code></em>
-1), using the pixel values from the buffer <em class="parameter"><code>buf</code></em>
.
<em class="parameter"><code>buf</code></em>
 should be large enough to hold all these values (<em class="parameter"><code>width</code></em>
*<em class="parameter"><code>height</code></em>
*bpp).</p>
<div class="refsect3">
<a name="gimp-pixel-rgn-set-rect.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>pr</p></td>
<td class="parameter_description"><p>a pointer to a previously initialized <a class="link" href="libgimp-gimppixelrgn.html#GimpPixelRgn" title="GimpPixelRgn"><span class="type">GimpPixelRgn</span></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>buf</p></td>
<td class="parameter_description"><p>a pointer to an array of <span class="type">guchar</span></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>x</p></td>
<td class="parameter_description"><p>the x coordinate of the first pixel (relative to the drawable).</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>y</p></td>
<td class="parameter_description"><p>the y coordinate of the first pixel (relative to the drawable).</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>width</p></td>
<td class="parameter_description"><p>the width of the rectangle.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>height</p></td>
<td class="parameter_description"><p>the height of the rectangle.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gimp-pixel-rgns-register"></a><h3>gimp_pixel_rgns_register ()</h3>
<pre class="programlisting"><span class="returnvalue">gpointer</span>
gimp_pixel_rgns_register (<em class="parameter"><code><span class="type">gint</span> nrgns</code></em>,
                          <em class="parameter"><code>...</code></em>);</pre>
<div class="warning"><p><code class="literal">gimp_pixel_rgns_register</code> is deprecated and should not be used in newly-written code.</p></div>
<p>This is the varargs version of <a class="link" href="libgimp-gimppixelrgn.html#gimp-pixel-rgns-register2" title="gimp_pixel_rgns_register2 ()"><span class="type">gimp_pixel_rgns_register2</span></a>.</p>
<div class="refsect3">
<a name="gimp-pixel-rgns-register.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>nrgns</p></td>
<td class="parameter_description"><p>the number of regions to register.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>...</p></td>
<td class="parameter_description"><p><em class="parameter"><code>nrgns</code></em>
pointers to <a class="link" href="libgimp-gimppixelrgn.html#GimpPixelRgn" title="GimpPixelRgn"><span class="type">GimpPixelRgn</span></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gimp-pixel-rgns-register.returns"></a><h4>Returns</h4>
<p> a <span class="type">gpointer</span> to a regions iterator.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gimp-pixel-rgns-register2"></a><h3>gimp_pixel_rgns_register2 ()</h3>
<pre class="programlisting"><span class="returnvalue">gpointer</span>
gimp_pixel_rgns_register2 (<em class="parameter"><code><span class="type">gint</span> nrgns</code></em>,
                           <em class="parameter"><code><a class="link" href="libgimp-gimppixelrgn.html#GimpPixelRgn" title="GimpPixelRgn"><span class="type">GimpPixelRgn</span></a> **prs</code></em>);</pre>
<div class="warning"><p><code class="literal">gimp_pixel_rgns_register2</code> is deprecated and should not be used in newly-written code.</p></div>
<p>It takes a number of initialized regions of the same size and provides a
pixel region iterator the iterator can be used to iterate over the
registered pixel regions.  While iterating the registered pixel regions will
cover subsets of the original pixel regions, chosen for optimized access to
the image data.</p>
<p>Note that the given regions themselves are changed by this function, so
they are resized to the first subsets.</p>
<p>This function has to be used together with gimp_pixel_rgns_process in a loop.</p>
<div class="refsect3">
<a name="gimp-pixel-rgns-register2.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>nrgns</p></td>
<td class="parameter_description"><p>the number of regions to register.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>prs</p></td>
<td class="parameter_description"><p>an array of <em class="parameter"><code>nrgns</code></em>
pointers to initialized <a class="link" href="libgimp-gimppixelrgn.html#GimpPixelRgn" title="GimpPixelRgn"><span class="type">GimpPixelRgn</span></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gimp-pixel-rgns-register2.returns"></a><h4>Returns</h4>
<p> a <span class="type">gpointer</span> to a regions iterator.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gimp-pixel-rgns-process"></a><h3>gimp_pixel_rgns_process ()</h3>
<pre class="programlisting"><span class="returnvalue">gpointer</span>
gimp_pixel_rgns_process (<em class="parameter"><code><span class="type">gpointer</span> pri_ptr</code></em>);</pre>
<div class="warning"><p><code class="literal">gimp_pixel_rgns_process</code> is deprecated and should not be used in newly-written code.</p></div>
<p>This function update the regions registered previously with one of the
<a class="link" href="libgimp-gimppixelrgn.html#gimp-pixel-rgns-register" title="gimp_pixel_rgns_register ()"><span class="type">gimp_pixel_rgns_register</span></a>* functions to their next tile.</p>
<div class="refsect3">
<a name="gimp-pixel-rgns-process.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>pri_ptr</p></td>
<td class="parameter_description"><p>a regions iterator returned by <a class="link" href="libgimp-gimppixelrgn.html#gimp-pixel-rgns-register" title="gimp_pixel_rgns_register ()"><span class="type">gimp_pixel_rgns_register</span></a>,
<a class="link" href="libgimp-gimppixelrgn.html#gimp-pixel-rgns-register2" title="gimp_pixel_rgns_register2 ()"><span class="type">gimp_pixel_rgns_register2</span></a> or <a class="link" href="libgimp-gimppixelrgn.html#gimp-pixel-rgns-process" title="gimp_pixel_rgns_process ()"><span class="type">gimp_pixel_rgns_process</span></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gimp-pixel-rgns-process.returns"></a><h4>Returns</h4>
<p> a <span class="type">gpointer</span> to a new regions iterator or <span class="type">NULL</span> if there isn't
any tiles left.</p>
</div>
</div>
</div>
<div class="refsect1">
<a name="libgimp-gimppixelrgn.other_details"></a><h2>Types and Values</h2>
<div class="refsect2">
<a name="GimpPixelRgn"></a><h3>GimpPixelRgn</h3>
<pre class="programlisting">typedef struct {
  guchar       *data;          /* pointer to region data */
  GimpDrawable *drawable;      /* pointer to drawable */
  gint          bpp;           /* bytes per pixel */
  gint          rowstride;     /* bytes per pixel row */
  gint          x, y;          /* origin */
  gint          w, h;          /* width and height of region */
  guint         dirty : 1;     /* will this region be dirtied? */
  guint         shadow : 1;    /* will this region use the shadow or normal tiles */
  gint          process_count; /* used internally */
} GimpPixelRgn;
</pre>
</div>
</div>
</div>
<div class="footer">
<hr>Generated by GTK-Doc V1.33.1</div>
</body>
</html>