public void zoom(double x, double y, double viewScale) { if (viewScale > 0) { layerCanvas.getViewport().setZoomFactor(viewScale, x, y); } }
@Override public void performPan(MouseEvent event) { final Point p = event.getPoint(); final double dx = p.x - p0.x; final double dy = p.y - p0.y; if (viewportIsInWorldMapBounds(dx, dy, layerCanvas)) { layerCanvas.getViewport().moveViewDelta(dx, dy); } p0 = p; }
private void drawGeoBoundaryPath(final Graphics2D g2d, final GeneralPath[] boundaryPaths, final Color fillColor, final Color borderColor) { final AffineTransform transform = layerCanvas.getViewport().getModelToViewTransform(); for (GeneralPath boundaryPath : boundaryPaths) { boundaryPath.transform(transform); g2d.setColor(fillColor); g2d.fill(boundaryPath); g2d.setColor(borderColor); g2d.draw(boundaryPath); } }
@Override public void mouseWheelMoved(MouseWheelEvent e) { final int wheelRotation = e.getWheelRotation(); final double newZoomFactor = layerCanvas.getViewport().getZoomFactor() * FastMath.pow(1.1, wheelRotation); layerCanvas.getViewport().setZoomFactor(newZoomFactor); } }
/** * @return the visible area in model coordinates */ public Rectangle2D getVisibleModelBounds() { final Viewport viewport = layerCanvas.getViewport(); return viewport.getViewToModelTransform().createTransformedShape(viewport.getViewBounds()).getBounds2D(); }
private void drawPixelBorder(final Graphics g, final int x, final int y, final int l) { if (g instanceof Graphics2D) { Graphics2D g2d = (Graphics2D) g; AffineTransform i2m = getBaseImageLayer().getImageToModelTransform(l); AffineTransform m2v = getLayerCanvas().getViewport().getModelToViewTransform(); Rectangle imageRect = new Rectangle(x, y, 1, 1); Shape modelRect = i2m.createTransformedShape(imageRect); Shape transformedShape = m2v.createTransformedShape(modelRect); g2d.draw(transformedShape); } }
@Override public void actionPerformed(ActionEvent e) { layerCanvas.getViewport().zoom(worldMapLayer.getModelBounds()); } }
@Override public void zoomToProduct(Product product) { if (product != null) { super.zoomToProduct(product); } Rectangle2D modelBounds = getFirstFigure().getBounds(); modelBounds.setFrame(modelBounds.getX() - 2, modelBounds.getY() - 2, modelBounds.getWidth() + 4, modelBounds.getHeight() + 4); getLayerCanvas().getViewport().zoom(modelBounds); handleZoom(); }
public AffineTransform getBaseImageToViewTransform() { AffineTransform viewToModelTransform = layerCanvas.getViewport().getViewToModelTransform(); AffineTransform modelToImageTransform = getBaseImageLayer().getModelToImageTransform(); viewToModelTransform.concatenate(modelToImageTransform); try { return viewToModelTransform.createInverse(); } catch (NoninvertibleTransformException e) { throw new RuntimeException(e); } }
@Override public void handleViewportChanged(Viewport observedViewport, boolean orientationChanged) { if (!adjustingObservedViewport) { if (orientationChanged) { thumbnailCanvas.getViewport().setOrientation(observedViewport.getOrientation()); thumbnailCanvas.zoomAll(); } updateMoveSliderRect(); } } }
private void updateRectangles() { AffineTransform modelToView = worldMapPane.getLayerCanvas().getViewport().getModelToViewTransform(); selectionRectangle = modelToView.createTransformedShape(getFirstFigure().getBounds()).getBounds2D(); movableRectangle.setRect(selectionRectangle); cursorChanger.updateRectanglesForDragCursor(); }
@Override public void mouseWheelMoved(MouseWheelEvent e) { if (e.isAltDown() || e.isAltGraphDown() || e.isControlDown() || e.isShiftDown()) { return; } Viewport viewport = layerCanvas.getViewport(); int wheelRotation = e.getWheelRotation(); double oldZoomFactor = viewport.getZoomFactor(); double newZoomFactor = oldZoomFactor * Math.pow(1.1, wheelRotation); viewport.setZoomFactor(newZoomFactor); }
public void zoom(final double zoomFactor) { final ProductSceneView view = getCurrentView(); if (view != null && zoomFactor > 0) { view.getLayerCanvas().getViewport().setZoomFactor(zoomFactor); maybeSynchronizeCompatibleProductViews(); } }
private void drawGeoBoundary(final Graphics2D g2d, final GeneralPath[] boundaryPaths, final boolean isCurrent, final String text, final PixelPos textCenter) { final AffineTransform transform = layerCanvas.getViewport().getModelToViewTransform(); for (GeneralPath boundaryPath : boundaryPaths) { boundaryPath.transform(transform); drawPath(isCurrent, g2d, boundaryPath, 0.0f); } drawText(g2d, text, textCenter, 0.0f); }
private void drawGeoBoundary(final Graphics2D g2d, final GeneralPath[] boundaryPaths, final boolean isCurrent, final String text, final PixelPos textCenter) { final AffineTransform transform = layerCanvas.getViewport().getModelToViewTransform(); for (GeneralPath boundaryPath : boundaryPaths) { boundaryPath.transform(transform); drawPath(isCurrent, g2d, boundaryPath, 0.0f); } drawText(g2d, text, textCenter, 0.0f); }
public void zoom(final double zoomFactor) { final ProductSceneView view = getCurrentView(); if (view != null && zoomFactor > 0) { view.getLayerCanvas().getViewport().setZoomFactor(zoomFactor); maybeSynchronizeCompatibleProductViews(); } }
private void exchangeWorldMapLayer() { final List<Layer> children = layerCanvas.getLayer().getChildren(); for (Layer child : children) { child.dispose(); } children.clear(); final Layer rootLayer = layerCanvas.getLayer(); worldMapLayer = dataModel.getWorldMapLayer(new WorldMapLayerContext(rootLayer)); children.add(worldMapLayer); layerCanvas.getViewport().zoom(worldMapLayer.getModelBounds()); }
private void handleZoom() { final FigureCollection figureCollection = getFigureEditor().getFigureCollection(); if (figureCollection.getFigureCount() == 0) { return; } final Rectangle2D modelBounds = figureCollection.getFigure(0).getBounds(); final AffineTransform modelToViewTransform = worldMapPane.getLayerCanvas().getViewport().getModelToViewTransform(); final Shape transformedShape = modelToViewTransform.createTransformedShape(modelBounds); movableRectangle.setRect(transformedShape.getBounds2D()); selectionRectangle.setRect(movableRectangle); cursorChanger.updateRectanglesForDragCursor(); }
private void handleZoom() { final FigureCollection figureCollection = getFigureEditor().getFigureCollection(); if (figureCollection.getFigureCount() == 0) { return; } final Rectangle2D modelBounds = figureCollection.getFigure(0).getBounds(); final AffineTransform modelToViewTransform = worldMapPane.getLayerCanvas().getViewport().getModelToViewTransform(); final Shape transformedShape = modelToViewTransform.createTransformedShape(modelBounds); movableRectangle.setRect(transformedShape.getBounds2D()); selectionRectangle.setRect(movableRectangle); cursorChanger.updateRectanglesForDragCursor(); }
private void zoomToPixelResolution() { final ProductSceneView view = getCurrentView(); if (view != null) { final LayerCanvas layerCanvas = view.getLayerCanvas(); layerCanvas.getViewport().setZoomFactor(layerCanvas.getDefaultZoomFactor()); maybeSynchronizeCompatibleProductViews(); } }