mirror of
https://gitlab.gnome.org/GNOME/gimp
synced 2024-10-19 14:23:33 +00:00
allow to set a maximum size and center the preview area if its allocation
2004-09-09 Sven Neumann <sven@gimp.org> * libgimpwidgets/gimppreviewarea.[ch]: allow to set a maximum size and center the preview area if its allocation extends the maximum. * libgimpwidgets/gimppreview.[ch]: derive from GtkVBox, moved the toggle button out of the table and put the table into an aspect frame. Added an API to set the preview boundaries. Set the maximum size of the GimpPreviewArea from that function. * libgimpwidgets/gimpwidgets.def: added new entries. * libgimp/gimpdrawablepreview.c: use gimp_preview_set_bounds(). * plug-ins/common/gauss.c: pack the preview widget so that it resizes with the dialog.
This commit is contained in:
parent
824b5289db
commit
a514ce7db1
17
ChangeLog
17
ChangeLog
|
@ -1,3 +1,20 @@
|
|||
2004-09-09 Sven Neumann <sven@gimp.org>
|
||||
|
||||
* libgimpwidgets/gimppreviewarea.[ch]: allow to set a maximum size
|
||||
and center the preview area if its allocation extends the maximum.
|
||||
|
||||
* libgimpwidgets/gimppreview.[ch]: derive from GtkVBox, moved the
|
||||
toggle button out of the table and put the table into an aspect
|
||||
frame. Added an API to set the preview boundaries. Set the maximum
|
||||
size of the GimpPreviewArea from that function.
|
||||
|
||||
* libgimpwidgets/gimpwidgets.def: added new entries.
|
||||
|
||||
* libgimp/gimpdrawablepreview.c: use gimp_preview_set_bounds().
|
||||
|
||||
* plug-ins/common/gauss.c: pack the preview widget so that it
|
||||
resizes with the dialog.
|
||||
|
||||
2004-09-09 DindinX <david@dindinx.org>
|
||||
|
||||
* libgimpwidgets/gimppreviewarea.c (gimp_preview_area_blend)
|
||||
|
|
|
@ -169,10 +169,11 @@ gimp_drawable_preview_set_drawable (GimpDrawablePreview *drawable_preview,
|
|||
|
||||
gimp_drawable_mask_bounds (drawable->drawable_id, &x1, &y1, &x2, &y2);
|
||||
|
||||
preview->xmin = MAX (x1 - SELECTION_BORDER, 0);
|
||||
preview->ymin = MAX (y1 - SELECTION_BORDER, 0);
|
||||
preview->xmax = MIN (x2 + SELECTION_BORDER, width);
|
||||
preview->ymax = MIN (y2 + SELECTION_BORDER, height);
|
||||
gimp_preview_set_bounds (preview,
|
||||
MAX (x1 - SELECTION_BORDER, 0),
|
||||
MAX (y1 - SELECTION_BORDER, 0),
|
||||
MIN (x2 + SELECTION_BORDER, width),
|
||||
MIN (y2 + SELECTION_BORDER, height));
|
||||
|
||||
if (gimp_drawable_is_indexed (drawable->drawable_id))
|
||||
{
|
||||
|
|
|
@ -83,7 +83,7 @@ static gboolean gimp_preview_invalidate_now (GimpPreview *preview);
|
|||
|
||||
static guint preview_signals[LAST_SIGNAL] = { 0 };
|
||||
|
||||
static GtkTableClass *parent_class = NULL;
|
||||
static GtkVBoxClass *parent_class = NULL;
|
||||
|
||||
|
||||
GType
|
||||
|
@ -106,7 +106,7 @@ gimp_preview_get_type (void)
|
|||
(GInstanceInitFunc) gimp_preview_init,
|
||||
};
|
||||
|
||||
preview_type = g_type_register_static (GTK_TYPE_TABLE,
|
||||
preview_type = g_type_register_static (GTK_TYPE_VBOX,
|
||||
"GimpPreview",
|
||||
&preview_info,
|
||||
G_TYPE_FLAG_ABSTRACT);
|
||||
|
@ -159,12 +159,21 @@ gimp_preview_class_init (GimpPreviewClass *klass)
|
|||
static void
|
||||
gimp_preview_init (GimpPreview *preview)
|
||||
{
|
||||
GtkTable *table = GTK_TABLE (preview);
|
||||
GtkWidget *table;
|
||||
GtkWidget *frame;
|
||||
GtkObject *adj;
|
||||
|
||||
gtk_table_resize (table, 3, 2);
|
||||
gtk_table_set_homogeneous (table, FALSE);
|
||||
gtk_box_set_homogeneous (GTK_BOX (preview), FALSE);
|
||||
gtk_box_set_spacing (GTK_BOX (preview), 6);
|
||||
|
||||
frame = gtk_aspect_frame_new (NULL, 0.0, 0.0, 1.0, TRUE);
|
||||
gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_NONE);
|
||||
gtk_box_pack_start (GTK_BOX (preview), frame, TRUE, TRUE, 0);
|
||||
gtk_widget_show (frame);
|
||||
|
||||
table = gtk_table_new (3, 2, FALSE);
|
||||
gtk_container_add (GTK_CONTAINER (frame), table);
|
||||
gtk_widget_show (table);
|
||||
|
||||
preview->xoff = 0;
|
||||
preview->yoff = 0;
|
||||
|
@ -187,7 +196,7 @@ gimp_preview_init (GimpPreview *preview)
|
|||
preview->hscr = gtk_hscrollbar_new (GTK_ADJUSTMENT (adj));
|
||||
gtk_range_set_update_policy (GTK_RANGE (preview->hscr),
|
||||
GTK_UPDATE_CONTINUOUS);
|
||||
gtk_table_attach (table, preview->hscr, 0,1, 1,2,
|
||||
gtk_table_attach (GTK_TABLE (table), preview->hscr, 0,1, 1,2,
|
||||
GTK_EXPAND | GTK_SHRINK | GTK_FILL, GTK_FILL, 0, 0);
|
||||
|
||||
adj = gtk_adjustment_new (0, 0, preview->height - 1, 1.0,
|
||||
|
@ -200,13 +209,14 @@ gimp_preview_init (GimpPreview *preview)
|
|||
preview->vscr = gtk_vscrollbar_new (GTK_ADJUSTMENT (adj));
|
||||
gtk_range_set_update_policy (GTK_RANGE (preview->vscr),
|
||||
GTK_UPDATE_CONTINUOUS);
|
||||
gtk_table_attach (table, preview->vscr, 1,2, 0,1,
|
||||
gtk_table_attach (GTK_TABLE (table), preview->vscr, 1,2, 0,1,
|
||||
GTK_FILL, GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0);
|
||||
|
||||
/* the area itself */
|
||||
frame = gtk_frame_new (NULL);
|
||||
gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_IN);
|
||||
gtk_table_attach (table, frame, 0,1, 0,1, 0, 0, 0,0);
|
||||
gtk_table_attach (GTK_TABLE (table), frame, 0,1, 0,1,
|
||||
GTK_FILL | GTK_EXPAND, GTK_FILL | GTK_EXPAND, 0,0);
|
||||
gtk_widget_show (frame);
|
||||
|
||||
preview->area = gimp_preview_area_new ();
|
||||
|
@ -246,10 +256,7 @@ gimp_preview_init (GimpPreview *preview)
|
|||
preview->toggle = gtk_check_button_new_with_mnemonic (_("_Preview"));
|
||||
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (preview->toggle),
|
||||
preview->update_preview);
|
||||
|
||||
gtk_table_set_row_spacing (GTK_TABLE (preview), 1, 6);
|
||||
gtk_table_attach (table, preview->toggle,
|
||||
0, 2, 2, 3, GTK_FILL, GTK_FILL, 0, 0);
|
||||
gtk_box_pack_start (GTK_BOX (preview), preview->toggle, FALSE, FALSE, 0);
|
||||
gtk_widget_show (preview->toggle);
|
||||
|
||||
g_signal_connect (preview->toggle, "toggled",
|
||||
|
@ -370,8 +377,8 @@ gimp_preview_area_size_allocate (GtkWidget *widget,
|
|||
gint width = preview->xmax - preview->xmin;
|
||||
gint height = preview->ymax - preview->ymin;
|
||||
|
||||
preview->width = allocation->width;
|
||||
preview->height = allocation->height;
|
||||
preview->width = MIN (width, allocation->width);
|
||||
preview->height = MIN (height, allocation->height);
|
||||
|
||||
if (width > preview->width)
|
||||
{
|
||||
|
@ -632,6 +639,37 @@ gimp_preview_get_update (GimpPreview *preview)
|
|||
return preview->update_preview;
|
||||
}
|
||||
|
||||
/**
|
||||
* gimp_preview_set_bounds:
|
||||
* @preview: a #GimpPreview widget
|
||||
* @xmin:
|
||||
* @ymin:
|
||||
* @xmax:
|
||||
* @ymax:
|
||||
*
|
||||
* Since: GIMP 2.2
|
||||
**/
|
||||
void
|
||||
gimp_preview_set_bounds (GimpPreview *preview,
|
||||
gint xmin,
|
||||
gint ymin,
|
||||
gint xmax,
|
||||
gint ymax)
|
||||
{
|
||||
g_return_if_fail (GIMP_IS_PREVIEW (preview));
|
||||
g_return_if_fail (xmax > xmin);
|
||||
g_return_if_fail (ymax > ymin);
|
||||
|
||||
preview->xmin = xmin;
|
||||
preview->ymin = ymin;
|
||||
preview->xmax = xmax;
|
||||
preview->ymax = ymax;
|
||||
|
||||
gimp_preview_area_set_max_size (GIMP_PREVIEW_AREA (preview->area),
|
||||
xmax - xmin,
|
||||
ymax - ymin);
|
||||
}
|
||||
|
||||
/**
|
||||
* gimp_preview_get_size:
|
||||
* @preview: a #GimpPreview widget
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
#ifndef __GIMP_PREVIEW_H__
|
||||
#define __GIMP_PREVIEW_H__
|
||||
|
||||
#include <gtk/gtktable.h>
|
||||
#include <gtk/gtkvbox.h>
|
||||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
|
@ -42,7 +42,7 @@ typedef struct _GimpPreviewClass GimpPreviewClass;
|
|||
|
||||
struct _GimpPreview
|
||||
{
|
||||
GtkTable parent_instance;
|
||||
GtkVBox parent_instance;
|
||||
|
||||
gboolean update_preview;
|
||||
|
||||
|
@ -66,10 +66,10 @@ struct _GimpPreview
|
|||
};
|
||||
struct _GimpPreviewClass
|
||||
{
|
||||
GtkTableClass parent_class;
|
||||
GtkVBoxClass parent_class;
|
||||
|
||||
/* virtuals */
|
||||
void (* draw) (GimpPreview *preview);
|
||||
void (* draw) (GimpPreview *preview);
|
||||
|
||||
/* signal */
|
||||
void (* invalidated) (GimpPreview *preview);
|
||||
|
@ -82,6 +82,12 @@ void gimp_preview_set_update (GimpPreview *preview,
|
|||
gboolean update);
|
||||
gboolean gimp_preview_get_update (GimpPreview *preview);
|
||||
|
||||
void gimp_preview_set_bounds (GimpPreview *preview,
|
||||
gint xmin,
|
||||
gint ymin,
|
||||
gint xmax,
|
||||
gint ymax);
|
||||
|
||||
void gimp_preview_get_size (GimpPreview *preview,
|
||||
gint *width,
|
||||
gint *height);
|
||||
|
|
|
@ -141,6 +141,8 @@ gimp_preview_area_init (GimpPreviewArea *area)
|
|||
area->width = 0;
|
||||
area->height = 0;
|
||||
area->rowstride = 0;
|
||||
area->max_width = -1;
|
||||
area->max_height = -1;
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -213,12 +215,18 @@ gimp_preview_area_size_allocate (GtkWidget *widget,
|
|||
GtkAllocation *allocation)
|
||||
{
|
||||
GimpPreviewArea *area = GIMP_PREVIEW_AREA (widget);
|
||||
gint width;
|
||||
gint height;
|
||||
|
||||
if (GTK_WIDGET_CLASS (parent_class)->size_allocate)
|
||||
GTK_WIDGET_CLASS (parent_class)->size_allocate (widget, allocation);
|
||||
|
||||
if (widget->allocation.width != area->width ||
|
||||
widget->allocation.height != area->height)
|
||||
width = (area->max_width > 0 ?
|
||||
MIN (allocation->width, area->max_width) : allocation->width);
|
||||
height = (area->max_height > 0 ?
|
||||
MIN (allocation->height, area->max_height) : allocation->height);
|
||||
|
||||
if (width != area->width || height != area->height)
|
||||
{
|
||||
if (area->buf)
|
||||
{
|
||||
|
@ -228,8 +236,8 @@ gimp_preview_area_size_allocate (GtkWidget *widget,
|
|||
area->rowstride = 0;
|
||||
}
|
||||
|
||||
area->width = widget->allocation.width;
|
||||
area->height = widget->allocation.height;
|
||||
area->width = width;
|
||||
area->height = height;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -238,7 +246,8 @@ gimp_preview_area_expose (GtkWidget *widget,
|
|||
GdkEventExpose *event)
|
||||
{
|
||||
GimpPreviewArea *area;
|
||||
guchar *buf;
|
||||
GdkRectangle rect;
|
||||
GdkRectangle render;
|
||||
|
||||
g_return_val_if_fail (GIMP_IS_PREVIEW_AREA (widget), FALSE);
|
||||
|
||||
|
@ -247,19 +256,29 @@ gimp_preview_area_expose (GtkWidget *widget,
|
|||
if (! area->buf)
|
||||
return FALSE;
|
||||
|
||||
buf = area->buf + event->area.x * 3 + event->area.y * area->rowstride;
|
||||
rect.x = (widget->allocation.width - area->width) / 2;
|
||||
rect.y = (widget->allocation.height - area->height) / 2;
|
||||
rect.width = area->width;
|
||||
rect.height = area->height;
|
||||
|
||||
gdk_draw_rgb_image_dithalign (widget->window,
|
||||
widget->style->fg_gc[widget->state],
|
||||
event->area.x,
|
||||
event->area.y,
|
||||
event->area.width,
|
||||
event->area.height,
|
||||
GDK_RGB_DITHER_MAX,
|
||||
buf,
|
||||
area->rowstride,
|
||||
area->offset_x - event->area.x,
|
||||
area->offset_y - event->area.y);
|
||||
if (gdk_rectangle_intersect (&rect, &event->area, &render))
|
||||
{
|
||||
gint x = render.x - rect.x;
|
||||
gint y = render.y - rect.y;
|
||||
guchar *buf = area->buf + x * 3 + y * area->rowstride;
|
||||
|
||||
gdk_draw_rgb_image_dithalign (widget->window,
|
||||
widget->style->fg_gc[widget->state],
|
||||
render.x,
|
||||
render.y,
|
||||
render.width,
|
||||
render.height,
|
||||
GDK_RGB_DITHER_MAX,
|
||||
buf,
|
||||
area->rowstride,
|
||||
area->offset_x - render.x,
|
||||
area->offset_y - render.y);
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
@ -697,10 +716,10 @@ gimp_preview_area_blend (GimpPreviewArea *area,
|
|||
|
||||
if (s1[3] == s2[3])
|
||||
{
|
||||
inter[3] = s1[3];
|
||||
inter[0] = ((s1[0] << 8) + (s2[0] - s1[0]) * opacity) >> 8;
|
||||
inter[1] = ((s1[1] << 8) + (s2[1] - s1[1]) * opacity) >> 8;
|
||||
inter[2] = ((s1[2] << 8) + (s2[2] - s1[2]) * opacity) >> 8;
|
||||
inter[3] = s1[3];
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -708,7 +727,7 @@ gimp_preview_area_blend (GimpPreviewArea *area,
|
|||
|
||||
if (inter[3])
|
||||
{
|
||||
for (i=0 ; i<3 ; i++)
|
||||
for (i = 0; i < 3; i++)
|
||||
{
|
||||
gushort a = s1[i] * s1[3];
|
||||
gushort b = s2[i] * s2[3];
|
||||
|
@ -782,8 +801,8 @@ gimp_preview_area_blend (GimpPreviewArea *area,
|
|||
|
||||
if (s1[1] == s2[1])
|
||||
{
|
||||
inter[1] = s1[1];
|
||||
inter[0] = ((s1[0] << 8) + (s2[0] - s1[0]) * opacity) >> 8;
|
||||
inter[1] = s1[1];
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -794,7 +813,8 @@ gimp_preview_area_blend (GimpPreviewArea *area,
|
|||
gushort a = s1[0] * s1[1];
|
||||
gushort b = s2[0] * s2[1];
|
||||
|
||||
inter[0] = (((a << 8) + (b - a) * opacity) >> 8) / inter[1];
|
||||
inter[0] =
|
||||
(((a << 8) + (b - a) * opacity) >> 8) / inter[1];
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -866,10 +886,13 @@ gimp_preview_area_blend (GimpPreviewArea *area,
|
|||
|
||||
if (s1[1] == s2[1])
|
||||
{
|
||||
inter[0] = (((cmap1[0] << 8) +
|
||||
(cmap2[0] - cmap1[0]) * opacity) >> 8);
|
||||
inter[1] = (((cmap1[1] << 8) +
|
||||
(cmap2[1] - cmap1[1]) * opacity) >> 8);
|
||||
inter[2] = (((cmap1[2] << 8) +
|
||||
(cmap2[2] - cmap1[2]) * opacity) >> 8);
|
||||
inter[3] = s1[1];
|
||||
inter[0] = ((cmap1[0] << 8) + (cmap2[0] - cmap1[0]) * opacity) >> 8;
|
||||
inter[1] = ((cmap1[1] << 8) + (cmap2[1] - cmap1[1]) * opacity) >> 8;
|
||||
inter[2] = ((cmap1[2] << 8) + (cmap2[2] - cmap1[2]) * opacity) >> 8;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -877,7 +900,7 @@ gimp_preview_area_blend (GimpPreviewArea *area,
|
|||
|
||||
if (inter[3])
|
||||
{
|
||||
for (i = 0 ; i < 3 ; i++)
|
||||
for (i = 0; i < 3; i++)
|
||||
{
|
||||
gushort a = cmap1[i] * s1[1];
|
||||
gushort b = cmap2[i] * s2[1];
|
||||
|
@ -1121,18 +1144,18 @@ gimp_preview_area_mask (GimpPreviewArea *area,
|
|||
|
||||
if (s1[3] == s2[3])
|
||||
{
|
||||
inter[3] = s1[3];
|
||||
inter[0] = ((s1[0] << 8) + (s2[0] - s1[0]) * m[0]) >> 8;
|
||||
inter[1] = ((s1[1] << 8) + (s2[1] - s1[1]) * m[0]) >> 8;
|
||||
inter[2] = ((s1[2] << 8) + (s2[2] - s1[2]) * m[0]) >> 8;
|
||||
}
|
||||
inter[3] = s1[3];
|
||||
}
|
||||
else
|
||||
{
|
||||
inter[3] = ((s1[3] << 8) + (s2[3] - s1[3]) * m[0]) >> 8;
|
||||
|
||||
if (inter[3])
|
||||
{
|
||||
for (i=0 ; i<3 ; i++)
|
||||
for (i = 0; i < 3; i++)
|
||||
{
|
||||
gushort a = s1[i] * s1[3];
|
||||
gushort b = s2[i] * s2[3];
|
||||
|
@ -1160,9 +1183,12 @@ gimp_preview_area_mask (GimpPreviewArea *area,
|
|||
register guint alpha = inter[3] + 1;
|
||||
register guint check = CHECK_COLOR (area, row, col);
|
||||
|
||||
d[0] = ((check << 8) + (inter[0] - check) * alpha) >> 8;
|
||||
d[1] = ((check << 8) + (inter[1] - check) * alpha) >> 8;
|
||||
d[2] = ((check << 8) + (inter[2] - check) * alpha) >> 8;
|
||||
d[0] = (((check << 8) +
|
||||
(inter[0] - check) * alpha) >> 8);
|
||||
d[1] = (((check << 8) +
|
||||
(inter[1] - check) * alpha) >> 8);
|
||||
d[2] = (((check << 8) +
|
||||
(inter[2] - check) * alpha) >> 8);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
@ -1262,8 +1288,8 @@ gimp_preview_area_mask (GimpPreviewArea *area,
|
|||
|
||||
if (s1[1] == s2[1])
|
||||
{
|
||||
inter[1] = s1[1];
|
||||
inter[0] = ((s1[0] << 8) + (s2[0] - s1[0]) * m[0]) >> 8;
|
||||
inter[1] = s1[1];
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -1411,10 +1437,13 @@ gimp_preview_area_mask (GimpPreviewArea *area,
|
|||
|
||||
if (s1[1] == s2[1])
|
||||
{
|
||||
inter[0] = (((cmap1[0] << 8) +
|
||||
(cmap2[0] - cmap1[0]) * m[0]) >> 8);
|
||||
inter[1] = (((cmap1[1] << 8) +
|
||||
(cmap2[1] - cmap1[1]) * m[0]) >> 8);
|
||||
inter[2] = (((cmap1[2] << 8) +
|
||||
(cmap2[2] - cmap1[2]) * m[0]) >> 8);
|
||||
inter[3] = s1[1];
|
||||
inter[0] = ((cmap1[0] << 8) + (cmap2[0] - cmap1[0]) * m[0]) >> 8;
|
||||
inter[1] = ((cmap1[1] << 8) + (cmap2[1] - cmap1[1]) * m[0]) >> 8;
|
||||
inter[2] = ((cmap1[2] << 8) + (cmap2[2] - cmap1[2]) * m[0]) >> 8;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -1613,6 +1642,26 @@ gimp_preview_area_set_cmap (GimpPreviewArea *area,
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* gimp_preview_area_set_max_size:
|
||||
* @area: a #GimpPreviewArea widget
|
||||
* @width:
|
||||
* @height:
|
||||
*
|
||||
* Since: GIMP 2.2
|
||||
**/
|
||||
void
|
||||
gimp_preview_area_set_max_size (GimpPreviewArea *area,
|
||||
gint width,
|
||||
gint height)
|
||||
{
|
||||
g_return_if_fail (GIMP_IS_PREVIEW_AREA (area));
|
||||
|
||||
area->max_width = width;
|
||||
area->max_height = height;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* popup menu */
|
||||
|
||||
|
|
|
@ -44,6 +44,8 @@ struct _GimpPreviewArea
|
|||
gint rowstride;
|
||||
gint offset_x;
|
||||
gint offset_y;
|
||||
gint max_width;
|
||||
gint max_height;
|
||||
guchar *buf;
|
||||
guchar *cmap;
|
||||
};
|
||||
|
@ -54,59 +56,64 @@ struct _GimpPreviewAreaClass
|
|||
};
|
||||
|
||||
|
||||
GType gimp_preview_area_get_type (void) G_GNUC_CONST;
|
||||
GType gimp_preview_area_get_type (void) G_GNUC_CONST;
|
||||
|
||||
GtkWidget * gimp_preview_area_new (void);
|
||||
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_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,
|
||||
guchar *mask,
|
||||
gint rowstride_mask);
|
||||
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_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,
|
||||
guchar *mask,
|
||||
gint rowstride_mask);
|
||||
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_fill (GimpPreviewArea *area,
|
||||
gint x,
|
||||
gint y,
|
||||
gint width,
|
||||
gint height,
|
||||
guchar red,
|
||||
guchar green,
|
||||
guchar blue);
|
||||
void gimp_preview_area_set_offsets (GimpPreviewArea *area,
|
||||
gint x,
|
||||
gint y);
|
||||
void gimp_preview_area_set_cmap (GimpPreviewArea *area,
|
||||
const guchar *cmap,
|
||||
gint num_colors);
|
||||
void gimp_preview_area_set_offsets (GimpPreviewArea *area,
|
||||
gint x,
|
||||
gint y);
|
||||
|
||||
void gimp_preview_area_menu_popup (GimpPreviewArea *area,
|
||||
GdkEventButton *event);
|
||||
void gimp_preview_area_set_cmap (GimpPreviewArea *area,
|
||||
const guchar *cmap,
|
||||
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);
|
||||
|
||||
|
||||
#endif /* __GIMP_PREVIEW_AREA_H__ */
|
||||
|
|
|
@ -157,12 +157,14 @@ EXPORTS
|
|||
gimp_preview_area_menu_popup
|
||||
gimp_preview_area_new
|
||||
gimp_preview_area_set_cmap
|
||||
gimp_preview_area_set_max_size
|
||||
gimp_preview_draw
|
||||
gimp_preview_get_position
|
||||
gimp_preview_get_size
|
||||
gimp_preview_get_type
|
||||
gimp_preview_get_update
|
||||
gimp_preview_invalidate
|
||||
gimp_preview_set_bounds
|
||||
gimp_preview_set_update
|
||||
gimp_query_boolean_box
|
||||
gimp_query_double_box
|
||||
|
|
|
@ -469,15 +469,11 @@ gauss_dialog (gint32 image_ID,
|
|||
|
||||
vbox = gtk_vbox_new (FALSE, 12);
|
||||
gtk_container_set_border_width (GTK_CONTAINER (vbox), 12);
|
||||
gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dlg)->vbox), vbox, FALSE, FALSE, 0);
|
||||
gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dlg)->vbox), vbox, TRUE, TRUE, 0);
|
||||
gtk_widget_show (vbox);
|
||||
|
||||
hbox = gtk_hbox_new (FALSE, 0);
|
||||
gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0);
|
||||
gtk_widget_show (hbox);
|
||||
|
||||
preview = gimp_drawable_preview_new (drawable, NULL);
|
||||
gtk_box_pack_start (GTK_BOX (hbox), preview, FALSE, FALSE, 0);
|
||||
gtk_box_pack_start (GTK_BOX (vbox), preview, TRUE, TRUE, 0);
|
||||
gtk_widget_show (preview);
|
||||
|
||||
hbox = gtk_hbox_new (FALSE, 12);
|
||||
|
@ -496,7 +492,7 @@ gauss_dialog (gint32 image_ID,
|
|||
size = gimp_coordinates_new (unit, "%a", TRUE, FALSE, -1,
|
||||
GIMP_SIZE_ENTRY_UPDATE_SIZE,
|
||||
|
||||
bvals.horizontal == bvals.vertical,
|
||||
(bvals.horizontal == bvals.vertical),
|
||||
FALSE,
|
||||
|
||||
_("_Horizontal:"), bvals.horizontal, xres,
|
||||
|
@ -651,7 +647,7 @@ gauss (GimpDrawable *drawable,
|
|||
if (horz <= 0.0 && vert <= 0.0)
|
||||
{
|
||||
if (preview)
|
||||
gimp_preview_draw (preview);
|
||||
gimp_preview_draw (GIMP_PREVIEW (preview));
|
||||
|
||||
return;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue