aboutsummaryrefslogtreecommitdiffstats
path: root/src/api
diff options
context:
space:
mode:
authortomaka <pierre.krieger1708@gmail.com>2015-05-06 16:56:24 +0200
committertomaka <pierre.krieger1708@gmail.com>2015-05-06 16:56:24 +0200
commit119bd6393f5f3b8e1510ba6ab3281c8fb387449f (patch)
tree05340ea2480ff82440c55bbf968604a44447b0cf /src/api
parent2d97e0380feb90aa802bc1e56aad0936eda8cc81 (diff)
parentd9f0d92584af1d76779cb8cb4a70762c889970f5 (diff)
downloadglutin-119bd6393f5f3b8e1510ba6ab3281c8fb387449f.tar.gz
glutin-119bd6393f5f3b8e1510ba6ab3281c8fb387449f.zip
Merge pull request #405 from tomaka/win32-wheel
[Breaking change] Fix mouse wheel value on win32 and return a f64 instead of i32 in the MouseWheel event
Diffstat (limited to 'src/api')
-rw-r--r--src/api/cocoa/mod.rs2
-rw-r--r--src/api/win32/callback.rs3
-rw-r--r--src/api/x11/mod.rs4
3 files changed, 5 insertions, 4 deletions
diff --git a/src/api/cocoa/mod.rs b/src/api/cocoa/mod.rs
index a3c58f9..55ae617 100644
--- a/src/api/cocoa/mod.rs
+++ b/src/api/cocoa/mod.rs
@@ -275,7 +275,7 @@ impl<'a> Iterator for PollEventsIterator<'a> {
self.window.delegate.state.pending_events.lock().unwrap().extend(events.into_iter());
event
},
- NSScrollWheel => { Some(MouseWheel(event.scrollingDeltaY() as i32)) },
+ NSScrollWheel => { Some(MouseWheel(event.scrollingDeltaX() as f64, event.scrollingDeltaY() as f64)) },
_ => { None },
};
diff --git a/src/api/win32/callback.rs b/src/api/win32/callback.rs
index e852eeb..1ea95a5 100644
--- a/src/api/win32/callback.rs
+++ b/src/api/win32/callback.rs
@@ -114,8 +114,9 @@ pub unsafe extern "system" fn callback(window: winapi::HWND, msg: winapi::UINT,
let value = (wparam >> 16) as i16;
let value = value as i32;
+ let value = value as f64 / winapi::WHEEL_DELTA as f64;
- send_event(window, MouseWheel(value));
+ send_event(window, MouseWheel(0.0, value));
0
},
diff --git a/src/api/x11/mod.rs b/src/api/x11/mod.rs
index 9946243..7d7c048 100644
--- a/src/api/x11/mod.rs
+++ b/src/api/x11/mod.rs
@@ -241,11 +241,11 @@ impl<'a> Iterator for PollEventsIterator<'a> {
ffi::Button2 => Some(Middle),
ffi::Button3 => Some(Right),
ffi::Button4 => {
- self.window.pending_events.lock().unwrap().push_back(MouseWheel(1));
+ self.window.pending_events.lock().unwrap().push_back(MouseWheel(0.0, 1.0));
None
}
ffi::Button5 => {
- self.window.pending_events.lock().unwrap().push_back(MouseWheel(-1));
+ self.window.pending_events.lock().unwrap().push_back(MouseWheel(0.0, -1.0));
None
}
_ => None