From 922f0476fd7f6252fc40ea52e99292711c2900d2 Mon Sep 17 00:00:00 2001 From: Marco Pesenti Gritti Date: Fri, 21 Jan 2005 10:52:48 +0000 Subject: Make selection work in any direction 2005-01-21 Marco Pesenti Gritti * shell/ev-view.c: (ev_view_button_press_event), (ev_view_motion_notify_event): Make selection work in any direction --- (limited to 'shell') diff --git a/shell/ev-view.c b/shell/ev-view.c index f2f879b..6997c5d 100644 --- a/shell/ev-view.c +++ b/shell/ev-view.c @@ -77,6 +77,7 @@ struct _EvView { gboolean pressed_button; gboolean has_selection; + GdkPoint selection_start; GdkRectangle selection; EvViewCursor cursor; @@ -529,10 +530,8 @@ ev_view_button_press_event (GtkWidget *widget, gtk_widget_queue_draw (widget); } - view->selection.x = event->x; - view->selection.y = event->y; - view->selection.width = 0; - view->selection.height = 0; + view->selection_start.x = event->x; + view->selection_start.y = event->y; break; } @@ -630,10 +629,10 @@ ev_view_motion_notify_event (GtkWidget *widget, if (view->pressed_button > 0) { view->has_selection = TRUE; - view->selection.x = MIN (view->selection.x, event->x); - view->selection.y = MIN (view->selection.y, event->y); - view->selection.width = ABS (view->selection.x - event->x) + 1; - view->selection.height = ABS (view->selection.y - event->y) + 1; + view->selection.x = MIN (view->selection_start.x, event->x); + view->selection.y = MIN (view->selection_start.y, event->y); + view->selection.width = ABS (view->selection_start.x - event->x) + 1; + view->selection.height = ABS (view->selection_start.y - event->y) + 1; } else if (view->document) { EvLink *link; -- cgit v0.9.1