diff options
author | tomaka <pierre.krieger1708@gmail.com> | 2015-06-16 08:52:25 +0200 |
---|---|---|
committer | tomaka <pierre.krieger1708@gmail.com> | 2015-06-16 08:52:25 +0200 |
commit | 5e8271dad0a56697f0729c094dfe29cab302460b (patch) | |
tree | 07901f0a48dc1426d034bbb39dfed100cc3e7a40 /src/api/cocoa | |
parent | a0e29d9410181368eee1e0b6db1bbbf11abf45f8 (diff) | |
parent | b2c2f300dce0b874efee4c328629ff9c2316c056 (diff) | |
download | glutin-5e8271dad0a56697f0729c094dfe29cab302460b.tar.gz glutin-5e8271dad0a56697f0729c094dfe29cab302460b.zip |
Merge pull request #483 from robertknight/rob-precise_scroll_deltas
Specify scroll deltas as either line or pixel-based
Diffstat (limited to 'src/api/cocoa')
-rw-r--r-- | src/api/cocoa/mod.rs | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/api/cocoa/mod.rs b/src/api/cocoa/mod.rs index 511148b..877aba7 100644 --- a/src/api/cocoa/mod.rs +++ b/src/api/cocoa/mod.rs @@ -275,7 +275,15 @@ 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::{LineDelta, PixelDelta}; + let delta = if event.hasPreciseScrollingDeltas() == YES { + PixelDelta(event.scrollingDeltaX() as f32, event.scrollingDeltaY() as f32) + } else { + LineDelta(event.scrollingDeltaX() as f32, event.scrollingDeltaY() as f32) + }; + Some(MouseWheel(delta)) + }, _ => { None }, }; |