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 and GtkBuildable.

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

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

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

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

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