Struct smithay_client_toolkit::seat::pointer::ThemedPointer
source · pub struct ThemedPointer<U = PointerData, S = SurfaceData> {
pub(super) themes: Arc<Mutex<Themes>>,
pub(super) pointer: WlPointer,
pub(super) shm: WlShm,
pub(super) surface: WlSurface,
pub(super) shape_device: Option<WpCursorShapeDeviceV1>,
pub(super) _marker: PhantomData<U>,
pub(super) _surface_data: PhantomData<S>,
}
Expand description
Pointer themeing
Fields§
§themes: Arc<Mutex<Themes>>
§pointer: WlPointer
The underlying wl_pointer.
shm: WlShm
§surface: WlSurface
The surface owned by the cursor to present the icon.
shape_device: Option<WpCursorShapeDeviceV1>
§_marker: PhantomData<U>
§_surface_data: PhantomData<S>
Implementations§
source§impl<U: PointerDataExt + 'static, S: SurfaceDataExt + 'static> ThemedPointer<U, S>
impl<U: PointerDataExt + 'static, S: SurfaceDataExt + 'static> ThemedPointer<U, S>
sourcepub fn set_cursor(
&self,
conn: &Connection,
icon: CursorIcon,
) -> Result<(), PointerThemeError>
pub fn set_cursor( &self, conn: &Connection, icon: CursorIcon, ) -> Result<(), PointerThemeError>
Set the cursor to the given CursorIcon
.
The cursor icon should be reloaded on every PointerEventKind::Enter
event.
sourcefn set_cursor_legacy(
&self,
conn: &Connection,
serial: u32,
icon: CursorIcon,
) -> Result<(), PointerThemeError>
fn set_cursor_legacy( &self, conn: &Connection, serial: u32, icon: CursorIcon, ) -> Result<(), PointerThemeError>
The legacy method of loading the cursor from the system cursor theme instead of relying on compositor to set the cursor.
sourcepub fn hide_cursor(&self) -> Result<(), PointerThemeError>
pub fn hide_cursor(&self) -> Result<(), PointerThemeError>
Hide the cursor by providing empty surface for it.
The cursor should be hidden on every PointerEventKind::Enter
event.
sourcepub fn pointer(&self) -> &WlPointer
pub fn pointer(&self) -> &WlPointer
The WlPointer
associated with this ThemedPointer
.
sourcepub fn surface(&self) -> &WlSurface
pub fn surface(&self) -> &WlSurface
The associated WlSurface
with this ThemedPointer
.
Trait Implementations§
Auto Trait Implementations§
impl<U, S> Freeze for ThemedPointer<U, S>
impl<U = PointerData, S = SurfaceData> !RefUnwindSafe for ThemedPointer<U, S>
impl<U, S> Send for ThemedPointer<U, S>
impl<U, S> Sync for ThemedPointer<U, S>
impl<U, S> Unpin for ThemedPointer<U, S>
impl<U = PointerData, S = SurfaceData> !UnwindSafe for ThemedPointer<U, S>
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.