diff options
author | Marco 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) |
commit | 922f0476fd7f6252fc40ea52e99292711c2900d2 (patch) | |
tree | 9106a883c0be087db6aada9d29760c8bd4edff25 | |
parent | 2b10156c3ba8b580e927245b5c55a83e0889fd79 (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
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | shell/ev-view.c | 15 |
2 files changed, 14 insertions, 8 deletions
@@ -1,5 +1,12 @@ 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 + +2005-01-21 Marco Pesenti Gritti <marco@gnome.org> + * TODO: * shell/ev-window.c: (set_short_labels), (ev_window_init): 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; |