X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.scenegraph%2Fsrc%2Forg%2Fsimantics%2Fscenegraph%2Fg2d%2Fnodes%2FSelectionNode.java;fp=bundles%2Forg.simantics.scenegraph%2Fsrc%2Forg%2Fsimantics%2Fscenegraph%2Fg2d%2Fnodes%2FSelectionNode.java;h=445a66fe3e9b5a7d431042c677f7323f12ee1ba5;hb=5f0ad7a26810df602600c5eddad317588fce0ac4;hp=b5b8c4151fc7510a5c828bdbf36b5261b737e5e3;hpb=3c2807a26920491016a1887d2c1a95609c082a19;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.scenegraph/src/org/simantics/scenegraph/g2d/nodes/SelectionNode.java b/bundles/org.simantics.scenegraph/src/org/simantics/scenegraph/g2d/nodes/SelectionNode.java index b5b8c4151..445a66fe3 100644 --- a/bundles/org.simantics.scenegraph/src/org/simantics/scenegraph/g2d/nodes/SelectionNode.java +++ b/bundles/org.simantics.scenegraph/src/org/simantics/scenegraph/g2d/nodes/SelectionNode.java @@ -35,7 +35,12 @@ public class SelectionNode extends G2DNode implements Decoration { protected transient Rectangle2D rect; protected transient BasicStroke scaledStroke; protected transient double previousScaleRecip = Double.NaN; + private boolean ignore = false; + public void setIgnore(boolean value) { + ignore = value; + } + @SyncField({"transform", "bounds", "color"}) public void init(AffineTransform transform, Rectangle2D bounds, Color color) { this.transform = transform; @@ -46,6 +51,8 @@ public class SelectionNode extends G2DNode implements Decoration { @Override public void render(Graphics2D g) { if (bounds == null) return; + + if (ignore) return; // Prevent exceptions during rendering. if (transform.getDeterminant() == 0) @@ -84,6 +91,10 @@ public class SelectionNode extends G2DNode implements Decoration { g.setTransform(ot); } + + public Rectangle2D getRect() { + return transform.createTransformedShape(rect).getBounds2D(); + } @Override public Rectangle2D getBoundsInLocal() {