[][src]Struct smithay_client_toolkit::pointer::ThemedPointer

pub struct ThemedPointer { /* fields omitted */ }

Wrapper of a themed pointer

You can access the underlying wl_pointer::WlPointer via deref. It will not release the proxy when dropped.

Just like Proxy, this is a Rc-like wrapper. You can clone it to have several handles to the same theming machinery of a pointer.

Methods

impl ThemedPointer[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.

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 the given scale to an underlying cursor surface

Possible names depend on the theme. Does nothing and returns Err(()) if given name 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 ThemedPointer[src]

impl Deref for ThemedPointer[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.