GimpPreviewArea 3 LIBGIMPWIDGETS Library
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
       +----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;

GimpPreviewArea

### gimp_preview_area_new ()

    GtkWidget*  gimp_preview_area_new           (void);

Returns :

  a new GimpPreviewArea widget. Since GIMP 2.2

gimp_preview_area_new

### 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_draw

### 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_fill

### 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_blend

### 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_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_offsets

### 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_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_set_max_size

### 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

gimp_preview_area_menu_popup

## Properties

### 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