GimpPreviewArea

GimpPreviewArea — A general purpose preview widget which caches its pixel data.

Synopsis




            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);

Object Hierarchy


  GObject
   +----GInitiallyUnowned
         +----GtkObject
               +----GtkWidget
                     +----GtkDrawingArea
                           +----GimpPreviewArea

Implemented Interfaces

GimpPreviewArea implements AtkImplementorIface.

Properties


  "check-size"           GimpCheckSize         : Read / Write
  "check-type"           GimpCheckType         : Read / Write

Description

A general purpose preview widget which caches its pixel data.

Details

GimpPreviewArea

typedef struct _GimpPreviewArea GimpPreviewArea;


gimp_preview_area_new ()

GtkWidget*  gimp_preview_area_new           (void);

Returns : a new GimpPreviewArea widget. Since GIMP 2.2

gimp_preview_area_draw ()

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

gimp_preview_area_fill ()

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)

gimp_preview_area_blend ()

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.

gimp_preview_area_mask ()

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.

gimp_preview_area_set_offsets ()

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


gimp_preview_area_set_colormap ()

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

gimp_preview_area_set_max_size ()

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


gimp_preview_area_menu_popup ()

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

Property Details

The "check-size" property

  "check-size"           GimpCheckSize         : Read / Write

Default value: GIMP_CHECK_SIZE_MEDIUM_CHECKS


The "check-type" property

  "check-type"           GimpCheckType         : Read / Write

Default value: GIMP_CHECK_TYPE_GRAY_CHECKS