From f7f763d1d3ac0275a83b64d129d486c2ec3b7bbb Mon Sep 17 00:00:00 2001 From: Gregers Gram Rygg Date: Wed, 30 May 2012 14:37:43 +0200 Subject: [PATCH] Removed analog wheel detection and simplified code --- lib/OpenLayers/Handler/MouseWheel.js | 32 ++++++---------------------- 1 file changed, 7 insertions(+), 25 deletions(-) diff --git a/lib/OpenLayers/Handler/MouseWheel.js b/lib/OpenLayers/Handler/MouseWheel.js index 3dbb1ef51f..144bb285d9 100644 --- a/lib/OpenLayers/Handler/MouseWheel.js +++ b/lib/OpenLayers/Handler/MouseWheel.js @@ -55,12 +55,6 @@ OpenLayers.Handler.MouseWheel = OpenLayers.Class(OpenLayers.Handler, { */ cumulative: true, - /** - * Property: analogWheelPrecision - * {Integer} Adjust to get analog scroll wheel to feel right - */ - analogWheelPrecision: 360, - /** * Constructor: OpenLayers.Handler.MouseWheel * @@ -178,27 +172,15 @@ OpenLayers.Handler.MouseWheel = OpenLayers.Class(OpenLayers.Handler, { if (e.wheelDelta) { delta = e.wheelDelta; - - if (OpenLayers.BROWSER_NAME === "safari") { - // Safari has a value 10 times other browsers - delta = delta * 10; - } else if (window.opera && window.opera.version() < 9.2) { - delta = -delta; - } - - var isAnalogScrollWheel = (delta % 40 !== 0 || Math.abs(delta) < 120); - - if (isAnalogScrollWheel) { - delta = delta / this.analogWheelPrecision; - if (OpenLayers.BROWSER_NAME === "safari") { - // Undo the Safari multiplying for analog scrolling - delta = delta / 10; - } - } else { - delta = Math.round(delta / 120); + if (delta % 160 === 0) { + // opera have steps of 160 instead of 120 + delta = delta * 0.75; } + delta = delta / 120; } else if (e.detail) { - delta = -e.detail / 3; + // detail in Firefox on OS X is 1/3 of Windows + // so force delta 1 / -1 + delta = - (e.detail / Math.abs(e.detail)); } this.delta = this.delta + delta;