gimpregioniterator 3 LIBGIMP Library
gimpregioniterator Functions to traverse a pixel regions.

## Synopsis

                GimpRgnIterator;
    void        (*GimpRgnFunc1)                 (const guchar *src,
                                                 gint bpp,
                                                 gpointer data);
    void        (*GimpRgnFunc2)                 (const guchar *src,
                                                 guchar *dest,
                                                 gint bpp,
                                                 gpointer data);
    void        (*GimpRgnFuncSrc)               (gint x,
                                                 gint y,
                                                 const guchar *src,
                                                 gint bpp,
                                                 gpointer data);
    void        (*GimpRgnFuncDest)              (gint x,
                                                 gint y,
                                                 guchar *dest,
                                                 gint bpp,
                                                 gpointer data);
    void        (*GimpRgnFuncSrcDest)           (gint x,
                                                 gint y,
                                                 const guchar *src,
                                                 guchar *dest,
                                                 gint bpp,
                                                 gpointer data);
    GimpRgnIterator* gimp_rgn_iterator_new      (GimpDrawable *drawable,
                                                 GimpRunMode unused);
    void        gimp_rgn_iterator_free          (GimpRgnIterator *iter);
    void        gimp_rgn_iterator_src           (GimpRgnIterator *iter,
                                                 GimpRgnFuncSrc func,
                                                 gpointer data);
    void        gimp_rgn_iterator_dest          (GimpRgnIterator *iter,
                                                 GimpRgnFuncDest func,
                                                 gpointer data);
    void        gimp_rgn_iterator_src_dest      (GimpRgnIterator *iter,
                                                 GimpRgnFuncSrcDest func,
                                                 gpointer data);
    void        gimp_rgn_iterate1               (GimpDrawable *drawable,
                                                 GimpRunMode unused,
                                                 GimpRgnFunc1 func,
                                                 gpointer data);
    void        gimp_rgn_iterate2               (GimpDrawable *drawable,
                                                 GimpRunMode unused,
                                                 GimpRgnFunc2 func,
                                                 gpointer data);

## Description

The GimpRgnIterator functions provide a variety of common ways to traverse a PixelRegion, using a pre-defined function pointer per pixel.

## Details

### GimpRgnIterator

    typedef struct _GimpRgnIterator GimpRgnIterator;

GimpRgnIterator

### GimpRgnFunc1 ()

    void        (*GimpRgnFunc1)                 (const guchar *src,
                                                 gint bpp,
                                                 gpointer data);

src :

bpp :

data :

GimpRgnFunc1

### GimpRgnFunc2 ()

    void        (*GimpRgnFunc2)                 (const guchar *src,
                                                 guchar *dest,
                                                 gint bpp,
                                                 gpointer data);

src :

dest :

bpp :

data :

GimpRgnFunc2

### GimpRgnFuncSrc ()

    void        (*GimpRgnFuncSrc)               (gint x,
                                                 gint y,
                                                 const guchar *src,
                                                 gint bpp,
                                                 gpointer data);

x :

y :

src :

bpp :

data :

GimpRgnFuncSrc

### GimpRgnFuncDest ()

    void        (*GimpRgnFuncDest)              (gint x,
                                                 gint y,
                                                 guchar *dest,
                                                 gint bpp,
                                                 gpointer data);

x :

y :

dest :

bpp :

data :

GimpRgnFuncDest

### GimpRgnFuncSrcDest ()

    void        (*GimpRgnFuncSrcDest)           (gint x,
                                                 gint y,
                                                 const guchar *src,
                                                 guchar *dest,
                                                 gint bpp,
                                                 gpointer data);

x :

y :

src :

dest :

bpp :

data :

GimpRgnFuncSrcDest

### gimp_rgn_iterator_new ()

    GimpRgnIterator* gimp_rgn_iterator_new      (GimpDrawable *drawable,
                                                 GimpRunMode unused);

Creates a new GimpRgnIterator for drawable. The GimpRunMode parameter is ignored.

drawable :

  a GimpDrawable

unused :

  ignored

Returns :

  a newly allocated GimpRgnIterator.

gimp_rgn_iterator_new

### gimp_rgn_iterator_free ()

    void        gimp_rgn_iterator_free          (GimpRgnIterator *iter);

Frees the resources allocated for iter.

iter :

  a GimpRgnIterator

gimp_rgn_iterator_free

### gimp_rgn_iterator_src ()

    void        gimp_rgn_iterator_src           (GimpRgnIterator *iter,
                                                 GimpRgnFuncSrc func,
                                                 gpointer data);

iter :

func :

data :

gimp_rgn_iterator_src

### gimp_rgn_iterator_dest ()

    void        gimp_rgn_iterator_dest          (GimpRgnIterator *iter,
                                                 GimpRgnFuncDest func,
                                                 gpointer data);

iter :

func :

data :

gimp_rgn_iterator_dest

### gimp_rgn_iterator_src_dest ()

    void        gimp_rgn_iterator_src_dest      (GimpRgnIterator *iter,
                                                 GimpRgnFuncSrcDest func,
                                                 gpointer data);

iter :

func :

data :

gimp_rgn_iterator_src_dest

### gimp_rgn_iterate1 ()

    void        gimp_rgn_iterate1               (GimpDrawable *drawable,
                                                 GimpRunMode unused,
                                                 GimpRgnFunc1 func,
                                                 gpointer data);

drawable :

unused :

func :

data :

gimp_rgn_iterate1

### gimp_rgn_iterate2 ()

    void        gimp_rgn_iterate2               (GimpDrawable *drawable,
                                                 GimpRunMode unused,
                                                 GimpRgnFunc2 func,
                                                 gpointer data);

drawable :

unused :

func :

data :

gimp_rgn_iterate2