[mutter/wip/tablet-protocol-v2: 60/70] wayland: Add update() phase to MetaWaylandTabletPad
- From: Carlos Garnacho <carlosg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [mutter/wip/tablet-protocol-v2: 60/70] wayland: Add update() phase to MetaWaylandTabletPad
- Date: Wed, 22 Jun 2016 17:38:24 +0000 (UTC)
commit 4f65b280085666d322772cc9e28e75a9c5f983eb
Author: Carlos Garnacho <carlosg gnome org>
Date: Wed Jun 22 18:40:23 2016 +0200
wayland: Add update() phase to MetaWaylandTabletPad
This will be needed to update internal state of pad groups.
src/wayland/meta-wayland-tablet-pad.c | 24 ++++++++++++++++++++++++
src/wayland/meta-wayland-tablet-pad.h | 2 ++
src/wayland/meta-wayland-tablet-seat.c | 25 ++++++++++++++++++-------
3 files changed, 44 insertions(+), 7 deletions(-)
---
diff --git a/src/wayland/meta-wayland-tablet-pad.c b/src/wayland/meta-wayland-tablet-pad.c
index 48fa941..9e49d26 100644
--- a/src/wayland/meta-wayland-tablet-pad.c
+++ b/src/wayland/meta-wayland-tablet-pad.c
@@ -366,3 +366,27 @@ meta_wayland_tablet_pad_set_focus (MetaWaylandTabletPad *pad,
meta_wayland_tablet_pad_update_groups_focus (pad);
}
+
+void
+meta_wayland_tablet_pad_update (MetaWaylandTabletPad *pad,
+ const ClutterEvent *event)
+{
+ MetaWaylandTabletPadGroup *group;
+ guint n_group;
+
+ n_group = clutter_event_get_mode_group (event);
+ group = g_list_nth_data (pad->groups, n_group);
+
+ if (group)
+ meta_wayland_tablet_pad_group_update (group, event);
+
+ switch (event->type)
+ {
+ case CLUTTER_PAD_BUTTON_PRESS:
+ case CLUTTER_PAD_BUTTON_RELEASE:
+ case CLUTTER_PAD_RING:
+ case CLUTTER_PAD_STRIP:
+ default:
+ break;
+ }
+}
diff --git a/src/wayland/meta-wayland-tablet-pad.h b/src/wayland/meta-wayland-tablet-pad.h
index aa90963..a627226 100644
--- a/src/wayland/meta-wayland-tablet-pad.h
+++ b/src/wayland/meta-wayland-tablet-pad.h
@@ -65,6 +65,8 @@ struct wl_resource *
void meta_wayland_tablet_pad_notify (MetaWaylandTabletPad *pad,
struct wl_resource *resource);
+void meta_wayland_tablet_pad_update (MetaWaylandTabletPad *pad,
+ const ClutterEvent *event);
gboolean meta_wayland_tablet_pad_handle_event (MetaWaylandTabletPad *pad,
const ClutterEvent *event);
diff --git a/src/wayland/meta-wayland-tablet-seat.c b/src/wayland/meta-wayland-tablet-seat.c
index a709562..abab2a3 100644
--- a/src/wayland/meta-wayland-tablet-seat.c
+++ b/src/wayland/meta-wayland-tablet-seat.c
@@ -386,15 +386,9 @@ meta_wayland_tablet_seat_update (MetaWaylandTabletSeat *tablet_seat,
ClutterInputDevice *device;
ClutterInputDeviceTool *device_tool;
MetaWaylandTabletTool *tool = NULL;
+ MetaWaylandTabletPad *pad = NULL;
device = clutter_event_get_source_device (event);
- device_tool = clutter_event_get_device_tool (event);
-
- if (device && device_tool)
- tool = meta_wayland_tablet_seat_ensure_tool (tablet_seat, device, device_tool);
-
- if (!tool)
- return;
switch (event->type)
{
@@ -403,8 +397,25 @@ meta_wayland_tablet_seat_update (MetaWaylandTabletSeat *tablet_seat,
case CLUTTER_BUTTON_PRESS:
case CLUTTER_BUTTON_RELEASE:
case CLUTTER_MOTION:
+ device_tool = clutter_event_get_device_tool (event);
+
+ if (device && device_tool)
+ tool = meta_wayland_tablet_seat_ensure_tool (tablet_seat, device, device_tool);
+
+ if (!tool)
+ return;
+
meta_wayland_tablet_tool_update (tool, event);
break;
+ case CLUTTER_PAD_BUTTON_PRESS:
+ case CLUTTER_PAD_BUTTON_RELEASE:
+ case CLUTTER_PAD_RING:
+ case CLUTTER_PAD_STRIP:
+ pad = g_hash_table_lookup (tablet_seat->pads, device);
+ if (!pad)
+ return;
+
+ return meta_wayland_tablet_pad_update (pad, event);
default:
break;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]