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;

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;


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.