From cd2b98740455cb7a60925aa093fce003ecc8be81 Mon Sep 17 00:00:00 2001 From: Jim Evins Date: Sun, 3 Feb 2008 20:52:20 +0000 Subject: [PATCH] 2008-02-03 Jim Evins * src/label-image.c: (gl_label_image_class_init), (set_size): Enforce minimum size for images. git-svn-id: https://glabels.svn.sourceforge.net/svnroot/glabels/branches/glabels-2_2@744 f5e0f49d-192f-0410-a22d-a8d8700d0965 --- glabels2/ChangeLog | 5 +++++ glabels2/src/label-image.c | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 38 insertions(+) diff --git a/glabels2/ChangeLog b/glabels2/ChangeLog index 03e8a1eb..77479bde 100644 --- a/glabels2/ChangeLog +++ b/glabels2/ChangeLog @@ -1,3 +1,8 @@ +2008-02-03 Jim Evins + + * src/label-image.c: (gl_label_image_class_init), (set_size): + Enforce minimum size for images. + 2008-02-03 Jim Evins * src/object-editor-lsize-page.c: (gl_object_editor_set_max_lsize): diff --git a/glabels2/src/label-image.c b/glabels2/src/label-image.c index 5408dcfd..9d0bcaf2 100644 --- a/glabels2/src/label-image.c +++ b/glabels2/src/label-image.c @@ -33,6 +33,10 @@ #include "debug.h" + +#define MIN_IMAGE_SIZE 1.0 + + /*========================================================*/ /* Private types. */ /*========================================================*/ @@ -57,6 +61,10 @@ static void gl_label_image_finalize (GObject *object); static void copy (glLabelObject *dst_object, glLabelObject *src_object); +static void set_size (glLabelObject *object, + gdouble w, + gdouble h); + static void draw_object (glLabelObject *object, cairo_t *cr, gboolean screen_flag, @@ -78,6 +86,7 @@ gl_label_image_class_init (glLabelImageClass *class) gl_label_image_parent_class = g_type_class_peek_parent (class); label_object_class->copy = copy; + label_object_class->set_size = set_size; label_object_class->draw_object = draw_object; label_object_class->draw_shadow = NULL; @@ -174,6 +183,30 @@ copy (glLabelObject *dst_object, } +/*---------------------------------------------------------------------------*/ +/* PRIVATE. Set size method. */ +/*---------------------------------------------------------------------------*/ +static void +set_size (glLabelObject *object, + gdouble w, + gdouble h) +{ + g_return_if_fail (object && GL_IS_LABEL_OBJECT (object)); + + if (w < MIN_IMAGE_SIZE) + { + w = MIN_IMAGE_SIZE; + } + + if (h < MIN_IMAGE_SIZE) + { + h = MIN_IMAGE_SIZE; + } + + GL_LABEL_OBJECT_CLASS (gl_label_image_parent_class)->set_size (object, w, h); +} + + /*****************************************************************************/ /* Set object params. */ /*****************************************************************************/ -- 2.39.5