pub struct Scroll(/* private fields */);Implementations§
source§impl Scroll
impl Scroll
sourcepub fn release(&self)
pub fn release(&self)
Notification that the client is no longer interested in this object.
The EIS implementation will release any resources related to this object and
send the ei_scroll.destroyed event once complete.
sourcepub fn scroll(&self, x: f32, y: f32)
pub fn scroll(&self, x: f32, y: f32)
Generate a a smooth (pixel-precise) scroll event on this pointer.
Clients must not send ei_scroll.scroll_discrete events for the same event,
the EIS implementation is responsible for emulation of discrete
scroll events.
It is a client bug to send this request more than once
within the same ei_device.frame and the EIS implementation
may ignore either or all such requests and/or disconnect the client.
It is a protocol violation to send this request for a client
of an ei_handshake.context_type other than sender.
sourcepub fn scroll_discrete(&self, x: i32, y: i32)
pub fn scroll_discrete(&self, x: i32, y: i32)
Generate a a discrete (e.g. wheel) scroll event on this pointer.
Clients must not send ei_scroll.scroll events for the same event,
the EIS implementation is responsible for emulation of smooth
scroll events.
A discrete scroll event is based logical scroll units (equivalent to one mouse wheel click). The value for one scroll unit is 120, a fraction or multiple thereof represents a fraction or multiple of a wheel click.
It is a client bug to send this request more than once
within the same ei_device.frame and the EIS implementation
may ignore either or all such requests and/or disconnect the client.
It is a protocol violation to send this request for a client
of an ei_handshake.context_type other than sender.
sourcepub fn scroll_stop(&self, x: u32, y: u32, is_cancel: u32)
pub fn scroll_stop(&self, x: u32, y: u32, is_cancel: u32)
Generate a a scroll stop or cancel event on this pointer.
A scroll stop event notifies the EIS implementation that the interaction causing a
scroll motion previously triggered with ei_scroll.scroll or
ei_scroll.scroll_discrete has stopped. For example, if all
fingers are lifted off a touchpad, two-finger scrolling has logically
stopped. The EIS implementation may use this information to e.g. start kinetic scrolling
previously based on the previous finger speed.
If is_cancel is nonzero, the event represents a cancellation of the current interaction. This indicates that the interaction has stopped to the point where further (server-emulated) scroll events from this device are wrong.
It is a client bug to send this request more than once
within the same ei_device.frame and the EIS implementation
may ignore either or all such requests and/or disconnect the client.
It is a client bug to send this request for an axis that
had a a nonzero value in either ei_scroll.scroll or ei_scroll.scroll_discrete
in the current frame and the EIS implementation
may ignore either or all such requests and/or disconnect the client.
It is a protocol violation to send this request for a client
of an ei_handshake.context_type other than sender.
Trait Implementations§
impl Eq for Scroll
impl StructuralPartialEq for Scroll
Auto Trait Implementations§
impl Freeze for Scroll
impl RefUnwindSafe for Scroll
impl Send for Scroll
impl Sync for Scroll
impl Unpin for Scroll
impl UnwindSafe for Scroll
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
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit)