]> gerrit.simantics Code Review - simantics/district.git/blobdiff - org.simantics.district.maps/src/org/simantics/maps/sg/MapInfoNode.java
Optimization of district scene graph node rendering
[simantics/district.git] / org.simantics.district.maps / src / org / simantics / maps / sg / MapInfoNode.java
diff --git a/org.simantics.district.maps/src/org/simantics/maps/sg/MapInfoNode.java b/org.simantics.district.maps/src/org/simantics/maps/sg/MapInfoNode.java
new file mode 100644 (file)
index 0000000..16a7c50
--- /dev/null
@@ -0,0 +1,44 @@
+package org.simantics.maps.sg;
+
+import java.awt.Graphics2D;
+import java.awt.geom.Rectangle2D;
+
+import org.simantics.scenegraph.g2d.G2DNode;
+
+/**
+ * @author Tuukka Lehtonen
+ */
+public abstract class MapInfoNode extends G2DNode {
+
+    private static final long serialVersionUID = 5514354427232700777L;
+
+    protected boolean enabled = true;
+    protected Rectangle2D rect = new Rectangle2D.Double();
+
+    public MapInfoNode() {
+        super();
+    }
+
+    @Override
+    public Rectangle2D getBoundsInLocal() {
+        return null;
+    }
+
+    public boolean isEnabled() {
+        return enabled;
+    }
+
+    public void setEnabled(boolean enabled) {
+        this.enabled = enabled;
+    }
+
+    protected void setMapInfoNextY(Graphics2D g, double y) {
+        g.setRenderingHint(MapInfoConstants.KEY_MAP_INFO_Y_COORDINATE, y);
+    }
+
+    protected double getMapInfoNextY(Graphics2D g) {
+        Double d = (Double) g.getRenderingHint(MapInfoConstants.KEY_MAP_INFO_Y_COORDINATE);
+        return d != null ? d : 0.0;
+    }
+
+}
\ No newline at end of file