Struct zng::gesture::ClickArgs

source ·
pub struct ClickArgs {
    pub timestamp: DInstant,
    pub window_id: WindowId,
    pub device_id: Option<DeviceId>,
    pub source: ClickArgsSource,
    pub click_count: NonZero<u32>,
    pub is_repeat: bool,
    pub modifiers: ModifiersState,
    pub target: InteractionPath,
    /* private fields */
}
Expand description

CLICK_EVENT arguments.

Fields§

§timestamp: DInstant

Instant the event happened.

§window_id: WindowId

Id of window that received the event.

§device_id: Option<DeviceId>

Id of device that generated the event.

Is None if the event was generated programmatically.

§source: ClickArgsSource

Specific info from the source of this event.

§click_count: NonZero<u32>

Sequential click count. Number 1 is single click, 2 is double click, etc.

Mouse clicks are translated directly, keyboard clicks are the key repeat count plus one.

§is_repeat: bool

If the event was auto-generated by holding the key or button pressed.

§modifiers: ModifiersState

What modifier keys where pressed when this event happened.

§target: InteractionPath

The mouse input top-most hit or the focused element at the time of the key input.

Implementations§

source§

impl ClickArgs

source

pub fn new( timestamp: impl Into<DInstant>, propagation_handle: EventPropagationHandle, window_id: impl Into<WindowId>, device_id: impl Into<Option<DeviceId>>, source: impl Into<ClickArgsSource>, click_count: impl Into<NonZero<u32>>, is_repeat: impl Into<bool>, modifiers: impl Into<ModifiersState>, target: impl Into<InteractionPath>, ) -> ClickArgs

New args from values that convert into the argument types.

source

pub fn now( window_id: impl Into<WindowId>, device_id: impl Into<Option<DeviceId>>, source: impl Into<ClickArgsSource>, click_count: impl Into<NonZero<u32>>, is_repeat: impl Into<bool>, modifiers: impl Into<ModifiersState>, target: impl Into<InteractionPath>, ) -> ClickArgs

Arguments for event that happened now (INSTANT.now).

source§

impl ClickArgs

source

pub fn is_enabled(&self, widget_id: WidgetId) -> bool

Returns true if the widget is enabled in target.

source

pub fn is_disabled(&self, widget_id: WidgetId) -> bool

Returns true if the widget is disabled in target.

source

pub fn is_primary(&self) -> bool

If the event counts as primary click.

A primary click causes the default widget function interaction.

Returns true if the click source is a left mouse button click or a primary click shortcut or a touch tap.

source

pub fn is_context(&self) -> bool

If the event counts as a context menu request.

Returns true if the click_count is 1 and the click source is a right mouse button click or a context click shortcut or a touch long press.

source

pub fn is_mouse_btn(&self, mouse_button: MouseButton) -> bool

If the event was caused by a press of mouse_button.

source

pub fn shortcut(&self) -> Option<Shortcut>

The shortcut the generated this event.

source

pub fn is_single(&self) -> bool

If the click_count is 1.

source

pub fn is_double(&self) -> bool

If the click_count is 2.

source

pub fn is_triple(&self) -> bool

If the click_count is 3.

source

pub fn is_from_mouse(&self) -> bool

If this event was generated by a mouse device.

source

pub fn is_from_touch(&self) -> bool

If this event was generated by a touch device.

source

pub fn is_from_keyboard(&self) -> bool

If this event was generated by a keyboard device.

source

pub fn is_from_access(&self) -> bool

If this event was generated by accessibility automation event.

Note that accessibility assistants can also simulate mouse click events, these events are not classified as accessibility sourced.

source

pub fn position(&self) -> Option<Point2D<Dip, Dip>>

Gets the click position, if the click was generated by a device with position.

The position is in the coordinates of target.

Trait Implementations§

source§

impl AnyEventArgs for ClickArgs

source§

fn delivery_list(&self, list: &mut UpdateDeliveryList)

The target.

source§

fn clone_any(&self) -> Box<dyn AnyEventArgs>

Clone the event into a type erased box.
source§

fn as_any(&self) -> &(dyn Any + 'static)

Access to dyn Any methods.
source§

fn timestamp(&self) -> DInstant

Gets the instant this event happened.
source§

fn propagation(&self) -> &EventPropagationHandle

Propagation handle associated with this event instance. Read more
source§

impl Clone for ClickArgs

source§

fn clone(&self) -> ClickArgs

Returns a copy 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 ClickArgs

source§

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

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

impl EventArgs for ClickArgs

source§

fn handle<F, R>(&self, handler: F) -> Option<R>
where F: FnOnce(&Self) -> R,

Calls handler and stops propagation if propagation is still allowed. Read more
source§

impl From<MouseClickArgs> for ClickArgs

source§

fn from(args: MouseClickArgs) -> ClickArgs

Converts to this type from the input type.
source§

impl From<TouchLongPressArgs> for ClickArgs

source§

fn from(args: TouchLongPressArgs) -> ClickArgs

Converts to this type from the input type.
source§

impl From<TouchTapArgs> for ClickArgs

source§

fn from(args: TouchTapArgs) -> ClickArgs

Converts to this type from the input type.

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, dst: *mut T)

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

impl<T> Downcast for T
where T: 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>

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)

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)

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> DowncastSync for T
where T: Any + Send + Sync,

§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Sync + Send>

Convert Arc<Trait> (where Trait: Downcast) to Arc<Any>. Arc<Any> can then be further downcast into Arc<ConcreteType> where ConcreteType implements Trait.
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> FsChangeNote for T
where T: Debug + Any + Send + Sync,

source§

fn as_any(&self) -> &(dyn Any + 'static)

Access any.
§

impl<T> Instrument for T

§

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

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

fn in_current_span(self) -> Instrumented<Self>

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

source§

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 more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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 more
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

source§

type Output = T

Should always be Self
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.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
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
§

impl<T> ErasedDestructor for T
where T: 'static,

§

impl<T> MaybeSendSync for T

source§

impl<T> StateValue for T
where T: Any + Send + Sync,