[mutter/wip/gestures: 14/16] wayland: Export meta_wayland_touch_cancel()
- From: Carlos Garnacho <carlosg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [mutter/wip/gestures: 14/16] wayland: Export meta_wayland_touch_cancel()
- Date: Wed, 25 Jun 2014 16:21:00 +0000 (UTC)
commit be2ca667352b4cb86fb4b14bed56105effc7d8fc
Author: Carlos Garnacho <carlosg gnome org>
Date: Thu Jun 19 22:15:32 2014 +0200
wayland: Export meta_wayland_touch_cancel()
This will be necessary in order to hook the gesture tracker
to clients.
src/wayland/meta-wayland-touch.c | 47 ++++++++++++++++++-------------------
src/wayland/meta-wayland-touch.h | 2 +
2 files changed, 25 insertions(+), 24 deletions(-)
---
diff --git a/src/wayland/meta-wayland-touch.c b/src/wayland/meta-wayland-touch.c
index a91ee24..b57ffe3 100644
--- a/src/wayland/meta-wayland-touch.c
+++ b/src/wayland/meta-wayland-touch.c
@@ -444,29 +444,6 @@ touch_info_free (MetaWaylandTouchInfo *touch_info)
g_free (touch_info);
}
-static void
-touch_handle_cancel_event (MetaWaylandTouch *touch,
- struct libinput_event *event)
-{
- GList *surfaces, *s;
-
- surfaces = s = touch_get_surfaces (touch, FALSE);
-
- while (s)
- {
- MetaWaylandTouchSurface *touch_surface = s->data;
- struct wl_resource *resource;
- struct wl_list *l;
-
- l = &touch_surface->resource_list;
- wl_resource_for_each(resource, l)
- wl_touch_send_cancel (resource);
- }
-
- g_hash_table_remove_all (touch->touches);
- g_list_free (surfaces);
-}
-
static gboolean
evdev_filter_func (struct libinput_event *event,
gpointer data)
@@ -495,7 +472,7 @@ evdev_filter_func (struct libinput_event *event,
* which are not so useful when sending a global signal as the protocol
* requires.
*/
- touch_handle_cancel_event (touch, event);
+ meta_wayland_touch_cancel (touch);
break;
default:
break;
@@ -546,3 +523,25 @@ meta_wayland_touch_create_new_resource (MetaWaylandTouch *touch,
wl_resource_set_implementation (cr, NULL, touch, unbind_resource);
wl_list_insert (&touch->resource_list, wl_resource_get_link (cr));
}
+
+void
+meta_wayland_touch_cancel (MetaWaylandTouch *touch)
+{
+ GList *surfaces, *s;
+
+ surfaces = s = touch_get_surfaces (touch, FALSE);
+
+ while (s)
+ {
+ MetaWaylandTouchSurface *touch_surface = s->data;
+ struct wl_resource *resource;
+ struct wl_list *l;
+
+ l = &touch_surface->resource_list;
+ wl_resource_for_each(resource, l)
+ wl_touch_send_cancel (resource);
+ }
+
+ g_hash_table_remove_all (touch->touches);
+ g_list_free (surfaces);
+}
diff --git a/src/wayland/meta-wayland-touch.h b/src/wayland/meta-wayland-touch.h
index 5846955..011e724 100644
--- a/src/wayland/meta-wayland-touch.h
+++ b/src/wayland/meta-wayland-touch.h
@@ -58,5 +58,7 @@ void meta_wayland_touch_create_new_resource (MetaWaylandTouch *touch,
struct wl_client *client,
struct wl_resource *seat_resource,
uint32_t id);
+void meta_wayland_touch_cancel (MetaWaylandTouch *touch);
+
#endif /* META_WAYLAND_TOUCH_H */
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]