Skip to main content

LongPressDetector

Struct LongPressDetector 

Source
pub struct LongPressDetector { /* private fields */ }
Expand description

Detects long-press gestures using absolute timestamps.

Call update() on each poll cycle with the current edge (if any) and the current monotonic time in milliseconds.

Implementations§

Source§

impl LongPressDetector

Source

pub fn new() -> Self

Source

pub fn with_threshold(threshold_ms: u32) -> Self

Create a detector with a custom threshold.

Source

pub fn new_fired() -> Self

Create a detector in “fired” state — a subsequent Deactivate will be suppressed. Used after preset switch to ignore stale button releases.

Source

pub fn update(&mut self, edge: Option<Edge>, now_ms: u32) -> Option<Gesture>

Update with the current edge and timestamp. Returns a gesture when detected.

Source

pub fn is_active(&self) -> bool

Returns true while the button is held (before or after firing).

Source

pub fn has_fired(&self) -> bool

Returns true if the long press gesture has already fired.

Source

pub fn held_ms(&self, now_ms: u32) -> u32

Returns ms elapsed since press, or 0 if not active.

Trait Implementations§

Source§

impl Clone for LongPressDetector

Source§

fn clone(&self) -> LongPressDetector

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for LongPressDetector

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for LongPressDetector

Source§

fn default() -> Self

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.