mirror of
https://github.com/brl/mutter.git
synced 2025-06-15 17:59:31 +00:00
wayland: Implement the wl_pointer_gesture_swipe interface
The swipe gesture resources are part of the MetaWaylandPointerClient, which will be used during the emission of CLUTTER_TOUCHPAD_SWIPE events.
This commit is contained in:
@ -65,6 +65,7 @@ meta_wayland_pointer_client_new (void)
|
||||
|
||||
pointer_client = g_slice_new0 (MetaWaylandPointerClient);
|
||||
wl_list_init (&pointer_client->pointer_resources);
|
||||
wl_list_init (&pointer_client->swipe_gesture_resources);
|
||||
|
||||
return pointer_client;
|
||||
}
|
||||
@ -83,6 +84,11 @@ meta_wayland_pointer_client_free (MetaWaylandPointerClient *pointer_client)
|
||||
wl_list_remove (wl_resource_get_link (resource));
|
||||
wl_list_init (wl_resource_get_link (resource));
|
||||
}
|
||||
wl_resource_for_each (resource, &pointer_client->swipe_gesture_resources)
|
||||
{
|
||||
wl_list_remove (wl_resource_get_link (resource));
|
||||
wl_list_init (wl_resource_get_link (resource));
|
||||
}
|
||||
|
||||
g_slice_free (MetaWaylandPointerClient, pointer_client);
|
||||
}
|
||||
@ -90,7 +96,8 @@ meta_wayland_pointer_client_free (MetaWaylandPointerClient *pointer_client)
|
||||
static gboolean
|
||||
meta_wayland_pointer_client_is_empty (MetaWaylandPointerClient *pointer_client)
|
||||
{
|
||||
return wl_list_empty (&pointer_client->pointer_resources);
|
||||
return (wl_list_empty (&pointer_client->pointer_resources) &&
|
||||
wl_list_empty (&pointer_client->swipe_gesture_resources));
|
||||
}
|
||||
|
||||
MetaWaylandPointerClient *
|
||||
@ -535,6 +542,10 @@ meta_wayland_pointer_handle_event (MetaWaylandPointer *pointer,
|
||||
handle_scroll_event (pointer, event);
|
||||
break;
|
||||
|
||||
case CLUTTER_TOUCHPAD_SWIPE:
|
||||
meta_wayland_pointer_gesture_swipe_handle_event (pointer, event);
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
Reference in New Issue
Block a user