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 void * | zwp_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

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

## ZWP_CONFINED_POINTER_V1_DESTROY_SINCE_VERSION

#define ZWP_CONFINED_POINTER_V1_DESTROY_SINCE_VERSION 1

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

## ZWP_CONFINED_POINTER_V1_SET_REGION_SINCE_VERSION

#define ZWP_CONFINED_POINTER_V1_SET_REGION_SINCE_VERSION 1

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

## ZWP_CONFINED_POINTER_V1_UNCONFINED_SINCE_VERSION

#define ZWP_CONFINED_POINTER_V1_UNCONFINED_SINCE_VERSION 1

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

## 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
| ) |  |

inline static

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

{
return wl_proxy_add_listener((struct wl_proxy *) zwp_confined_pointer_v1,
(void (**)(void)) listener, data);
}
data
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 | ) |

inline static

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.

{
wl_proxy_marshal((struct wl_proxy *) zwp_confined_pointer_v1,
ZWP_CONFINED_POINTER_V1_DESTROY);
wl_proxy_destroy((struct wl_proxy *) zwp_confined_pointer_v1);
}
ZWP_CONFINED_POINTER_V1_DESTROY
#define ZWP_CONFINED_POINTER_V1_DESTROY
Definition: pointer-constraints-unstable-v1-client-protocol.h:562

## 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 | ) |

inline static

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

{
return wl_proxy_get_user_data((struct wl_proxy *) zwp_confined_pointer_v1);
}

## 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
| ) |  |

inline static

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.

{
wl_proxy_marshal((struct wl_proxy *) zwp_confined_pointer_v1,
ZWP_CONFINED_POINTER_V1_SET_REGION, region);
}
ZWP_CONFINED_POINTER_V1_SET_REGION
#define ZWP_CONFINED_POINTER_V1_SET_REGION
Definition: pointer-constraints-unstable-v1-client-protocol.h:563

## 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
| ) |  |

inline static

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

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