[clutter/wip/evdev-tablet-support: 22/25] main: Allow updating device axes from the current tool
- From: Carlos Garnacho <carlosg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [clutter/wip/evdev-tablet-support: 22/25] main: Allow updating device axes from the current tool
- Date: Tue, 29 Mar 2016 13:37:47 +0000 (UTC)
commit 9a6d7968cee2918934616d61779cf835f9cd0199
Author: Carlos Garnacho <carlosg gnome org>
Date: Wed Feb 4 17:17:23 2015 +0100
main: Allow updating device axes from the current tool
This way devices are ensured the proper axis status at the time
of processing the events.
clutter/clutter-device-manager-private.h | 5 +++++
clutter/clutter-input-device.c | 14 ++++++++++++++
clutter/clutter-main.c | 3 +++
3 files changed, 22 insertions(+), 0 deletions(-)
---
diff --git a/clutter/clutter-device-manager-private.h b/clutter/clutter-device-manager-private.h
index 3b33135..6af3295 100644
--- a/clutter/clutter-device-manager-private.h
+++ b/clutter/clutter-device-manager-private.h
@@ -145,6 +145,8 @@ struct _ClutterInputDeviceClass
gboolean (* keycode_to_evdev) (ClutterInputDevice *device,
guint hardware_keycode,
guint *evdev_keycode);
+ void (* update_from_tool) (ClutterInputDevice *device,
+ ClutterInputDeviceTool *tool);
};
/* Platform-dependent interface */
@@ -243,6 +245,9 @@ ClutterInputDeviceTool * clutter_input_device_lookup_tool (ClutterInputDev
void clutter_input_device_add_tool (ClutterInputDevice *device,
ClutterInputDeviceTool *tool);
+void clutter_input_device_update_from_tool (ClutterInputDevice *device,
+ ClutterInputDeviceTool *tool);
+
G_END_DECLS
#endif /* __CLUTTER_DEVICE_MANAGER_PRIVATE_H__ */
diff --git a/clutter/clutter-input-device.c b/clutter/clutter-input-device.c
index add413d..216644a 100644
--- a/clutter/clutter-input-device.c
+++ b/clutter/clutter-input-device.c
@@ -2052,3 +2052,17 @@ clutter_input_device_lookup_tool (ClutterInputDevice *device,
return NULL;
}
+
+void
+clutter_input_device_update_from_tool (ClutterInputDevice *device,
+ ClutterInputDeviceTool *tool)
+{
+ ClutterInputDeviceClass *device_class;
+
+ g_return_if_fail (CLUTTER_IS_INPUT_DEVICE (device));
+
+ device_class = CLUTTER_INPUT_DEVICE_GET_CLASS (device);
+
+ if (device_class->update_from_tool)
+ device_class->update_from_tool (device, tool);
+}
diff --git a/clutter/clutter-main.c b/clutter/clutter-main.c
index 78327e6..99cfdc5 100644
--- a/clutter/clutter-main.c
+++ b/clutter/clutter-main.c
@@ -2517,6 +2517,9 @@ _clutter_process_event_details (ClutterActor *stage,
case CLUTTER_PROXIMITY_IN:
case CLUTTER_PROXIMITY_OUT:
+ clutter_input_device_update_from_tool (clutter_event_get_source_device (event),
+ clutter_event_get_device_tool (event));
+
if (_clutter_event_process_filters (event))
break;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]