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.