[][src]Enum smithay_client_toolkit::pointer::AutoPointer

pub enum AutoPointer {
    Themed(ThemedPointer),
    UnThemed(WlPointer),
}

A pointer wrapper to gracefully handle a missing libwayland-cursor

It has the same API as ThemedPointer, but falls back to doing nothing in its Unthemed variant.

Variants

The ThemedPointer

UnThemed(WlPointer)

The regular pointer if theme capability is not available

Methods

impl AutoPointer[src]

pub fn set_cursor(&self, name: &str, serial: Option<u32>) -> Result<(), ()>[src]

Change the cursor to the given cursor name

Possible names depend on the theme. Does nothing and returns Err(()) if given name is not available.

Does nothing and returns Ok(()) if no theme is loaded (if wayland-cursor is not available).

If this is done as an answer to an input event, you need to provide the associated serial otherwise the server may ignore the request.

pub fn set_cursor_with_scale(
    &self,
    name: &str,
    scale: u32,
    serial: Option<u32>
) -> Result<(), ()>
[src]

Change the cursor to the given cursor name and apply a scale to an underlying cursor surface

Possible names depend on the theme. Does nothing and returns Err(()) if given name is not available.

Does nothing and returns Ok(()) if no theme is loaded (if wayland-cursor is not available).

If this is done as an answer to an input event, you need to provide the associated serial otherwise the server may ignore the request.

Methods from Deref<Target = WlPointer>

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

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.

pub fn release(&self)[src]

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

impl Clone for AutoPointer[src]

impl Deref for AutoPointer[src]

type Target = WlPointer

The resulting type after dereferencing.

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.