Struct egui::MultiTouchInfo
source · pub struct MultiTouchInfo {
pub start_time: f64,
pub start_pos: Pos2,
pub num_touches: usize,
pub zoom_delta: f32,
pub zoom_delta_2d: Vec2,
pub rotation_delta: f32,
pub translation_delta: Vec2,
pub force: f32,
}Expand description
All you probably need to know about a multi-touch gesture.
Fields§
§start_time: f64Point in time when the gesture started.
start_pos: Pos2Position of the pointer at the time the gesture started.
num_touches: usizeNumber of touches (fingers) on the surface. Value is ≥ 2 since for a single touch no
MultiTouchInfo is created.
zoom_delta: f32Proportional zoom factor (pinch gesture).
zoom = 1: no changezoom < 1: pinch togetherzoom > 1: pinch spread
zoom_delta_2d: Vec22D non-proportional zoom factor (pinch gesture).
For horizontal pinches, this will return [z, 1],
for vertical pinches this will return [1, z],
and otherwise this will return [z, z],
where z is the zoom factor:
zoom = 1: no changezoom < 1: pinch togetherzoom > 1: pinch spread
rotation_delta: f32Rotation in radians. Moving fingers around each other will change this value. This is a
relative value, comparing the orientation of fingers in the current frame with the previous
frame. If all fingers are resting, this value is 0.0.
translation_delta: Vec2Relative movement (comparing previous frame and current frame) of the average position of
all touch points. Without movement this value is Vec2::ZERO.
Note that this may not necessarily be measured in screen points (although it will be for most mobile devices). In general (depending on the touch device), touch coordinates cannot be directly mapped to the screen. A touch always is considered to start at the position of the pointer, but touch movement is always measured in the units delivered by the device, and may depend on hardware and system settings.
force: f32Current force of the touch (average of the forces of the individual fingers). This is a
value in the interval [0.0 .. =1.0].
Note 1: A value of 0.0 either indicates a very light touch, or it means that the device
is not capable of measuring the touch force at all.
Note 2: Just increasing the physical pressure without actually moving the finger may not necessarily lead to a change of this value.
Trait Implementations§
source§impl Clone for MultiTouchInfo
impl Clone for MultiTouchInfo
source§fn clone(&self) -> MultiTouchInfo
fn clone(&self) -> MultiTouchInfo
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moresource§impl Debug for MultiTouchInfo
impl Debug for MultiTouchInfo
source§impl PartialEq for MultiTouchInfo
impl PartialEq for MultiTouchInfo
source§fn eq(&self, other: &MultiTouchInfo) -> bool
fn eq(&self, other: &MultiTouchInfo) -> bool
self and other values to be equal, and is used
by ==.