pub enum PointerSource {
Mouse,
Touch {
finger_id: FingerId,
force: Option<Force>,
},
TabletTool {
kind: TabletToolKind,
data: TabletToolData,
},
Unknown,
}Expand description
Represents the pointer type and its data for a pointer event.
Wayland/X11: Unknown device types are converted to known variants by the
system.
Variants§
Mouse
Touch
Represents a touch event.
Every time the user touches the screen, a WindowEvent::PointerEntered and a
WindowEvent::PointerButton with ElementState::Pressed event with an unique
identifier for the finger is emitted. When a finger is lifted, a
WindowEvent::PointerButton with ElementState::Released and a
WindowEvent::PointerLeft event is generated with the same FingerId.
After a WindowEvent::PointerEntered event has been emitted, there may be zero or more
WindowEvent::PointerMoved events when the finger is moved or the touch pressure
changes.
A WindowEvent::PointerLeft without a WindowEvent::PointerButton with
ElementState::Released event is emitted when the system has canceled tracking this
touch, such as when the window loses focus, or on mobile devices if the user moves the
device against their face.
The FingerId may be reused by the system after a WindowEvent::PointerLeft event.
The user should assume that a new WindowEvent::PointerEntered event received with the
same ID has nothing to do with the old finger and is a new finger.
§Platform-specific
macOS: Unsupported.
Fields
force: Option<Force>Describes how hard the screen was pressed. May be None if the hardware does not
support pressure sensitivity.
§Platform-specific
- MacOS / Orbital / Wayland / X11: Always emits
None. - Android: Will never be
None. If the device doesn’t support pressure sensitivity, force will either be 0.0 or 1.0. Also see the android documentation. - Web: Will never be
None. If the device doesn’t support pressure sensitivity, force will be 0.5 when a button is pressed or 0.0 otherwise.
TabletTool
Fields
kind: TabletToolKindDescribes as which tool kind the interaction happened.
data: TabletToolDataDescribes how the tool was held and used.
Unknown
Trait Implementations§
Source§impl Clone for PointerSource
impl Clone for PointerSource
Source§fn clone(&self) -> PointerSource
fn clone(&self) -> PointerSource
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more