]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.scenegraph/src/org/simantics/scenegraph/g2d/nodes/SelectionNode.java
Add customisation possibilities for SelectionNode
[simantics/platform.git] / bundles / org.simantics.scenegraph / src / org / simantics / scenegraph / g2d / nodes / SelectionNode.java
index bd09c45745be9ab675d25f0bb073caca8cc85b0d..98aaebb250c308bda1f33fc42800826b61926592 100644 (file)
  *******************************************************************************/
 package org.simantics.scenegraph.g2d.nodes;
 
  *******************************************************************************/
 package org.simantics.scenegraph.g2d.nodes;
 
+import java.awt.AlphaComposite;
 import java.awt.BasicStroke;
 import java.awt.Color;
 import java.awt.BasicStroke;
 import java.awt.Color;
+import java.awt.Composite;
 import java.awt.Graphics2D;
 import java.awt.geom.AffineTransform;
 import java.awt.geom.Rectangle2D;
 import java.awt.Graphics2D;
 import java.awt.geom.AffineTransform;
 import java.awt.geom.Rectangle2D;
@@ -35,9 +37,14 @@ public class SelectionNode extends G2DNode implements Decoration {
     protected transient Rectangle2D rect;
     protected transient BasicStroke scaledStroke;
     protected transient double previousScaleRecip = Double.NaN;
     protected transient Rectangle2D rect;
     protected transient BasicStroke scaledStroke;
     protected transient double previousScaleRecip = Double.NaN;
-    private boolean ignore = false;
-    private double paddingFactor = 5.0;
+    protected boolean ignore = false;
+    protected double paddingFactor = 5.0;
+    protected int selectionId;
 
 
+    public int getSelectionId() {
+        return selectionId;
+    }
+    
     public void setIgnore(boolean value) {
         ignore = value;
     }
     public void setIgnore(boolean value) {
         ignore = value;
     }
@@ -47,12 +54,17 @@ public class SelectionNode extends G2DNode implements Decoration {
     }
   
     @SyncField({"transform", "bounds", "color"})
     }
   
     @SyncField({"transform", "bounds", "color"})
-    public void init(AffineTransform transform, Rectangle2D bounds, Color color) {
+    public void init(int selectionId, AffineTransform transform, Rectangle2D bounds, Color color) {
+        this.selectionId = selectionId;
         this.transform = transform;
         this.bounds = bounds;
         this.color = color;
     }
 
         this.transform = transform;
         this.bounds = bounds;
         this.color = color;
     }
 
+    public void init(AffineTransform transform, Rectangle2D bounds, Color color) {
+        init(0, transform, bounds, color);
+    }
+
     @Override
     public void render(Graphics2D g) {
         if (bounds == null) return;
     @Override
     public void render(Graphics2D g) {
         if (bounds == null) return;