]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.g2d/src/org/simantics/g2d/participant/PanZoomRotateHandler.java
Faster bounds calculation for zoom to selection and navigate to target
[simantics/platform.git] / bundles / org.simantics.g2d / src / org / simantics / g2d / participant / PanZoomRotateHandler.java
index 371ecbf1586bb22910410a728ddf8325deb4bbb9..6ca4f786247b9e4cc82db6892ad150e0db685a41 100644 (file)
@@ -13,7 +13,6 @@ package org.simantics.g2d.participant;
 
 import static org.simantics.g2d.canvas.Hints.KEY_CANVAS_TRANSFORM;
 
-import java.awt.Shape;
 import java.awt.geom.AffineTransform;
 import java.awt.geom.Point2D;
 import java.awt.geom.Rectangle2D;
@@ -373,9 +372,8 @@ public class PanZoomRotateHandler extends AbstractCanvasParticipant {
             if (d==null) return false;
 
             Set<IElement> selections = selection.getAllSelections();
-            Shape bounds = ElementUtils.getElementBoundsOnDiagram(selections);
-            if (bounds == null) return false;
-            Rectangle2D diagramRect = bounds.getBounds2D();
+            Rectangle2D diagramRect = ElementUtils.getSurroundingElementBoundsOnDiagram(selections);
+            if (diagramRect == null) return false;
             if (diagramRect.getWidth() <= 0 && diagramRect.getHeight() <= 0)
                 return false;