Package org.jfree.svg

Class SVGHints


  • public final class SVGHints
    extends java.lang.Object
    Defines the rendering hints that can be used with the SVGGraphics2D class. The supported hints are:
    • KEY_IMAGE_HANDLING that controls how images are handled (embedded in the SVG, or referenced externally);
    • KEY_IMAGE_HREF that allows the caller to specify the image href attribute for the next image;
    • KEY_TEXT_RENDERING that allows configuration of the preferred value of the SVG text-rendering attribute in text elements;
    • KEY_ELEMENT_ID that allows the caller to specify the element ID for the next element;
    • KEY_BEGIN_GROUP tells the SVGGraphics2D instance to start a new group element with an id equal to the hint value (which must be an instance of String). Any other Graphics2D implementation will ignore this hint;
    • KEY_END_GROUP tells the SVGGraphics2D instance to end a group element. The hint value is ignored. The caller assumes responsibility for balancing the number of KEY_BEGIN_GROUP and KEY_END_GROUP hints. Any other Graphics2D implementation will ignore this hint.
    • Field Detail

      • VALUE_IMAGE_HANDLING_EMBED

        public static final java.lang.Object VALUE_IMAGE_HANDLING_EMBED
        Hint value for KEY_IMAGE_HANDLING to specify that images should be embedded in the SVG output using PNG data Base64 encoded.
      • VALUE_IMAGE_HANDLING_REFERENCE

        public static final java.lang.Object VALUE_IMAGE_HANDLING_REFERENCE
        Hint value for KEY_IMAGE_HANDLING to say that images should be referenced externally.
      • VALUE_TEXT_RENDERING_SPEED

        public static final java.lang.String VALUE_TEXT_RENDERING_SPEED
        Hint value for KEY_TEXT_RENDERING to set the text-rendering attribute in SVG text elements to 'optimizeSpeed'.
        See Also:
        Constant Field Values
      • KEY_IMAGE_HREF

        public static final SVGHints.Key KEY_IMAGE_HREF
        Hint key to supply string to be used as the href for an image that is referenced rather than embedded. The value associated with the key should be a string and will be used for the next image element written to the SVG output (and then the hint will be cleared).
        Since:
        1.5
      • KEY_ELEMENT_ID

        public static final SVGHints.Key KEY_ELEMENT_ID
        Hint key to supply an element id for the next element generated.
        Since:
        1.5
      • KEY_BEGIN_GROUP

        public static final SVGHints.Key KEY_BEGIN_GROUP
        Hint key that informs the SVGGraphics2D that the caller would like to begin a new group element. The hint value is the id for the new group. After opening the new group the hint is cleared and it is the caller's responsibility to close the group later using KEY_END_GROUP. Groups can be nested.
        Since:
        1.7
      • KEY_END_GROUP

        public static final SVGHints.Key KEY_END_GROUP
        Hint key that informs the SVGGraphics2D that the caller would like to close a previously opened group element. The hint value is ignored.
        Since:
        1.7
      • KEY_ELEMENT_TITLE

        public static final SVGHints.Key KEY_ELEMENT_TITLE
        Hint key that informs the SVGGraphics2D that the caller would like to add a title element to the output (with the hint value being a string containing the title text).
        Since:
        1.9
      • VALUE_DRAW_STRING_TYPE_STANDARD

        public static final java.lang.Object VALUE_DRAW_STRING_TYPE_STANDARD
        Hint value for KEY_DRAW_STRING_TYPE to specify that strings should be written to the output using standard SVG text elements.
        Since:
        2.0
      • VALUE_DRAW_STRING_TYPE_VECTOR

        public static final java.lang.Object VALUE_DRAW_STRING_TYPE_VECTOR
        Hint value for KEY_DRAW_STRING_TYPE to say that strings should be written to the output using vector graphics primitives.
        Since:
        2.0
    • Method Detail

      • getBeginGroupKeys

        public static java.util.List<java.awt.RenderingHints.Key> getBeginGroupKeys()
        Creates and returns a list of keys that are synonymous with KEY_BEGIN_GROUP.
        Returns:
        A list (never null).
        Since:
        1.8
      • addBeginGroupKey

        public static void addBeginGroupKey​(java.awt.RenderingHints.Key key)
        Adds a key to the list of keys that are synonyms for KEY_BEGIN_GROUP.
        Parameters:
        key - the key (null not permitted).
        Since:
        1.8
      • removeBeginGroupKey

        public static void removeBeginGroupKey​(java.awt.RenderingHints.Key key)
        Removes a key from the list of keys that are synonyms for KEY_BEGIN_GROUP.
        Parameters:
        key - the key (null not permitted).
        Since:
        1.8
      • isBeginGroupKey

        public static boolean isBeginGroupKey​(java.awt.RenderingHints.Key key)
        Returns true if this key is equivalent to KEY_BEGIN_GROUP, and false otherwise. The purpose of this method is to allow certain keys from external packages (such as JFreeChart and Orson Charts) to use their own keys to drive the behaviour of SVGHints.KEY_BEGIN_GROUP. This has two benefits: (1) it avoids the necessity to make JFreeSVG a direct dependency, and (2) it makes the grouping behaviour generic from the point of view of the external package, rather than SVG-specific.
        Parameters:
        key - the key (null not permitted)
        Returns:
        A boolean.
        Since:
        1.8
      • getEndGroupKeys

        public static java.util.List<java.awt.RenderingHints.Key> getEndGroupKeys()
        Creates and returns a list of keys that are synonymous with KEY_END_GROUP.
        Returns:
        A list (never null).
        Since:
        1.8
      • addEndGroupKey

        public static void addEndGroupKey​(java.awt.RenderingHints.Key key)
        Adds a key to the list of keys that are synonyms for KEY_END_GROUP.
        Parameters:
        key - the key (null not permitted).
        Since:
        1.8
      • removeEndGroupKey

        public static void removeEndGroupKey​(java.awt.RenderingHints.Key key)
        Removes a key from the list of keys that are synonyms for KEY_END_GROUP.
        Parameters:
        key - the key (null not permitted).
        Since:
        1.8
      • isEndGroupKey

        public static boolean isEndGroupKey​(java.awt.RenderingHints.Key key)
        Returns true if this key is equivalent to KEY_END_GROUP, and false otherwise. The purpose of this method is to allow certain keys from external packages (such as JFreeChart and Orson Charts) to use their own keys to drive the behaviour of SVGHints.KEY_END_GROUP. This has two benefits: (1) it avoids the necessity to make JFreeSVG a direct dependency, and (2) it makes the grouping behaviour generic from the point of view of the external package, rather than SVG-specific.
        Parameters:
        key - the key (null not permitted).
        Returns:
        A boolean.
        Since:
        1.8
      • getElementTitleKeys

        public static java.util.List<java.awt.RenderingHints.Key> getElementTitleKeys()
        Creates and returns a list of keys that are synonymous with KEY_ELEMENT_TITLE.
        Returns:
        A list (never null).
        Since:
        1.9
      • addElementTitleKey

        public static void addElementTitleKey​(java.awt.RenderingHints.Key key)
        Adds a key to the list of keys that are synonyms for KEY_ELEMENT_TITLE.
        Parameters:
        key - the key (null not permitted).
        Since:
        1.9
      • removeElementTitleKey

        public static void removeElementTitleKey​(java.awt.RenderingHints.Key key)
        Removes a key from the list of keys that are synonyms for KEY_ELEMENT_TITLE.
        Parameters:
        key - the key (null not permitted).
        Since:
        1.9
      • isElementTitleKey

        public static boolean isElementTitleKey​(java.awt.RenderingHints.Key key)
        Returns true if this key is equivalent to KEY_ELEMENT_TITLE, and false otherwise. The purpose of this method is to allow certain keys from external packages (such as JFreeChart and Orson Charts) to use their own keys to drive the behaviour of SVGHints.KEY_ELEMENT_TITLE. This has two benefits: (1) it avoids the necessity to make JFreeSVG a direct dependency, and (2) it makes the element title behaviour generic from the point of view of the external package, rather than SVG-specific.
        Parameters:
        key - the key (null not permitted)
        Returns:
        A boolean.
        Since:
        1.9