diff options
| author | Emmanuel Gil Peyrot <linkmauve@linkmauve.fr> | 2018-04-14 19:18:07 +0000 |
|---|---|---|
| committer | Emmanuel Gil Peyrot <linkmauve@linkmauve.fr> | 2018-06-12 21:23:11 +0000 |
| commit | f09962028d017896279b717a6621a4de772d1b4f (patch) | |
| tree | 62a1a9fe9459014ec92fad0923e319b2c640679c /src | |
| parent | Make SPDesktop::setWaitingCursor() use gdkmm. (diff) | |
| download | inkscape-f09962028d017896279b717a6621a4de772d1b4f.tar.gz inkscape-f09962028d017896279b717a6621a4de772d1b4f.zip | |
Make SPDesktopWidget::window_get_pointer() use gdkmm.
Diffstat (limited to 'src')
| -rw-r--r-- | src/widgets/desktop-widget.cpp | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/src/widgets/desktop-widget.cpp b/src/widgets/desktop-widget.cpp index 9b28e1424..56b6f45b9 100644 --- a/src/widgets/desktop-widget.cpp +++ b/src/widgets/desktop-widget.cpp @@ -28,6 +28,9 @@ #include <gtkmm/messagedialog.h> #include <gtkmm/paned.h> +#include <gdkmm/seat.h> +#include <gdkmm/types.h> + #include <2geom/rect.h> #include "attributes.h" @@ -237,20 +240,21 @@ SPDesktopWidget::setMessage (Inkscape::MessageType type, const gchar *message) Geom::Point SPDesktopWidget::window_get_pointer() { - gint x,y; - auto window = gtk_widget_get_window(GTK_WIDGET(canvas)); - auto display = gdk_window_get_display(window); + int x, y; + auto window = Glib::wrap(GTK_WIDGET(canvas))->get_window(); + auto display = window->get_display(); #if GTK_CHECK_VERSION(3,20,0) - auto seat = gdk_display_get_default_seat(display); - auto device = gdk_seat_get_pointer(seat); + auto seat = display->get_default_seat(); + auto device = seat->get_pointer(); #else - auto dm = gdk_display_get_device_manager(display); - auto device = gdk_device_manager_get_client_pointer(dm); + auto dm = display->get_device_manager(); + auto device = dm->get_client_pointer(); #endif - gdk_window_get_device_position(window, device, &x, &y, NULL); + Gdk::ModifierType m; + window->get_device_position(device, x, y, m); - return Geom::Point(x,y); + return Geom::Point(x, y); } static GTimer *overallTimer = 0; |
