public double getScale() { return delegate.getScale(); }
public double getScale() { return delegate.getScale(); }
void center(MouseEvent me, GraphZoomScrollPane gzsp) { VisualizationViewer<V,E> vv = (VisualizationViewer<V,E>)me.getSource(); MutableTransformer viewTransformer = vv.getRenderContext().getMultiLayerTransformer().getTransformer(Layer.VIEW); double scaleFromViewTransformer = viewTransformer.getScale(); Dimension paneSize = gzsp.getSize(); Point2D positionOfVertexInPane = me.getPoint(); double[] centerOfPane = new double[] { paneSize.getWidth()/2d, paneSize.getHeight()/2d }; double[] amountToMovePane = new double[] { (centerOfPane[0]-positionOfVertexInPane.getX())/scaleFromViewTransformer, (centerOfPane[1]-positionOfVertexInPane.getY())/scaleFromViewTransformer }; viewTransformer.translate(amountToMovePane[0], amountToMovePane[1]); }
@Override public double getCurrentCanvasScale() { return vv.getRenderContext().getMultiLayerTransformer().getTransformer(Layer.LAYOUT).getScale(); }
/** * Scale to the absolute value passed as 'amount'. * * @param vv the VisualizationServer used for rendering; provides the layout and view transformers. * @param amount the amount by which to scale * @param at the point of reference for scaling */ public void scale(VisualizationServer<?,?> vv, float amount, Point2D at) { MutableTransformer layoutTransformer = vv.getRenderContext().getMultiLayerTransformer().getTransformer(Layer.LAYOUT); MutableTransformer viewTransformer = vv.getRenderContext().getMultiLayerTransformer().getTransformer(Layer.VIEW); double modelScale = layoutTransformer.getScale(); double viewScale = viewTransformer.getScale(); double inverseModelScale = Math.sqrt(crossover)/modelScale; double inverseViewScale = Math.sqrt(crossover)/viewScale; Point2D transformedAt = vv.getRenderContext().getMultiLayerTransformer().inverseTransform(Layer.VIEW, at); // return the Functions to 1.0 layoutTransformer.scale(inverseModelScale, inverseModelScale, transformedAt); viewTransformer.scale(inverseViewScale, inverseViewScale, at); super.scale(vv, amount, at); } }
public void adjustmentValueChanged(AdjustmentEvent e) { int hval = e.getValue(); float dh = previous - hval; previous = hval; if(dh != 0 && scrollBarsMayControlAdjusting) { // get the uniform scale of all transforms float layoutScale = (float) vv.getRenderContext().getMultiLayerTransformer().getTransformer(Layer.LAYOUT).getScale(); dh *= layoutScale; AffineTransform at = AffineTransform.getTranslateInstance(dh, 0); vv.getRenderContext().getMultiLayerTransformer().getTransformer(Layer.LAYOUT).preConcatenate(at); } } }
/** * Scale to the absolute value passed as 'amount'. * * @param vv the VisualizationServer used for rendering; provides the layout and view * transformers. * @param amount the amount by which to scale * @param at the point of reference for scaling */ public void scale(VisualizationServer<?, ?> vv, float amount, Point2D at) { MutableTransformer layoutTransformer = vv.getRenderContext().getMultiLayerTransformer().getTransformer(Layer.LAYOUT); MutableTransformer viewTransformer = vv.getRenderContext().getMultiLayerTransformer().getTransformer(Layer.VIEW); double modelScale = layoutTransformer.getScale(); double viewScale = viewTransformer.getScale(); double inverseModelScale = Math.sqrt(crossover) / modelScale; double inverseViewScale = Math.sqrt(crossover) / viewScale; Point2D transformedAt = vv.getRenderContext().getMultiLayerTransformer().inverseTransform(Layer.VIEW, at); // return the Functions to 1.0 layoutTransformer.scale(inverseModelScale, inverseModelScale, transformedAt); viewTransformer.scale(inverseViewScale, inverseViewScale, at); super.scale(vv, amount, at); } }
public void adjustmentValueChanged(AdjustmentEvent e) { int hval = e.getValue(); float dh = previous - hval; previous = hval; if (dh != 0 && scrollBarsMayControlAdjusting) { // get the uniform scale of all transforms float layoutScale = (float) vv.getRenderContext() .getMultiLayerTransformer() .getTransformer(Layer.LAYOUT) .getScale(); dh *= layoutScale; AffineTransform at = AffineTransform.getTranslateInstance(dh, 0); vv.getRenderContext() .getMultiLayerTransformer() .getTransformer(Layer.LAYOUT) .preConcatenate(at); } } }
public void adjustmentValueChanged(AdjustmentEvent e) { JScrollBar sb = (JScrollBar)e.getSource(); BoundedRangeModel m = sb.getModel(); int vval = m.getValue(); float dv = previous - vval; previous = vval; if(dv != 0 && scrollBarsMayControlAdjusting) { // get the uniform scale of all transforms float layoutScale = (float) vv.getRenderContext().getMultiLayerTransformer().getTransformer(Layer.LAYOUT).getScale(); dv *= layoutScale; AffineTransform at = AffineTransform.getTranslateInstance(0, dv); vv.getRenderContext().getMultiLayerTransformer().getTransformer(Layer.LAYOUT).preConcatenate(at); } } }
public void scale(VisualizationServer<?,?> vv, float amount, Point2D at) { MutableTransformer layoutTransformer = vv.getRenderContext().getMultiLayerTransformer().getTransformer(Layer.LAYOUT); MutableTransformer viewTransformer = vv.getRenderContext().getMultiLayerTransformer().getTransformer(Layer.VIEW); double modelScale = layoutTransformer.getScale(); double viewScale = viewTransformer.getScale(); double inverseModelScale = Math.sqrt(crossover)/modelScale; double inverseViewScale = Math.sqrt(crossover)/viewScale; double scale = modelScale * viewScale; Point2D transformedAt = vv.getRenderContext().getMultiLayerTransformer().inverseTransform(Layer.VIEW, at); if((scale*amount - crossover)*(scale*amount - crossover) < 0.001) { // close to the control point, return both Functions to a scale of sqrt crossover value layoutTransformer.scale(inverseModelScale, inverseModelScale, transformedAt); viewTransformer.scale(inverseViewScale, inverseViewScale, at); } else if(scale*amount < crossover) { // scale the viewTransformer, return the layoutTransformer to sqrt crossover value viewTransformer.scale(amount, amount, at); layoutTransformer.scale(inverseModelScale, inverseModelScale, transformedAt); } else { // scale the layoutTransformer, return the viewTransformer to crossover value layoutTransformer.scale(amount, amount, transformedAt); viewTransformer.scale(inverseViewScale, inverseViewScale, at); } vv.repaint(); } }
MutableTransformer viewTransformer = vv.getRenderContext().getMultiLayerTransformer().getTransformer(Layer.VIEW); double modelScale = layoutTransformer.getScale(); double viewScale = viewTransformer.getScale(); double inverseModelScale = Math.sqrt(crossover) / modelScale; double inverseViewScale = Math.sqrt(crossover) / viewScale;
public void adjustmentValueChanged(AdjustmentEvent e) { JScrollBar sb = (JScrollBar) e.getSource(); BoundedRangeModel m = sb.getModel(); int vval = m.getValue(); float dv = previous - vval; previous = vval; if (dv != 0 && scrollBarsMayControlAdjusting) { // get the uniform scale of all transforms float layoutScale = (float) vv.getRenderContext() .getMultiLayerTransformer() .getTransformer(Layer.LAYOUT) .getScale(); dv *= layoutScale; AffineTransform at = AffineTransform.getTranslateInstance(0, dv); vv.getRenderContext() .getMultiLayerTransformer() .getTransformer(Layer.LAYOUT) .preConcatenate(at); } } }