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;h=445a66fe3e9b5a7d431042c677f7323f12ee1ba5;hb=04f200d2010339b05ba016b6f0c247653f5bdc97;hp=b5b8c4151fc7510a5c828bdbf36b5261b737e5e3;hpb=0ae2b770234dfc3cbb18bd38f324125cf0faca07;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() {