Module Pointer_constraints_unstable_v1_client.Zwp_confined_pointer_v1

Confined pointer object.

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.

type 'v t = ([ `Zwp_confined_pointer_v1 ], 'v, [ `Client ]) Wayland.Proxy.t

Version 1

val set_region : [< `V1 ] t -> region:([ `Wl_region ], 'a, [ `Client ]) Wayland.Proxy.t option -> unit

Set a new confine region.

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.

val destroy : [< `V1 ] t -> unit

Destroy the confined pointer object.

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

Handlers

Note: Servers will always want to use v1.

class virtual +'a v1 : object ... end

Handler for a proxy with version >= 1.