diff options
author | Evgeny Rozaliev <rozaliev@gmail.com> | 2015-06-05 16:38:21 +0300 |
---|---|---|
committer | Evgeny Rozaliev <rozaliev@gmail.com> | 2015-06-05 16:38:35 +0300 |
commit | 84703027d63e22361197a1fc74a4949becf5fccb (patch) | |
tree | 72c985a88bb03438888c910b55c17fabb36e1048 /src/events.rs | |
parent | 76e7a90752ef60a3b48fd20ad3e551945336479d (diff) | |
download | glutin-84703027d63e22361197a1fc74a4949becf5fccb.tar.gz glutin-84703027d63e22361197a1fc74a4949becf5fccb.zip |
[add] ios support
Diffstat (limited to 'src/events.rs')
-rw-r--r-- | src/events.rs | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/src/events.rs b/src/events.rs index 7962706..6c4dc5b 100644 --- a/src/events.rs +++ b/src/events.rs @@ -39,6 +39,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; |