pub struct ScrollVelocityTracker { /* private fields */ }Expand description
A bounded, time-weighted velocity estimator for pointer samples.
Implementations§
Source§impl ScrollVelocityTracker
impl ScrollVelocityTracker
Sourcepub fn new(now: Instant, sample_window: Duration, idle_cutoff: Duration) -> Self
pub fn new(now: Instant, sample_window: Duration, idle_cutoff: Duration) -> Self
Creates a tracker with the supplied history and idle durations.
Sourcepub fn push_delta(&mut self, now: Instant, dx: f32, dy: f32)
pub fn push_delta(&mut self, now: Instant, dx: f32, dy: f32)
Adds a displacement sample, accumulating samples with equal timestamps.
Sourcepub fn resolve(&mut self, now: Instant) -> Option<ScrollVelocity>
pub fn resolve(&mut self, now: Instant) -> Option<ScrollVelocity>
Returns the weighted velocity at now, if recent samples exist.
Trait Implementations§
Source§impl Clone for ScrollVelocityTracker
impl Clone for ScrollVelocityTracker
Source§fn clone(&self) -> ScrollVelocityTracker
fn clone(&self) -> ScrollVelocityTracker
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ScrollVelocityTracker
impl Debug for ScrollVelocityTracker
Source§impl PartialEq for ScrollVelocityTracker
impl PartialEq for ScrollVelocityTracker
impl StructuralPartialEq for ScrollVelocityTracker
Auto Trait Implementations§
impl Freeze for ScrollVelocityTracker
impl RefUnwindSafe for ScrollVelocityTracker
impl Send for ScrollVelocityTracker
impl Sync for ScrollVelocityTracker
impl Unpin for ScrollVelocityTracker
impl UnsafeUnpin for ScrollVelocityTracker
impl UnwindSafe for ScrollVelocityTracker
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§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.§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.§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.§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.§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Converts
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Converts
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Converts
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Converts
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.