diff options
Diffstat (limited to 'clutter/clutter-event.c')
-rw-r--r-- | clutter/clutter-event.c | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/clutter/clutter-event.c b/clutter/clutter-event.c index 2d331f82c..28bc4b931 100644 --- a/clutter/clutter-event.c +++ b/clutter/clutter-event.c @@ -54,6 +54,8 @@ typedef struct _ClutterEventPrivate { gdouble delta_x; gdouble delta_y; + ClutterInputDeviceTool *tool; + gpointer platform_data; ClutterModifierType button_state; @@ -1207,6 +1209,54 @@ clutter_event_get_device (const ClutterEvent *event) } /** + * clutter_event_set_device_tool: + * @event: a #ClutterEvent + * @tool: (nullable): a #ClutterInputDeviceTool + * + * Sets the tool in use for this event + * + * Since: 1.28 + **/ +void +clutter_event_set_device_tool (ClutterEvent *event, + ClutterInputDeviceTool *tool) +{ + g_return_if_fail (event != NULL); + + if (is_event_allocated (event)) + { + ClutterEventPrivate *real_event = (ClutterEventPrivate *) event; + + real_event->tool = tool; + } +} + +/** + * clutter_event_get_device_tool: + * @event: a #ClutterEvent + * + * Returns the device tool that originated this event + * + * Returns: (transfer none): The tool of this event + * + * Since: 1.28 + **/ +ClutterInputDeviceTool * +clutter_event_get_device_tool (const ClutterEvent *event) +{ + g_return_val_if_fail (event != NULL, NULL); + + if (is_event_allocated (event)) + { + ClutterEventPrivate *real_event = (ClutterEventPrivate *) event; + + return real_event->tool; + } + + return NULL; +} + +/** * clutter_event_new: * @type: The type of event. * @@ -1269,6 +1319,7 @@ clutter_event_copy (const ClutterEvent *event) new_real_event->button_state = real_event->button_state; new_real_event->latched_state = real_event->latched_state; new_real_event->locked_state = real_event->locked_state; + new_real_event->tool = real_event->tool; } device = clutter_event_get_device (event); |