From 54f1852aa6730b96c89bc901073993f87c66f58c Mon Sep 17 00:00:00 2001 From: leo Date: Sat, 30 Dec 2000 13:49:14 +0000 Subject: Grab pointer while dragging. git-svn-id: http://svn.leocad.org/trunk@195 c7d43263-9d01-0410-8a33-9dba5d9f93d6 --- linux/main.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'linux') diff --git a/linux/main.cpp b/linux/main.cpp index 6d9d661..9de8d0b 100644 --- a/linux/main.cpp +++ b/linux/main.cpp @@ -276,7 +276,11 @@ static gint button_press_event (GtkWidget *widget, GdkEventButton *event) (event->state & GDK_SHIFT_MASK) != 0); } - gtk_window_set_focus(GTK_WINDOW(main_window), drawing_area); + gtk_window_set_focus (GTK_WINDOW (main_window), drawing_area); + gdk_pointer_grab (widget->window, FALSE, + (GdkEventMask)(GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_POINTER_MOTION_MASK), + NULL, NULL, GDK_CURRENT_TIME); + return TRUE; } @@ -287,6 +291,8 @@ static gint button_release_event (GtkWidget *widget, GdkEventButton *event) x = (int)event->x; y = widget->allocation.height - (int)event->y - 1; + gdk_pointer_ungrab (GDK_CURRENT_TIME); + if (event->button == 1) project->OnLeftButtonUp(x, y, (event->state & GDK_CONTROL_MASK) != 0, (event->state & GDK_SHIFT_MASK) != 0); -- cgit v1.2.3