|
@@ -81,24 +81,29 @@
|
81
|
81
|
|
82
|
82
|
function onwheel(evt) {
|
83
|
83
|
evt.preventDefault();
|
|
84
|
+ var multiplier =
|
|
85
|
+ (evt.deltaMode === WheelEvent.DOM_DELTA_LINE) ? 30 :
|
|
86
|
+ (evt.deltaMode === WheelEvent.DOM_DELTA_PAGE) ? 1000 :
|
|
87
|
+ 1;
|
|
88
|
+ var deltaX = evt.deltaX * multiplier, deltaY = evt.deltaY * multiplier;
|
84
|
89
|
if (!evt.ctrlKey) {
|
85
|
90
|
// zoom
|
86
|
91
|
var scale = Tools.getScale();
|
87
|
92
|
var x = evt.pageX / scale;
|
88
|
93
|
var y = evt.pageY / scale;
|
89
|
94
|
setOrigin(x, y, evt, false);
|
90
|
|
- animate((1 - ((evt.deltaY > 0) - (evt.deltaY < 0)) * 0.25) * Tools.getScale());
|
|
95
|
+ animate((1 - deltaY / 800) * Tools.getScale());
|
91
|
96
|
} else if (evt.altKey) {
|
92
|
97
|
// make finer changes if shift is being held
|
93
|
98
|
var change = evt.shiftKey ? 1 : 5;
|
94
|
99
|
// change tool size
|
95
|
|
- Tools.setSize(Tools.getSize() - ((evt.deltaY > 0) - (evt.deltaY < 0)) * change);
|
|
100
|
+ Tools.setSize(Tools.getSize() - deltaY / 100 * change);
|
96
|
101
|
} else if (evt.shiftKey) {
|
97
|
102
|
// scroll horizontally
|
98
|
|
- window.scrollTo(document.documentElement.scrollLeft + evt.deltaY, document.documentElement.scrollTop + evt.deltaX);
|
|
103
|
+ window.scrollTo(document.documentElement.scrollLeft + deltaY, document.documentElement.scrollTop + deltaX);
|
99
|
104
|
} else {
|
100
|
105
|
// regular scrolling
|
101
|
|
- window.scrollTo(document.documentElement.scrollLeft + evt.deltaX, document.documentElement.scrollTop + evt.deltaY);
|
|
106
|
+ window.scrollTo(document.documentElement.scrollLeft + deltaX, document.documentElement.scrollTop + deltaY);
|
102
|
107
|
}
|
103
|
108
|
}
|
104
|
109
|
Tools.board.addEventListener("wheel", onwheel, { passive: false });
|
|
@@ -166,7 +171,7 @@
|
166
|
171
|
|
167
|
172
|
var zoomTool = {
|
168
|
173
|
"name": "Zoom",
|
169
|
|
- "shortcut": "z",
|
|
174
|
+ "shortcut": "z",
|
170
|
175
|
"listeners": {
|
171
|
176
|
"press": press,
|
172
|
177
|
"move": move,
|