[gthumb] image-selector: use a larger and proportional border for the resize grips
- From: Paolo Bacchilega <paobac src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gthumb] image-selector: use a larger and proportional border for the resize grips
- Date: Wed, 6 Apr 2011 12:45:41 +0000 (UTC)
commit 8cc562e4b73bc653f33fc74599f42f2bb6a4c729
Author: Paolo Bacchilega <paobac src gnome org>
Date: Wed Apr 6 12:45:08 2011 +0200
image-selector: use a larger and proportional border for the resize grips
use a 40px border or make it proportional to the selection size if
the selection is too small for a 40px wide resize grip.
gthumb/gth-image-selector.c | 96 ++++++++++++++++++++++++-------------------
1 files changed, 54 insertions(+), 42 deletions(-)
---
diff --git a/gthumb/gth-image-selector.c b/gthumb/gth-image-selector.c
index 85c4363..80fd045 100644
--- a/gthumb/gth-image-selector.c
+++ b/gthumb/gth-image-selector.c
@@ -27,8 +27,8 @@
#include "gth-marshal.h"
-#define BORDER 3
-#define BORDER2 (BORDER * 2)
+#define DEFAULT_BORDER 40
+#define MIN_BORDER 3
#define DRAG_THRESHOLD 1
#define STEP_INCREMENT 20.0 /* scroll increment. */
#define SCROLL_TIMEOUT 30 /* autoscroll timeout in milliseconds */
@@ -347,68 +347,80 @@ update_event_areas (GthImageSelector *self)
{
EventArea *event_area;
int x, y, width, height;
+ int border;
+ int border2;
if (! gtk_widget_get_realized (GTK_WIDGET (self->priv->viewer)))
return;
+ border = DEFAULT_BORDER;
+ if (self->priv->selection_area.width < DEFAULT_BORDER * 3)
+ border = self->priv->selection_area.width / 3;
+ if (self->priv->selection_area.height < DEFAULT_BORDER * 3)
+ border = self->priv->selection_area.height / 3;
+ if (border < MIN_BORDER)
+ border = MIN_BORDER;
+
+ border2 = border * 2;
+
x = self->priv->selection_area.x - 1;
y = self->priv->selection_area.y - 1;
width = self->priv->selection_area.width + 1;
height = self->priv->selection_area.height + 1;
event_area = get_event_area_from_id (self, C_SELECTION_AREA);
- event_area->area.x = x + BORDER;
- event_area->area.y = y + BORDER;
- event_area->area.width = width - BORDER2;
- event_area->area.height = height - BORDER2;
+ event_area->area.x = x;
+ event_area->area.y = y;
+ event_area->area.width = width;
+ event_area->area.height = height;
event_area = get_event_area_from_id (self, C_TOP_AREA);
- event_area->area.x = x + BORDER;
- event_area->area.y = y - BORDER;
- event_area->area.width = width - BORDER2;
- event_area->area.height = BORDER2;
+ event_area->area.x = x + border;
+ event_area->area.y = y;
+ event_area->area.width = width - border2;
+ event_area->area.height = border;
event_area = get_event_area_from_id (self, C_BOTTOM_AREA);
- event_area->area.x = x + BORDER;
- event_area->area.y = y + height - BORDER;
- event_area->area.width = width - BORDER2;
- event_area->area.height = BORDER2;
+ event_area->area.x = x + border;
+ event_area->area.y = y + height - border;
+ event_area->area.width = width - border2;
+ event_area->area.height = border;
event_area = get_event_area_from_id (self, C_LEFT_AREA);
- event_area->area.x = x - BORDER;
- event_area->area.y = y + BORDER;
- event_area->area.width = BORDER2;
- event_area->area.height = height - BORDER2;
+ event_area->area.x = x;
+ event_area->area.y = y + border;
+ event_area->area.width = border;
+ event_area->area.height = height - border2;
event_area = get_event_area_from_id (self, C_RIGHT_AREA);
- event_area->area.x = x + width - BORDER;
- event_area->area.y = y + BORDER;
- event_area->area.width = BORDER2;
- event_area->area.height = height - BORDER2;
+ event_area->area.x = x + width - border;
+ event_area->area.y = y + border;
+ event_area->area.width = border;
+ event_area->area.height = height - border2;
event_area = get_event_area_from_id (self, C_TOP_LEFT_AREA);
- event_area->area.x = x - BORDER;
- event_area->area.y = y - BORDER;
- event_area->area.width = BORDER2;
- event_area->area.height = BORDER2;
+ event_area->area.x = x;
+ event_area->area.y = y;
+ event_area->area.width = border;
+ event_area->area.height = border;
event_area = get_event_area_from_id (self, C_TOP_RIGHT_AREA);
- event_area->area.x = x + width - BORDER;
- event_area->area.y = y - BORDER;
- event_area->area.width = BORDER2;
- event_area->area.height = BORDER2;
+ event_area->area.x = x + width - border;
+ event_area->area.y = y;
+ event_area->area.width = border;
+ event_area->area.height = border;
event_area = get_event_area_from_id (self, C_BOTTOM_LEFT_AREA);
- event_area->area.x = x - BORDER;
- event_area->area.y = y + height - BORDER;
- event_area->area.width = BORDER2;
- event_area->area.height = BORDER2;
+ event_area->area.x = x;
+ event_area->area.y = y + height - border;
+ event_area->area.width = border;
+ event_area->area.height = border;
event_area = get_event_area_from_id (self, C_BOTTOM_RIGHT_AREA);
- event_area->area.x = x + width - BORDER;
- event_area->area.y = y + height - BORDER;
- event_area->area.width = BORDER2;
- event_area->area.height = BORDER2;
+ event_area->area.x = x + width - border;
+ event_area->area.y = y + height - border;
+ event_area->area.width = border;
+ event_area->area.height = border;
}
@@ -420,10 +432,10 @@ queue_draw (GthImageSelector *self,
return;
gtk_widget_queue_draw_area (GTK_WIDGET (self->priv->viewer),
- self->priv->viewer->image_area.x + area.x - self->priv->viewer->x_offset - BORDER,
- self->priv->viewer->image_area.y + area.y - self->priv->viewer->y_offset - BORDER,
- area.width + BORDER2,
- area.height + BORDER2);
+ self->priv->viewer->image_area.x + area.x - self->priv->viewer->x_offset,
+ self->priv->viewer->image_area.y + area.y - self->priv->viewer->y_offset,
+ area.width,
+ area.height);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]