/* Generated by wayland-scanner 1.22.0 */ #ifndef POINTER_GESTURES_UNSTABLE_V1_CLIENT_PROTOCOL_H #define POINTER_GESTURES_UNSTABLE_V1_CLIENT_PROTOCOL_H #include #include #include "wayland-client.h" #ifdef __cplusplus extern "C" { #endif /** * @page page_pointer_gestures_unstable_v1 The pointer_gestures_unstable_v1 * protocol * @section page_ifaces_pointer_gestures_unstable_v1 Interfaces * - @subpage page_iface_zwp_pointer_gestures_v1 - touchpad gestures * - @subpage page_iface_zwp_pointer_gesture_swipe_v1 - a swipe gesture object * - @subpage page_iface_zwp_pointer_gesture_pinch_v1 - a pinch gesture object * - @subpage page_iface_zwp_pointer_gesture_hold_v1 - a hold gesture object */ struct wl_pointer; struct wl_surface; struct zwp_pointer_gesture_hold_v1; struct zwp_pointer_gesture_pinch_v1; struct zwp_pointer_gesture_swipe_v1; struct zwp_pointer_gestures_v1; #ifndef ZWP_POINTER_GESTURES_V1_INTERFACE # define ZWP_POINTER_GESTURES_V1_INTERFACE /** * @page page_iface_zwp_pointer_gestures_v1 zwp_pointer_gestures_v1 * @section page_iface_zwp_pointer_gestures_v1_desc Description * * A global interface to provide semantic touchpad gestures for a given * pointer. * * Three gestures are currently supported: swipe, pinch, and hold. * Pinch and swipe gestures follow a three-stage cycle: begin, update, * end, hold gestures follow a two-stage cycle: begin and end. All * gestures are identified by a unique id. * * Warning! The protocol described in this file is experimental and * backward incompatible changes may be made. Backward compatible changes * may be added together with the corresponding interface version bump. * Backward incompatible changes are done by bumping the version number in * the protocol and interface names and resetting the interface version. * Once the protocol is to be declared stable, the 'z' prefix and the * version number in the protocol and interface names are removed and the * interface version number is reset. * @section page_iface_zwp_pointer_gestures_v1_api API * See @ref iface_zwp_pointer_gestures_v1. */ /** * @defgroup iface_zwp_pointer_gestures_v1 The zwp_pointer_gestures_v1 interface * * A global interface to provide semantic touchpad gestures for a given * pointer. * * Three gestures are currently supported: swipe, pinch, and hold. * Pinch and swipe gestures follow a three-stage cycle: begin, update, * end, hold gestures follow a two-stage cycle: begin and end. All * gestures are identified by a unique id. * * Warning! The protocol described in this file is experimental and * backward incompatible changes may be made. Backward compatible changes * may be added together with the corresponding interface version bump. * Backward incompatible changes are done by bumping the version number in * the protocol and interface names and resetting the interface version. * Once the protocol is to be declared stable, the 'z' prefix and the * version number in the protocol and interface names are removed and the * interface version number is reset. */ extern const struct wl_interface zwp_pointer_gestures_v1_interface; #endif #ifndef ZWP_POINTER_GESTURE_SWIPE_V1_INTERFACE # define ZWP_POINTER_GESTURE_SWIPE_V1_INTERFACE /** * @page page_iface_zwp_pointer_gesture_swipe_v1 zwp_pointer_gesture_swipe_v1 * @section page_iface_zwp_pointer_gesture_swipe_v1_desc Description * * A swipe gesture object notifies a client about a multi-finger swipe * gesture detected on an indirect input device such as a touchpad. * The gesture is usually initiated by multiple fingers moving in the * same direction but once initiated the direction may change. * The precise conditions of when such a gesture is detected are * implementation-dependent. * * A gesture consists of three stages: begin, update (optional) and end. * There cannot be multiple simultaneous hold, pinch or swipe gestures on a * same pointer/seat, how compositors prevent these situations is * implementation-dependent. * * A gesture may be cancelled by the compositor or the hardware. * Clients should not consider performing permanent or irreversible * actions until the end of a gesture has been received. * @section page_iface_zwp_pointer_gesture_swipe_v1_api API * See @ref iface_zwp_pointer_gesture_swipe_v1. */ /** * @defgroup iface_zwp_pointer_gesture_swipe_v1 The zwp_pointer_gesture_swipe_v1 * interface * * A swipe gesture object notifies a client about a multi-finger swipe * gesture detected on an indirect input device such as a touchpad. * The gesture is usually initiated by multiple fingers moving in the * same direction but once initiated the direction may change. * The precise conditions of when such a gesture is detected are * implementation-dependent. * * A gesture consists of three stages: begin, update (optional) and end. * There cannot be multiple simultaneous hold, pinch or swipe gestures on a * same pointer/seat, how compositors prevent these situations is * implementation-dependent. * * A gesture may be cancelled by the compositor or the hardware. * Clients should not consider performing permanent or irreversible * actions until the end of a gesture has been received. */ extern const struct wl_interface zwp_pointer_gesture_swipe_v1_interface; #endif #ifndef ZWP_POINTER_GESTURE_PINCH_V1_INTERFACE # define ZWP_POINTER_GESTURE_PINCH_V1_INTERFACE /** * @page page_iface_zwp_pointer_gesture_pinch_v1 zwp_pointer_gesture_pinch_v1 * @section page_iface_zwp_pointer_gesture_pinch_v1_desc Description * * A pinch gesture object notifies a client about a multi-finger pinch * gesture detected on an indirect input device such as a touchpad. * The gesture is usually initiated by multiple fingers moving towards * each other or away from each other, or by two or more fingers rotating * around a logical center of gravity. The precise conditions of when * such a gesture is detected are implementation-dependent. * * A gesture consists of three stages: begin, update (optional) and end. * There cannot be multiple simultaneous hold, pinch or swipe gestures on a * same pointer/seat, how compositors prevent these situations is * implementation-dependent. * * A gesture may be cancelled by the compositor or the hardware. * Clients should not consider performing permanent or irreversible * actions until the end of a gesture has been received. * @section page_iface_zwp_pointer_gesture_pinch_v1_api API * See @ref iface_zwp_pointer_gesture_pinch_v1. */ /** * @defgroup iface_zwp_pointer_gesture_pinch_v1 The zwp_pointer_gesture_pinch_v1 * interface * * A pinch gesture object notifies a client about a multi-finger pinch * gesture detected on an indirect input device such as a touchpad. * The gesture is usually initiated by multiple fingers moving towards * each other or away from each other, or by two or more fingers rotating * around a logical center of gravity. The precise conditions of when * such a gesture is detected are implementation-dependent. * * A gesture consists of three stages: begin, update (optional) and end. * There cannot be multiple simultaneous hold, pinch or swipe gestures on a * same pointer/seat, how compositors prevent these situations is * implementation-dependent. * * A gesture may be cancelled by the compositor or the hardware. * Clients should not consider performing permanent or irreversible * actions until the end of a gesture has been received. */ extern const struct wl_interface zwp_pointer_gesture_pinch_v1_interface; #endif #ifndef ZWP_POINTER_GESTURE_HOLD_V1_INTERFACE # define ZWP_POINTER_GESTURE_HOLD_V1_INTERFACE /** * @page page_iface_zwp_pointer_gesture_hold_v1 zwp_pointer_gesture_hold_v1 * @section page_iface_zwp_pointer_gesture_hold_v1_desc Description * * A hold gesture object notifies a client about a single- or * multi-finger hold gesture detected on an indirect input device such as * a touchpad. The gesture is usually initiated by one or more fingers * being held down without significant movement. The precise conditions * of when such a gesture is detected are implementation-dependent. * * In particular, this gesture may be used to cancel kinetic scrolling. * * A hold gesture consists of two stages: begin and end. Unlike pinch and * swipe there is no update stage. * There cannot be multiple simultaneous hold, pinch or swipe gestures on a * same pointer/seat, how compositors prevent these situations is * implementation-dependent. * * A gesture may be cancelled by the compositor or the hardware. * Clients should not consider performing permanent or irreversible * actions until the end of a gesture has been received. * @section page_iface_zwp_pointer_gesture_hold_v1_api API * See @ref iface_zwp_pointer_gesture_hold_v1. */ /** * @defgroup iface_zwp_pointer_gesture_hold_v1 The zwp_pointer_gesture_hold_v1 * interface * * A hold gesture object notifies a client about a single- or * multi-finger hold gesture detected on an indirect input device such as * a touchpad. The gesture is usually initiated by one or more fingers * being held down without significant movement. The precise conditions * of when such a gesture is detected are implementation-dependent. * * In particular, this gesture may be used to cancel kinetic scrolling. * * A hold gesture consists of two stages: begin and end. Unlike pinch and * swipe there is no update stage. * There cannot be multiple simultaneous hold, pinch or swipe gestures on a * same pointer/seat, how compositors prevent these situations is * implementation-dependent. * * A gesture may be cancelled by the compositor or the hardware. * Clients should not consider performing permanent or irreversible * actions until the end of a gesture has been received. */ extern const struct wl_interface zwp_pointer_gesture_hold_v1_interface; #endif #define ZWP_POINTER_GESTURES_V1_GET_SWIPE_GESTURE 0 #define ZWP_POINTER_GESTURES_V1_GET_PINCH_GESTURE 1 #define ZWP_POINTER_GESTURES_V1_RELEASE 2 #define ZWP_POINTER_GESTURES_V1_GET_HOLD_GESTURE 3 /** * @ingroup iface_zwp_pointer_gestures_v1 */ #define ZWP_POINTER_GESTURES_V1_GET_SWIPE_GESTURE_SINCE_VERSION 1 /** * @ingroup iface_zwp_pointer_gestures_v1 */ #define ZWP_POINTER_GESTURES_V1_GET_PINCH_GESTURE_SINCE_VERSION 1 /** * @ingroup iface_zwp_pointer_gestures_v1 */ #define ZWP_POINTER_GESTURES_V1_RELEASE_SINCE_VERSION 2 /** * @ingroup iface_zwp_pointer_gestures_v1 */ #define ZWP_POINTER_GESTURES_V1_GET_HOLD_GESTURE_SINCE_VERSION 3 /** @ingroup iface_zwp_pointer_gestures_v1 */ static inline void zwp_pointer_gestures_v1_set_user_data( struct zwp_pointer_gestures_v1* zwp_pointer_gestures_v1, void* user_data) { wl_proxy_set_user_data((struct wl_proxy*)zwp_pointer_gestures_v1, user_data); } /** @ingroup iface_zwp_pointer_gestures_v1 */ static inline void* zwp_pointer_gestures_v1_get_user_data( struct zwp_pointer_gestures_v1* zwp_pointer_gestures_v1) { return wl_proxy_get_user_data((struct wl_proxy*)zwp_pointer_gestures_v1); } static inline uint32_t zwp_pointer_gestures_v1_get_version( struct zwp_pointer_gestures_v1* zwp_pointer_gestures_v1) { return wl_proxy_get_version((struct wl_proxy*)zwp_pointer_gestures_v1); } /** @ingroup iface_zwp_pointer_gestures_v1 */ static inline void zwp_pointer_gestures_v1_destroy( struct zwp_pointer_gestures_v1* zwp_pointer_gestures_v1) { wl_proxy_destroy((struct wl_proxy*)zwp_pointer_gestures_v1); } /** * @ingroup iface_zwp_pointer_gestures_v1 * * Create a swipe gesture object. See the * wl_pointer_gesture_swipe interface for details. */ static inline struct zwp_pointer_gesture_swipe_v1* zwp_pointer_gestures_v1_get_swipe_gesture( struct zwp_pointer_gestures_v1* zwp_pointer_gestures_v1, struct wl_pointer* pointer) { struct wl_proxy* id; id = wl_proxy_marshal_flags( (struct wl_proxy*)zwp_pointer_gestures_v1, ZWP_POINTER_GESTURES_V1_GET_SWIPE_GESTURE, &zwp_pointer_gesture_swipe_v1_interface, wl_proxy_get_version((struct wl_proxy*)zwp_pointer_gestures_v1), 0, NULL, pointer); return (struct zwp_pointer_gesture_swipe_v1*)id; } /** * @ingroup iface_zwp_pointer_gestures_v1 * * Create a pinch gesture object. See the * wl_pointer_gesture_pinch interface for details. */ static inline struct zwp_pointer_gesture_pinch_v1* zwp_pointer_gestures_v1_get_pinch_gesture( struct zwp_pointer_gestures_v1* zwp_pointer_gestures_v1, struct wl_pointer* pointer) { struct wl_proxy* id; id = wl_proxy_marshal_flags( (struct wl_proxy*)zwp_pointer_gestures_v1, ZWP_POINTER_GESTURES_V1_GET_PINCH_GESTURE, &zwp_pointer_gesture_pinch_v1_interface, wl_proxy_get_version((struct wl_proxy*)zwp_pointer_gestures_v1), 0, NULL, pointer); return (struct zwp_pointer_gesture_pinch_v1*)id; } /** * @ingroup iface_zwp_pointer_gestures_v1 * * Destroy the pointer gesture object. Swipe, pinch and hold objects * created via this gesture object remain valid. */ static inline void zwp_pointer_gestures_v1_release( struct zwp_pointer_gestures_v1* zwp_pointer_gestures_v1) { wl_proxy_marshal_flags( (struct wl_proxy*)zwp_pointer_gestures_v1, ZWP_POINTER_GESTURES_V1_RELEASE, NULL, wl_proxy_get_version((struct wl_proxy*)zwp_pointer_gestures_v1), WL_MARSHAL_FLAG_DESTROY); } /** * @ingroup iface_zwp_pointer_gestures_v1 * * Create a hold gesture object. See the * wl_pointer_gesture_hold interface for details. */ static inline struct zwp_pointer_gesture_hold_v1* zwp_pointer_gestures_v1_get_hold_gesture( struct zwp_pointer_gestures_v1* zwp_pointer_gestures_v1, struct wl_pointer* pointer) { struct wl_proxy* id; id = wl_proxy_marshal_flags( (struct wl_proxy*)zwp_pointer_gestures_v1, ZWP_POINTER_GESTURES_V1_GET_HOLD_GESTURE, &zwp_pointer_gesture_hold_v1_interface, wl_proxy_get_version((struct wl_proxy*)zwp_pointer_gestures_v1), 0, NULL, pointer); return (struct zwp_pointer_gesture_hold_v1*)id; } /** * @ingroup iface_zwp_pointer_gesture_swipe_v1 * @struct zwp_pointer_gesture_swipe_v1_listener */ struct zwp_pointer_gesture_swipe_v1_listener { /** * multi-finger swipe begin * * This event is sent when a multi-finger swipe gesture is * detected on the device. * @param time timestamp with millisecond granularity * @param fingers number of fingers */ void (*begin)( void* data, struct zwp_pointer_gesture_swipe_v1* zwp_pointer_gesture_swipe_v1, uint32_t serial, uint32_t time, struct wl_surface* surface, uint32_t fingers); /** * multi-finger swipe motion * * This event is sent when a multi-finger swipe gesture changes * the position of the logical center. * * The dx and dy coordinates are relative coordinates of the * logical center of the gesture compared to the previous event. * @param time timestamp with millisecond granularity * @param dx delta x coordinate in surface coordinate space * @param dy delta y coordinate in surface coordinate space */ void (*update)( void* data, struct zwp_pointer_gesture_swipe_v1* zwp_pointer_gesture_swipe_v1, uint32_t time, wl_fixed_t dx, wl_fixed_t dy); /** * multi-finger swipe end * * This event is sent when a multi-finger swipe gesture ceases to * be valid. This may happen when one or more fingers are lifted or * the gesture is cancelled. * * When a gesture is cancelled, the client should undo state * changes caused by this gesture. What causes a gesture to be * cancelled is implementation-dependent. * @param time timestamp with millisecond granularity * @param cancelled 1 if the gesture was cancelled, 0 otherwise */ void (*end)(void* data, struct zwp_pointer_gesture_swipe_v1* zwp_pointer_gesture_swipe_v1, uint32_t serial, uint32_t time, int32_t cancelled); }; /** * @ingroup iface_zwp_pointer_gesture_swipe_v1 */ static inline int zwp_pointer_gesture_swipe_v1_add_listener( struct zwp_pointer_gesture_swipe_v1* zwp_pointer_gesture_swipe_v1, const struct zwp_pointer_gesture_swipe_v1_listener* listener, void* data) { return wl_proxy_add_listener((struct wl_proxy*)zwp_pointer_gesture_swipe_v1, (void (**)(void))listener, data); } #define ZWP_POINTER_GESTURE_SWIPE_V1_DESTROY 0 /** * @ingroup iface_zwp_pointer_gesture_swipe_v1 */ #define ZWP_POINTER_GESTURE_SWIPE_V1_BEGIN_SINCE_VERSION 1 /** * @ingroup iface_zwp_pointer_gesture_swipe_v1 */ #define ZWP_POINTER_GESTURE_SWIPE_V1_UPDATE_SINCE_VERSION 1 /** * @ingroup iface_zwp_pointer_gesture_swipe_v1 */ #define ZWP_POINTER_GESTURE_SWIPE_V1_END_SINCE_VERSION 1 /** * @ingroup iface_zwp_pointer_gesture_swipe_v1 */ #define ZWP_POINTER_GESTURE_SWIPE_V1_DESTROY_SINCE_VERSION 1 /** @ingroup iface_zwp_pointer_gesture_swipe_v1 */ static inline void zwp_pointer_gesture_swipe_v1_set_user_data( struct zwp_pointer_gesture_swipe_v1* zwp_pointer_gesture_swipe_v1, void* user_data) { wl_proxy_set_user_data((struct wl_proxy*)zwp_pointer_gesture_swipe_v1, user_data); } /** @ingroup iface_zwp_pointer_gesture_swipe_v1 */ static inline void* zwp_pointer_gesture_swipe_v1_get_user_data( struct zwp_pointer_gesture_swipe_v1* zwp_pointer_gesture_swipe_v1) { return wl_proxy_get_user_data((struct wl_proxy*)zwp_pointer_gesture_swipe_v1); } static inline uint32_t zwp_pointer_gesture_swipe_v1_get_version( struct zwp_pointer_gesture_swipe_v1* zwp_pointer_gesture_swipe_v1) { return wl_proxy_get_version((struct wl_proxy*)zwp_pointer_gesture_swipe_v1); } /** * @ingroup iface_zwp_pointer_gesture_swipe_v1 */ static inline void zwp_pointer_gesture_swipe_v1_destroy( struct zwp_pointer_gesture_swipe_v1* zwp_pointer_gesture_swipe_v1) { wl_proxy_marshal_flags( (struct wl_proxy*)zwp_pointer_gesture_swipe_v1, ZWP_POINTER_GESTURE_SWIPE_V1_DESTROY, NULL, wl_proxy_get_version((struct wl_proxy*)zwp_pointer_gesture_swipe_v1), WL_MARSHAL_FLAG_DESTROY); } /** * @ingroup iface_zwp_pointer_gesture_pinch_v1 * @struct zwp_pointer_gesture_pinch_v1_listener */ struct zwp_pointer_gesture_pinch_v1_listener { /** * multi-finger pinch begin * * This event is sent when a multi-finger pinch gesture is * detected on the device. * @param time timestamp with millisecond granularity * @param fingers number of fingers */ void (*begin)( void* data, struct zwp_pointer_gesture_pinch_v1* zwp_pointer_gesture_pinch_v1, uint32_t serial, uint32_t time, struct wl_surface* surface, uint32_t fingers); /** * multi-finger pinch motion * * This event is sent when a multi-finger pinch gesture changes * the position of the logical center, the rotation or the relative * scale. * * The dx and dy coordinates are relative coordinates in the * surface coordinate space of the logical center of the gesture. * * The scale factor is an absolute scale compared to the * pointer_gesture_pinch.begin event, e.g. a scale of 2 means the * fingers are now twice as far apart as on * pointer_gesture_pinch.begin. * * The rotation is the relative angle in degrees clockwise compared * to the previous pointer_gesture_pinch.begin or * pointer_gesture_pinch.update event. * @param time timestamp with millisecond granularity * @param dx delta x coordinate in surface coordinate space * @param dy delta y coordinate in surface coordinate space * @param scale scale relative to the initial finger position * @param rotation angle in degrees cw relative to the previous event */ void (*update)( void* data, struct zwp_pointer_gesture_pinch_v1* zwp_pointer_gesture_pinch_v1, uint32_t time, wl_fixed_t dx, wl_fixed_t dy, wl_fixed_t scale, wl_fixed_t rotation); /** * multi-finger pinch end * * This event is sent when a multi-finger pinch gesture ceases to * be valid. This may happen when one or more fingers are lifted or * the gesture is cancelled. * * When a gesture is cancelled, the client should undo state * changes caused by this gesture. What causes a gesture to be * cancelled is implementation-dependent. * @param time timestamp with millisecond granularity * @param cancelled 1 if the gesture was cancelled, 0 otherwise */ void (*end)(void* data, struct zwp_pointer_gesture_pinch_v1* zwp_pointer_gesture_pinch_v1, uint32_t serial, uint32_t time, int32_t cancelled); }; /** * @ingroup iface_zwp_pointer_gesture_pinch_v1 */ static inline int zwp_pointer_gesture_pinch_v1_add_listener( struct zwp_pointer_gesture_pinch_v1* zwp_pointer_gesture_pinch_v1, const struct zwp_pointer_gesture_pinch_v1_listener* listener, void* data) { return wl_proxy_add_listener((struct wl_proxy*)zwp_pointer_gesture_pinch_v1, (void (**)(void))listener, data); } #define ZWP_POINTER_GESTURE_PINCH_V1_DESTROY 0 /** * @ingroup iface_zwp_pointer_gesture_pinch_v1 */ #define ZWP_POINTER_GESTURE_PINCH_V1_BEGIN_SINCE_VERSION 1 /** * @ingroup iface_zwp_pointer_gesture_pinch_v1 */ #define ZWP_POINTER_GESTURE_PINCH_V1_UPDATE_SINCE_VERSION 1 /** * @ingroup iface_zwp_pointer_gesture_pinch_v1 */ #define ZWP_POINTER_GESTURE_PINCH_V1_END_SINCE_VERSION 1 /** * @ingroup iface_zwp_pointer_gesture_pinch_v1 */ #define ZWP_POINTER_GESTURE_PINCH_V1_DESTROY_SINCE_VERSION 1 /** @ingroup iface_zwp_pointer_gesture_pinch_v1 */ static inline void zwp_pointer_gesture_pinch_v1_set_user_data( struct zwp_pointer_gesture_pinch_v1* zwp_pointer_gesture_pinch_v1, void* user_data) { wl_proxy_set_user_data((struct wl_proxy*)zwp_pointer_gesture_pinch_v1, user_data); } /** @ingroup iface_zwp_pointer_gesture_pinch_v1 */ static inline void* zwp_pointer_gesture_pinch_v1_get_user_data( struct zwp_pointer_gesture_pinch_v1* zwp_pointer_gesture_pinch_v1) { return wl_proxy_get_user_data((struct wl_proxy*)zwp_pointer_gesture_pinch_v1); } static inline uint32_t zwp_pointer_gesture_pinch_v1_get_version( struct zwp_pointer_gesture_pinch_v1* zwp_pointer_gesture_pinch_v1) { return wl_proxy_get_version((struct wl_proxy*)zwp_pointer_gesture_pinch_v1); } /** * @ingroup iface_zwp_pointer_gesture_pinch_v1 */ static inline void zwp_pointer_gesture_pinch_v1_destroy( struct zwp_pointer_gesture_pinch_v1* zwp_pointer_gesture_pinch_v1) { wl_proxy_marshal_flags( (struct wl_proxy*)zwp_pointer_gesture_pinch_v1, ZWP_POINTER_GESTURE_PINCH_V1_DESTROY, NULL, wl_proxy_get_version((struct wl_proxy*)zwp_pointer_gesture_pinch_v1), WL_MARSHAL_FLAG_DESTROY); } /** * @ingroup iface_zwp_pointer_gesture_hold_v1 * @struct zwp_pointer_gesture_hold_v1_listener */ struct zwp_pointer_gesture_hold_v1_listener { /** * multi-finger hold begin * * This event is sent when a hold gesture is detected on the * device. * @param time timestamp with millisecond granularity * @param fingers number of fingers * @since 3 */ void (*begin)(void* data, struct zwp_pointer_gesture_hold_v1* zwp_pointer_gesture_hold_v1, uint32_t serial, uint32_t time, struct wl_surface* surface, uint32_t fingers); /** * multi-finger hold end * * This event is sent when a hold gesture ceases to be valid. * This may happen when the holding fingers are lifted or the * gesture is cancelled, for example if the fingers move past an * implementation-defined threshold, the finger count changes or * the hold gesture changes into a different type of gesture. * * When a gesture is cancelled, the client may need to undo state * changes caused by this gesture. What causes a gesture to be * cancelled is implementation-dependent. * @param time timestamp with millisecond granularity * @param cancelled 1 if the gesture was cancelled, 0 otherwise * @since 3 */ void (*end)(void* data, struct zwp_pointer_gesture_hold_v1* zwp_pointer_gesture_hold_v1, uint32_t serial, uint32_t time, int32_t cancelled); }; /** * @ingroup iface_zwp_pointer_gesture_hold_v1 */ static inline int zwp_pointer_gesture_hold_v1_add_listener( struct zwp_pointer_gesture_hold_v1* zwp_pointer_gesture_hold_v1, const struct zwp_pointer_gesture_hold_v1_listener* listener, void* data) { return wl_proxy_add_listener((struct wl_proxy*)zwp_pointer_gesture_hold_v1, (void (**)(void))listener, data); } #define ZWP_POINTER_GESTURE_HOLD_V1_DESTROY 0 /** * @ingroup iface_zwp_pointer_gesture_hold_v1 */ #define ZWP_POINTER_GESTURE_HOLD_V1_BEGIN_SINCE_VERSION 3 /** * @ingroup iface_zwp_pointer_gesture_hold_v1 */ #define ZWP_POINTER_GESTURE_HOLD_V1_END_SINCE_VERSION 3 /** * @ingroup iface_zwp_pointer_gesture_hold_v1 */ #define ZWP_POINTER_GESTURE_HOLD_V1_DESTROY_SINCE_VERSION 3 /** @ingroup iface_zwp_pointer_gesture_hold_v1 */ static inline void zwp_pointer_gesture_hold_v1_set_user_data( struct zwp_pointer_gesture_hold_v1* zwp_pointer_gesture_hold_v1, void* user_data) { wl_proxy_set_user_data((struct wl_proxy*)zwp_pointer_gesture_hold_v1, user_data); } /** @ingroup iface_zwp_pointer_gesture_hold_v1 */ static inline void* zwp_pointer_gesture_hold_v1_get_user_data( struct zwp_pointer_gesture_hold_v1* zwp_pointer_gesture_hold_v1) { return wl_proxy_get_user_data((struct wl_proxy*)zwp_pointer_gesture_hold_v1); } static inline uint32_t zwp_pointer_gesture_hold_v1_get_version( struct zwp_pointer_gesture_hold_v1* zwp_pointer_gesture_hold_v1) { return wl_proxy_get_version((struct wl_proxy*)zwp_pointer_gesture_hold_v1); } /** * @ingroup iface_zwp_pointer_gesture_hold_v1 */ static inline void zwp_pointer_gesture_hold_v1_destroy( struct zwp_pointer_gesture_hold_v1* zwp_pointer_gesture_hold_v1) { wl_proxy_marshal_flags( (struct wl_proxy*)zwp_pointer_gesture_hold_v1, ZWP_POINTER_GESTURE_HOLD_V1_DESTROY, NULL, wl_proxy_get_version((struct wl_proxy*)zwp_pointer_gesture_hold_v1), WL_MARSHAL_FLAG_DESTROY); } #ifdef __cplusplus } #endif #endif