diff options
author | Carlos Garnacho <carlosg@gnome.org> | 2016-01-28 13:04:27 +0100 |
---|---|---|
committer | Carlos Garnacho <carlosg@gnome.org> | 2016-04-05 18:56:35 +0200 |
commit | 69e1c8750e760a6371544ef6b42ddb0555ca3b24 (patch) | |
tree | 86fd4d9f8aed71b46c66fdb87b1a4e2dbe7448b6 | |
parent | 7dcd45247d139f5bc1fba4b20344d8225387ff93 (diff) | |
download | clutter-wip/evdev-tablet-support.tar.gz |
gdk: Replace GdkDeviceManager with GdkSeatwip/evdev-tablet-support
We only mirror now devices from the default seat. The logic is
largely unchanged otherwise.
-rw-r--r-- | clutter/gdk/clutter-device-manager-gdk.c | 37 | ||||
-rw-r--r-- | clutter/gdk/clutter-device-manager-gdk.h | 2 |
2 files changed, 16 insertions, 23 deletions
diff --git a/clutter/gdk/clutter-device-manager-gdk.c b/clutter/gdk/clutter-device-manager-gdk.c index 04a997097..f2c35a06f 100644 --- a/clutter/gdk/clutter-device-manager-gdk.c +++ b/clutter/gdk/clutter-device-manager-gdk.c @@ -153,20 +153,15 @@ clutter_device_manager_gdk_get_core_device (ClutterDeviceManager *manager, ClutterDeviceManagerGdk *manager_gdk = CLUTTER_DEVICE_MANAGER_GDK (manager); GdkDevice *gdk_device; - gdk_device = gdk_device_manager_get_client_pointer (manager_gdk->device_manager); + gdk_device = gdk_seat_get_pointer (manager_gdk->seat); g_assert (gdk_device != NULL); - if (device_type == CLUTTER_KEYBOARD_DEVICE) - gdk_device = gdk_device_get_associated_device (gdk_device); - else if (device_type != CLUTTER_POINTER_DEVICE) - return NULL; - return _clutter_device_manager_gdk_lookup_device (manager, gdk_device); } static void -gdk_device_added (GdkDeviceManager *gdk_manager, +gdk_device_added (GdkSeat *seat, GdkDevice *device, ClutterDeviceManager *self) { @@ -177,7 +172,7 @@ gdk_device_added (GdkDeviceManager *gdk_manager, } static void -gdk_device_removed (GdkDeviceManager *gdk_manager, +gdk_device_removed (GdkSeat *seat, GdkDevice *device, ClutterDeviceManagerGdk *self) { @@ -206,26 +201,24 @@ static void clutter_device_manager_gdk_constructed (GObject *gobject) { ClutterDeviceManagerGdk *manager_gdk = CLUTTER_DEVICE_MANAGER_GDK (gobject); + ClutterDeviceManager *manager = CLUTTER_DEVICE_MANAGER (gobject); GList *all_devices; + GdkDevice *gdk_device; - g_assert (manager_gdk->device_manager != NULL); + g_assert (manager_gdk->seat != NULL); - all_devices = gdk_device_manager_list_devices (manager_gdk->device_manager, - GDK_DEVICE_TYPE_MASTER); - g_list_foreach (all_devices, gdk_device_foreach_cb, manager_gdk); - g_list_free (all_devices); + gdk_device = gdk_seat_get_pointer (manager_gdk->seat); + _clutter_device_manager_gdk_lookup_device (manager, gdk_device); - all_devices = gdk_device_manager_list_devices (manager_gdk->device_manager, - GDK_DEVICE_TYPE_SLAVE); - g_list_foreach (all_devices, gdk_device_foreach_cb, manager_gdk); - g_list_free (all_devices); + gdk_device = gdk_seat_get_keyboard (manager_gdk->seat); + _clutter_device_manager_gdk_lookup_device (manager, gdk_device); - all_devices = gdk_device_manager_list_devices (manager_gdk->device_manager, - GDK_DEVICE_TYPE_FLOATING); + all_devices = gdk_seat_get_slaves (manager_gdk->seat, + GDK_SEAT_CAPABILITY_ALL); g_list_foreach (all_devices, gdk_device_foreach_cb, manager_gdk); g_list_free (all_devices); - g_object_connect (manager_gdk->device_manager, + g_object_connect (manager_gdk->seat, "object-signal::device-added", gdk_device_added, gobject, "object-signal::device-removed", gdk_device_removed, gobject, NULL); @@ -247,8 +240,8 @@ clutter_device_manager_gdk_set_property (GObject *gobject, { case PROP_GDK_DISPLAY: gdk_display = GDK_DISPLAY (g_value_get_object (value)); - manager_gdk->device_manager = gdk_display_get_device_manager (gdk_display); - g_object_ref (manager_gdk->device_manager); + manager_gdk->seat = gdk_display_get_default_seat (gdk_display); + g_object_ref (manager_gdk->seat); break; default: diff --git a/clutter/gdk/clutter-device-manager-gdk.h b/clutter/gdk/clutter-device-manager-gdk.h index ade24cd89..d01ab793e 100644 --- a/clutter/gdk/clutter-device-manager-gdk.h +++ b/clutter/gdk/clutter-device-manager-gdk.h @@ -43,7 +43,7 @@ struct _ClutterDeviceManagerGdk { ClutterDeviceManager parent_instance; - GdkDeviceManager *device_manager; + GdkSeat *seat; GSList *device_cache; GHashTable *device_by_id; }; |