Struct wayland_client::protocol::wl_pointer::WlPointer
source · pub struct WlPointer { /* private fields */ }
Expand description
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.
See also the Event enum for this interface.
Implementations
sourceimpl WlPointer
impl WlPointer
sourcepub fn set_cursor(
&self,
serial: u32,
surface: Option<&WlSurface>,
hotspot_x: i32,
hotspot_y: i32
)
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.
Trait Implementations
sourceimpl PartialEq<Weak<WlPointer>> for WlPointer
impl PartialEq<Weak<WlPointer>> for WlPointer
sourceimpl Proxy for WlPointer
impl Proxy for WlPointer
sourcefn data<U: Send + Sync + 'static>(&self) -> Option<&U>
fn data<U: Send + Sync + 'static>(&self) -> Option<&U>
sourcefn object_data(&self) -> Option<&Arc<dyn ObjectData>>
fn object_data(&self) -> Option<&Arc<dyn ObjectData>>
sourcefn backend(&self) -> &WeakBackend
fn backend(&self) -> &WeakBackend
sourcefn send_request(&self, req: Self::Request) -> Result<(), InvalidId>
fn send_request(&self, req: Self::Request) -> Result<(), InvalidId>
sourcefn send_constructor<I: Proxy>(
&self,
req: Self::Request,
data: Arc<dyn ObjectData>
) -> Result<I, InvalidId>
fn send_constructor<I: Proxy>(
&self,
req: Self::Request,
data: Arc<dyn ObjectData>
) -> Result<I, InvalidId>
sourcefn from_id(conn: &Connection, id: ObjectId) -> Result<Self, InvalidId>
fn from_id(conn: &Connection, id: ObjectId) -> Result<Self, InvalidId>
sourcefn inert(backend: WeakBackend) -> Self
fn inert(backend: WeakBackend) -> Self
sourcefn parse_event(
conn: &Connection,
msg: Message<ObjectId, OwnedFd>
) -> Result<(Self, Self::Event), DispatchError>
fn parse_event(
conn: &Connection,
msg: Message<ObjectId, OwnedFd>
) -> Result<(Self, Self::Event), DispatchError>
sourcefn write_request(
&self,
conn: &Connection,
msg: Self::Request
) -> Result<(Message<ObjectId, RawFd>, Option<(&'static Interface, u32)>), InvalidId>
fn write_request(
&self,
conn: &Connection,
msg: Self::Request
) -> Result<(Message<ObjectId, RawFd>, Option<(&'static Interface, u32)>), InvalidId>
impl Eq for WlPointer
Auto Trait Implementations
impl !RefUnwindSafe for WlPointer
impl Send for WlPointer
impl Sync for WlPointer
impl Unpin for WlPointer
impl !UnwindSafe for WlPointer
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
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
. Read morefn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
. Read morefn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s. Read morefn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s. Read more