/** * */ public void zoomTo(final double newScale, final boolean center) { mxGraphView view = graph.getView(); final double scale = view.getScale(); mxPoint translate = (pageVisible && centerPage) ? getPageTranslate(newScale) : new mxPoint(); graph.getView().scaleAndTranslate(newScale, translate.getX(), translate.getY()); // Causes two repaints on the scrollpane, namely one for the scale // change with the new preferred size and one for the change of // the scrollbar position. The latter cannot be done immediately // because the scrollbar keeps the value <= max - extent, and if // max is changed the value change will trigger a syncScrollPane // WithViewport in BasicScrollPaneUI, which will update the value // for the previous maximum (ie. it must be invoked later). SwingUtilities.invokeLater(new Runnable() { public void run() { maintainScrollBar(true, newScale / scale, center); maintainScrollBar(false, newScale / scale, center); } }); }
/** * */ public void zoomTo(final double newScale, final boolean center) { mxGraphView view = graph.getView(); final double scale = view.getScale(); mxPoint translate = (pageVisible && centerPage) ? getPageTranslate(newScale) : new mxPoint(); graph.getView().scaleAndTranslate(newScale, translate.getX(), translate.getY()); // Causes two repaints on the scrollpane, namely one for the scale // change with the new preferred size and one for the change of // the scrollbar position. The latter cannot be done immediately // because the scrollbar keeps the value <= max - extent, and if // max is changed the value change will trigger a syncScrollPane // WithViewport in BasicScrollPaneUI, which will update the value // for the previous maximum (ie. it must be invoked later). SwingUtilities.invokeLater(new Runnable() { public void run() { maintainScrollBar(true, newScale / scale, center); maintainScrollBar(false, newScale / scale, center); } }); }
: new mxPoint(); graph.getView() .scaleAndTranslate(1, translate.getX(), translate.getY());
: new mxPoint(); graph.getView() .scaleAndTranslate(1, translate.getX(), translate.getY());
mxPoint translate = (centerPage) ? getPageTranslate(newScale) : new mxPoint(); graphView.scaleAndTranslate(newScale, translate.getX(), translate.getY());
mxPoint translate = (centerPage) ? getPageTranslate(newScale) : new mxPoint(); graphView.scaleAndTranslate(newScale, translate.getX(), translate.getY());
@Override public void zoomTo( final double newScale, final boolean center ) { final mxGraphView view = graph.getView(); final double scale = view.getScale(); final mxPoint translate = ( pageVisible && centerPage ) ? getPageTranslate( newScale ) : new mxPoint(); graph.getView().scaleAndTranslate( newScale, translate.getX(), translate.getY() ); if ( keepSelectionVisibleOnZoom && !graph.isSelectionEmpty() ) { getGraphControl().scrollRectToVisible( view.getBoundingBox( graph.getSelectionCells() ).getRectangle() ); } else { maintainScrollBar( true, newScale / scale, center ); maintainScrollBar( false, newScale / scale, center ); } }
@Override public void zoomTo( final double newScale, final boolean center ) { final mxGraphView view = graph.getView(); final double scale = view.getScale(); final mxPoint translate = ( pageVisible && centerPage ) ? getPageTranslate( newScale ) : new mxPoint(); graph.getView().scaleAndTranslate( newScale, translate.getX(), translate.getY() ); if ( keepSelectionVisibleOnZoom && !graph.isSelectionEmpty() ) { getGraphControl().scrollRectToVisible( view.getBoundingBox( graph.getSelectionCells() ).getRectangle() ); } else { maintainScrollBar( true, newScale / scale, center ); maintainScrollBar( false, newScale / scale, center ); } }
/** * */ public void zoom(double factor) { mxGraphView view = graph.getView(); double newScale = (double) ((int) (view.getScale() * 100 * factor)) / 100; if (newScale != view.getScale() && newScale > 0.04) { mxPoint translate = (pageVisible && centerPage) ? getPageTranslate(newScale) : new mxPoint(); graph.getView().scaleAndTranslate(newScale, translate.getX(), translate.getY()); if (keepSelectionVisibleOnZoom && !graph.isSelectionEmpty()) { getGraphControl().scrollRectToVisible( view.getBoundingBox(graph.getSelectionCells()) .getRectangle()); } else { maintainScrollBar(true, factor, centerZoom); maintainScrollBar(false, factor, centerZoom); } } }
/** * */ public void zoom(double factor) { mxGraphView view = graph.getView(); double newScale = (double) ((int) (view.getScale() * 100 * factor)) / 100; if (newScale != view.getScale() && newScale > 0.04) { mxPoint translate = (pageVisible && centerPage) ? getPageTranslate(newScale) : new mxPoint(); graph.getView().scaleAndTranslate(newScale, translate.getX(), translate.getY()); if (keepSelectionVisibleOnZoom && !graph.isSelectionEmpty()) { getGraphControl().scrollRectToVisible( view.getBoundingBox(graph.getSelectionCells()) .getRectangle()); } else { maintainScrollBar(true, factor, centerZoom); maintainScrollBar(false, factor, centerZoom); } } }
view.scaleAndTranslate(1, 0, 0);
view.scaleAndTranslate(1, 0, 0);