|
@@ -658,6 +658,28 @@ function getPDFFileNameFromURL(url) {
|
|
return suggestedFilename || 'document.pdf';
|
|
return suggestedFilename || 'document.pdf';
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+function normalizeWheelEventDelta(evt) {
|
|
|
|
+ var delta = Math.sqrt(evt.deltaX * evt.deltaX + evt.deltaY * evt.deltaY);
|
|
|
|
+ var angle = Math.atan2(evt.deltaY, evt.deltaX);
|
|
|
|
+ if (-0.25 * Math.PI < angle && angle < 0.75 * Math.PI) {
|
|
|
|
+ // All that is left-up oriented has to change the sign.
|
|
|
|
+ delta = -delta;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ var MOUSE_DOM_DELTA_PIXEL_MODE = 0;
|
|
|
|
+ var MOUSE_DOM_DELTA_LINE_MODE = 1;
|
|
|
|
+ var MOUSE_PIXELS_PER_LINE = 30;
|
|
|
|
+ var MOUSE_LINES_PER_PAGE = 30;
|
|
|
|
+
|
|
|
|
+ // Converts delta to per-page units
|
|
|
|
+ if (evt.deltaMode === MOUSE_DOM_DELTA_PIXEL_MODE) {
|
|
|
|
+ delta /= MOUSE_PIXELS_PER_LINE * MOUSE_LINES_PER_PAGE;
|
|
|
|
+ } else if (evt.deltaMode === MOUSE_DOM_DELTA_LINE_MODE) {
|
|
|
|
+ delta /= MOUSE_LINES_PER_PAGE;
|
|
|
|
+ }
|
|
|
|
+ return delta;
|
|
|
|
+}
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* Simple event bus for an application. Listeners are attached using the
|
|
* Simple event bus for an application. Listeners are attached using the
|
|
* `on` and `off` methods. To raise an event, the `dispatch` method shall be
|
|
* `on` and `off` methods. To raise an event, the `dispatch` method shall be
|
|
@@ -803,6 +825,7 @@ exports.getOutputScale = getOutputScale;
|
|
exports.scrollIntoView = scrollIntoView;
|
|
exports.scrollIntoView = scrollIntoView;
|
|
exports.watchScroll = watchScroll;
|
|
exports.watchScroll = watchScroll;
|
|
exports.binarySearchFirstItem = binarySearchFirstItem;
|
|
exports.binarySearchFirstItem = binarySearchFirstItem;
|
|
|
|
+exports.normalizeWheelEventDelta = normalizeWheelEventDelta;
|
|
}));
|
|
}));
|
|
|
|
|
|
|
|
|