X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.scenegraph%2Fsrc%2Forg%2Fsimantics%2Fscenegraph%2Fg2d%2FG2DRenderingHints.java;h=992213c4595f8dfa5f375af72b00750e00ce71bf;hb=63adbfeaca69de231d77724366647ecea9d74bd8;hp=0f1803e2d64ee6d27d74695cab015a62fa658b54;hpb=c26409b1caf2f1e560d37c5befd11b442399c3fe;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.scenegraph/src/org/simantics/scenegraph/g2d/G2DRenderingHints.java b/bundles/org.simantics.scenegraph/src/org/simantics/scenegraph/g2d/G2DRenderingHints.java index 0f1803e2d..992213c45 100644 --- a/bundles/org.simantics.scenegraph/src/org/simantics/scenegraph/g2d/G2DRenderingHints.java +++ b/bundles/org.simantics.scenegraph/src/org/simantics/scenegraph/g2d/G2DRenderingHints.java @@ -12,6 +12,7 @@ package org.simantics.scenegraph.g2d; import java.awt.Component; +import java.awt.geom.AffineTransform; import java.awt.geom.Rectangle2D; import java.util.Map; @@ -69,4 +70,55 @@ public final class G2DRenderingHints { } }; + /** + * If this hint is not specified, the default interpretation should be + * {@value #AS_PATHS}. + * + * @since 1.31.0 + */ + public static enum TextRenderingMode { + AS_PATHS, + AS_TEXT + } + + /** + * A rendering hint for telling text rendering Simantics G2D scene graph node + * implementations how to render the text: as text or paths. + * + * @since 1.31.0 + */ + public static final Key KEY_TEXT_RENDERING_MODE = new Key(2004) { + @Override + public boolean isCompatibleValue(Object val) { + return val instanceof TextRenderingMode; + } + }; + + /** + * Instead of rendering SVGNode using SVG Salamander pass it to G2D as SVGPassthruShape in String format. + * + * @since 1.31.0 + */ + public static final Key KEY_SVG_PASSTHRU = new Key(2005) { + @Override + public boolean isCompatibleValue(Object val) { + return val instanceof Boolean; + } + }; + + /** + * 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; + } + }; + } \ No newline at end of file