Package org.jfree.svg

Class SVGHints

java.lang.Object
org.jfree.svg.SVGHints

public final class SVGHints
extends 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 Details

    • KEY_IMAGE_HANDLING

      public static final SVGHints.Key KEY_IMAGE_HANDLING
      The key for the hint that controls whether images are embedded in the SVG or referenced externally. Valid hint values are VALUE_IMAGE_HANDLING_EMBED and VALUE_IMAGE_HANDLING_REFERENCE.
    • VALUE_IMAGE_HANDLING_EMBED

      public static final 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

      Hint value for KEY_IMAGE_HANDLING to say that images should be referenced externally.
    • KEY_TEXT_RENDERING

      public static final SVGHints.Key KEY_TEXT_RENDERING
      The key for a hint that permits configuration of the text-rendering attribute in SVG text elements
    • VALUE_TEXT_RENDERING_AUTO

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

      public static final 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
    • VALUE_TEXT_RENDERING_LEGIBILITY

      Hint value for KEY_TEXT_RENDERING to set the text-rendering attribute in SVG text elements to 'optimizeLegibility'.
      See Also:
      Constant Field Values
    • VALUE_TEXT_RENDERING_PRECISION

      Hint value for KEY_TEXT_RENDERING to set the text-rendering attribute in SVG text elements to 'geometricPrecision'.
      See Also:
      Constant Field Values
    • VALUE_TEXT_RENDERING_INHERIT

      public static final String VALUE_TEXT_RENDERING_INHERIT
      Hint value for KEY_TEXT_RENDERING to set the text-rendering attribute in SVG text elements to 'inherit'.
      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
    • KEY_DRAW_STRING_TYPE

      public static final SVGHints.Key KEY_DRAW_STRING_TYPE
      The key for the hint that controls whether strings are rendered as characters or vector graphics (implemented using TextLayout). The latter will result in larger output files but avoids problems with fonts not being available for the viewer. Valid hint values are VALUE_DRAW_STRING_TYPE_STANDARD and VALUE_DRAW_STRING_TYPE_VECTOR.
      Since:
      2.0
    • 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

      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 Details

    • 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​(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​(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
    • clearBeginGroupKeys

      public static void clearBeginGroupKeys()
      Clears the list of keys that are treated as synonyms for KEY_BEGIN_GROUP.
      Since:
      1.8
    • isBeginGroupKey

      public static boolean isBeginGroupKey​(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

      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​(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​(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
    • clearEndGroupKeys

      public static void clearEndGroupKeys()
      Clears the list of keys that are treated as synonyms for KEY_END_GROUP.
      Since:
      1.8
    • isEndGroupKey

      public static boolean isEndGroupKey​(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

      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​(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​(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
    • clearElementTitleKeys

      public static void clearElementTitleKeys()
      Clears the list of keys that are treated as synonyms for KEY_ELEMENT_TITLE.
      Since:
      1.9
    • isElementTitleKey

      public static boolean isElementTitleKey​(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