Skip to main content

PointerEvent

Struct PointerEvent 

Source
pub struct PointerEvent {
    pub id: u64,
    pub kind: PointerEventKind,
    pub phase: PointerPhase,
    pub position: Point,
    pub global_position: Point,
    pub buttons: PointerButtons,
    /* private fields */
}
Expand description

Pointer event with consumption tracking for gesture disambiguation.

Events can be consumed by handlers (e.g., scroll) to prevent other handlers (e.g., clicks) from receiving them. This enables proper gesture disambiguation matching Jetpack Compose’s event consumption pattern.

Fields§

§id: u64§kind: PointerEventKind§phase: PointerPhase§position: Point§global_position: Point§buttons: PointerButtons

Implementations§

Source§

impl PointerEvent

Source

pub fn new( kind: PointerEventKind, position: Point, global_position: Point, ) -> PointerEvent

Source

pub fn with_buttons(self, buttons: PointerButtons) -> PointerEvent

Set the buttons state for this event

Source

pub fn consume(&self)

Mark this event as consumed, preventing other handlers from processing it.

Example: Scroll gestures consume events once dragging starts to prevent child buttons from firing clicks.

Source

pub fn is_consumed(&self) -> bool

Check if this event has been consumed by another handler.

Handlers should check this before processing events. For example, clickable should not fire if the event was consumed by a scroll gesture.

Source

pub fn copy_with_local_position(&self, position: Point) -> PointerEvent

Creates a copy of this event with a new local position, sharing the consumption state.

Trait Implementations§

Source§

impl Clone for PointerEvent

Source§

fn clone(&self) -> PointerEvent

Returns a duplicate of the value. Read more
1.0.0 · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for PointerEvent

Source§

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

Formats the value using the given formatter. 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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
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.