morep power at viewport wheel
This commit is contained in:
1 parent
b570f87e0d
commit
40b3bafcfc
2 files changed
+13
-10
No files matched your search
@@ -768,7 +768,7 @@ function newCanvas () {
|
||||
try {
|
||||
// cross-browser wheel delta
|
||||
var event = window.event || event // old IE support
|
||||
let delta = Math.max(-1, Math.min(1, event.wheelDelta || -event.detail))
|
||||
event.delta = Math.max(-1, Math.min(1, event.wheelDelta || -event.detail))
|
||||
|
||||
/* We try first with panels. */
|
||||
|
||||
@@ -804,7 +804,7 @@ function newCanvas () {
|
||||
}
|
||||
|
||||
if (container !== undefined) {
|
||||
canvas.chartSpace.viewport.onMouseWheel(delta)
|
||||
canvas.chartSpace.viewport.onMouseWheel(event)
|
||||
return false
|
||||
}
|
||||
|
||||
|
||||
+11
-8
@@ -175,7 +175,10 @@ function newViewport () {
|
||||
}
|
||||
}
|
||||
|
||||
function onMouseWheel (amount) {
|
||||
function onMouseWheel (event) {
|
||||
let morePower = 1
|
||||
let amount = event.delta
|
||||
if (event.buttons === 4) { morePower = 2 } // Mouse wheel pressed.
|
||||
/* We adjust the sensitivity for Mac Users */
|
||||
let isMac = navigator.platform.toUpperCase().indexOf('MAC') >= 0
|
||||
if (isMac) { amount = amount / 5 }
|
||||
@@ -191,29 +194,29 @@ function newViewport () {
|
||||
}
|
||||
|
||||
console.log(thisObject.zoomLevel, amount)
|
||||
if (thisObject.zoomTargetLevel + amount > MAX_ZOOM_LEVEL) {
|
||||
if (thisObject.zoomTargetLevel + amount * morePower > MAX_ZOOM_LEVEL) {
|
||||
return false
|
||||
}
|
||||
if (thisObject.zoomTargetLevel + amount < MIN_ZOOM_LEVEL) {
|
||||
if (thisObject.zoomTargetLevel + amount * morePower < MIN_ZOOM_LEVEL) {
|
||||
return false
|
||||
}
|
||||
thisObject.zoomTargetLevel = thisObject.zoomTargetLevel + amount
|
||||
thisObject.zoomTargetLevel = thisObject.zoomTargetLevel + amount * morePower
|
||||
|
||||
ANIMATION_INCREMENT = Math.abs(thisObject.zoomTargetLevel - thisObject.zoomLevel) / ANIMATION_STEPS
|
||||
|
||||
let event = {
|
||||
let newEvent = {
|
||||
newLevel: thisObject.zoomTargetLevel,
|
||||
newPosition: position,
|
||||
type: undefined
|
||||
}
|
||||
|
||||
if (amount > 0) {
|
||||
event.type = 'Zoom In'
|
||||
newEvent.type = 'Zoom In'
|
||||
} else {
|
||||
event.type = 'Zoom Out'
|
||||
newEvent.type = 'Zoom Out'
|
||||
}
|
||||
|
||||
thisObject.eventHandler.raiseEvent('Zoom Changed', event)
|
||||
thisObject.eventHandler.raiseEvent('Zoom Changed', newEvent)
|
||||
return true
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user