mirror of
https://gitlab.gnome.org/GNOME/gimp
synced 2024-10-20 09:09:08 +00:00
connect to size allocations of the navigation preview's parent container
2002-05-11 Michael Natterer <mitch@gimp.org> * app/display/gimpnavigationview.c: connect to size allocations of the navigation preview's parent container and resize it so it takes all available space. * app/widgets/gimppreview.[ch]: replaced magic values by public #defines of GIMP_PREVIEW_MAX_SIZE and GIMP_PREVIEW_MAX_POPUP_SIZE. Increased the maximum preview size to 1024. Don't call the virtual get_size() function if preview->viewable is NULL but call gimp_preview_real_get_size() directly. * app/widgets/gimpbufferpreview.c * app/widgets/gimpcomponentlistitem.c * app/widgets/gimpcontainermenu.c * app/widgets/gimpdrawablepreview.c * app/widgets/gimpimagepreview.c * app/widgets/gimplistitem.c * app/widgets/gimpmenuitem.c * app/widgets/gimpnavigationpreview.c: replaced magic values by the new costants.
This commit is contained in:
parent
5a024d973b
commit
384a2a851e
22
ChangeLog
22
ChangeLog
|
@ -1,3 +1,25 @@
|
|||
2002-05-11 Michael Natterer <mitch@gimp.org>
|
||||
|
||||
* app/display/gimpnavigationview.c: connect to size allocations of
|
||||
the navigation preview's parent container and resize it so it
|
||||
takes all available space.
|
||||
|
||||
* app/widgets/gimppreview.[ch]: replaced magic values by public
|
||||
#defines of GIMP_PREVIEW_MAX_SIZE and GIMP_PREVIEW_MAX_POPUP_SIZE.
|
||||
Increased the maximum preview size to 1024. Don't call the virtual
|
||||
get_size() function if preview->viewable is NULL but call
|
||||
gimp_preview_real_get_size() directly.
|
||||
|
||||
* app/widgets/gimpbufferpreview.c
|
||||
* app/widgets/gimpcomponentlistitem.c
|
||||
* app/widgets/gimpcontainermenu.c
|
||||
* app/widgets/gimpdrawablepreview.c
|
||||
* app/widgets/gimpimagepreview.c
|
||||
* app/widgets/gimplistitem.c
|
||||
* app/widgets/gimpmenuitem.c
|
||||
* app/widgets/gimpnavigationpreview.c: replaced magic values by
|
||||
the new costants.
|
||||
|
||||
2002-05-11 Michael Natterer <mitch@gimp.org>
|
||||
|
||||
* app/widgets/gimpcolormapeditor.c: Added a comment to explain why
|
||||
|
|
|
@ -56,9 +56,12 @@ static void gimp_navigation_view_init (GimpNavigationView *view);
|
|||
static GtkWidget * gimp_navigation_view_new_private (GimpDisplayShell *shell,
|
||||
gboolean popup);
|
||||
|
||||
static gboolean gimp_navigation_view_button_release (GtkWidget *widget,
|
||||
GdkEventButton *bevent,
|
||||
GimpDisplayShell *shell);
|
||||
static gboolean gimp_navigation_view_button_release (GtkWidget *widget,
|
||||
GdkEventButton *bevent,
|
||||
GimpDisplayShell *shell);
|
||||
static void gimp_navigation_view_abox_resized (GtkWidget *widget,
|
||||
GtkAllocation *allocation,
|
||||
GimpNavigationView *view);
|
||||
static void gimp_navigation_view_marker_changed (GimpNavigationPreview *preview,
|
||||
gint x,
|
||||
gint y,
|
||||
|
@ -151,6 +154,14 @@ gimp_navigation_view_init (GimpNavigationView *view)
|
|||
gtk_container_add (GTK_CONTAINER (frame), abox);
|
||||
gtk_widget_show (abox);
|
||||
|
||||
gtk_widget_set_size_request (abox,
|
||||
gimprc.nav_preview_size,
|
||||
gimprc.nav_preview_size);
|
||||
|
||||
g_signal_connect (G_OBJECT (abox), "size_allocate",
|
||||
G_CALLBACK (gimp_navigation_view_abox_resized),
|
||||
view);
|
||||
|
||||
view->preview = gimp_navigation_preview_new (NULL, gimprc.nav_preview_size);
|
||||
gtk_container_add (GTK_CONTAINER (abox), view->preview);
|
||||
gtk_widget_show (view->preview);
|
||||
|
@ -419,6 +430,67 @@ gimp_navigation_view_button_release (GtkWidget *widget,
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
static void
|
||||
gimp_navigation_view_abox_resized (GtkWidget *widget,
|
||||
GtkAllocation *allocation,
|
||||
GimpNavigationView *view)
|
||||
{
|
||||
GimpPreview *preview;
|
||||
|
||||
preview = GIMP_PREVIEW (view->preview);
|
||||
|
||||
if (! preview->viewable)
|
||||
return;
|
||||
|
||||
if (preview->width > allocation->width ||
|
||||
preview->height > allocation->height ||
|
||||
(preview->width != allocation->width &&
|
||||
preview->height != allocation->height))
|
||||
{
|
||||
GimpNavigationPreview *nav_preview;
|
||||
GimpImage *gimage;
|
||||
gint width;
|
||||
gint height;
|
||||
gboolean dummy;
|
||||
|
||||
gimage = GIMP_IMAGE (preview->viewable);
|
||||
|
||||
gimp_preview_calc_size (preview,
|
||||
gimage->width,
|
||||
gimage->height,
|
||||
MIN (allocation->width, GIMP_PREVIEW_MAX_SIZE),
|
||||
MIN (allocation->height, GIMP_PREVIEW_MAX_SIZE),
|
||||
gimage->xresolution,
|
||||
gimage->yresolution,
|
||||
&width,
|
||||
&height,
|
||||
&dummy);
|
||||
|
||||
if (width > allocation->width)
|
||||
{
|
||||
height = height * allocation->width / width;
|
||||
width = width * allocation->width / width;
|
||||
}
|
||||
else if (height > allocation->height)
|
||||
{
|
||||
width = width * allocation->height / height;
|
||||
height = height * allocation->height / height;
|
||||
}
|
||||
|
||||
gimp_preview_set_size_full (preview, width, height, preview->border_width);
|
||||
|
||||
/* FIXME: the GimpNavigationPreview should handle this stuff itself */
|
||||
|
||||
nav_preview = GIMP_NAVIGATION_PREVIEW (preview);
|
||||
|
||||
gimp_navigation_preview_set_marker (nav_preview,
|
||||
nav_preview->x,
|
||||
nav_preview->y,
|
||||
nav_preview->width,
|
||||
nav_preview->height);
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
gimp_navigation_view_marker_changed (GimpNavigationPreview *preview,
|
||||
gint x,
|
||||
|
|
|
@ -56,9 +56,12 @@ static void gimp_navigation_view_init (GimpNavigationView *view);
|
|||
static GtkWidget * gimp_navigation_view_new_private (GimpDisplayShell *shell,
|
||||
gboolean popup);
|
||||
|
||||
static gboolean gimp_navigation_view_button_release (GtkWidget *widget,
|
||||
GdkEventButton *bevent,
|
||||
GimpDisplayShell *shell);
|
||||
static gboolean gimp_navigation_view_button_release (GtkWidget *widget,
|
||||
GdkEventButton *bevent,
|
||||
GimpDisplayShell *shell);
|
||||
static void gimp_navigation_view_abox_resized (GtkWidget *widget,
|
||||
GtkAllocation *allocation,
|
||||
GimpNavigationView *view);
|
||||
static void gimp_navigation_view_marker_changed (GimpNavigationPreview *preview,
|
||||
gint x,
|
||||
gint y,
|
||||
|
@ -151,6 +154,14 @@ gimp_navigation_view_init (GimpNavigationView *view)
|
|||
gtk_container_add (GTK_CONTAINER (frame), abox);
|
||||
gtk_widget_show (abox);
|
||||
|
||||
gtk_widget_set_size_request (abox,
|
||||
gimprc.nav_preview_size,
|
||||
gimprc.nav_preview_size);
|
||||
|
||||
g_signal_connect (G_OBJECT (abox), "size_allocate",
|
||||
G_CALLBACK (gimp_navigation_view_abox_resized),
|
||||
view);
|
||||
|
||||
view->preview = gimp_navigation_preview_new (NULL, gimprc.nav_preview_size);
|
||||
gtk_container_add (GTK_CONTAINER (abox), view->preview);
|
||||
gtk_widget_show (view->preview);
|
||||
|
@ -419,6 +430,67 @@ gimp_navigation_view_button_release (GtkWidget *widget,
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
static void
|
||||
gimp_navigation_view_abox_resized (GtkWidget *widget,
|
||||
GtkAllocation *allocation,
|
||||
GimpNavigationView *view)
|
||||
{
|
||||
GimpPreview *preview;
|
||||
|
||||
preview = GIMP_PREVIEW (view->preview);
|
||||
|
||||
if (! preview->viewable)
|
||||
return;
|
||||
|
||||
if (preview->width > allocation->width ||
|
||||
preview->height > allocation->height ||
|
||||
(preview->width != allocation->width &&
|
||||
preview->height != allocation->height))
|
||||
{
|
||||
GimpNavigationPreview *nav_preview;
|
||||
GimpImage *gimage;
|
||||
gint width;
|
||||
gint height;
|
||||
gboolean dummy;
|
||||
|
||||
gimage = GIMP_IMAGE (preview->viewable);
|
||||
|
||||
gimp_preview_calc_size (preview,
|
||||
gimage->width,
|
||||
gimage->height,
|
||||
MIN (allocation->width, GIMP_PREVIEW_MAX_SIZE),
|
||||
MIN (allocation->height, GIMP_PREVIEW_MAX_SIZE),
|
||||
gimage->xresolution,
|
||||
gimage->yresolution,
|
||||
&width,
|
||||
&height,
|
||||
&dummy);
|
||||
|
||||
if (width > allocation->width)
|
||||
{
|
||||
height = height * allocation->width / width;
|
||||
width = width * allocation->width / width;
|
||||
}
|
||||
else if (height > allocation->height)
|
||||
{
|
||||
width = width * allocation->height / height;
|
||||
height = height * allocation->height / height;
|
||||
}
|
||||
|
||||
gimp_preview_set_size_full (preview, width, height, preview->border_width);
|
||||
|
||||
/* FIXME: the GimpNavigationPreview should handle this stuff itself */
|
||||
|
||||
nav_preview = GIMP_NAVIGATION_PREVIEW (preview);
|
||||
|
||||
gimp_navigation_preview_set_marker (nav_preview,
|
||||
nav_preview->x,
|
||||
nav_preview->y,
|
||||
nav_preview->width,
|
||||
nav_preview->height);
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
gimp_navigation_view_marker_changed (GimpNavigationPreview *preview,
|
||||
gint x,
|
||||
|
|
|
@ -227,8 +227,8 @@ gimp_buffer_preview_create_popup (GimpPreview *preview)
|
|||
gimp_preview_calc_size (preview,
|
||||
buffer_width,
|
||||
buffer_height,
|
||||
MIN (preview->width * 2, 256),
|
||||
MIN (preview->height * 2, 256),
|
||||
MIN (preview->width * 2, GIMP_PREVIEW_MAX_POPUP_SIZE),
|
||||
MIN (preview->height * 2, GIMP_PREVIEW_MAX_POPUP_SIZE),
|
||||
1.0,
|
||||
1.0,
|
||||
&popup_width,
|
||||
|
|
|
@ -144,7 +144,8 @@ gimp_component_list_item_new (GimpImage *gimage,
|
|||
GimpListItem *list_item;
|
||||
|
||||
g_return_val_if_fail (GIMP_IS_IMAGE (gimage), NULL);
|
||||
g_return_val_if_fail (preview_size > 0 && preview_size <= 256, NULL);
|
||||
g_return_val_if_fail (preview_size > 0 &&
|
||||
preview_size <= GIMP_PREVIEW_MAX_SIZE, NULL);
|
||||
|
||||
list_item = g_object_new (GIMP_TYPE_COMPONENT_LIST_ITEM, NULL);
|
||||
|
||||
|
|
|
@ -32,6 +32,7 @@
|
|||
|
||||
#include "gimpcontainermenu.h"
|
||||
#include "gimpcontainerview-utils.h"
|
||||
#include "gimppreview.h"
|
||||
|
||||
|
||||
enum
|
||||
|
@ -340,7 +341,7 @@ gimp_container_menu_set_preview_size (GimpContainerMenu *menu,
|
|||
gint preview_size)
|
||||
{
|
||||
g_return_if_fail (GIMP_IS_CONTAINER_MENU (menu));
|
||||
g_return_if_fail (preview_size > 0 && preview_size <= 256 /* FIXME: 64 */);
|
||||
g_return_if_fail (preview_size > 0 && preview_size <= GIMP_PREVIEW_MAX_SIZE);
|
||||
|
||||
if (menu->preview_size != preview_size)
|
||||
{
|
||||
|
|
|
@ -276,8 +276,8 @@ gimp_drawable_preview_create_popup (GimpPreview *preview)
|
|||
gimp_preview_calc_size (preview,
|
||||
drawable->width,
|
||||
drawable->height,
|
||||
MIN (preview->width * 2, 256),
|
||||
MIN (preview->height * 2, 256),
|
||||
MIN (preview->width * 2, GIMP_PREVIEW_MAX_POPUP_SIZE),
|
||||
MIN (preview->height * 2, GIMP_PREVIEW_MAX_POPUP_SIZE),
|
||||
gimage ? gimage->xresolution : 1.0,
|
||||
gimage ? gimage->yresolution : 1.0,
|
||||
&popup_width,
|
||||
|
|
|
@ -218,8 +218,8 @@ gimp_image_preview_create_popup (GimpPreview *preview)
|
|||
gimp_preview_calc_size (preview,
|
||||
gimage->width,
|
||||
gimage->height,
|
||||
MIN (preview->width * 2, 256),
|
||||
MIN (preview->height * 2, 256),
|
||||
MIN (preview->width * 2, GIMP_PREVIEW_MAX_POPUP_SIZE),
|
||||
MIN (preview->height * 2, GIMP_PREVIEW_MAX_POPUP_SIZE),
|
||||
gimage->xresolution,
|
||||
gimage->yresolution,
|
||||
&popup_width,
|
||||
|
|
|
@ -268,7 +268,8 @@ gimp_list_item_new (GimpViewable *viewable,
|
|||
GimpListItem *list_item;
|
||||
|
||||
g_return_val_if_fail (GIMP_IS_VIEWABLE (viewable), NULL);
|
||||
g_return_val_if_fail (preview_size > 0 && preview_size <= 256, NULL);
|
||||
g_return_val_if_fail (preview_size > 0 &&
|
||||
preview_size <= GIMP_PREVIEW_MAX_SIZE, NULL);
|
||||
|
||||
if (GIMP_IS_LAYER (viewable))
|
||||
{
|
||||
|
@ -344,7 +345,7 @@ gimp_list_item_set_preview_size (GimpListItem *list_item,
|
|||
gint preview_size)
|
||||
{
|
||||
g_return_if_fail (GIMP_IS_LIST_ITEM (list_item));
|
||||
g_return_if_fail (preview_size > 0 && preview_size <= 256 /* FIXME: 64 */);
|
||||
g_return_if_fail (preview_size > 0 && preview_size <= GIMP_PREVIEW_MAX_SIZE);
|
||||
|
||||
list_item->preview_size = preview_size;
|
||||
|
||||
|
|
|
@ -110,7 +110,8 @@ gimp_menu_item_new (GimpViewable *viewable,
|
|||
GimpMenuItem *menu_item;
|
||||
|
||||
g_return_val_if_fail (GIMP_IS_VIEWABLE (viewable), NULL);
|
||||
g_return_val_if_fail (preview_size > 0 && preview_size <= 256, NULL);
|
||||
g_return_val_if_fail (preview_size > 0 &&
|
||||
preview_size <= GIMP_PREVIEW_MAX_POPUP_SIZE, NULL);
|
||||
|
||||
menu_item = g_object_new (GIMP_TYPE_MENU_ITEM, NULL);
|
||||
|
||||
|
|
|
@ -573,7 +573,7 @@ gimp_navigation_preview_new (GimpImage *gimage,
|
|||
GimpPreview *preview;
|
||||
|
||||
g_return_val_if_fail (! gimage || GIMP_IS_IMAGE (gimage), NULL);
|
||||
g_return_val_if_fail (size > 0 && size <= 256, NULL);
|
||||
g_return_val_if_fail (size > 0 && size <= GIMP_PREVIEW_MAX_SIZE, NULL);
|
||||
|
||||
preview = g_object_new (GIMP_TYPE_NAVIGATION_PREVIEW, NULL);
|
||||
|
||||
|
|
|
@ -573,7 +573,7 @@ gimp_navigation_preview_new (GimpImage *gimage,
|
|||
GimpPreview *preview;
|
||||
|
||||
g_return_val_if_fail (! gimage || GIMP_IS_IMAGE (gimage), NULL);
|
||||
g_return_val_if_fail (size > 0 && size <= 256, NULL);
|
||||
g_return_val_if_fail (size > 0 && size <= GIMP_PREVIEW_MAX_SIZE, NULL);
|
||||
|
||||
preview = g_object_new (GIMP_TYPE_NAVIGATION_PREVIEW, NULL);
|
||||
|
||||
|
|
|
@ -499,7 +499,7 @@ gimp_preview_new (GimpViewable *viewable,
|
|||
GimpPreview *preview;
|
||||
|
||||
g_return_val_if_fail (GIMP_IS_VIEWABLE (viewable), NULL);
|
||||
g_return_val_if_fail (size > 0 && size <= 256, 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);
|
||||
|
||||
preview = g_object_new (gimp_preview_type_from_viewable (viewable), NULL);
|
||||
|
@ -525,8 +525,8 @@ gimp_preview_new_full (GimpViewable *viewable,
|
|||
GimpPreview *preview;
|
||||
|
||||
g_return_val_if_fail (GIMP_IS_VIEWABLE (viewable), NULL);
|
||||
g_return_val_if_fail (width > 0 && width <= 256, NULL);
|
||||
g_return_val_if_fail (height > 0 && height <= 256, 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 (border_width >= 0 && border_width <= 16, NULL);
|
||||
|
||||
preview = g_object_new (gimp_preview_type_from_viewable (viewable), NULL);
|
||||
|
@ -623,7 +623,7 @@ gimp_preview_set_size (GimpPreview *preview,
|
|||
gint width, height;
|
||||
|
||||
g_return_if_fail (GIMP_IS_PREVIEW (preview));
|
||||
g_return_if_fail (preview_size > 0 && preview_size <= 256);
|
||||
g_return_if_fail (preview_size > 0 && preview_size <= GIMP_PREVIEW_MAX_SIZE);
|
||||
g_return_if_fail (border_width >= 0 && border_width <= 16);
|
||||
|
||||
preview->size = preview_size;
|
||||
|
@ -631,9 +631,9 @@ gimp_preview_set_size (GimpPreview *preview,
|
|||
gimp_preview_get_size (preview, preview_size, &width, &height);
|
||||
|
||||
gimp_preview_set_size_full (preview,
|
||||
width,
|
||||
height,
|
||||
border_width);
|
||||
width,
|
||||
height,
|
||||
border_width);
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -643,8 +643,8 @@ gimp_preview_set_size_full (GimpPreview *preview,
|
|||
gint border_width)
|
||||
{
|
||||
g_return_if_fail (GIMP_IS_PREVIEW (preview));
|
||||
g_return_if_fail (width > 0 && width <= 256);
|
||||
g_return_if_fail (height > 0 && height <= 256);
|
||||
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 (border_width >= 0 && border_width <= 16);
|
||||
|
||||
preview->width = width;
|
||||
|
@ -744,7 +744,10 @@ gimp_preview_get_size (GimpPreview *preview,
|
|||
g_return_if_fail (width != NULL);
|
||||
g_return_if_fail (height != NULL);
|
||||
|
||||
GIMP_PREVIEW_GET_CLASS (preview)->get_size (preview, size, width, height);
|
||||
if (preview->viewable)
|
||||
GIMP_PREVIEW_GET_CLASS (preview)->get_size (preview, size, width, height);
|
||||
else
|
||||
gimp_preview_real_get_size (preview, size, width, height);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -785,8 +788,8 @@ gimp_preview_real_create_popup (GimpPreview *preview)
|
|||
gint popup_width;
|
||||
gint popup_height;
|
||||
|
||||
popup_width = MIN (preview->width * 2, 256);
|
||||
popup_height = MIN (preview->height * 2, 256);
|
||||
popup_width = MIN (preview->width * 2, GIMP_PREVIEW_MAX_POPUP_SIZE);
|
||||
popup_height = MIN (preview->height * 2, GIMP_PREVIEW_MAX_POPUP_SIZE);
|
||||
|
||||
return gimp_preview_new_full (preview->viewable,
|
||||
popup_width,
|
||||
|
|
|
@ -26,6 +26,10 @@
|
|||
#include <gtk/gtkdrawingarea.h>
|
||||
|
||||
|
||||
#define GIMP_PREVIEW_MAX_SIZE 1024
|
||||
#define GIMP_PREVIEW_MAX_POPUP_SIZE 256
|
||||
|
||||
|
||||
#define GIMP_TYPE_PREVIEW (gimp_preview_get_type ())
|
||||
#define GIMP_PREVIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GIMP_TYPE_PREVIEW, GimpPreview))
|
||||
#define GIMP_PREVIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GIMP_TYPE_PREVIEW, GimpPreviewClass))
|
||||
|
|
|
@ -499,7 +499,7 @@ gimp_preview_new (GimpViewable *viewable,
|
|||
GimpPreview *preview;
|
||||
|
||||
g_return_val_if_fail (GIMP_IS_VIEWABLE (viewable), NULL);
|
||||
g_return_val_if_fail (size > 0 && size <= 256, 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);
|
||||
|
||||
preview = g_object_new (gimp_preview_type_from_viewable (viewable), NULL);
|
||||
|
@ -525,8 +525,8 @@ gimp_preview_new_full (GimpViewable *viewable,
|
|||
GimpPreview *preview;
|
||||
|
||||
g_return_val_if_fail (GIMP_IS_VIEWABLE (viewable), NULL);
|
||||
g_return_val_if_fail (width > 0 && width <= 256, NULL);
|
||||
g_return_val_if_fail (height > 0 && height <= 256, 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 (border_width >= 0 && border_width <= 16, NULL);
|
||||
|
||||
preview = g_object_new (gimp_preview_type_from_viewable (viewable), NULL);
|
||||
|
@ -623,7 +623,7 @@ gimp_preview_set_size (GimpPreview *preview,
|
|||
gint width, height;
|
||||
|
||||
g_return_if_fail (GIMP_IS_PREVIEW (preview));
|
||||
g_return_if_fail (preview_size > 0 && preview_size <= 256);
|
||||
g_return_if_fail (preview_size > 0 && preview_size <= GIMP_PREVIEW_MAX_SIZE);
|
||||
g_return_if_fail (border_width >= 0 && border_width <= 16);
|
||||
|
||||
preview->size = preview_size;
|
||||
|
@ -631,9 +631,9 @@ gimp_preview_set_size (GimpPreview *preview,
|
|||
gimp_preview_get_size (preview, preview_size, &width, &height);
|
||||
|
||||
gimp_preview_set_size_full (preview,
|
||||
width,
|
||||
height,
|
||||
border_width);
|
||||
width,
|
||||
height,
|
||||
border_width);
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -643,8 +643,8 @@ gimp_preview_set_size_full (GimpPreview *preview,
|
|||
gint border_width)
|
||||
{
|
||||
g_return_if_fail (GIMP_IS_PREVIEW (preview));
|
||||
g_return_if_fail (width > 0 && width <= 256);
|
||||
g_return_if_fail (height > 0 && height <= 256);
|
||||
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 (border_width >= 0 && border_width <= 16);
|
||||
|
||||
preview->width = width;
|
||||
|
@ -744,7 +744,10 @@ gimp_preview_get_size (GimpPreview *preview,
|
|||
g_return_if_fail (width != NULL);
|
||||
g_return_if_fail (height != NULL);
|
||||
|
||||
GIMP_PREVIEW_GET_CLASS (preview)->get_size (preview, size, width, height);
|
||||
if (preview->viewable)
|
||||
GIMP_PREVIEW_GET_CLASS (preview)->get_size (preview, size, width, height);
|
||||
else
|
||||
gimp_preview_real_get_size (preview, size, width, height);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -785,8 +788,8 @@ gimp_preview_real_create_popup (GimpPreview *preview)
|
|||
gint popup_width;
|
||||
gint popup_height;
|
||||
|
||||
popup_width = MIN (preview->width * 2, 256);
|
||||
popup_height = MIN (preview->height * 2, 256);
|
||||
popup_width = MIN (preview->width * 2, GIMP_PREVIEW_MAX_POPUP_SIZE);
|
||||
popup_height = MIN (preview->height * 2, GIMP_PREVIEW_MAX_POPUP_SIZE);
|
||||
|
||||
return gimp_preview_new_full (preview->viewable,
|
||||
popup_width,
|
||||
|
|
|
@ -26,6 +26,10 @@
|
|||
#include <gtk/gtkdrawingarea.h>
|
||||
|
||||
|
||||
#define GIMP_PREVIEW_MAX_SIZE 1024
|
||||
#define GIMP_PREVIEW_MAX_POPUP_SIZE 256
|
||||
|
||||
|
||||
#define GIMP_TYPE_PREVIEW (gimp_preview_get_type ())
|
||||
#define GIMP_PREVIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GIMP_TYPE_PREVIEW, GimpPreview))
|
||||
#define GIMP_PREVIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GIMP_TYPE_PREVIEW, GimpPreviewClass))
|
||||
|
|
|
@ -276,8 +276,8 @@ gimp_drawable_preview_create_popup (GimpPreview *preview)
|
|||
gimp_preview_calc_size (preview,
|
||||
drawable->width,
|
||||
drawable->height,
|
||||
MIN (preview->width * 2, 256),
|
||||
MIN (preview->height * 2, 256),
|
||||
MIN (preview->width * 2, GIMP_PREVIEW_MAX_POPUP_SIZE),
|
||||
MIN (preview->height * 2, GIMP_PREVIEW_MAX_POPUP_SIZE),
|
||||
gimage ? gimage->xresolution : 1.0,
|
||||
gimage ? gimage->yresolution : 1.0,
|
||||
&popup_width,
|
||||
|
|
|
@ -218,8 +218,8 @@ gimp_image_preview_create_popup (GimpPreview *preview)
|
|||
gimp_preview_calc_size (preview,
|
||||
gimage->width,
|
||||
gimage->height,
|
||||
MIN (preview->width * 2, 256),
|
||||
MIN (preview->height * 2, 256),
|
||||
MIN (preview->width * 2, GIMP_PREVIEW_MAX_POPUP_SIZE),
|
||||
MIN (preview->height * 2, GIMP_PREVIEW_MAX_POPUP_SIZE),
|
||||
gimage->xresolution,
|
||||
gimage->yresolution,
|
||||
&popup_width,
|
||||
|
|
|
@ -499,7 +499,7 @@ gimp_preview_new (GimpViewable *viewable,
|
|||
GimpPreview *preview;
|
||||
|
||||
g_return_val_if_fail (GIMP_IS_VIEWABLE (viewable), NULL);
|
||||
g_return_val_if_fail (size > 0 && size <= 256, 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);
|
||||
|
||||
preview = g_object_new (gimp_preview_type_from_viewable (viewable), NULL);
|
||||
|
@ -525,8 +525,8 @@ gimp_preview_new_full (GimpViewable *viewable,
|
|||
GimpPreview *preview;
|
||||
|
||||
g_return_val_if_fail (GIMP_IS_VIEWABLE (viewable), NULL);
|
||||
g_return_val_if_fail (width > 0 && width <= 256, NULL);
|
||||
g_return_val_if_fail (height > 0 && height <= 256, 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 (border_width >= 0 && border_width <= 16, NULL);
|
||||
|
||||
preview = g_object_new (gimp_preview_type_from_viewable (viewable), NULL);
|
||||
|
@ -623,7 +623,7 @@ gimp_preview_set_size (GimpPreview *preview,
|
|||
gint width, height;
|
||||
|
||||
g_return_if_fail (GIMP_IS_PREVIEW (preview));
|
||||
g_return_if_fail (preview_size > 0 && preview_size <= 256);
|
||||
g_return_if_fail (preview_size > 0 && preview_size <= GIMP_PREVIEW_MAX_SIZE);
|
||||
g_return_if_fail (border_width >= 0 && border_width <= 16);
|
||||
|
||||
preview->size = preview_size;
|
||||
|
@ -631,9 +631,9 @@ gimp_preview_set_size (GimpPreview *preview,
|
|||
gimp_preview_get_size (preview, preview_size, &width, &height);
|
||||
|
||||
gimp_preview_set_size_full (preview,
|
||||
width,
|
||||
height,
|
||||
border_width);
|
||||
width,
|
||||
height,
|
||||
border_width);
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -643,8 +643,8 @@ gimp_preview_set_size_full (GimpPreview *preview,
|
|||
gint border_width)
|
||||
{
|
||||
g_return_if_fail (GIMP_IS_PREVIEW (preview));
|
||||
g_return_if_fail (width > 0 && width <= 256);
|
||||
g_return_if_fail (height > 0 && height <= 256);
|
||||
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 (border_width >= 0 && border_width <= 16);
|
||||
|
||||
preview->width = width;
|
||||
|
@ -744,7 +744,10 @@ gimp_preview_get_size (GimpPreview *preview,
|
|||
g_return_if_fail (width != NULL);
|
||||
g_return_if_fail (height != NULL);
|
||||
|
||||
GIMP_PREVIEW_GET_CLASS (preview)->get_size (preview, size, width, height);
|
||||
if (preview->viewable)
|
||||
GIMP_PREVIEW_GET_CLASS (preview)->get_size (preview, size, width, height);
|
||||
else
|
||||
gimp_preview_real_get_size (preview, size, width, height);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -785,8 +788,8 @@ gimp_preview_real_create_popup (GimpPreview *preview)
|
|||
gint popup_width;
|
||||
gint popup_height;
|
||||
|
||||
popup_width = MIN (preview->width * 2, 256);
|
||||
popup_height = MIN (preview->height * 2, 256);
|
||||
popup_width = MIN (preview->width * 2, GIMP_PREVIEW_MAX_POPUP_SIZE);
|
||||
popup_height = MIN (preview->height * 2, GIMP_PREVIEW_MAX_POPUP_SIZE);
|
||||
|
||||
return gimp_preview_new_full (preview->viewable,
|
||||
popup_width,
|
||||
|
|
|
@ -26,6 +26,10 @@
|
|||
#include <gtk/gtkdrawingarea.h>
|
||||
|
||||
|
||||
#define GIMP_PREVIEW_MAX_SIZE 1024
|
||||
#define GIMP_PREVIEW_MAX_POPUP_SIZE 256
|
||||
|
||||
|
||||
#define GIMP_TYPE_PREVIEW (gimp_preview_get_type ())
|
||||
#define GIMP_PREVIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GIMP_TYPE_PREVIEW, GimpPreview))
|
||||
#define GIMP_PREVIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GIMP_TYPE_PREVIEW, GimpPreviewClass))
|
||||
|
|
|
@ -499,7 +499,7 @@ gimp_preview_new (GimpViewable *viewable,
|
|||
GimpPreview *preview;
|
||||
|
||||
g_return_val_if_fail (GIMP_IS_VIEWABLE (viewable), NULL);
|
||||
g_return_val_if_fail (size > 0 && size <= 256, 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);
|
||||
|
||||
preview = g_object_new (gimp_preview_type_from_viewable (viewable), NULL);
|
||||
|
@ -525,8 +525,8 @@ gimp_preview_new_full (GimpViewable *viewable,
|
|||
GimpPreview *preview;
|
||||
|
||||
g_return_val_if_fail (GIMP_IS_VIEWABLE (viewable), NULL);
|
||||
g_return_val_if_fail (width > 0 && width <= 256, NULL);
|
||||
g_return_val_if_fail (height > 0 && height <= 256, 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 (border_width >= 0 && border_width <= 16, NULL);
|
||||
|
||||
preview = g_object_new (gimp_preview_type_from_viewable (viewable), NULL);
|
||||
|
@ -623,7 +623,7 @@ gimp_preview_set_size (GimpPreview *preview,
|
|||
gint width, height;
|
||||
|
||||
g_return_if_fail (GIMP_IS_PREVIEW (preview));
|
||||
g_return_if_fail (preview_size > 0 && preview_size <= 256);
|
||||
g_return_if_fail (preview_size > 0 && preview_size <= GIMP_PREVIEW_MAX_SIZE);
|
||||
g_return_if_fail (border_width >= 0 && border_width <= 16);
|
||||
|
||||
preview->size = preview_size;
|
||||
|
@ -631,9 +631,9 @@ gimp_preview_set_size (GimpPreview *preview,
|
|||
gimp_preview_get_size (preview, preview_size, &width, &height);
|
||||
|
||||
gimp_preview_set_size_full (preview,
|
||||
width,
|
||||
height,
|
||||
border_width);
|
||||
width,
|
||||
height,
|
||||
border_width);
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -643,8 +643,8 @@ gimp_preview_set_size_full (GimpPreview *preview,
|
|||
gint border_width)
|
||||
{
|
||||
g_return_if_fail (GIMP_IS_PREVIEW (preview));
|
||||
g_return_if_fail (width > 0 && width <= 256);
|
||||
g_return_if_fail (height > 0 && height <= 256);
|
||||
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 (border_width >= 0 && border_width <= 16);
|
||||
|
||||
preview->width = width;
|
||||
|
@ -744,7 +744,10 @@ gimp_preview_get_size (GimpPreview *preview,
|
|||
g_return_if_fail (width != NULL);
|
||||
g_return_if_fail (height != NULL);
|
||||
|
||||
GIMP_PREVIEW_GET_CLASS (preview)->get_size (preview, size, width, height);
|
||||
if (preview->viewable)
|
||||
GIMP_PREVIEW_GET_CLASS (preview)->get_size (preview, size, width, height);
|
||||
else
|
||||
gimp_preview_real_get_size (preview, size, width, height);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -785,8 +788,8 @@ gimp_preview_real_create_popup (GimpPreview *preview)
|
|||
gint popup_width;
|
||||
gint popup_height;
|
||||
|
||||
popup_width = MIN (preview->width * 2, 256);
|
||||
popup_height = MIN (preview->height * 2, 256);
|
||||
popup_width = MIN (preview->width * 2, GIMP_PREVIEW_MAX_POPUP_SIZE);
|
||||
popup_height = MIN (preview->height * 2, GIMP_PREVIEW_MAX_POPUP_SIZE);
|
||||
|
||||
return gimp_preview_new_full (preview->viewable,
|
||||
popup_width,
|
||||
|
|
|
@ -26,6 +26,10 @@
|
|||
#include <gtk/gtkdrawingarea.h>
|
||||
|
||||
|
||||
#define GIMP_PREVIEW_MAX_SIZE 1024
|
||||
#define GIMP_PREVIEW_MAX_POPUP_SIZE 256
|
||||
|
||||
|
||||
#define GIMP_TYPE_PREVIEW (gimp_preview_get_type ())
|
||||
#define GIMP_PREVIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GIMP_TYPE_PREVIEW, GimpPreview))
|
||||
#define GIMP_PREVIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GIMP_TYPE_PREVIEW, GimpPreviewClass))
|
||||
|
|
|
@ -276,8 +276,8 @@ gimp_drawable_preview_create_popup (GimpPreview *preview)
|
|||
gimp_preview_calc_size (preview,
|
||||
drawable->width,
|
||||
drawable->height,
|
||||
MIN (preview->width * 2, 256),
|
||||
MIN (preview->height * 2, 256),
|
||||
MIN (preview->width * 2, GIMP_PREVIEW_MAX_POPUP_SIZE),
|
||||
MIN (preview->height * 2, GIMP_PREVIEW_MAX_POPUP_SIZE),
|
||||
gimage ? gimage->xresolution : 1.0,
|
||||
gimage ? gimage->yresolution : 1.0,
|
||||
&popup_width,
|
||||
|
|
|
@ -218,8 +218,8 @@ gimp_image_preview_create_popup (GimpPreview *preview)
|
|||
gimp_preview_calc_size (preview,
|
||||
gimage->width,
|
||||
gimage->height,
|
||||
MIN (preview->width * 2, 256),
|
||||
MIN (preview->height * 2, 256),
|
||||
MIN (preview->width * 2, GIMP_PREVIEW_MAX_POPUP_SIZE),
|
||||
MIN (preview->height * 2, GIMP_PREVIEW_MAX_POPUP_SIZE),
|
||||
gimage->xresolution,
|
||||
gimage->yresolution,
|
||||
&popup_width,
|
||||
|
|
Loading…
Reference in a new issue