added #define for GIMP_PREVIEW_MAX_BORDER_WIDTH instead of hardcoding it

2002-08-27  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimppreview.[ch]: added #define for
	GIMP_PREVIEW_MAX_BORDER_WIDTH instead of hardcoding it all over
	the place, cleanup.
This commit is contained in:
Michael Natterer 2002-08-27 15:31:24 +00:00 committed by Michael Natterer
parent 9b92804dcc
commit c46dedd9c5
9 changed files with 94 additions and 68 deletions

View File

@ -1,3 +1,9 @@
2002-08-27 Michael Natterer <mitch@gimp.org>
* app/widgets/gimppreview.[ch]: added #define for
GIMP_PREVIEW_MAX_BORDER_WIDTH instead of hardcoding it all over
the place, cleanup.
2002-08-27 Michael Natterer <mitch@gimp.org> 2002-08-27 Michael Natterer <mitch@gimp.org>
* app/plug-ins/plug-in.c (plug_in_close, * app/plug-ins/plug-in.c (plug_in_close,

View File

@ -513,14 +513,15 @@ gimp_preview_new (GimpViewable *viewable,
g_return_val_if_fail (GIMP_IS_VIEWABLE (viewable), NULL); g_return_val_if_fail (GIMP_IS_VIEWABLE (viewable), NULL);
g_return_val_if_fail (size > 0 && size <= GIMP_PREVIEW_MAX_SIZE, NULL); g_return_val_if_fail (size > 0 && size <= GIMP_PREVIEW_MAX_SIZE, NULL);
g_return_val_if_fail (border_width >= 0 && border_width <= 16, NULL); g_return_val_if_fail (border_width >= 0 &&
border_width <= GIMP_PREVIEW_MAX_BORDER_WIDTH, NULL);
viewable_type = G_TYPE_FROM_INSTANCE (viewable); viewable_type = G_TYPE_FROM_INSTANCE (viewable);
preview = g_object_new (gimp_preview_type_from_viewable_type (viewable_type), preview = g_object_new (gimp_preview_type_from_viewable_type (viewable_type),
NULL); NULL);
preview->is_popup = is_popup; preview->is_popup = is_popup ? TRUE : FALSE;
gimp_preview_set_viewable (preview, viewable); gimp_preview_set_viewable (preview, viewable);
@ -544,16 +545,17 @@ gimp_preview_new_full (GimpViewable *viewable,
g_return_val_if_fail (GIMP_IS_VIEWABLE (viewable), NULL); g_return_val_if_fail (GIMP_IS_VIEWABLE (viewable), NULL);
g_return_val_if_fail (width > 0 && width <= GIMP_PREVIEW_MAX_SIZE, NULL); g_return_val_if_fail (width > 0 && width <= GIMP_PREVIEW_MAX_SIZE, NULL);
g_return_val_if_fail (height > 0 && height <= GIMP_PREVIEW_MAX_SIZE, NULL); g_return_val_if_fail (height > 0 && height <= GIMP_PREVIEW_MAX_SIZE, NULL);
g_return_val_if_fail (border_width >= 0 && border_width <= 16, NULL); g_return_val_if_fail (border_width >= 0 &&
border_width <= GIMP_PREVIEW_MAX_BORDER_WIDTH, NULL);
viewable_type = G_TYPE_FROM_INSTANCE (viewable); viewable_type = G_TYPE_FROM_INSTANCE (viewable);
preview = g_object_new (gimp_preview_type_from_viewable_type (viewable_type), preview = g_object_new (gimp_preview_type_from_viewable_type (viewable_type),
NULL); NULL);
preview->is_popup = is_popup; preview->is_popup = is_popup ? TRUE : FALSE;
preview->clickable = clickable; preview->clickable = clickable ? TRUE : FALSE;
preview->show_popup = show_popup; preview->show_popup = show_popup ? TRUE : FALSE;
gimp_preview_set_viewable (preview, viewable); gimp_preview_set_viewable (preview, viewable);
@ -572,12 +574,13 @@ gimp_preview_new_by_type (GType viewable_type,
g_return_val_if_fail (g_type_is_a (viewable_type, GIMP_TYPE_VIEWABLE), NULL); g_return_val_if_fail (g_type_is_a (viewable_type, GIMP_TYPE_VIEWABLE), NULL);
g_return_val_if_fail (size > 0 && size <= GIMP_PREVIEW_MAX_SIZE, NULL); g_return_val_if_fail (size > 0 && size <= GIMP_PREVIEW_MAX_SIZE, NULL);
g_return_val_if_fail (border_width >= 0 && border_width <= 16, NULL); g_return_val_if_fail (border_width >= 0 &&
border_width <= GIMP_PREVIEW_MAX_BORDER_WIDTH, NULL);
preview = g_object_new (gimp_preview_type_from_viewable_type (viewable_type), preview = g_object_new (gimp_preview_type_from_viewable_type (viewable_type),
NULL); NULL);
preview->is_popup = is_popup; preview->is_popup = is_popup ? TRUE : FALSE;
preview->size = size; preview->size = size;
preview->border_width = border_width; preview->border_width = border_width;
@ -588,13 +591,13 @@ void
gimp_preview_set_viewable (GimpPreview *preview, gimp_preview_set_viewable (GimpPreview *preview,
GimpViewable *viewable) GimpViewable *viewable)
{ {
GType viewable_type = G_TYPE_NONE;
g_return_if_fail (GIMP_IS_PREVIEW (preview)); g_return_if_fail (GIMP_IS_PREVIEW (preview));
g_return_if_fail (! viewable || GIMP_IS_VIEWABLE (viewable)); g_return_if_fail (! viewable || GIMP_IS_VIEWABLE (viewable));
if (viewable) if (viewable)
{ {
GType viewable_type;
viewable_type = G_TYPE_FROM_INSTANCE (viewable); viewable_type = G_TYPE_FROM_INSTANCE (viewable);
g_return_if_fail (g_type_is_a (G_TYPE_FROM_INSTANCE (preview), g_return_if_fail (g_type_is_a (G_TYPE_FROM_INSTANCE (preview),
@ -622,16 +625,15 @@ gimp_preview_set_viewable (GimpPreview *preview,
g_signal_handlers_disconnect_by_func (G_OBJECT (preview->viewable), g_signal_handlers_disconnect_by_func (G_OBJECT (preview->viewable),
G_CALLBACK (gimp_preview_size_changed), G_CALLBACK (gimp_preview_size_changed),
preview); preview);
} }
else if (viewable && ! preview->is_popup) else if (viewable && ! preview->is_popup)
{ {
gimp_gtk_drag_source_set_by_type (GTK_WIDGET (preview), gimp_gtk_drag_source_set_by_type (GTK_WIDGET (preview),
GDK_BUTTON1_MASK | GDK_BUTTON2_MASK, GDK_BUTTON1_MASK | GDK_BUTTON2_MASK,
G_TYPE_FROM_INSTANCE (viewable), viewable_type,
GDK_ACTION_COPY); GDK_ACTION_COPY);
gimp_dnd_viewable_source_set (GTK_WIDGET (preview), gimp_dnd_viewable_source_set (GTK_WIDGET (preview),
G_TYPE_FROM_INSTANCE (viewable), viewable_type,
gimp_preview_drag_viewable, gimp_preview_drag_viewable,
NULL); NULL);
} }
@ -673,7 +675,8 @@ gimp_preview_set_size (GimpPreview *preview,
g_return_if_fail (GIMP_IS_PREVIEW (preview)); g_return_if_fail (GIMP_IS_PREVIEW (preview));
g_return_if_fail (preview_size > 0 && preview_size <= GIMP_PREVIEW_MAX_SIZE); g_return_if_fail (preview_size > 0 && preview_size <= GIMP_PREVIEW_MAX_SIZE);
g_return_if_fail (border_width >= 0 && border_width <= 16); g_return_if_fail (border_width >= 0 &&
border_width <= GIMP_PREVIEW_MAX_BORDER_WIDTH);
preview->size = preview_size; preview->size = preview_size;
@ -694,7 +697,8 @@ gimp_preview_set_size_full (GimpPreview *preview,
g_return_if_fail (GIMP_IS_PREVIEW (preview)); g_return_if_fail (GIMP_IS_PREVIEW (preview));
g_return_if_fail (width > 0 && width <= GIMP_PREVIEW_MAX_SIZE); g_return_if_fail (width > 0 && width <= GIMP_PREVIEW_MAX_SIZE);
g_return_if_fail (height > 0 && height <= GIMP_PREVIEW_MAX_SIZE); g_return_if_fail (height > 0 && height <= GIMP_PREVIEW_MAX_SIZE);
g_return_if_fail (border_width >= 0 && border_width <= 16); g_return_if_fail (border_width >= 0 &&
border_width <= GIMP_PREVIEW_MAX_BORDER_WIDTH);
preview->width = width; preview->width = width;
preview->height = height; preview->height = height;

View File

@ -26,8 +26,9 @@
#include <gtk/gtkdrawingarea.h> #include <gtk/gtkdrawingarea.h>
#define GIMP_PREVIEW_MAX_SIZE 1024 #define GIMP_PREVIEW_MAX_SIZE 1024
#define GIMP_PREVIEW_MAX_POPUP_SIZE 256 #define GIMP_PREVIEW_MAX_POPUP_SIZE 256
#define GIMP_PREVIEW_MAX_BORDER_WIDTH 16
#define GIMP_TYPE_PREVIEW (gimp_preview_get_type ()) #define GIMP_TYPE_PREVIEW (gimp_preview_get_type ())

View File

@ -513,14 +513,15 @@ gimp_preview_new (GimpViewable *viewable,
g_return_val_if_fail (GIMP_IS_VIEWABLE (viewable), NULL); g_return_val_if_fail (GIMP_IS_VIEWABLE (viewable), NULL);
g_return_val_if_fail (size > 0 && size <= GIMP_PREVIEW_MAX_SIZE, NULL); g_return_val_if_fail (size > 0 && size <= GIMP_PREVIEW_MAX_SIZE, NULL);
g_return_val_if_fail (border_width >= 0 && border_width <= 16, NULL); g_return_val_if_fail (border_width >= 0 &&
border_width <= GIMP_PREVIEW_MAX_BORDER_WIDTH, NULL);
viewable_type = G_TYPE_FROM_INSTANCE (viewable); viewable_type = G_TYPE_FROM_INSTANCE (viewable);
preview = g_object_new (gimp_preview_type_from_viewable_type (viewable_type), preview = g_object_new (gimp_preview_type_from_viewable_type (viewable_type),
NULL); NULL);
preview->is_popup = is_popup; preview->is_popup = is_popup ? TRUE : FALSE;
gimp_preview_set_viewable (preview, viewable); gimp_preview_set_viewable (preview, viewable);
@ -544,16 +545,17 @@ gimp_preview_new_full (GimpViewable *viewable,
g_return_val_if_fail (GIMP_IS_VIEWABLE (viewable), NULL); g_return_val_if_fail (GIMP_IS_VIEWABLE (viewable), NULL);
g_return_val_if_fail (width > 0 && width <= GIMP_PREVIEW_MAX_SIZE, NULL); g_return_val_if_fail (width > 0 && width <= GIMP_PREVIEW_MAX_SIZE, NULL);
g_return_val_if_fail (height > 0 && height <= GIMP_PREVIEW_MAX_SIZE, NULL); g_return_val_if_fail (height > 0 && height <= GIMP_PREVIEW_MAX_SIZE, NULL);
g_return_val_if_fail (border_width >= 0 && border_width <= 16, NULL); g_return_val_if_fail (border_width >= 0 &&
border_width <= GIMP_PREVIEW_MAX_BORDER_WIDTH, NULL);
viewable_type = G_TYPE_FROM_INSTANCE (viewable); viewable_type = G_TYPE_FROM_INSTANCE (viewable);
preview = g_object_new (gimp_preview_type_from_viewable_type (viewable_type), preview = g_object_new (gimp_preview_type_from_viewable_type (viewable_type),
NULL); NULL);
preview->is_popup = is_popup; preview->is_popup = is_popup ? TRUE : FALSE;
preview->clickable = clickable; preview->clickable = clickable ? TRUE : FALSE;
preview->show_popup = show_popup; preview->show_popup = show_popup ? TRUE : FALSE;
gimp_preview_set_viewable (preview, viewable); gimp_preview_set_viewable (preview, viewable);
@ -572,12 +574,13 @@ gimp_preview_new_by_type (GType viewable_type,
g_return_val_if_fail (g_type_is_a (viewable_type, GIMP_TYPE_VIEWABLE), NULL); g_return_val_if_fail (g_type_is_a (viewable_type, GIMP_TYPE_VIEWABLE), NULL);
g_return_val_if_fail (size > 0 && size <= GIMP_PREVIEW_MAX_SIZE, NULL); g_return_val_if_fail (size > 0 && size <= GIMP_PREVIEW_MAX_SIZE, NULL);
g_return_val_if_fail (border_width >= 0 && border_width <= 16, NULL); g_return_val_if_fail (border_width >= 0 &&
border_width <= GIMP_PREVIEW_MAX_BORDER_WIDTH, NULL);
preview = g_object_new (gimp_preview_type_from_viewable_type (viewable_type), preview = g_object_new (gimp_preview_type_from_viewable_type (viewable_type),
NULL); NULL);
preview->is_popup = is_popup; preview->is_popup = is_popup ? TRUE : FALSE;
preview->size = size; preview->size = size;
preview->border_width = border_width; preview->border_width = border_width;
@ -588,13 +591,13 @@ void
gimp_preview_set_viewable (GimpPreview *preview, gimp_preview_set_viewable (GimpPreview *preview,
GimpViewable *viewable) GimpViewable *viewable)
{ {
GType viewable_type = G_TYPE_NONE;
g_return_if_fail (GIMP_IS_PREVIEW (preview)); g_return_if_fail (GIMP_IS_PREVIEW (preview));
g_return_if_fail (! viewable || GIMP_IS_VIEWABLE (viewable)); g_return_if_fail (! viewable || GIMP_IS_VIEWABLE (viewable));
if (viewable) if (viewable)
{ {
GType viewable_type;
viewable_type = G_TYPE_FROM_INSTANCE (viewable); viewable_type = G_TYPE_FROM_INSTANCE (viewable);
g_return_if_fail (g_type_is_a (G_TYPE_FROM_INSTANCE (preview), g_return_if_fail (g_type_is_a (G_TYPE_FROM_INSTANCE (preview),
@ -622,16 +625,15 @@ gimp_preview_set_viewable (GimpPreview *preview,
g_signal_handlers_disconnect_by_func (G_OBJECT (preview->viewable), g_signal_handlers_disconnect_by_func (G_OBJECT (preview->viewable),
G_CALLBACK (gimp_preview_size_changed), G_CALLBACK (gimp_preview_size_changed),
preview); preview);
} }
else if (viewable && ! preview->is_popup) else if (viewable && ! preview->is_popup)
{ {
gimp_gtk_drag_source_set_by_type (GTK_WIDGET (preview), gimp_gtk_drag_source_set_by_type (GTK_WIDGET (preview),
GDK_BUTTON1_MASK | GDK_BUTTON2_MASK, GDK_BUTTON1_MASK | GDK_BUTTON2_MASK,
G_TYPE_FROM_INSTANCE (viewable), viewable_type,
GDK_ACTION_COPY); GDK_ACTION_COPY);
gimp_dnd_viewable_source_set (GTK_WIDGET (preview), gimp_dnd_viewable_source_set (GTK_WIDGET (preview),
G_TYPE_FROM_INSTANCE (viewable), viewable_type,
gimp_preview_drag_viewable, gimp_preview_drag_viewable,
NULL); NULL);
} }
@ -673,7 +675,8 @@ gimp_preview_set_size (GimpPreview *preview,
g_return_if_fail (GIMP_IS_PREVIEW (preview)); g_return_if_fail (GIMP_IS_PREVIEW (preview));
g_return_if_fail (preview_size > 0 && preview_size <= GIMP_PREVIEW_MAX_SIZE); g_return_if_fail (preview_size > 0 && preview_size <= GIMP_PREVIEW_MAX_SIZE);
g_return_if_fail (border_width >= 0 && border_width <= 16); g_return_if_fail (border_width >= 0 &&
border_width <= GIMP_PREVIEW_MAX_BORDER_WIDTH);
preview->size = preview_size; preview->size = preview_size;
@ -694,7 +697,8 @@ gimp_preview_set_size_full (GimpPreview *preview,
g_return_if_fail (GIMP_IS_PREVIEW (preview)); g_return_if_fail (GIMP_IS_PREVIEW (preview));
g_return_if_fail (width > 0 && width <= GIMP_PREVIEW_MAX_SIZE); g_return_if_fail (width > 0 && width <= GIMP_PREVIEW_MAX_SIZE);
g_return_if_fail (height > 0 && height <= GIMP_PREVIEW_MAX_SIZE); g_return_if_fail (height > 0 && height <= GIMP_PREVIEW_MAX_SIZE);
g_return_if_fail (border_width >= 0 && border_width <= 16); g_return_if_fail (border_width >= 0 &&
border_width <= GIMP_PREVIEW_MAX_BORDER_WIDTH);
preview->width = width; preview->width = width;
preview->height = height; preview->height = height;

View File

@ -26,8 +26,9 @@
#include <gtk/gtkdrawingarea.h> #include <gtk/gtkdrawingarea.h>
#define GIMP_PREVIEW_MAX_SIZE 1024 #define GIMP_PREVIEW_MAX_SIZE 1024
#define GIMP_PREVIEW_MAX_POPUP_SIZE 256 #define GIMP_PREVIEW_MAX_POPUP_SIZE 256
#define GIMP_PREVIEW_MAX_BORDER_WIDTH 16
#define GIMP_TYPE_PREVIEW (gimp_preview_get_type ()) #define GIMP_TYPE_PREVIEW (gimp_preview_get_type ())

View File

@ -513,14 +513,15 @@ gimp_preview_new (GimpViewable *viewable,
g_return_val_if_fail (GIMP_IS_VIEWABLE (viewable), NULL); g_return_val_if_fail (GIMP_IS_VIEWABLE (viewable), NULL);
g_return_val_if_fail (size > 0 && size <= GIMP_PREVIEW_MAX_SIZE, NULL); g_return_val_if_fail (size > 0 && size <= GIMP_PREVIEW_MAX_SIZE, NULL);
g_return_val_if_fail (border_width >= 0 && border_width <= 16, NULL); g_return_val_if_fail (border_width >= 0 &&
border_width <= GIMP_PREVIEW_MAX_BORDER_WIDTH, NULL);
viewable_type = G_TYPE_FROM_INSTANCE (viewable); viewable_type = G_TYPE_FROM_INSTANCE (viewable);
preview = g_object_new (gimp_preview_type_from_viewable_type (viewable_type), preview = g_object_new (gimp_preview_type_from_viewable_type (viewable_type),
NULL); NULL);
preview->is_popup = is_popup; preview->is_popup = is_popup ? TRUE : FALSE;
gimp_preview_set_viewable (preview, viewable); gimp_preview_set_viewable (preview, viewable);
@ -544,16 +545,17 @@ gimp_preview_new_full (GimpViewable *viewable,
g_return_val_if_fail (GIMP_IS_VIEWABLE (viewable), NULL); g_return_val_if_fail (GIMP_IS_VIEWABLE (viewable), NULL);
g_return_val_if_fail (width > 0 && width <= GIMP_PREVIEW_MAX_SIZE, NULL); g_return_val_if_fail (width > 0 && width <= GIMP_PREVIEW_MAX_SIZE, NULL);
g_return_val_if_fail (height > 0 && height <= GIMP_PREVIEW_MAX_SIZE, NULL); g_return_val_if_fail (height > 0 && height <= GIMP_PREVIEW_MAX_SIZE, NULL);
g_return_val_if_fail (border_width >= 0 && border_width <= 16, NULL); g_return_val_if_fail (border_width >= 0 &&
border_width <= GIMP_PREVIEW_MAX_BORDER_WIDTH, NULL);
viewable_type = G_TYPE_FROM_INSTANCE (viewable); viewable_type = G_TYPE_FROM_INSTANCE (viewable);
preview = g_object_new (gimp_preview_type_from_viewable_type (viewable_type), preview = g_object_new (gimp_preview_type_from_viewable_type (viewable_type),
NULL); NULL);
preview->is_popup = is_popup; preview->is_popup = is_popup ? TRUE : FALSE;
preview->clickable = clickable; preview->clickable = clickable ? TRUE : FALSE;
preview->show_popup = show_popup; preview->show_popup = show_popup ? TRUE : FALSE;
gimp_preview_set_viewable (preview, viewable); gimp_preview_set_viewable (preview, viewable);
@ -572,12 +574,13 @@ gimp_preview_new_by_type (GType viewable_type,
g_return_val_if_fail (g_type_is_a (viewable_type, GIMP_TYPE_VIEWABLE), NULL); g_return_val_if_fail (g_type_is_a (viewable_type, GIMP_TYPE_VIEWABLE), NULL);
g_return_val_if_fail (size > 0 && size <= GIMP_PREVIEW_MAX_SIZE, NULL); g_return_val_if_fail (size > 0 && size <= GIMP_PREVIEW_MAX_SIZE, NULL);
g_return_val_if_fail (border_width >= 0 && border_width <= 16, NULL); g_return_val_if_fail (border_width >= 0 &&
border_width <= GIMP_PREVIEW_MAX_BORDER_WIDTH, NULL);
preview = g_object_new (gimp_preview_type_from_viewable_type (viewable_type), preview = g_object_new (gimp_preview_type_from_viewable_type (viewable_type),
NULL); NULL);
preview->is_popup = is_popup; preview->is_popup = is_popup ? TRUE : FALSE;
preview->size = size; preview->size = size;
preview->border_width = border_width; preview->border_width = border_width;
@ -588,13 +591,13 @@ void
gimp_preview_set_viewable (GimpPreview *preview, gimp_preview_set_viewable (GimpPreview *preview,
GimpViewable *viewable) GimpViewable *viewable)
{ {
GType viewable_type = G_TYPE_NONE;
g_return_if_fail (GIMP_IS_PREVIEW (preview)); g_return_if_fail (GIMP_IS_PREVIEW (preview));
g_return_if_fail (! viewable || GIMP_IS_VIEWABLE (viewable)); g_return_if_fail (! viewable || GIMP_IS_VIEWABLE (viewable));
if (viewable) if (viewable)
{ {
GType viewable_type;
viewable_type = G_TYPE_FROM_INSTANCE (viewable); viewable_type = G_TYPE_FROM_INSTANCE (viewable);
g_return_if_fail (g_type_is_a (G_TYPE_FROM_INSTANCE (preview), g_return_if_fail (g_type_is_a (G_TYPE_FROM_INSTANCE (preview),
@ -622,16 +625,15 @@ gimp_preview_set_viewable (GimpPreview *preview,
g_signal_handlers_disconnect_by_func (G_OBJECT (preview->viewable), g_signal_handlers_disconnect_by_func (G_OBJECT (preview->viewable),
G_CALLBACK (gimp_preview_size_changed), G_CALLBACK (gimp_preview_size_changed),
preview); preview);
} }
else if (viewable && ! preview->is_popup) else if (viewable && ! preview->is_popup)
{ {
gimp_gtk_drag_source_set_by_type (GTK_WIDGET (preview), gimp_gtk_drag_source_set_by_type (GTK_WIDGET (preview),
GDK_BUTTON1_MASK | GDK_BUTTON2_MASK, GDK_BUTTON1_MASK | GDK_BUTTON2_MASK,
G_TYPE_FROM_INSTANCE (viewable), viewable_type,
GDK_ACTION_COPY); GDK_ACTION_COPY);
gimp_dnd_viewable_source_set (GTK_WIDGET (preview), gimp_dnd_viewable_source_set (GTK_WIDGET (preview),
G_TYPE_FROM_INSTANCE (viewable), viewable_type,
gimp_preview_drag_viewable, gimp_preview_drag_viewable,
NULL); NULL);
} }
@ -673,7 +675,8 @@ gimp_preview_set_size (GimpPreview *preview,
g_return_if_fail (GIMP_IS_PREVIEW (preview)); g_return_if_fail (GIMP_IS_PREVIEW (preview));
g_return_if_fail (preview_size > 0 && preview_size <= GIMP_PREVIEW_MAX_SIZE); g_return_if_fail (preview_size > 0 && preview_size <= GIMP_PREVIEW_MAX_SIZE);
g_return_if_fail (border_width >= 0 && border_width <= 16); g_return_if_fail (border_width >= 0 &&
border_width <= GIMP_PREVIEW_MAX_BORDER_WIDTH);
preview->size = preview_size; preview->size = preview_size;
@ -694,7 +697,8 @@ gimp_preview_set_size_full (GimpPreview *preview,
g_return_if_fail (GIMP_IS_PREVIEW (preview)); g_return_if_fail (GIMP_IS_PREVIEW (preview));
g_return_if_fail (width > 0 && width <= GIMP_PREVIEW_MAX_SIZE); g_return_if_fail (width > 0 && width <= GIMP_PREVIEW_MAX_SIZE);
g_return_if_fail (height > 0 && height <= GIMP_PREVIEW_MAX_SIZE); g_return_if_fail (height > 0 && height <= GIMP_PREVIEW_MAX_SIZE);
g_return_if_fail (border_width >= 0 && border_width <= 16); g_return_if_fail (border_width >= 0 &&
border_width <= GIMP_PREVIEW_MAX_BORDER_WIDTH);
preview->width = width; preview->width = width;
preview->height = height; preview->height = height;

View File

@ -26,8 +26,9 @@
#include <gtk/gtkdrawingarea.h> #include <gtk/gtkdrawingarea.h>
#define GIMP_PREVIEW_MAX_SIZE 1024 #define GIMP_PREVIEW_MAX_SIZE 1024
#define GIMP_PREVIEW_MAX_POPUP_SIZE 256 #define GIMP_PREVIEW_MAX_POPUP_SIZE 256
#define GIMP_PREVIEW_MAX_BORDER_WIDTH 16
#define GIMP_TYPE_PREVIEW (gimp_preview_get_type ()) #define GIMP_TYPE_PREVIEW (gimp_preview_get_type ())

View File

@ -513,14 +513,15 @@ gimp_preview_new (GimpViewable *viewable,
g_return_val_if_fail (GIMP_IS_VIEWABLE (viewable), NULL); g_return_val_if_fail (GIMP_IS_VIEWABLE (viewable), NULL);
g_return_val_if_fail (size > 0 && size <= GIMP_PREVIEW_MAX_SIZE, NULL); g_return_val_if_fail (size > 0 && size <= GIMP_PREVIEW_MAX_SIZE, NULL);
g_return_val_if_fail (border_width >= 0 && border_width <= 16, NULL); g_return_val_if_fail (border_width >= 0 &&
border_width <= GIMP_PREVIEW_MAX_BORDER_WIDTH, NULL);
viewable_type = G_TYPE_FROM_INSTANCE (viewable); viewable_type = G_TYPE_FROM_INSTANCE (viewable);
preview = g_object_new (gimp_preview_type_from_viewable_type (viewable_type), preview = g_object_new (gimp_preview_type_from_viewable_type (viewable_type),
NULL); NULL);
preview->is_popup = is_popup; preview->is_popup = is_popup ? TRUE : FALSE;
gimp_preview_set_viewable (preview, viewable); gimp_preview_set_viewable (preview, viewable);
@ -544,16 +545,17 @@ gimp_preview_new_full (GimpViewable *viewable,
g_return_val_if_fail (GIMP_IS_VIEWABLE (viewable), NULL); g_return_val_if_fail (GIMP_IS_VIEWABLE (viewable), NULL);
g_return_val_if_fail (width > 0 && width <= GIMP_PREVIEW_MAX_SIZE, NULL); g_return_val_if_fail (width > 0 && width <= GIMP_PREVIEW_MAX_SIZE, NULL);
g_return_val_if_fail (height > 0 && height <= GIMP_PREVIEW_MAX_SIZE, NULL); g_return_val_if_fail (height > 0 && height <= GIMP_PREVIEW_MAX_SIZE, NULL);
g_return_val_if_fail (border_width >= 0 && border_width <= 16, NULL); g_return_val_if_fail (border_width >= 0 &&
border_width <= GIMP_PREVIEW_MAX_BORDER_WIDTH, NULL);
viewable_type = G_TYPE_FROM_INSTANCE (viewable); viewable_type = G_TYPE_FROM_INSTANCE (viewable);
preview = g_object_new (gimp_preview_type_from_viewable_type (viewable_type), preview = g_object_new (gimp_preview_type_from_viewable_type (viewable_type),
NULL); NULL);
preview->is_popup = is_popup; preview->is_popup = is_popup ? TRUE : FALSE;
preview->clickable = clickable; preview->clickable = clickable ? TRUE : FALSE;
preview->show_popup = show_popup; preview->show_popup = show_popup ? TRUE : FALSE;
gimp_preview_set_viewable (preview, viewable); gimp_preview_set_viewable (preview, viewable);
@ -572,12 +574,13 @@ gimp_preview_new_by_type (GType viewable_type,
g_return_val_if_fail (g_type_is_a (viewable_type, GIMP_TYPE_VIEWABLE), NULL); g_return_val_if_fail (g_type_is_a (viewable_type, GIMP_TYPE_VIEWABLE), NULL);
g_return_val_if_fail (size > 0 && size <= GIMP_PREVIEW_MAX_SIZE, NULL); g_return_val_if_fail (size > 0 && size <= GIMP_PREVIEW_MAX_SIZE, NULL);
g_return_val_if_fail (border_width >= 0 && border_width <= 16, NULL); g_return_val_if_fail (border_width >= 0 &&
border_width <= GIMP_PREVIEW_MAX_BORDER_WIDTH, NULL);
preview = g_object_new (gimp_preview_type_from_viewable_type (viewable_type), preview = g_object_new (gimp_preview_type_from_viewable_type (viewable_type),
NULL); NULL);
preview->is_popup = is_popup; preview->is_popup = is_popup ? TRUE : FALSE;
preview->size = size; preview->size = size;
preview->border_width = border_width; preview->border_width = border_width;
@ -588,13 +591,13 @@ void
gimp_preview_set_viewable (GimpPreview *preview, gimp_preview_set_viewable (GimpPreview *preview,
GimpViewable *viewable) GimpViewable *viewable)
{ {
GType viewable_type = G_TYPE_NONE;
g_return_if_fail (GIMP_IS_PREVIEW (preview)); g_return_if_fail (GIMP_IS_PREVIEW (preview));
g_return_if_fail (! viewable || GIMP_IS_VIEWABLE (viewable)); g_return_if_fail (! viewable || GIMP_IS_VIEWABLE (viewable));
if (viewable) if (viewable)
{ {
GType viewable_type;
viewable_type = G_TYPE_FROM_INSTANCE (viewable); viewable_type = G_TYPE_FROM_INSTANCE (viewable);
g_return_if_fail (g_type_is_a (G_TYPE_FROM_INSTANCE (preview), g_return_if_fail (g_type_is_a (G_TYPE_FROM_INSTANCE (preview),
@ -622,16 +625,15 @@ gimp_preview_set_viewable (GimpPreview *preview,
g_signal_handlers_disconnect_by_func (G_OBJECT (preview->viewable), g_signal_handlers_disconnect_by_func (G_OBJECT (preview->viewable),
G_CALLBACK (gimp_preview_size_changed), G_CALLBACK (gimp_preview_size_changed),
preview); preview);
} }
else if (viewable && ! preview->is_popup) else if (viewable && ! preview->is_popup)
{ {
gimp_gtk_drag_source_set_by_type (GTK_WIDGET (preview), gimp_gtk_drag_source_set_by_type (GTK_WIDGET (preview),
GDK_BUTTON1_MASK | GDK_BUTTON2_MASK, GDK_BUTTON1_MASK | GDK_BUTTON2_MASK,
G_TYPE_FROM_INSTANCE (viewable), viewable_type,
GDK_ACTION_COPY); GDK_ACTION_COPY);
gimp_dnd_viewable_source_set (GTK_WIDGET (preview), gimp_dnd_viewable_source_set (GTK_WIDGET (preview),
G_TYPE_FROM_INSTANCE (viewable), viewable_type,
gimp_preview_drag_viewable, gimp_preview_drag_viewable,
NULL); NULL);
} }
@ -673,7 +675,8 @@ gimp_preview_set_size (GimpPreview *preview,
g_return_if_fail (GIMP_IS_PREVIEW (preview)); g_return_if_fail (GIMP_IS_PREVIEW (preview));
g_return_if_fail (preview_size > 0 && preview_size <= GIMP_PREVIEW_MAX_SIZE); g_return_if_fail (preview_size > 0 && preview_size <= GIMP_PREVIEW_MAX_SIZE);
g_return_if_fail (border_width >= 0 && border_width <= 16); g_return_if_fail (border_width >= 0 &&
border_width <= GIMP_PREVIEW_MAX_BORDER_WIDTH);
preview->size = preview_size; preview->size = preview_size;
@ -694,7 +697,8 @@ gimp_preview_set_size_full (GimpPreview *preview,
g_return_if_fail (GIMP_IS_PREVIEW (preview)); g_return_if_fail (GIMP_IS_PREVIEW (preview));
g_return_if_fail (width > 0 && width <= GIMP_PREVIEW_MAX_SIZE); g_return_if_fail (width > 0 && width <= GIMP_PREVIEW_MAX_SIZE);
g_return_if_fail (height > 0 && height <= GIMP_PREVIEW_MAX_SIZE); g_return_if_fail (height > 0 && height <= GIMP_PREVIEW_MAX_SIZE);
g_return_if_fail (border_width >= 0 && border_width <= 16); g_return_if_fail (border_width >= 0 &&
border_width <= GIMP_PREVIEW_MAX_BORDER_WIDTH);
preview->width = width; preview->width = width;
preview->height = height; preview->height = height;

View File

@ -26,8 +26,9 @@
#include <gtk/gtkdrawingarea.h> #include <gtk/gtkdrawingarea.h>
#define GIMP_PREVIEW_MAX_SIZE 1024 #define GIMP_PREVIEW_MAX_SIZE 1024
#define GIMP_PREVIEW_MAX_POPUP_SIZE 256 #define GIMP_PREVIEW_MAX_POPUP_SIZE 256
#define GIMP_PREVIEW_MAX_BORDER_WIDTH 16
#define GIMP_TYPE_PREVIEW (gimp_preview_get_type ()) #define GIMP_TYPE_PREVIEW (gimp_preview_get_type ())