SDL  2.0
The zwp_confined_pointer_v1 interface

Data Structures

struct  zwp_confined_pointer_v1_listener
 

Macros

#define ZWP_CONFINED_POINTER_V1_CONFINED_SINCE_VERSION   1
 
#define ZWP_CONFINED_POINTER_V1_UNCONFINED_SINCE_VERSION   1
 
#define ZWP_CONFINED_POINTER_V1_DESTROY_SINCE_VERSION   1
 
#define ZWP_CONFINED_POINTER_V1_SET_REGION_SINCE_VERSION   1
 

Functions

static int zwp_confined_pointer_v1_add_listener (struct zwp_confined_pointer_v1 *zwp_confined_pointer_v1, const struct zwp_confined_pointer_v1_listener *listener, void *data)
 
static void zwp_confined_pointer_v1_set_user_data (struct zwp_confined_pointer_v1 *zwp_confined_pointer_v1, void *user_data)
 
static voidzwp_confined_pointer_v1_get_user_data (struct zwp_confined_pointer_v1 *zwp_confined_pointer_v1)
 
static void zwp_confined_pointer_v1_destroy (struct zwp_confined_pointer_v1 *zwp_confined_pointer_v1)
 
static void zwp_confined_pointer_v1_set_region (struct zwp_confined_pointer_v1 *zwp_confined_pointer_v1, struct wl_region *region)
 

Detailed Description

The wp_confined_pointer interface represents a confined pointer state.

This object will send the event 'confined' when the confinement is activated. Whenever the confinement is activated, it is guaranteed that the surface the pointer is confined to will already have received pointer focus and that the pointer will be within the region passed to the request creating this object. It is up to the compositor to decide whether this requires some user interaction and if the pointer will warp to within the passed region if outside.

To unconfine the pointer, send the destroy request. This will also destroy the wp_confined_pointer object.

If the compositor decides to unconfine the pointer the unconfined event is sent. The wp_confined_pointer object is at this point defunct and should be destroyed.

Macro Definition Documentation

◆ ZWP_CONFINED_POINTER_V1_CONFINED_SINCE_VERSION

#define ZWP_CONFINED_POINTER_V1_CONFINED_SINCE_VERSION   1

◆ ZWP_CONFINED_POINTER_V1_DESTROY_SINCE_VERSION

#define ZWP_CONFINED_POINTER_V1_DESTROY_SINCE_VERSION   1

◆ ZWP_CONFINED_POINTER_V1_SET_REGION_SINCE_VERSION

#define ZWP_CONFINED_POINTER_V1_SET_REGION_SINCE_VERSION   1

◆ ZWP_CONFINED_POINTER_V1_UNCONFINED_SINCE_VERSION

#define ZWP_CONFINED_POINTER_V1_UNCONFINED_SINCE_VERSION   1

Function Documentation

◆ zwp_confined_pointer_v1_add_listener()

static int zwp_confined_pointer_v1_add_listener ( struct zwp_confined_pointer_v1 *  zwp_confined_pointer_v1,
const struct zwp_confined_pointer_v1_listener listener,
void data 
)
inlinestatic

Definition at line 555 of file pointer-constraints-unstable-v1-client-protocol.h.

557 {
558  return wl_proxy_add_listener((struct wl_proxy *) zwp_confined_pointer_v1,
559  (void (**)(void)) listener, data);
560 }
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
Definition: SDL_opengl.h:1974

◆ zwp_confined_pointer_v1_destroy()

static void zwp_confined_pointer_v1_destroy ( struct zwp_confined_pointer_v1 *  zwp_confined_pointer_v1)
inlinestatic

Destroy the confined pointer object. If applicable, the compositor will unconfine the pointer.

Definition at line 610 of file pointer-constraints-unstable-v1-client-protocol.h.

References ZWP_CONFINED_POINTER_V1_DESTROY.

611 {
612  wl_proxy_marshal((struct wl_proxy *) zwp_confined_pointer_v1,
614 
615  wl_proxy_destroy((struct wl_proxy *) zwp_confined_pointer_v1);
616 }

◆ zwp_confined_pointer_v1_get_user_data()

static void* zwp_confined_pointer_v1_get_user_data ( struct zwp_confined_pointer_v1 *  zwp_confined_pointer_v1)
inlinestatic

Definition at line 592 of file pointer-constraints-unstable-v1-client-protocol.h.

593 {
594  return wl_proxy_get_user_data((struct wl_proxy *) zwp_confined_pointer_v1);
595 }

◆ zwp_confined_pointer_v1_set_region()

static void zwp_confined_pointer_v1_set_region ( struct zwp_confined_pointer_v1 *  zwp_confined_pointer_v1,
struct wl_region *  region 
)
inlinestatic

Set a new region used to confine the pointer.

The new confine region is double-buffered. The new confine region will only take effect when the associated surface gets its pending state applied. See wl_surface.commit for details.

If the confinement is active when the new confinement region is applied and the pointer ends up outside of newly applied region, the pointer may warped to a position within the new confinement region. If warped, a wl_pointer.motion event will be emitted, but no wp_relative_pointer.relative_motion event.

The compositor may also, instead of using the new region, unconfine the pointer.

For details about the confine region, see wp_confined_pointer.

Definition at line 639 of file pointer-constraints-unstable-v1-client-protocol.h.

References ZWP_CONFINED_POINTER_V1_SET_REGION.

640 {
641  wl_proxy_marshal((struct wl_proxy *) zwp_confined_pointer_v1,
643 }

◆ zwp_confined_pointer_v1_set_user_data()

static void zwp_confined_pointer_v1_set_user_data ( struct zwp_confined_pointer_v1 *  zwp_confined_pointer_v1,
void user_data 
)
inlinestatic

Definition at line 585 of file pointer-constraints-unstable-v1-client-protocol.h.

586 {
587  wl_proxy_set_user_data((struct wl_proxy *) zwp_confined_pointer_v1, user_data);
588 }