import java.awt.geom.Point2D;
import java.awt.geom.Rectangle2D;
+import org.simantics.scenegraph.ParentNode;
+import org.simantics.scenegraph.g2d.G2DHints;
import org.simantics.scenegraph.g2d.IG2DNode;
import org.simantics.scenegraph.g2d.events.EventTypes;
import org.simantics.scenegraph.g2d.events.MouseEvent;
private static final long serialVersionUID = -4982578347433716440L;
+ private Object key;
private TransferableProvider transferableProvider;
protected Composite composite;
protected Boolean visible = Boolean.TRUE;
protected Boolean hidden = Boolean.FALSE;
+ public void setKey(Object key) {
+ this.key = key;
+ }
+
+ public Object getKey() {
+ return key;
+ }
+
public void setTransferableProvider(TransferableProvider transferableProvider) {
if (transferableProvider != this.transferableProvider) {
if (this.transferableProvider != null)
return hidden;
}
+ public void beforeRender(Graphics2D g) {
+ g.setRenderingHint(G2DHints.KEY_BEGIN_ELEMENT, "definedElement");
+ }
+
+ public void afterRender(Graphics2D g) {
+ g.setRenderingHint(G2DHints.KEY_ELEMENT_ID, getKey());
+ g.setRenderingHint(G2DHints.KEY_END_ELEMENT, "definedElement");
+ }
+
@Override
public void render(Graphics2D g) {
if (!visible || hidden)
return;
+ beforeRender(g);
+
Composite oldComposite = null;
if(composite != null) {
oldComposite = g.getComposite();
if (oldComposite != null)
g.setComposite(oldComposite);
+
+ afterRender(g);
+
}
@Override