pub struct WlPointer(/* private fields */);

Implementations§

source§

impl WlPointer

source

pub 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.

The serial parameter must match the latest wl_pointer.enter serial number sent to the client. Otherwise the request will be ignored.

source

pub fn release(&self)

release the pointer object

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

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

This is a destructor, you cannot send requests to this object any longer once this method is called. Only available since version 3 of the interface.

Trait Implementations§

source§

impl AsRef<Proxy<WlPointer>> for WlPointer

source§

fn as_ref(&self) -> &Proxy<Self>

Converts this type into a shared reference of the (usually inferred) input type.
source§

impl Clone for WlPointer

source§

fn clone(&self) -> WlPointer

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for WlPointer

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl From<Proxy<WlPointer>> for WlPointer

source§

fn from(value: Proxy<Self>) -> Self

Converts to this type from the input type.
source§

impl From<WlPointer> for Proxy<WlPointer>

source§

fn from(value: WlPointer) -> Self

Converts to this type from the input type.
source§

impl Interface for WlPointer

§

type Request = Request

Set of requests associated to this interface Read more
§

type Event = Event

Set of events associated to this interface Read more
source§

const NAME: &'static str = "wl_pointer"

Name of this interface
source§

const VERSION: u32 = 7u32

Maximum supported version of this interface Read more
source§

fn c_interface() -> *const wl_interface

Pointer to the C representation of this interface
source§

impl PartialEq for WlPointer

source§

fn eq(&self, other: &WlPointer) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Eq for WlPointer

source§

impl StructuralEq for WlPointer

source§

impl StructuralPartialEq for WlPointer

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.