## GimpPreviewArea

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

## Functions

GtkWidget * | gimp_preview_area_new ()
void | gimp_preview_area_draw ()
void | gimp_preview_area_fill ()
void | gimp_preview_area_blend ()
void | gimp_preview_area_mask ()
void | gimp_preview_area_set_offsets ()
void | gimp_preview_area_set_colormap ()
void | gimp_preview_area_set_max_size ()
void | gimp_preview_area_menu_popup ()

## Properties

GimpCheckSize | check-size | Read / Write
GimpCheckType | check-type | Read / Write

## Types and Values

| GimpPreviewArea

## Object Hierarchy

        GObject
        ╰── GInitiallyUnowned
            ╰── GtkObject
                ╰── GtkWidget
                    ╰── GtkDrawingArea
                        ╰── GimpPreviewArea

## Implemented Interfaces

GimpPreviewArea implements AtkImplementorIface and GtkBuildable.

## Description

A general purpose preview widget which caches its pixel data.

## Functions

### gimp_preview_area_new ()

    GtkWidget *
    gimp_preview_area_new (void);

Creates a new GimpPreviewArea widget.

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

#### Parameters

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 the given rectangle of `area` in the given color and queues a redraw.

Since GIMP 2.2

#### Parameters

area | a GimpPreviewArea widget. |
x | x offset in preview |
y | y offset in preview |
width | width of the rectangle to fill |
height | height of the rectangle to fill |
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

#### Parameters

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

#### Parameters

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.

#### Parameters

area | a GimpPreviewArea |
x | horizontal offset |
y | vertical offset |

Since: 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

#### Parameters

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 function 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.

#### Parameters

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: 2.2

### gimp_preview_area_menu_popup ()

    void
    gimp_preview_area_menu_popup (GimpPreviewArea *area,
                                  GdkEventButton *event);

Creates a popup menu that allows one to configure the size and type of the checkerboard pattern that the `area` uses to visualize transparency.

#### Parameters

area | a GimpPreviewArea |
event | the button event that causes the menu to popup or `NULL` |

Since: 2.2

## Types and Values

### GimpPreviewArea

    typedef struct _GimpPreviewArea GimpPreviewArea;

## Property Details

### The `“check-size”` property

      “check-size”               GimpCheckSize

Flags: Read / Write

Default value: GIMP_CHECK_SIZE_MEDIUM_CHECKS

### The `“check-type”` property

      “check-type”               GimpCheckType

Flags: Read / Write

Default value: GIMP_CHECK_TYPE_GRAY_CHECKS