diff options
author | tomaka <pierre.krieger1708@gmail.com> | 2015-06-29 09:29:46 +0200 |
---|---|---|
committer | tomaka <pierre.krieger1708@gmail.com> | 2015-06-29 09:29:46 +0200 |
commit | 836e53e55a94f3126ff17a956fe6328198d20f38 (patch) | |
tree | 9dcd66615bd0467e89fbcd8d6a00c114679c690d /src/events.rs | |
parent | 164d47b93c7dc95cf52c5ef205a107a8a439e4ef (diff) | |
parent | 7053837ac19d5c6159f492e177d417aa994b7d04 (diff) | |
download | glutin-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.rs | 40 |
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; |