]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.scenegraph/src/org/simantics/scenegraph/g2d/G2DRenderingHints.java
Render elements using custom color filters
[simantics/platform.git] / bundles / org.simantics.scenegraph / src / org / simantics / scenegraph / g2d / G2DRenderingHints.java
index ff68dac5a692829ad157dc4180091dd9a3abb31a..a01654ce2a6a4bb7e5ed4f5c04845eb525662fcd 100644 (file)
 package org.simantics.scenegraph.g2d;
 
 import java.awt.Component;
+import java.awt.geom.AffineTransform;
 import java.awt.geom.Rectangle2D;
 import java.util.Map;
 
+import org.simantics.scenegraph.g2d.color.ColorFilter;
+
 /**
  * @author Tuukka Lehtonen
  * See {@link G2DPDFRenderingHints}
@@ -105,4 +108,30 @@ public final class G2DRenderingHints {
         }
     };
 
+    /**
+     * The current Graphics2D AffineTransform for all nodes under the special
+     * spatialRoot : RTreeNode.
+     * 
+     * This can be used to optimize the creation and of new AffineTransforms by
+     * not having to use Graphics2D.getTransform to retrieve the current
+     * transformation which always creates new instances.
+     */
+    public static final Key KEY_TRANSFORM_UNDER_SPATIAL_ROOT = new Key(2006) {
+        @Override
+        public boolean isCompatibleValue(Object val) {
+            return val instanceof AffineTransform || val == null;
+        }
+    };
+
+    /*
+     * A rendering hint for storing the active ColorFilter which can be used e.g. 
+     * for coloring BufferedImages.  
+     */
+    public static final Key KEY_COLOR_FILTER = new Key(2007) {
+        @Override
+        public boolean isCompatibleValue(Object val) {
+            return val instanceof ColorFilter || val == null;
+        }
+    };
+
 }
\ No newline at end of file