From 6e0a6e54414b190479f70d79ed5049a4ccf37d15 Mon Sep 17 00:00:00 2001 From: underscorediscovery Date: Thu, 5 Sep 2013 07:44:50 -0230 Subject: [PATCH] Adding fixes to support scroll wheel in failfox too, stupid fools use diff event property AND different event name. nice. --- lime/InputHandler.hx | 51 +++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 50 insertions(+), 1 deletion(-) diff --git a/lime/InputHandler.hx b/lime/InputHandler.hx index 28a00bf6d..088ddea5a 100644 --- a/lime/InputHandler.hx +++ b/lime/InputHandler.hx @@ -345,7 +345,56 @@ class InputHandler { e.preventDefault(); }); //contextmenu - //todo:better forward (more info passed on) + lib.window_handle.addEventListener('mousewheel', function(_event){ + + var va = _event.wheelDelta; + var delta = Math.max(-1, Math.min(1, va)); + var wheel_dir = lime.InputHandler.MouseButton.wheel_down; + if(delta < 1) { + wheel_dir = lime.InputHandler.MouseButton.wheel_up; + } + //todo:make inverted for mac only + lime_mousedown({ + button : wheel_dir, + state : MouseState.down, + x : _event.pageX - lib.render.canvas_position.x, + y : _event.pageY - lib.render.canvas_position.y, + flags : 0, + ctrl_down : _event.ctrlKey, + alt_down : _event.altKey, + shift_down : _event.shiftKey, + meta_down : _event.metaKey + }, true); + + _event.preventDefault(); + + }); + + lib.window_handle.addEventListener('DOMMouseScroll', function(_event){ + + var va = -_event.detail; + var delta = Math.max(-1, Math.min(1, va)); + var wheel_dir = lime.InputHandler.MouseButton.wheel_down; + if(delta < 1) { + wheel_dir = lime.InputHandler.MouseButton.wheel_up; + } + //todo:make inverted for mac only + lime_mousedown({ + button : wheel_dir, + state : MouseState.down, + x : _event.pageX - lib.render.canvas_position.x, + y : _event.pageY - lib.render.canvas_position.y, + flags : 0, + ctrl_down : _event.ctrlKey, + alt_down : _event.altKey, + shift_down : _event.shiftKey, + meta_down : _event.metaKey + }, true); + + _event.preventDefault(); + + }); + lib.window_handle.addEventListener('mousedown', function(_event){ _event.preventDefault();