![]() | ![]() | ![]() | GIMP Widgets Library Reference Manual | ![]() |
---|
GimpPreviewArea — A general purpose preview widget which caches its pixel data.
struct GimpPreviewArea; GtkWidget* gimp_preview_area_new (void); void gimp_preview_area_draw (GimpPreviewArea *area, gint x, gint y, gint width, gint height, GimpImageType type, const guchar *buf, gint rowstride); void gimp_preview_area_fill (GimpPreviewArea *area, gint x, gint y, gint width, gint height, guchar red, guchar green, guchar blue); void gimp_preview_area_blend (GimpPreviewArea *area, gint x, gint y, gint width, gint height, GimpImageType type, const guchar *buf1, gint rowstride1, const guchar *buf2, gint rowstride2, guchar opacity); void gimp_preview_area_mask (GimpPreviewArea *area, gint x, gint y, gint width, gint height, GimpImageType type, const guchar *buf1, gint rowstride1, const guchar *buf2, gint rowstride2, const guchar *mask, gint rowstride_mask); void gimp_preview_area_set_offsets (GimpPreviewArea *area, gint x, gint y); void gimp_preview_area_set_colormap (GimpPreviewArea *area, const guchar *colormap, gint num_colors); void gimp_preview_area_set_max_size (GimpPreviewArea *area, gint width, gint height); void gimp_preview_area_menu_popup (GimpPreviewArea *area, GdkEventButton *event);
GtkWidget* gimp_preview_area_new (void);
Returns : | a new GimpPreviewArea widget. Since GIMP 2.2 |
void gimp_preview_area_draw (GimpPreviewArea *area, gint x, gint y, gint width, gint height, GimpImageType type, const guchar *buf, gint rowstride);
Draws buf
on area
and queues a redraw on the given rectangle.
Since GIMP 2.2
area : | a GimpPreviewArea widget. |
x : | x offset in preview |
y : | y offset in preview |
width : | buffer width |
height : | buffer height |
type : | the GimpImageType of buf
|
buf : | a guchar buffer that contains the preview pixel data. |
rowstride : | rowstride of buf
|
void gimp_preview_area_fill (GimpPreviewArea *area, gint x, gint y, gint width, gint height, guchar red, guchar green, guchar blue);
Fills area
in the given color and queues a redraw on the given
rectangle.
Since GIMP 2.2
area : | a GimpPreviewArea widget. |
x : | x offset in preview |
y : | y offset in preview |
width : | buffer width |
height : | buffer height |
red : | red component of the fill color (0-255) |
green : | green component of the fill color (0-255) |
blue : | red component of the fill color (0-255) |
void gimp_preview_area_blend (GimpPreviewArea *area, gint x, gint y, gint width, gint height, GimpImageType type, const guchar *buf1, gint rowstride1, const guchar *buf2, gint rowstride2, guchar opacity);
Composites buf1
on buf2
with the given opacity
, draws the result
to area
and queues a redraw on the given rectangle.
Since GIMP 2.2
area : | a GimpPreviewArea widget. |
x : | x offset in preview |
y : | y offset in preview |
width : | buffer width |
height : | buffer height |
type : | the GimpImageType of buf1 and buf2
|
buf1 : | a guchar buffer that contains the pixel data for the lower layer |
rowstride1 : | rowstride of buf1
|
buf2 : | a guchar buffer that contains the pixel data for the upper layer |
rowstride2 : | rowstride of buf2
|
opacity : | The opacity of the first layer. |
void gimp_preview_area_mask (GimpPreviewArea *area, gint x, gint y, gint width, gint height, GimpImageType type, const guchar *buf1, gint rowstride1, const guchar *buf2, gint rowstride2, const guchar *mask, gint rowstride_mask);
Composites buf1
on buf2
with the given mask
, draws the result on
area
and queues a redraw on the given rectangle.
Since GIMP 2.2
area : | a GimpPreviewArea widget. |
x : | x offset in preview |
y : | y offset in preview |
width : | buffer width |
height : | buffer height |
type : | the GimpImageType of buf1 and buf2
|
buf1 : | a guchar buffer that contains the pixel data for the lower layer |
rowstride1 : | rowstride of buf1
|
buf2 : | a guchar buffer that contains the pixel data for the upper layer |
rowstride2 : | rowstride of buf2
|
mask : | a guchar buffer representing the mask of the second layer. |
rowstride_mask : | rowstride for the mask. |
void gimp_preview_area_set_offsets (GimpPreviewArea *area, gint x, gint y);
Sets the offsets of the previewed area. This information is used when drawing the checkerboard and to determine the dither offsets.
area : | a GimpPreviewArea |
x : | horizontal offset |
y : | vertical offset |
Since GIMP 2.2
void gimp_preview_area_set_colormap (GimpPreviewArea *area, const guchar *colormap, gint num_colors);
Sets the colormap for the GimpPreviewArea widget. You need to
call this function before you use gimp_preview_area_draw()
with
an image type of GIMP_INDEXED_IMAGE
or GIMP_INDEXEDA_IMAGE
.
Since GIMP 2.2
area : | a GimpPreviewArea |
colormap : | a guchar buffer that contains the colormap |
num_colors : | the number of colors in the colormap |
void gimp_preview_area_set_max_size (GimpPreviewArea *area, gint width, gint height);
Usually a GimpPreviewArea fills the size that it is allocated. This funtion allows you to limit the preview area to a maximum size. If a larger size is allocated for the widget, the preview will draw itself centered into the allocated area.
area : | a GimpPreviewArea widget |
width : | the maximum width in pixels or -1 to unset the limit |
height : | the maximum height in pixels or -1 to unset the limit |
Since GIMP 2.2
void gimp_preview_area_menu_popup (GimpPreviewArea *area, GdkEventButton *event);
Creates a popup menu that allows to configure the size and type of
the checkerboard pattern that the area
uses to visualize transparency.
area : | a GimpPreviewArea |
event : | the button event that causes the menu to popup or NULL
|
Since GIMP 2.2
<< GimpPixmap | GimpPreview >> |