From 5b08220df5cbdf16ee2879a5889cdaaa1f89984e Mon Sep 17 00:00:00 2001 From: Robert Knight Date: Sun, 14 Jun 2015 18:09:02 +0100 Subject: Report scroll deltas in lines for non-touch devices on OS X Scroll deltas on OS X may be reported either as pixel deltas to scroll by if supported by the device or line/row deltas otherwise. --- src/api/cocoa/mod.rs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'src/api/cocoa/mod.rs') diff --git a/src/api/cocoa/mod.rs b/src/api/cocoa/mod.rs index 43628ea..877aba7 100644 --- a/src/api/cocoa/mod.rs +++ b/src/api/cocoa/mod.rs @@ -276,8 +276,12 @@ impl<'a> Iterator for PollEventsIterator<'a> { event }, NSScrollWheel => { - use events::MouseScrollDelta::PixelDelta; - let delta = PixelDelta(event.scrollingDeltaX() as f32, event.scrollingDeltaY() as f32); + 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 }, -- cgit v1.2.3