gimppixelfetcher

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;


GimpPixelFetcher

typedef struct _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_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_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_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_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_destroy ()

void        gimp_pixel_fetcher_destroy      (GimpPixelFetcher *pf);

Close a previously initializd pixel region.

pf : a pointer to a previously initialized GimpPixelFetcher.