GDK_DEFINE_EVENT_TYPE (GdkTouchpadEvent, gdk_touchpad_event,
&gdk_touchpad_event_info,
GDK_EVENT_TYPE_SLOT (GDK_TOUCHPAD_SWIPE)
- GDK_EVENT_TYPE_SLOT (GDK_TOUCHPAD_PINCH))
+ GDK_EVENT_TYPE_SLOT (GDK_TOUCHPAD_PINCH)
+ GDK_EVENT_TYPE_SLOT (GDK_TOUCHPAD_HOLD))
GdkEvent *
gdk_touchpad_event_new_swipe (GdkSurface *surface,
return (GdkEvent *) self;
}
+GdkEvent *
+gdk_touchpad_event_new_hold (GdkSurface *surface,
+ GdkDevice *device,
+ guint32 time,
+ GdkModifierType state,
+ GdkTouchpadGesturePhase phase,
+ double x,
+ double y,
+ int n_fingers)
+{
+ GdkTouchpadEvent *self = gdk_event_alloc (GDK_TOUCHPAD_HOLD, surface, device, time);
+
+ self->state = state;
+ self->phase = phase;
+ self->x = x;
+ self->y = y;
+ self->n_fingers = n_fingers;
+
+ return (GdkEvent *) self;
+}
+
/**
* gdk_touchpad_event_get_gesture_phase:
* @event: (type GdkTouchpadEvent): a touchpad event
g_return_val_if_fail (GDK_IS_EVENT (event), 0);
g_return_val_if_fail (GDK_IS_EVENT_TYPE (event, GDK_TOUCHPAD_PINCH) ||
- GDK_IS_EVENT_TYPE (event, GDK_TOUCHPAD_SWIPE), 0);
+ GDK_IS_EVENT_TYPE (event, GDK_TOUCHPAD_SWIPE) ||
+ GDK_IS_EVENT_TYPE (event, GDK_TOUCHPAD_HOLD), 0);
return self->phase;
}
g_return_val_if_fail (GDK_IS_EVENT (event), 0);
g_return_val_if_fail (GDK_IS_EVENT_TYPE (event, GDK_TOUCHPAD_PINCH) ||
- GDK_IS_EVENT_TYPE (event, GDK_TOUCHPAD_SWIPE), 0);
+ GDK_IS_EVENT_TYPE (event, GDK_TOUCHPAD_SWIPE) ||
+ GDK_IS_EVENT_TYPE (event, GDK_TOUCHPAD_HOLD), 0);
return self->n_fingers;
}
* @GDK_PAD_RING: A tablet pad axis event from a "ring".
* @GDK_PAD_STRIP: A tablet pad axis event from a "strip".
* @GDK_PAD_GROUP_MODE: A tablet pad group mode change.
+ * @GDK_TOUCHPAD_HOLD: A touchpad hold gesture event, the current state
+ * is determined by its phase field. Since: 4.6
* @GDK_EVENT_LAST: marks the end of the GdkEventType enumeration.
*
* Specifies the type of the event.
GDK_PAD_RING,
GDK_PAD_STRIP,
GDK_PAD_GROUP_MODE,
+ GDK_TOUCHPAD_HOLD,
GDK_EVENT_LAST /* helper variable for decls */
} GdkEventType;