pixel-region

pixel-region

Synopsis




                    PixelRegion;
                    PixelRegionHolder;
                    PixelRegionIterator;
void                pixel_region_init                   (PixelRegion *PR,
                                                         TileManager *tiles,
                                                         gint x,
                                                         gint y,
                                                         gint w,
                                                         gint h,
                                                         gboolean dirty);
void                pixel_region_init_temp_buf          (PixelRegion *PR,
                                                         TempBuf *temp_buf,
                                                         gint x,
                                                         gint y,
                                                         gint w,
                                                         gint h);
void                pixel_region_init_data              (PixelRegion *PR,
                                                         guchar *data,
                                                         gint bytes,
                                                         gint rowstride,
                                                         gint x,
                                                         gint y,
                                                         gint w,
                                                         gint h);
void                pixel_region_resize                 (PixelRegion *PR,
                                                         gint x,
                                                         gint y,
                                                         gint w,
                                                         gint h);
void                pixel_region_get_row                (PixelRegion *PR,
                                                         gint x,
                                                         gint y,
                                                         gint w,
                                                         guchar *data,
                                                         gint subsample);
void                pixel_region_set_row                (PixelRegion *PR,
                                                         gint x,
                                                         gint y,
                                                         gint w,
                                                         const guchar *data);
void                pixel_region_get_col                (PixelRegion *PR,
                                                         gint x,
                                                         gint y,
                                                         gint h,
                                                         guchar *data,
                                                         gint subsample);
void                pixel_region_set_col                (PixelRegion *PR,
                                                         gint x,
                                                         gint y,
                                                         gint h,
                                                         const guchar *data);
gboolean            pixel_region_has_alpha              (PixelRegion *PR);
PixelRegionIterator* pixel_regions_register             (gint num_regions,
                                                         ...);
PixelRegionIterator* pixel_regions_process              (PixelRegionIterator *PRI);
void                pixel_regions_process_stop          (PixelRegionIterator *PRI);

Description

Details

PixelRegion

typedef struct {
  guchar      *data;           /*  pointer to region data        */
  TileManager *tiles;          /*  pointer to tiles              */
  Tile        *curtile;        /*  current tile                  */
  gint         offx;           /*  tile offsets                  */
  gint         offy;           /*  tile offsets                  */
  gint         rowstride;      /*  bytes per pixel row           */
  gint         x;              /*  origin                        */
  gint         y;              /*  origin                        */
  gint         w;              /*  width of region               */
  gint         h;              /*  height of region              */
  gint         bytes;          /*  bytes per pixel               */
  gboolean     dirty;          /*  will this region be dirtied?  */
  gint         process_count;  /*  used internally               */
} PixelRegion;


PixelRegionHolder

typedef struct {
  PixelRegion *PR;
  guchar      *original_data;
  gint         startx;
  gint         starty;
  gint         count;
} PixelRegionHolder;


PixelRegionIterator

typedef struct {
  GSList *pixel_regions;
  gint    dirty_tiles;
  gint    region_width;
  gint    region_height;
  gint    portion_width;
  gint    portion_height;
  gint    process_count;
} PixelRegionIterator;


pixel_region_init ()

void                pixel_region_init                   (PixelRegion *PR,
                                                         TileManager *tiles,
                                                         gint x,
                                                         gint y,
                                                         gint w,
                                                         gint h,
                                                         gboolean dirty);

PR :

tiles :

x :

y :

w :

h :

dirty :


pixel_region_init_temp_buf ()

void                pixel_region_init_temp_buf          (PixelRegion *PR,
                                                         TempBuf *temp_buf,
                                                         gint x,
                                                         gint y,
                                                         gint w,
                                                         gint h);

PR :

temp_buf :

x :

y :

w :

h :


pixel_region_init_data ()

void                pixel_region_init_data              (PixelRegion *PR,
                                                         guchar *data,
                                                         gint bytes,
                                                         gint rowstride,
                                                         gint x,
                                                         gint y,
                                                         gint w,
                                                         gint h);

PR :

data :

bytes :

rowstride :

x :

y :

w :

h :


pixel_region_resize ()

void                pixel_region_resize                 (PixelRegion *PR,
                                                         gint x,
                                                         gint y,
                                                         gint w,
                                                         gint h);

PR :

x :

y :

w :

h :


pixel_region_get_row ()

void                pixel_region_get_row                (PixelRegion *PR,
                                                         gint x,
                                                         gint y,
                                                         gint w,
                                                         guchar *data,
                                                         gint subsample);

PR :

x :

y :

w :

data :

subsample :


pixel_region_set_row ()

void                pixel_region_set_row                (PixelRegion *PR,
                                                         gint x,
                                                         gint y,
                                                         gint w,
                                                         const guchar *data);

PR :

x :

y :

w :

data :


pixel_region_get_col ()

void                pixel_region_get_col                (PixelRegion *PR,
                                                         gint x,
                                                         gint y,
                                                         gint h,
                                                         guchar *data,
                                                         gint subsample);

PR :

x :

y :

h :

data :

subsample :


pixel_region_set_col ()

void                pixel_region_set_col                (PixelRegion *PR,
                                                         gint x,
                                                         gint y,
                                                         gint h,
                                                         const guchar *data);

PR :

x :

y :

h :

data :


pixel_region_has_alpha ()

gboolean            pixel_region_has_alpha              (PixelRegion *PR);

PR :

Returns :


pixel_regions_register ()

PixelRegionIterator* pixel_regions_register             (gint num_regions,
                                                         ...);

num_regions :

... :

Returns :


pixel_regions_process ()

PixelRegionIterator* pixel_regions_process              (PixelRegionIterator *PRI);

PRI :

Returns :


pixel_regions_process_stop ()

void                pixel_regions_process_stop          (PixelRegionIterator *PRI);

PRI :