Skip to main content

PointerDownCx

Struct PointerDownCx 

Source
pub struct PointerDownCx {
Show 14 fields pub pointer_id: PointerId, pub position: Point, pub position_local: Point, pub position_window: Option<Point>, pub tick_id: TickId, pub pixels_per_point: f32, pub button: MouseButton, pub modifiers: Modifiers, pub click_count: u8, pub pointer_type: PointerType, pub hit_is_text_input: bool, pub hit_is_pressable: bool, pub hit_pressable_target: Option<GlobalElementId>, pub hit_pressable_target_in_descendant_subtree: bool,
}
Expand description

Pointer down payload for component-owned pointer handlers.

Fields§

§pointer_id: PointerId§position: Point

Pointer position in the target widget’s untransformed layout space (ADR 0238).

§position_local: Point

Pointer position in the target element’s local coordinate space (origin at (0, 0)).

This is derived as position - host.bounds().origin (ADR 0238).

§position_window: Option<Point>

Pointer position in window-local logical pixels (pre-mapping).

This is best-effort: events may arrive before the runtime has recorded a window snapshot.

§tick_id: TickId§pixels_per_point: f32

Pixels-per-point (a.k.a. window scale factor) for position.

This is required for DPI-stable interactions (e.g. viewport tools, gizmos).

§button: MouseButton§modifiers: Modifiers§click_count: u8

See PointerEvent::{Down,Up}.click_count for normalization rules.

§pointer_type: PointerType§hit_is_text_input: bool

true when the pointer-down hit-test target is (or is inside) a text input element subtree (TextInput, TextArea, or TextInputRegion).

This is a mechanism-provided classification intended for component policy decisions like Embla-style “do not arm drag when interacting with focus nodes”.

§hit_is_pressable: bool

true when the pointer-down hit-test target is (or is inside) a pressable element subtree (Pressable).

This is a mechanism-provided classification intended for policy-level decisions like “click-to-focus unless interacting with an embedded button”.

§hit_pressable_target: Option<GlobalElementId>

The deepest pressable element in the pointer-down hit-test chain (if any).

This can be used by composite widgets to implement DOM-style policies like “click-to-focus unless the event target is inside a button” without requiring selector mechanisms in the component layer.

§hit_pressable_target_in_descendant_subtree: bool

true when hit_pressable_target is a strict descendant of the current action target.

This excludes ambient ancestor pressables and the current target itself, so wrapper policies can suppress forwarding only for genuinely nested interactive descendants.

Trait Implementations§

Source§

impl Clone for PointerDownCx

Source§

fn clone(&self) -> PointerDownCx

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 PointerDownCx

Source§

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

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

impl PartialEq for PointerDownCx

Source§

fn eq(&self, other: &PointerDownCx) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for PointerDownCx

Source§

impl StructuralPartialEq for PointerDownCx

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> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more