diff --git a/ChartingSpace/Viewport.js b/ChartingSpace/Viewport.js index 9a5132919..9032e654a 100644 --- a/ChartingSpace/Viewport.js +++ b/ChartingSpace/Viewport.js @@ -30,6 +30,7 @@ function newViewport () { mousePosition: undefined, margins: MARGINS, payload: undefined, + zoomAtCenter: zoomAtCenter, changeZoom: changeZoom, onMouseWheel: onMouseWheel, transformThisPoint: transformThisPoint, @@ -62,6 +63,8 @@ function newViewport () { thisObject.zoomTargetLevel = MIN_ZOOM_LEVEL INITIAL_TIME_PERIOD = recalculatePeriod(thisObject.zoomLevel) + let overrideMousePositionCounter = 0 + return thisObject function finalize () { @@ -263,6 +266,11 @@ function newViewport () { thisObject.eventHandler.raiseEvent('Position Changed', event) } + function zoomAtCenter (level) { + thisObject.zoomTargetLevel = level + overrideMousePositionCounter = 10 + } + function changeZoom (oldLevel, newLevel) { if (thisObject.visible === false) { return } let oldMouse = unTransformThisPoint(thisObject.mousePosition, oldLevel)