Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/shell
diff options
context:
space:
mode:
authorMarco Pesenti Gritti <marco@gnome.org>2005-01-21 10:52:48 (GMT)
committer Marco Pesenti Gritti <marco@src.gnome.org>2005-01-21 10:52:48 (GMT)
commit922f0476fd7f6252fc40ea52e99292711c2900d2 (patch)
tree9106a883c0be087db6aada9d29760c8bd4edff25 /shell
parent2b10156c3ba8b580e927245b5c55a83e0889fd79 (diff)
Make selection work in any direction
2005-01-21 Marco Pesenti Gritti <marco@gnome.org> * shell/ev-view.c: (ev_view_button_press_event), (ev_view_motion_notify_event): Make selection work in any direction
Diffstat (limited to 'shell')
-rw-r--r--shell/ev-view.c15
1 files changed, 7 insertions, 8 deletions
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;