summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorEmmanuel Gil Peyrot <linkmauve@linkmauve.fr>2018-04-14 19:18:07 +0000
committerEmmanuel Gil Peyrot <linkmauve@linkmauve.fr>2018-06-12 21:23:11 +0000
commitf09962028d017896279b717a6621a4de772d1b4f (patch)
tree62a1a9fe9459014ec92fad0923e319b2c640679c /src
parentMake SPDesktop::setWaitingCursor() use gdkmm. (diff)
downloadinkscape-f09962028d017896279b717a6621a4de772d1b4f.tar.gz
inkscape-f09962028d017896279b717a6621a4de772d1b4f.zip
Make SPDesktopWidget::window_get_pointer() use gdkmm.
Diffstat (limited to 'src')
-rw-r--r--src/widgets/desktop-widget.cpp22
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;