gimppixelfetcher 3 LIBGIMP Library
gimppixelfetcher Functions for operating on pixel regions.

## Synopsis

    enum        GimpPixelFetcherEdgeMode;
                GimpPixelFetcher;
    GimpPixelFetcher* gimp_pixel_fetcher_new    (GimpDrawable *drawable,
                                                 gboolean shadow);
    void        gimp_pixel_fetcher_set_edge_mode
                                                (GimpPixelFetcher *pf,
                                                 GimpPixelFetcherEdgeMode mode);
    void        gimp_pixel_fetcher_set_bg_color (GimpPixelFetcher *pf,
                                                 const GimpRGB *color);
    void        gimp_pixel_fetcher_get_pixel    (GimpPixelFetcher *pf,
                                                 gint x,
                                                 gint y,
                                                 guchar *pixel);
    void        gimp_pixel_fetcher_put_pixel    (GimpPixelFetcher *pf,
                                                 gint x,
                                                 gint y,
                                                 const guchar *pixel);
    void        gimp_pixel_fetcher_destroy      (GimpPixelFetcher *pf);

## 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.

## Details

### enum GimpPixelFetcherEdgeMode

    typedef enum
    {
      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
    } GimpPixelFetcherEdgeMode;

GimpPixelFetcherEdgeMode

### GimpPixelFetcher

    typedef struct _GimpPixelFetcher GimpPixelFetcher;

GimpPixelFetcher

### gimp_pixel_fetcher_new ()

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

Initialize a pixel region from the drawable.

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_new

### 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.

pf :

  a pointer to a previously initialized GimpPixelFetcher.

mode :

  the new edge mode from GimpPixelFetcherEdgeMode.

gimp_pixel_fetcher_set_edge_mode

### 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.

pf :

  a pointer to a previously initialized GimpPixelFetcher.

color :

  the color to be used as bg color.

gimp_pixel_fetcher_set_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.

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_get_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.

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_put_pixel

### gimp_pixel_fetcher_destroy ()

    void        gimp_pixel_fetcher_destroy      (GimpPixelFetcher *pf);

Close a previously initializd pixel region.

pf :

  a pointer to a previously initialized GimpPixelFetcher.

gimp_pixel_fetcher_destroy