Removed analog wheel detection and simplified code

This commit is contained in:
Gregers Gram Rygg
2012-05-30 14:37:43 +02:00
parent 51c7f12486
commit f7f763d1d3

View File

@@ -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;