]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.scenegraph/src/org/simantics/scenegraph/g2d/G2DRenderingHints.java
Support SVG generation from scenegraph
[simantics/platform.git] / bundles / org.simantics.scenegraph / src / org / simantics / scenegraph / g2d / G2DRenderingHints.java
index 2e017b21fa8b6342db9eb6488e5b24d84b461ed0..0f1803e2d64ee6d27d74695cab015a62fa658b54 100644 (file)
@@ -1,46 +1,72 @@
-/*******************************************************************************\r
- * Copyright (c) 2007, 2010 Association for Decentralized Information Management\r
- * in Industry THTH ry.\r
- * All rights reserved. This program and the accompanying materials\r
- * are made available under the terms of the Eclipse Public License v1.0\r
- * which accompanies this distribution, and is available at\r
- * http://www.eclipse.org/legal/epl-v10.html\r
- *\r
- * Contributors:\r
- *     VTT Technical Research Centre of Finland - initial API and implementation\r
- *******************************************************************************/\r
-package org.simantics.scenegraph.g2d;\r
-\r
-import java.awt.Component;\r
-import java.awt.RenderingHints.Key;\r
-import java.awt.geom.Rectangle2D;\r
-\r
-/**\r
- * @author Tuukka Lehtonen\r
- * See {@link G2DPDFRenderingHints}\r
- */\r
-public final class G2DRenderingHints {\r
-\r
-    /**\r
-     * A rendering hint for storing the boundaries of the control area within a\r
-     * Graphics2D instance.\r
-     */\r
-    public static final Key KEY_CONTROL_BOUNDS = new Key(1000) {\r
-        @Override\r
-        public boolean isCompatibleValue(Object val) {\r
-            return val instanceof Rectangle2D;\r
-        }\r
-    };\r
-\r
-    /**\r
-     * A rendering hint for storing the root AWT Component on which the scene\r
-     * graph is rendered within a Graphics2D instance.\r
-     */\r
-    public static final Key KEY_COMPONENT      = new Key(1001) {\r
-        @Override\r
-        public boolean isCompatibleValue(Object val) {\r
-            return val instanceof Component;\r
-        }\r
-    };\r
-\r
+/*******************************************************************************
+ * Copyright (c) 2007, 2010 Association for Decentralized Information Management
+ * in Industry THTH ry.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     VTT Technical Research Centre of Finland - initial API and implementation
+ *******************************************************************************/
+package org.simantics.scenegraph.g2d;
+
+import java.awt.Component;
+import java.awt.geom.Rectangle2D;
+import java.util.Map;
+
+/**
+ * @author Tuukka Lehtonen
+ * See {@link G2DPDFRenderingHints}
+ */
+public final class G2DRenderingHints {
+
+    public static final Key KEY_BEGIN_ELEMENT = new G2DRenderingHints.Key(0);
+    public static final Key KEY_END_ELEMENT = new G2DRenderingHints.Key(1);
+    public static final Key KEY_ELEMENT_ID = new G2DRenderingHints.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!");
+            }
+        }
+    }
+       
+    /**
+     * A rendering hint for storing the boundaries of the control area within a
+     * Graphics2D instance.
+     */
+    public static final Key KEY_CONTROL_BOUNDS = new Key(1000) {
+        @Override
+        public boolean isCompatibleValue(Object val) {
+            return val instanceof Rectangle2D;
+        }
+    };
+
+    /**
+     * A rendering hint for storing the root AWT Component on which the scene
+     * graph is rendered within a Graphics2D instance.
+     */
+    public static final Key KEY_COMPONENT      = new Key(1001) {
+        @Override
+        public boolean isCompatibleValue(Object val) {
+            return val instanceof Component;
+        }
+    };
+
 }
\ No newline at end of file