Skip to content

Commit

Permalink
Expose center position in MultiTouchInfo
Browse files Browse the repository at this point in the history
  • Loading branch information
lucasmerlin committed Oct 2, 2024
1 parent ac2466d commit 41abce8
Showing 1 changed file with 6 additions and 0 deletions.
6 changes: 6 additions & 0 deletions crates/egui/src/input_state/touch_state.rs
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,9 @@ pub struct MultiTouchInfo {
/// Note 2: Just increasing the physical pressure without actually moving the finger may not
/// necessarily lead to a change of this value.
pub force: f32,

/// Center position of the current gesture (average of all touch points).
pub center_pos: Pos2,
}

/// The current state (for a specific touch device) of touch events and gestures.
Expand Down Expand Up @@ -203,6 +206,8 @@ impl TouchState {
PinchType::Proportional => Vec2::splat(zoom_delta),
};

let center_pos = state.current.avg_pos;

MultiTouchInfo {
start_time: state.start_time,
start_pos: state.start_pointer_pos,
Expand All @@ -212,6 +217,7 @@ impl TouchState {
rotation_delta: normalized_angle(state.current.heading - state_previous.heading),
translation_delta: state.current.avg_pos - state_previous.avg_pos,
force: state.current.avg_force,
center_pos,
}
})
}
Expand Down

0 comments on commit 41abce8

Please sign in to comment.