pub struct TouchArgs {
pub device: i64,
pub id: i64,
pub x: f64,
pub y: f64,
pub z: f64,
pub px: f64,
pub py: f64,
pub pz: f64,
pub is_3d: bool,
pub touch: Touch,
}
Expand description
Touch arguments
The id
might be reused for different touches that do not overlap in time.
- Coordinates are normalized to support both touch screens and trackpads
- Supports both 2D and 3D touch
- The pressure direction vector should have maximum length 1
For 2D touch the pressure is pointed the z direction.
Use .pressure()
to get the pressure magnitude.
Fields§
§device: i64
A unique identifier for touch device.
id: i64
A unique identifier for touch event.
x: f64
The x coordinate of the touch position, normalized 0..1.
y: f64
The y coordinate of the touch position, normalized 0..1.
z: f64
The z coordinate of the touch position, normalized 0..1.
px: f64
The x coordinate of the touch pressure direction.
py: f64
The y coordinate of the touch pressure direction.
pz: f64
The z coordinate of the touch pressure direction.
is_3d: bool
Whether the touch is in 3D.
touch: Touch
The touch state.
Implementations§
source§impl TouchArgs
impl TouchArgs
sourcepub fn new(
device: i64,
id: i64,
pos: [f64; 2],
pressure: f64,
touch: Touch
) -> TouchArgs
pub fn new(
device: i64,
id: i64,
pos: [f64; 2],
pressure: f64,
touch: Touch
) -> TouchArgs
Creates arguments for 2D touch.
sourcepub fn new_3d(
device: i64,
id: i64,
pos: [f64; 3],
pressure: [f64; 3],
touch: Touch
) -> TouchArgs
pub fn new_3d(
device: i64,
id: i64,
pos: [f64; 3],
pressure: [f64; 3],
touch: Touch
) -> TouchArgs
Creates arguments for 3D touch.
The pressure direction vector should have maximum length 1.
sourcepub fn position_3d(&self) -> [f64; 3]
pub fn position_3d(&self) -> [f64; 3]
The position of the touch in 3D.
sourcepub fn pressure_3d(&self) -> [f64; 3]
pub fn pressure_3d(&self) -> [f64; 3]
The pressure vector in 3D.