pub struct Kinetic { /* private fields */ }
Expand description
Kinetic scrolling model
Implementations§
Source§impl Kinetic
impl Kinetic
Sourcepub fn press_start(&mut self, press: PressSource)
pub fn press_start(&mut self, press: PressSource)
Call on Event::PressStart
Sourcepub fn press_move(&mut self, press: PressSource) -> bool
pub fn press_move(&mut self, press: PressSource) -> bool
Call on Event::PressMove
Returns true if component should immediately scroll by delta
Sourcepub fn press_end(&mut self, press: PressSource, vel: Vec2) -> bool
pub fn press_end(&mut self, press: PressSource, vel: Vec2) -> bool
Call on Event::PressEnd
Returns true when a frame timer (EventState::request_frame_timer
)
should be requested (see Self::step
).
Sourcepub fn start(&mut self, start: KineticStart) -> Offset
pub fn start(&mut self, start: KineticStart) -> Offset
Call on Scroll::Kinetic
to immediately start (or accelerate) scrolling
Returns any offset which should be applied immediately.
Sourcepub fn step(&mut self, cx: &EventState) -> Option<Offset>
pub fn step(&mut self, cx: &EventState) -> Option<Offset>
Call this regularly using a frame timer
On Self::press_end
and while in motion (Self::is_scrolling
), a
frame timer (EventState::request_frame_timer
) should be requested
and used to call this method.
Sourcepub fn stop_with_residual(&mut self, delta: Offset) -> KineticStart
pub fn stop_with_residual(&mut self, delta: Offset) -> KineticStart
Stop scrolling on any axis were delta
is non-zero
Returns a KineticStart
message from the residual velocity and delta.
Sourcepub fn is_scrolling(&self) -> bool
pub fn is_scrolling(&self) -> bool
True while kinetic scrolling
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Kinetic
impl RefUnwindSafe for Kinetic
impl Send for Kinetic
impl Sync for Kinetic
impl Unpin for Kinetic
impl UnwindSafe for Kinetic
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<S, T> CastApprox<T> for Swhere
T: ConvApprox<S>,
impl<S, T> CastApprox<T> for Swhere
T: ConvApprox<S>,
Source§fn try_cast_approx(self) -> Result<T, Error>
fn try_cast_approx(self) -> Result<T, Error>
Source§fn cast_approx(self) -> T
fn cast_approx(self) -> T
Source§impl<S, T> CastFloat<T> for Swhere
T: ConvFloat<S>,
impl<S, T> CastFloat<T> for Swhere
T: ConvFloat<S>,
Source§fn cast_trunc(self) -> T
fn cast_trunc(self) -> T
Cast to integer, truncating Read more
Source§fn cast_nearest(self) -> T
fn cast_nearest(self) -> T
Cast to the nearest integer Read more
Source§fn cast_floor(self) -> T
fn cast_floor(self) -> T
Cast the floor to an integer Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<R, P> ReadPrimitive<R> for P
impl<R, P> ReadPrimitive<R> for P
Source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
Read this value from the supplied reader. Same as
ReadEndian::read_from_little_endian()
.