2014-07-19 20 views
2

我想在Gdk的屏幕上找到指针位置,发现gdk_display_get_pointer(),它工作正常,但它被标记为已弃用,并且现在指的是gdk_device_get_position()如何使用gdk_device_get_position()?

但是我该如何使用这个功能呢?我无法获得GdkDevice,因为没有工厂,也没有构造函数。

回答

4

使用Gdk.DeviceManager。

..... 
..... 
GdkDisplay *display = gdk_display_get_default(); 
GdkDeviceManager *device_manager = gdk_display_get_device_manager (display); 
GdkDevice *device = gdk_device_manager_get_client_pointer (device_manager); 

// do whatever with Gdk.Device, i.e: 
int x, y; 
gdk_device_get_position (device, NULL, &x, &y); 
printf ("x= %d, y=%d", x,y);