Struct wayland_client::wayland::seat::WlPointer [] [src]

pub struct WlPointer {
    // some fields omitted
}

pointer input device

The wl_pointer interface represents one or more input devices, such as mice, which control the pointer location and pointer_focus of a seat.

The wl_pointer interface generates motion, enter and leave events for the surfaces that the pointer is located over, and button and axis events for button presses, button releases and scrolling.

Methods

impl WlPointer
[src]

fn set_cursor(&self, serial: u32, surface: Option<&WlSurface>, hotspot_x: i32, hotspot_y: i32)

set the pointer surface

Set the pointer surface, i.e., the surface that contains the pointer image (cursor). This request gives the surface the role of a cursor. If the surface already has another role, it raises a protocol error.

The cursor actually changes only if the pointer focus for this device is one of the requesting client's surfaces or the surface parameter is the current pointer surface. If there was a previous surface set with this request it is replaced. If surface is NULL, the pointer image is hidden.

The parameters hotspot_x and hotspot_y define the position of the pointer surface relative to the pointer location. Its top-left corner is always at (x, y) - (hotspot_x, hotspot_y), where (x, y) are the coordinates of the pointer location, in surface local coordinates.

On surface.attach requests to the pointer surface, hotspot_x and hotspot_y are decremented by the x and y parameters passed to the request. Attach must be confirmed by wl_surface.commit as usual.

The hotspot can also be updated by passing the currently set pointer surface to this request with new values for hotspot_x and hotspot_y.

The current and pending input regions of the wl_surface are cleared, and wl_surface.set_input_region is ignored until the wl_surface is no longer used as the cursor. When the use as a cursor ends, the current and pending input regions become undefined, and the wl_surface is unmapped.

fn release(self)

release the pointer object

Using this request client can tell the server that it is not going to use the pointer object anymore.

This request destroys the pointer proxy object, so user must not call wl_pointer_destroy() after using this request.

Requires interface version >= 3.

Trait Implementations

impl Sync for WlPointer
[src]

impl Send for WlPointer
[src]

impl Proxy for WlPointer
[src]

fn ptr(&self) -> *mut wl_proxy

fn interface() -> *mut wl_interface

fn interface_name() -> &'static str

The internal name of this interface, as advertized by the registry if it is a global.

fn version() -> u32

The maximum version of this interface handled by the library.

fn id(&self) -> ProxyId

Get the id of this proxy

unsafe fn from_ptr(ptr: *mut wl_proxy) -> WlPointer

Creates a proxy from a fresh ptr

unsafe fn from_ptr_no_own(ptr: *mut wl_proxy) -> WlPointer

Creates a proxy from a ptr that is managed elsewhere Read more

fn set_evt_iterator(&mut self, evt: &EventIterator)

Set the event iterator associated to this proxy

impl Debug for WlPointer
[src]

fn fmt(&self, fmt: &mut Formatter) -> Result<()Error>

Formats the value using the given formatter.

impl Drop for WlPointer
[src]

fn drop(&mut self)

A method called when the value goes out of scope. Read more