diff options
author | Robert Knight <robert.knight@mendeley.com> | 2015-06-12 15:32:11 +0100 |
---|---|---|
committer | Robert Knight <robert.knight@mendeley.com> | 2015-06-13 23:19:31 +0100 |
commit | f0bab95c4dc13c1989979c611a4663eb5d590a0d (patch) | |
tree | 62fc80f471dae8fbb99f8f791c8d08fb91d7b4d8 /src/api/cocoa | |
parent | a0e29d9410181368eee1e0b6db1bbbf11abf45f8 (diff) | |
download | glutin-f0bab95c4dc13c1989979c611a4663eb5d590a0d.tar.gz glutin-f0bab95c4dc13c1989979c611a4663eb5d590a0d.zip |
Express scroll deltas as either line or pixel deltas
Depending on the platform and device, scroll deltas may either
be represented as pixel deltas specifying the amount
in pixels to scroll or they may be expressed in 'lines' or 'chunks'
for low resolution devices (eg. a traditional mouse wheel).
Pixel deltas are currently available on OS X. X11 currently
supports only integer line deltas, though pixel deltas
are available via XInput2. Windows supports fractional
line deltas.
Diffstat (limited to 'src/api/cocoa')
-rw-r--r-- | src/api/cocoa/mod.rs | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/api/cocoa/mod.rs b/src/api/cocoa/mod.rs index 511148b..43628ea 100644 --- a/src/api/cocoa/mod.rs +++ b/src/api/cocoa/mod.rs @@ -275,7 +275,11 @@ impl<'a> Iterator for PollEventsIterator<'a> { self.window.delegate.state.pending_events.lock().unwrap().extend(events.into_iter()); event }, - NSScrollWheel => { Some(MouseWheel(event.scrollingDeltaX() as f64, event.scrollingDeltaY() as f64)) }, + NSScrollWheel => { + use events::MouseScrollDelta::PixelDelta; + let delta = PixelDelta(event.scrollingDeltaX() as f32, event.scrollingDeltaY() as f32); + Some(MouseWheel(delta)) + }, _ => { None }, }; |