## gimpregioniterator gimpregioniterator — Functions to traverse a pixel regions. |

## Functions

void | (*GimpRgnFunc1) ()
void | (*GimpRgnFunc2) ()
void | (*GimpRgnFuncSrc) ()
void | (*GimpRgnFuncDest) ()
void | (*GimpRgnFuncSrcDest) ()
GimpRgnIterator * | gimp_rgn_iterator_new ()
void | gimp_rgn_iterator_free ()
void | gimp_rgn_iterator_src ()
void | gimp_rgn_iterator_dest ()
void | gimp_rgn_iterator_src_dest ()
void | gimp_rgn_iterate1 ()
void | gimp_rgn_iterate2 ()

## Types and Values

| GimpRgnIterator

## Description

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

## Functions

### GimpRgnFunc1 ()

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

### GimpRgnFunc2 ()

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

### GimpRgnFuncSrc ()

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

### GimpRgnFuncDest ()

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

### GimpRgnFuncSrcDest ()

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

### gimp_rgn_iterator_new ()

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

`gimp_rgn_iterator_new` is deprecated and should not be used in newly-written code.

Creates a new GimpRgnIterator for `drawable` . The GimpRunMode parameter is ignored. Use `gimp_rgn_iterator_free()` to free this iterator.

#### Parameters

drawable | a GimpDrawable |
unused | ignored |

#### Returns

a newly allocated GimpRgnIterator.

### gimp_rgn_iterator_free ()

    void
    gimp_rgn_iterator_free (GimpRgnIterator *iter);

`gimp_rgn_iterator_free` is deprecated and should not be used in newly-written code.

Frees the resources allocated for `iter` .

#### Parameters

iter | a GimpRgnIterator |

### gimp_rgn_iterator_src ()

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

`gimp_rgn_iterator_src` is deprecated and should not be used in newly-written code.

### gimp_rgn_iterator_dest ()

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

`gimp_rgn_iterator_dest` is deprecated and should not be used in newly-written code.

### gimp_rgn_iterator_src_dest ()

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

`gimp_rgn_iterator_src_dest` is deprecated and should not be used in newly-written code.

### gimp_rgn_iterate1 ()

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

`gimp_rgn_iterate1` is deprecated and should not be used in newly-written code.

### gimp_rgn_iterate2 ()

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

`gimp_rgn_iterate2` is deprecated and should not be used in newly-written code.

## Types and Values

### GimpRgnIterator

    typedef struct _GimpRgnIterator GimpRgnIterator;