]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.scenegraph/src/org/simantics/scenegraph/g2d/G2DHints.java
Support SVG generation from scenegraph.
[simantics/platform.git] / bundles / org.simantics.scenegraph / src / org / simantics / scenegraph / g2d / G2DHints.java
diff --git a/bundles/org.simantics.scenegraph/src/org/simantics/scenegraph/g2d/G2DHints.java b/bundles/org.simantics.scenegraph/src/org/simantics/scenegraph/g2d/G2DHints.java
new file mode 100644 (file)
index 0000000..e960348
--- /dev/null
@@ -0,0 +1,36 @@
+package org.simantics.scenegraph.g2d;
+
+import java.util.Map;
+
+public final class G2DHints {
+
+    private G2DHints() {
+    }
+    
+    public static final Key KEY_BEGIN_ELEMENT = new G2DHints.Key(0);
+    public static final Key KEY_END_ELEMENT = new G2DHints.Key(1);
+    public static final Key KEY_ELEMENT_ID = new G2DHints.Key(2);
+
+    public static class Key extends java.awt.RenderingHints.Key {
+
+        public Key(int privateKey) {
+            super(privateKey);    
+        }
+    
+        @Override
+        public boolean isCompatibleValue(Object val) {
+            switch (intKey()) {
+                case 0:
+                    return val == null || val instanceof String 
+                            || val instanceof Map;
+                case 1:
+                    return val == null || val instanceof Object;
+                case 2:
+                    return val == null || val instanceof Object;
+                default:
+                    throw new RuntimeException("Not possible!");
+            }
+        }
+    }
+    
+}
\ No newline at end of file