/** * Set the scale applied by the view transform to the list of layers * viewed by this camera to <code>scale</code>. * * @param scale view transform scale */ public void setViewScale(final double scale) { scaleView(scale / getViewScale()); }
/** * Updates the current zoom periodically, regardless of whether the mouse * has moved recently. * * @param event contains information about the current state of the mouse */ protected void dragActivityStep(final PInputEvent event) { final PCamera camera = event.getCamera(); final double dx = event.getCanvasPosition().getX() - getMousePressedCanvasPoint().getX(); double scaleDelta = 1.0 + ZOOM_SENSITIVITY * dx; final double currentScale = camera.getViewScale(); final double newScale = currentScale * scaleDelta; if (newScale < minScale) { scaleDelta = minScale / currentScale; } if (maxScale > 0 && newScale > maxScale) { scaleDelta = maxScale / currentScale; } camera.scaleViewAboutPoint(scaleDelta, viewZoomPoint.getX(), viewZoomPoint.getY()); } }