<!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>