## gimppixelfetcher gimppixelfetcher — Functions for operating on pixel regions. |

## Functions

GimpPixelFetcher * | gimp_pixel_fetcher_new ()
void | gimp_pixel_fetcher_set_edge_mode ()
void | gimp_pixel_fetcher_set_bg_color ()
void | gimp_pixel_fetcher_get_pixel ()
void | gimp_pixel_fetcher_put_pixel ()
void | gimp_pixel_fetcher_destroy ()

## Types and Values

enum | GimpPixelFetcherEdgeMode
| GimpPixelFetcher

## Description

These functions provide neighbourhood-based algorithms which get dramatically slower on region boundaries, to the point where a special treatment for neighbourhoods which are completely inside a tile is called for. It hides the special treatment of tile borders, making plug-in code more readable and shorter.

## Functions

### gimp_pixel_fetcher_new ()

    GimpPixelFetcher *
    gimp_pixel_fetcher_new (GimpDrawable *drawable,
                            gboolean shadow);

Initialize a pixel region from the drawable.

#### Parameters

drawable | the GimpDrawable the new region will be attached to. |
shadow | a gboolean indicating whether the region is attached to the shadow tiles or the real `drawable` tiles. |

#### Returns

a pointer to a GimpPixelRgn structure (or NULL).

### gimp_pixel_fetcher_set_edge_mode ()

    void
    gimp_pixel_fetcher_set_edge_mode (GimpPixelFetcher *pf,
                                      GimpPixelFetcherEdgeMode mode);

Change the edage mode of a previously initialized pixel region.

#### Parameters

pf | a pointer to a previously initialized GimpPixelFetcher. |
mode | the new edge mode from GimpPixelFetcherEdgeMode. |

### gimp_pixel_fetcher_set_bg_color ()

    void
    gimp_pixel_fetcher_set_bg_color (GimpPixelFetcher *pf,
                                     const GimpRGB *color);

Change the background color of a previously initialized pixel region.

#### Parameters

pf | a pointer to a previously initialized GimpPixelFetcher. |
color | the color to be used as bg color. |

### gimp_pixel_fetcher_get_pixel ()

    void
    gimp_pixel_fetcher_get_pixel (GimpPixelFetcher *pf,
                                  gint x,
                                  gint y,
                                  guchar *pixel);

Get a pixel from the pixel region.

#### Parameters

pf | a pointer to a previously initialized GimpPixelFetcher. |
x | the x coordinate of the pixel to get. |
y | the y coordinate of the pixel to get. |
pixel | the memory location where to return the pixel. |

### gimp_pixel_fetcher_put_pixel ()

    void
    gimp_pixel_fetcher_put_pixel (GimpPixelFetcher *pf,
                                  gint x,
                                  gint y,
                                  const guchar *pixel);

Set a pixel in the pixel region.

#### Parameters

pf | a pointer to a previously initialized GimpPixelFetcher. |
x | the x coordinate of the pixel to set. |
y | the y coordinate of the pixel to set. |
pixel | the pixel to set. |

### gimp_pixel_fetcher_destroy ()

    void
    gimp_pixel_fetcher_destroy (GimpPixelFetcher *pf);

Close a previously initializd pixel region.

#### Parameters

pf | a pointer to a previously initialized GimpPixelFetcher. |

## Types and Values

### enum GimpPixelFetcherEdgeMode

#### Members

GIMP_PIXEL_FETCHER_EDGE_NONE |  |
GIMP_PIXEL_FETCHER_EDGE_WRAP |  |
GIMP_PIXEL_FETCHER_EDGE_SMEAR |  |
GIMP_PIXEL_FETCHER_EDGE_BLACK |  |
GIMP_PIXEL_FETCHER_EDGE_BACKGROUND |  |

### GimpPixelFetcher

    typedef struct _GimpPixelFetcher GimpPixelFetcher;