aboutsummaryrefslogtreecommitdiffstats
path: root/src/events.rs
diff options
context:
space:
mode:
authortomaka <pierre.krieger1708@gmail.com>2015-06-29 09:29:46 +0200
committertomaka <pierre.krieger1708@gmail.com>2015-06-29 09:29:46 +0200
commit836e53e55a94f3126ff17a956fe6328198d20f38 (patch)
tree9dcd66615bd0467e89fbcd8d6a00c114679c690d /src/events.rs
parent164d47b93c7dc95cf52c5ef205a107a8a439e4ef (diff)
parent7053837ac19d5c6159f492e177d417aa994b7d04 (diff)
downloadglutin-836e53e55a94f3126ff17a956fe6328198d20f38.tar.gz
glutin-836e53e55a94f3126ff17a956fe6328198d20f38.zip
Merge pull request #477 from rozaliev/feature/ios
[WIP] ios support
Diffstat (limited to 'src/events.rs')
-rw-r--r--src/events.rs40
1 files changed, 40 insertions, 0 deletions
diff --git a/src/events.rs b/src/events.rs
index c175810..5a5e2ab 100644
--- a/src/events.rs
+++ b/src/events.rs
@@ -36,6 +36,46 @@ pub enum Event {
/// The window needs to be redrawn.
Refresh,
+
+ /// App has been suspended or resumed.
+ ///
+ /// The parameter is true if app was suspended, and false if it has been resumed.
+ Suspended(bool),
+
+
+ /// Touch event has been received
+ Touch(Touch)
+}
+
+#[derive(Debug, Hash, PartialEq, Eq, Clone, Copy)]
+pub enum TouchPhase {
+ Started,
+ Moved,
+ Ended,
+ Cancelled
+}
+
+#[derive(Debug, Clone, Copy)]
+/// Represents touch event
+///
+/// Every time user touches screen new Start event with some finger id is generated.
+/// When the finger is removed from the screen End event with same id is generated.
+///
+/// For every id there will be at least 2 events with phases Start and End (or Cancelled).
+/// There may be 0 or more Move events.
+///
+///
+/// Depending on platform implementation id may or may not be reused by system after End event.
+///
+/// Gesture regonizer using this event should assume that Start event received with same id
+/// as previously received End event is a new finger and has nothing to do with an old one.
+///
+/// Touch may be cancelled if for example window lost focus.
+pub struct Touch {
+ pub phase: TouchPhase,
+ pub location: (f64,f64),
+ /// unique identifier of a finger.
+ pub id: u64
}
pub type ScanCode = u8;