mirror of
https://github.com/servo/servo.git
synced 2025-07-22 23:03:42 +01:00
forcetouch events support
This enables Apple forcetouch DOM events. It requires the preference dom.forcetouch.enabled. The DOM events are described here: - https://developer.apple.com/library/mac/documentation/AppleApplications/Conceptual/SafariJSProgTopics/RespondingtoForceTouchEventsfromJavaScript.html The Cocoa mechanism is documented here: - https://developer.apple.com/library/mac/documentation/Cocoa/Reference/ApplicationKit/Classes/NSEvent_Class/#//apple_ref/doc/uid/20000016-SW274
This commit is contained in:
parent
05a4dcdc3b
commit
df6e7394d4
13 changed files with 245 additions and 8 deletions
|
@ -227,10 +227,23 @@ pub enum CompositorEvent {
|
|||
MouseMoveEvent(Option<Point2D<f32>>),
|
||||
/// A touch event was generated with a touch ID and location.
|
||||
TouchEvent(TouchEventType, TouchId, Point2D<f32>),
|
||||
/// Touchpad pressure event
|
||||
TouchpadPressureEvent(Point2D<f32>, f32, TouchpadPressurePhase),
|
||||
/// A key was pressed.
|
||||
KeyEvent(Key, KeyState, KeyModifiers),
|
||||
}
|
||||
|
||||
/// Touchpad pressure phase for TouchpadPressureEvent.
|
||||
#[derive(Copy, Clone, HeapSizeOf, PartialEq, Deserialize, Serialize)]
|
||||
pub enum TouchpadPressurePhase {
|
||||
/// Pressure before a regular click.
|
||||
BeforeClick,
|
||||
/// Pressure after a regular click.
|
||||
AfterFirstClick,
|
||||
/// Pressure after a "forceTouch" click
|
||||
AfterSecondClick,
|
||||
}
|
||||
|
||||
/// An opaque wrapper around script<->layout channels to avoid leaking message types into
|
||||
/// crates that don't need to know about them.
|
||||
pub struct OpaqueScriptLayoutChannel(pub (Box<Any + Send>, Box<Any + Send>));
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue