- java.lang.Object
-
- java.awt.Graphics
-
- java.awt.Graphics2D
-
- org.jfree.svg.SVGGraphics2D
-
public final class SVGGraphics2D extends java.awt.Graphics2D
A
UsageGraphics2D
implementation that creates SVG output. After rendering the graphics via theSVGGraphics2D
, you can retrieve an SVG element (seegetSVGElement()
) or an SVG document (seegetSVGDocument()
) containing your content.
Using the
SVGGraphics2D
class is straightforward. First, create an instance specifying the height and width of the SVG element that will be created. Then, use standard Java2D API calls to draw content into the element. Finally, retrieve the SVG element that has been accumulated. For example:SVGGraphics2D g2 = new SVGGraphics2D(300, 200); g2.setPaint(Color.RED); g2.draw(new Rectangle(10, 10, 280, 180)); String svgElement = g2.getSVGElement();
For the content generation step, you can make use of third party libraries, such as JFreeChart and Orson Charts, that render output using standard Java2D API calls.
Rendering Hints
The
Other NotesSVGGraphics2D
supports a couple of custom rendering hints - for details, refer to theSVGHints
class documentation. Also see the examples in this blog post: Orson Charts 3D / Enhanced SVG Export.
Some additional notes:- Images are supported, but for methods with an
ImageObserver
parameter note that the observer is ignored completely. In any case, using images that are not fully loaded already would not be a good idea in the context of generating SVG data/files; - the
getFontMetrics(java.awt.Font)
andgetFontRenderContext()
methods return values that come from an internalBufferedImage
, this is a short-cut and we don't know if there are any negative consequences (if you know of any, please let us know and we'll add the info here or find a way to fix it); - there are settings to control the number of decimal places used to write the coordinates for geometrical elements (default 2dp) and transform matrices (default 6dp). These defaults may change in a future release.
- when an HTML page contains multiple SVG elements, the items within
the DEFS element for each SVG element must have IDs that are unique across
all SVG elements in the page. We auto-populate the
defsKeyPrefix
attribute to help ensure that unique IDs are generated.
For some demos showing how to use this class, look at the JFree-Demos project at GitHub: https://github.com/jfree/jfree-demos.
- Images are supported, but for methods with an
-
-
Constructor Summary
Constructors Constructor Description SVGGraphics2D(int width, int height)
Creates a new instance with the specified width and height.SVGGraphics2D(int width, int height, java.lang.StringBuilder sb)
Creates a new instance with the specified width and height that will populate the supplied StringBuilder instance.SVGGraphics2D(int width, int height, SVGUnits units)
Creates a new instance with the specified width and height in the given units.SVGGraphics2D(int width, int height, SVGUnits units, java.lang.StringBuilder sb)
Creates a new instance with the specified width and height that will populate the supplied StringBuilder instance.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addRenderingHints(java.util.Map<?,?> hints)
Adds all the supplied rendering hints.void
clearRect(int x, int y, int width, int height)
Clears the specified rectangle by filling it with the current background color.void
clip(java.awt.Shape s)
Clips to the intersection of the current clipping region and the specified shape.void
clipRect(int x, int y, int width, int height)
Clips to the intersection of the current clipping region and the specified rectangle.void
copyArea(int x, int y, int width, int height, int dx, int dy)
This method does nothing.java.awt.Graphics
create()
Creates a new graphics object that is a copy of this graphics object (except that it has not accumulated the drawing operations).void
dispose()
This method does nothing, there are no resources to dispose.void
draw(java.awt.Shape s)
Draws the specified shape with the currentpaint
andstroke
.void
drawArc(int x, int y, int width, int height, int startAngle, int arcAngle)
Draws an arc contained within the rectangle(x, y, width, height)
, starting atstartAngle
and continuing througharcAngle
degrees using the currentpaint
andstroke
.void
drawGlyphVector(java.awt.font.GlyphVector g, float x, float y)
Draws the specified glyph vector at the location(x, y)
.void
drawImage(java.awt.image.BufferedImage img, java.awt.image.BufferedImageOp op, int x, int y)
Draws the image resulting from applying theBufferedImageOp
to the specified image at the location(x, y)
.boolean
drawImage(java.awt.Image img, int dx1, int dy1, int dx2, int dy2, int sx1, int sy1, int sx2, int sy2, java.awt.Color bgcolor, java.awt.image.ImageObserver observer)
Draws part of an image (defined by the source rectangle(sx1, sy1, sx2, sy2)
) into the destination rectangle(dx1, dy1, dx2, dy2)
.boolean
drawImage(java.awt.Image img, int dx1, int dy1, int dx2, int dy2, int sx1, int sy1, int sx2, int sy2, java.awt.image.ImageObserver observer)
Draws part of an image (defined by the source rectangle(sx1, sy1, sx2, sy2)
) into the destination rectangle(dx1, dy1, dx2, dy2)
.boolean
drawImage(java.awt.Image img, int x, int y, int w, int h, java.awt.Color bgcolor, java.awt.image.ImageObserver observer)
Draws an image to the rectangle(x, y, w, h)
(scaling it if required), first filling the background with the specified color.boolean
drawImage(java.awt.Image img, int x, int y, int w, int h, java.awt.image.ImageObserver observer)
Draws the image into the rectangle defined by(x, y, w, h)
.boolean
drawImage(java.awt.Image img, int x, int y, java.awt.Color bgcolor, java.awt.image.ImageObserver observer)
Draws an image at the location(x, y)
.boolean
drawImage(java.awt.Image img, int x, int y, java.awt.image.ImageObserver observer)
Draws an image at the location(x, y)
.boolean
drawImage(java.awt.Image img, java.awt.geom.AffineTransform xform, java.awt.image.ImageObserver obs)
Draws an image with the specified transform.void
drawLine(int x1, int y1, int x2, int y2)
Draws a line from(x1, y1)
to(x2, y2)
using the currentpaint
andstroke
.void
drawOval(int x, int y, int width, int height)
Draws an oval framed by the rectangle(x, y, width, height)
using the currentpaint
andstroke
.void
drawPolygon(int[] xPoints, int[] yPoints, int nPoints)
Draws the specified polygon using the currentpaint
andstroke
.void
drawPolyline(int[] xPoints, int[] yPoints, int nPoints)
Draws the specified multi-segment line using the currentpaint
andstroke
.void
drawRenderableImage(java.awt.image.renderable.RenderableImage img, java.awt.geom.AffineTransform xform)
Draws the renderable image.void
drawRenderedImage(java.awt.image.RenderedImage img, java.awt.geom.AffineTransform xform)
Draws the rendered image.void
drawRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight)
Draws a rectangle with rounded corners using the currentpaint
andstroke
.void
drawString(java.lang.String str, float x, float y)
Draws a string at(x, y)
.void
drawString(java.lang.String str, int x, int y)
Draws a string at(x, y)
.void
drawString(java.text.AttributedCharacterIterator iterator, float x, float y)
Draws a string of attributed characters at(x, y)
.void
drawString(java.text.AttributedCharacterIterator iterator, int x, int y)
Draws a string of attributed characters at(x, y)
.void
fill(java.awt.Shape s)
Fills the specified shape with the currentpaint
.void
fillArc(int x, int y, int width, int height, int startAngle, int arcAngle)
Fills an arc contained within the rectangle(x, y, width, height)
, starting atstartAngle
and continuing througharcAngle
degrees, using the currentpaint
.void
fillOval(int x, int y, int width, int height)
Fills an oval framed by the rectangle(x, y, width, height)
.void
fillPolygon(int[] xPoints, int[] yPoints, int nPoints)
Fills the specified polygon using the currentpaint
.void
fillRect(int x, int y, int width, int height)
Fills the specified rectangle with the currentpaint
.void
fillRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight)
Fills a rectangle with rounded corners using the currentpaint
.java.awt.Color
getBackground()
Returns the background color.boolean
getCheckStrokeControlHint()
Returns the flag that controls whether or not this object will observe theKEY_STROKE_CONTROL
rendering hint.java.awt.Shape
getClip()
Returns the user clipping region.java.awt.Rectangle
getClipBounds()
Returns the bounds of the user clipping region.java.awt.Color
getColor()
Returns the foreground color.java.awt.Composite
getComposite()
Returns the current composite.java.lang.String
getDefsKeyPrefix()
Returns the prefix used for all keys in the DEFS element.java.awt.GraphicsConfiguration
getDeviceConfiguration()
Returns the device configuration associated with thisGraphics2D
.java.util.Set<java.lang.String>
getElementIDs()
Returns a new set containing the element IDs that have been used in output so far.java.lang.String
getFilePrefix()
Returns the prefix used to generate a filename for an image that is referenced from, rather than embedded in, the SVG element.java.lang.String
getFileSuffix()
Returns the suffix used to generate a filename for an image that is referenced from, rather than embedded in, the SVG element.java.awt.Font
getFont()
Returns the current font used for drawing text.FontMapper
getFontMapper()
Returns the font mapper (an object that optionally maps font family names to alternates).java.awt.FontMetrics
getFontMetrics(java.awt.Font f)
Returns the font metrics for the specified font.java.awt.font.FontRenderContext
getFontRenderContext()
Returns the font render context.SVGUnits
getFontSizeUnits()
Returns the font size units.int
getGeometryDP()
Returns the number of decimal places used to write the coordinates of geometrical shapes.int
getHeight()
Returns the height for the SVG element, specified in the constructor.java.awt.Paint
getPaint()
Returns the paint used to draw or fill shapes (or text).java.lang.Object
getRenderingHint(java.awt.RenderingHints.Key hintKey)
Returns the current value for the specified hint.java.awt.RenderingHints
getRenderingHints()
Returns a copy of the rendering hints.java.lang.String
getShapeRendering()
Returns the value of the 'shape-rendering' property that will be written to the SVG element.java.awt.Stroke
getStroke()
Returns the current stroke (used when drawing shapes).java.lang.String
getSVGDocument()
Returns an SVG document (this contains the content returned by thegetSVGElement()
method, prepended with the required document header).java.lang.String
getSVGElement()
Returns the SVG element that has been generated by calls to thisGraphics2D
implementation.java.lang.String
getSVGElement(java.lang.String id)
Returns the SVG element that has been generated by calls to thisGraphics2D
implementation, giving it the specifiedid
.java.lang.String
getSVGElement(java.lang.String id, boolean includeDimensions, ViewBox viewBox, PreserveAspectRatio preserveAspectRatio, MeetOrSlice meetOrSlice)
Returns the SVG element that has been generated by calls to thisGraphics2D
implementation, giving it the specifiedid
.java.util.List<ImageElement>
getSVGImages()
Returns the list of image elements that have been referenced in the SVG output but not embedded.java.lang.String
getTextRendering()
Returns the value of the 'text-rendering' property that will be written to the SVG element.java.awt.geom.AffineTransform
getTransform()
Returns a copy of the current transform.int
getTransformDP()
Returns the number of decimal places used to write the transformation matrices in the SVG output.SVGUnits
getUnits()
Returns the units for the width and height of the SVG element's viewport, as specified in the constructor.int
getWidth()
Returns the width for the SVG element, specified in the constructor.double
getZeroStrokeWidth()
Returns the width to use for the SVG stroke when the AWT stroke specified has a zero width (the default value is0.1
).boolean
hit(java.awt.Rectangle rect, java.awt.Shape s, boolean onStroke)
Returnstrue
if the rectangle (in device space) intersects with the shape (the interior, ifonStroke
isfalse
, otherwise the stroked outline of the shape).void
rotate(double theta)
Applies a rotation (anti-clockwise) about(0, 0)
.void
rotate(double theta, double x, double y)
Applies a rotation (anti-clockwise) about(x, y)
.void
scale(double sx, double sy)
Applies a scale transformation.void
setBackground(java.awt.Color color)
Sets the background color.void
setCheckStrokeControlHint(boolean check)
Sets the flag that controls whether or not this object will observe theKEY_STROKE_CONTROL
rendering hint.void
setClip(int x, int y, int width, int height)
Sets the user clipping region to the specified rectangle.void
setClip(java.awt.Shape shape)
Sets the user clipping region.void
setColor(java.awt.Color c)
Sets the foreground color.void
setComposite(java.awt.Composite comp)
Sets the composite (onlyAlphaComposite
is handled).void
setDefsKeyPrefix(java.lang.String prefix)
Sets the prefix that will be used for all keys in the DEFS element.void
setFilePrefix(java.lang.String prefix)
Sets the prefix used to generate a filename for any image that is referenced from the SVG element.void
setFileSuffix(java.lang.String suffix)
Sets the suffix used to generate a filename for any image that is referenced from the SVG element.void
setFont(java.awt.Font font)
Sets the font to be used for drawing text.void
setFontMapper(FontMapper mapper)
Sets the font mapper.void
setFontSizeUnits(SVGUnits fontSizeUnits)
Sets the font size units.void
setGeometryDP(int dp)
Sets the number of decimal places used to write the coordinates of geometrical shapes in the SVG output.void
setPaint(java.awt.Paint paint)
Sets the paint used to draw or fill shapes (or text).void
setPaintMode()
Does nothing in thisSVGGraphics2D
implementation.void
setRenderingHint(java.awt.RenderingHints.Key hintKey, java.lang.Object hintValue)
Sets the value for a hint.void
setRenderingHints(java.util.Map<?,?> hints)
Sets the rendering hints to the specified collection.void
setShapeRendering(java.lang.String value)
Sets the value of the 'shape-rendering' property that will be written to the SVG element.void
setStroke(java.awt.Stroke s)
Sets the stroke that will be used to draw shapes.void
setTextRendering(java.lang.String value)
Sets the value of the 'text-rendering' property that will be written to the SVG element.void
setTransform(java.awt.geom.AffineTransform t)
Sets the transform.void
setTransformDP(int dp)
Sets the number of decimal places used to write the transformation matrices in the SVG output.void
setXORMode(java.awt.Color c)
Does nothing in thisSVGGraphics2D
implementation.void
setZeroStrokeWidth(double width)
Sets the width to use for the SVG stroke when the current AWT stroke has a width of 0.0.void
shear(double shx, double shy)
Applies a shear transformation.void
transform(java.awt.geom.AffineTransform t)
Applies this transform to the existing transform by concatenating it.void
translate(double tx, double ty)
Applies the translation(tx, ty)
.void
translate(int tx, int ty)
Applies the translation(tx, ty)
.
-
-
-
Constructor Detail
-
SVGGraphics2D
public SVGGraphics2D(int width, int height)
Creates a new instance with the specified width and height.- Parameters:
width
- the width of the SVG element.height
- the height of the SVG element.
-
SVGGraphics2D
public SVGGraphics2D(int width, int height, SVGUnits units)
Creates a new instance with the specified width and height in the given units.- Parameters:
width
- the width of the SVG element.height
- the height of the SVG element.units
- the units for the width and height.- Since:
- 3.2
-
SVGGraphics2D
public SVGGraphics2D(int width, int height, java.lang.StringBuilder sb)
Creates a new instance with the specified width and height that will populate the supplied StringBuilder instance. This constructor is used by thecreate()
method, but won't normally be called directly by user code.- Parameters:
width
- the width of the SVG element.height
- the height of the SVG element.sb
- the string builder (null
not permitted).- Since:
- 2.0
-
SVGGraphics2D
public SVGGraphics2D(int width, int height, SVGUnits units, java.lang.StringBuilder sb)
Creates a new instance with the specified width and height that will populate the supplied StringBuilder instance. This constructor is used by thecreate()
method, but won't normally be called directly by user code.- Parameters:
width
- the width of the SVG element.height
- the height of the SVG element.units
- the units for the width and height above (null
permitted).sb
- the string builder (null
not permitted).- Since:
- 3.2
-
-
Method Detail
-
getWidth
public int getWidth()
Returns the width for the SVG element, specified in the constructor. This value will be written to the SVG element returned by thegetSVGElement()
method.- Returns:
- The width for the SVG element.
-
getHeight
public int getHeight()
Returns the height for the SVG element, specified in the constructor. This value will be written to the SVG element returned by thegetSVGElement()
method.- Returns:
- The height for the SVG element.
-
getUnits
public SVGUnits getUnits()
Returns the units for the width and height of the SVG element's viewport, as specified in the constructor. The default value isnull
).- Returns:
- The units (possibly
null
). - Since:
- 3.2
-
getShapeRendering
public java.lang.String getShapeRendering()
Returns the value of the 'shape-rendering' property that will be written to the SVG element. The default value is "auto".- Returns:
- The shape rendering property.
- Since:
- 2.0
-
setShapeRendering
public void setShapeRendering(java.lang.String value)
Sets the value of the 'shape-rendering' property that will be written to the SVG element. Permitted values are "auto", "crispEdges", "geometricPrecision", "inherit" and "optimizeSpeed".- Parameters:
value
- the new value.- Since:
- 2.0
-
getTextRendering
public java.lang.String getTextRendering()
Returns the value of the 'text-rendering' property that will be written to the SVG element. The default value is "auto".- Returns:
- The text rendering property.
- Since:
- 2.0
-
setTextRendering
public void setTextRendering(java.lang.String value)
Sets the value of the 'text-rendering' property that will be written to the SVG element. Permitted values are "auto", "optimizeSpeed", "optimizeLegibility" and "geometricPrecision".- Parameters:
value
- the new value.- Since:
- 2.0
-
getCheckStrokeControlHint
public boolean getCheckStrokeControlHint()
Returns the flag that controls whether or not this object will observe theKEY_STROKE_CONTROL
rendering hint. The default value istrue
.- Returns:
- A boolean.
- Since:
- 2.0
- See Also:
setCheckStrokeControlHint(boolean)
-
setCheckStrokeControlHint
public void setCheckStrokeControlHint(boolean check)
Sets the flag that controls whether or not this object will observe theKEY_STROKE_CONTROL
rendering hint. When enabled (the default), a hint to normalise strokes will write astroke-style
attribute with the valuecrispEdges
.- Parameters:
check
- the new flag value.- Since:
- 2.0
- See Also:
getCheckStrokeControlHint()
-
getDefsKeyPrefix
public java.lang.String getDefsKeyPrefix()
Returns the prefix used for all keys in the DEFS element. The default value is"_"+ String.valueOf(System.nanoTime())
.- Returns:
- The prefix string (never
null
). - Since:
- 1.9
-
setDefsKeyPrefix
public void setDefsKeyPrefix(java.lang.String prefix)
Sets the prefix that will be used for all keys in the DEFS element. If required, this must be set immediately after construction (before any content generation methods have been called).- Parameters:
prefix
- the prefix (null
not permitted).- Since:
- 1.9
-
getTransformDP
public int getTransformDP()
Returns the number of decimal places used to write the transformation matrices in the SVG output. The default value is 6.Note that there is a separate attribute to control the number of decimal places for geometrical elements in the output (see
getGeometryDP()
).- Returns:
- The number of decimal places.
- See Also:
setTransformDP(int)
-
setTransformDP
public void setTransformDP(int dp)
Sets the number of decimal places used to write the transformation matrices in the SVG output. Values in the range 1 to 10 will be used to configure a formatter to that number of decimal places, for all other values we revert to the normalString
conversion ofdouble
primitives (approximately 16 decimals places).Note that there is a separate attribute to control the number of decimal places for geometrical elements in the output (see
setGeometryDP(int)
).- Parameters:
dp
- the number of decimal places (normally 1 to 10).- See Also:
getTransformDP()
-
getGeometryDP
public int getGeometryDP()
Returns the number of decimal places used to write the coordinates of geometrical shapes. The default value is 2.Note that there is a separate attribute to control the number of decimal places for transform matrices in the output (see
getTransformDP()
).- Returns:
- The number of decimal places.
-
setGeometryDP
public void setGeometryDP(int dp)
Sets the number of decimal places used to write the coordinates of geometrical shapes in the SVG output. Values in the range 1 to 10 will be used to configure a formatter to that number of decimal places, for all other values we revert to the normal String conversion of double primitives (approximately 16 decimals places).Note that there is a separate attribute to control the number of decimal places for transform matrices in the output (see
setTransformDP(int)
).- Parameters:
dp
- the number of decimal places (normally 1 to 10).
-
getFilePrefix
public java.lang.String getFilePrefix()
Returns the prefix used to generate a filename for an image that is referenced from, rather than embedded in, the SVG element.- Returns:
- The file prefix (never
null
). - Since:
- 1.5
-
setFilePrefix
public void setFilePrefix(java.lang.String prefix)
Sets the prefix used to generate a filename for any image that is referenced from the SVG element.- Parameters:
prefix
- the new prefix (null
not permitted).- Since:
- 1.5
-
getFileSuffix
public java.lang.String getFileSuffix()
Returns the suffix used to generate a filename for an image that is referenced from, rather than embedded in, the SVG element.- Returns:
- The file suffix (never
null
). - Since:
- 1.5
-
setFileSuffix
public void setFileSuffix(java.lang.String suffix)
Sets the suffix used to generate a filename for any image that is referenced from the SVG element.- Parameters:
suffix
- the new prefix (null
not permitted).- Since:
- 1.5
-
getZeroStrokeWidth
public double getZeroStrokeWidth()
Returns the width to use for the SVG stroke when the AWT stroke specified has a zero width (the default value is0.1
). In the Java specification forBasicStroke
it states "If width is set to 0.0f, the stroke is rendered as the thinnest possible line for the target device and the antialias hint setting." We don't have a means to implement that accurately since we must specify a fixed width.- Returns:
- The width.
- Since:
- 1.9
-
setZeroStrokeWidth
public void setZeroStrokeWidth(double width)
Sets the width to use for the SVG stroke when the current AWT stroke has a width of 0.0.- Parameters:
width
- the new width (must be 0 or greater).- Since:
- 1.9
-
getDeviceConfiguration
public java.awt.GraphicsConfiguration getDeviceConfiguration()
Returns the device configuration associated with thisGraphics2D
.- Specified by:
getDeviceConfiguration
in classjava.awt.Graphics2D
- Returns:
- The graphics configuration.
-
create
public java.awt.Graphics create()
Creates a new graphics object that is a copy of this graphics object (except that it has not accumulated the drawing operations). Not sure yet when or why this would be useful when creating SVG output. Note that thefontMapper
object (getFontMapper()
) is shared between the existing instance and the new one.- Specified by:
create
in classjava.awt.Graphics
- Returns:
- A new graphics object.
-
getPaint
public java.awt.Paint getPaint()
Returns the paint used to draw or fill shapes (or text). The default value isColor.BLACK
.- Specified by:
getPaint
in classjava.awt.Graphics2D
- Returns:
- The paint (never
null
). - See Also:
setPaint(java.awt.Paint)
-
setPaint
public void setPaint(java.awt.Paint paint)
Sets the paint used to draw or fill shapes (or text). Ifpaint
is an instance ofColor
, this method will also update the current color attribute (seegetColor()
). If you passnull
to this method, it does nothing (in accordance with the JDK specification).- Specified by:
setPaint
in classjava.awt.Graphics2D
- Parameters:
paint
- the paint (null
is permitted but ignored).- See Also:
getPaint()
-
getColor
public java.awt.Color getColor()
Returns the foreground color. This method exists for backwards compatibility in AWT, you should use thegetPaint()
method.- Specified by:
getColor
in classjava.awt.Graphics
- Returns:
- The foreground color (never
null
). - See Also:
getPaint()
-
setColor
public void setColor(java.awt.Color c)
Sets the foreground color. This method exists for backwards compatibility in AWT, you should use thesetPaint(java.awt.Paint)
method.- Specified by:
setColor
in classjava.awt.Graphics
- Parameters:
c
- the color (null
permitted but ignored).- See Also:
setPaint(java.awt.Paint)
-
getBackground
public java.awt.Color getBackground()
Returns the background color. The default value isColor.BLACK
. This is used by theclearRect(int, int, int, int)
method.- Specified by:
getBackground
in classjava.awt.Graphics2D
- Returns:
- The background color (possibly
null
). - See Also:
setBackground(java.awt.Color)
-
setBackground
public void setBackground(java.awt.Color color)
Sets the background color. This is used by theclearRect(int, int, int, int)
method. The reference implementation allowsnull
for the background color so we allow that too (but for that case, the clearRect method will do nothing).- Specified by:
setBackground
in classjava.awt.Graphics2D
- Parameters:
color
- the color (null
permitted).- See Also:
getBackground()
-
getComposite
public java.awt.Composite getComposite()
Returns the current composite.- Specified by:
getComposite
in classjava.awt.Graphics2D
- Returns:
- The current composite (never
null
). - See Also:
setComposite(java.awt.Composite)
-
setComposite
public void setComposite(java.awt.Composite comp)
Sets the composite (onlyAlphaComposite
is handled).- Specified by:
setComposite
in classjava.awt.Graphics2D
- Parameters:
comp
- the composite (null
not permitted).- See Also:
getComposite()
-
getStroke
public java.awt.Stroke getStroke()
Returns the current stroke (used when drawing shapes).- Specified by:
getStroke
in classjava.awt.Graphics2D
- Returns:
- The current stroke (never
null
). - See Also:
setStroke(java.awt.Stroke)
-
setStroke
public void setStroke(java.awt.Stroke s)
Sets the stroke that will be used to draw shapes.- Specified by:
setStroke
in classjava.awt.Graphics2D
- Parameters:
s
- the stroke (null
not permitted).- See Also:
getStroke()
-
getRenderingHint
public java.lang.Object getRenderingHint(java.awt.RenderingHints.Key hintKey)
Returns the current value for the specified hint. See theSVGHints
class for information about the hints that can be used withSVGGraphics2D
.- Specified by:
getRenderingHint
in classjava.awt.Graphics2D
- Parameters:
hintKey
- the hint key (null
permitted, but the result will benull
also).- Returns:
- The current value for the specified hint
(possibly
null
). - See Also:
setRenderingHint(java.awt.RenderingHints.Key, java.lang.Object)
-
setRenderingHint
public void setRenderingHint(java.awt.RenderingHints.Key hintKey, java.lang.Object hintValue)
Sets the value for a hint. See theSVGHints
class for information about the hints that can be used with this implementation.- Specified by:
setRenderingHint
in classjava.awt.Graphics2D
- Parameters:
hintKey
- the hint key (null
not permitted).hintValue
- the hint value.- See Also:
getRenderingHint(java.awt.RenderingHints.Key)
-
getRenderingHints
public java.awt.RenderingHints getRenderingHints()
Returns a copy of the rendering hints. Modifying the returned copy will have no impact on the state of thisGraphics2D
instance.- Specified by:
getRenderingHints
in classjava.awt.Graphics2D
- Returns:
- The rendering hints (never
null
). - See Also:
setRenderingHints(java.util.Map)
-
setRenderingHints
public void setRenderingHints(java.util.Map<?,?> hints)
Sets the rendering hints to the specified collection.- Specified by:
setRenderingHints
in classjava.awt.Graphics2D
- Parameters:
hints
- the new set of hints (null
not permitted).- See Also:
getRenderingHints()
-
addRenderingHints
public void addRenderingHints(java.util.Map<?,?> hints)
Adds all the supplied rendering hints.- Specified by:
addRenderingHints
in classjava.awt.Graphics2D
- Parameters:
hints
- the hints (null
not permitted).
-
draw
public void draw(java.awt.Shape s)
Draws the specified shape with the currentpaint
andstroke
. There is direct handling forLine2D
,Rectangle2D
,Ellipse2D
andPath2D
. All other shapes are mapped to aGeneralPath
and then drawn (effectively asPath2D
objects).- Specified by:
draw
in classjava.awt.Graphics2D
- Parameters:
s
- the shape (null
not permitted).- See Also:
fill(java.awt.Shape)
-
fill
public void fill(java.awt.Shape s)
Fills the specified shape with the currentpaint
. There is direct handling forRectangle2D
,Ellipse2D
andPath2D
. All other shapes are mapped to aGeneralPath
and then filled.- Specified by:
fill
in classjava.awt.Graphics2D
- Parameters:
s
- the shape (null
not permitted).- See Also:
draw(java.awt.Shape)
-
getFont
public java.awt.Font getFont()
Returns the current font used for drawing text.- Specified by:
getFont
in classjava.awt.Graphics
- Returns:
- The current font (never
null
). - See Also:
setFont(java.awt.Font)
-
setFont
public void setFont(java.awt.Font font)
Sets the font to be used for drawing text.- Specified by:
setFont
in classjava.awt.Graphics
- Parameters:
font
- the font (null
is permitted but ignored).- See Also:
getFont()
-
getFontMapper
public FontMapper getFontMapper()
Returns the font mapper (an object that optionally maps font family names to alternates). The default mapper will convert Java logical font names to the equivalent SVG generic font name, and leave all other font names unchanged.- Returns:
- The font mapper (never
null
). - Since:
- 1.5
- See Also:
setFontMapper(org.jfree.svg.FontMapper)
-
setFontMapper
public void setFontMapper(FontMapper mapper)
Sets the font mapper.- Parameters:
mapper
- the font mapper (null
not permitted).- Since:
- 1.5
-
getFontSizeUnits
public SVGUnits getFontSizeUnits()
Returns the font size units. The default value isSVGUnits.PX
.- Returns:
- The font size units.
- Since:
- 3.4
-
setFontSizeUnits
public void setFontSizeUnits(SVGUnits fontSizeUnits)
Sets the font size units. In general, if this method is used it should be called immediately after theSVGGraphics2D
instance is created and before any content is generated.- Parameters:
fontSizeUnits
- the font size units (null
not permitted).- Since:
- 3.4
-
getFontMetrics
public java.awt.FontMetrics getFontMetrics(java.awt.Font f)
Returns the font metrics for the specified font.- Specified by:
getFontMetrics
in classjava.awt.Graphics
- Parameters:
f
- the font.- Returns:
- The font metrics.
-
getFontRenderContext
public java.awt.font.FontRenderContext getFontRenderContext()
Returns the font render context.- Specified by:
getFontRenderContext
in classjava.awt.Graphics2D
- Returns:
- The font render context (never
null
).
-
drawString
public void drawString(java.lang.String str, int x, int y)
Draws a string at(x, y)
. The start of the text at the baseline level will be aligned with the(x, y)
point.
Note that you can make use of theSVGHints.KEY_TEXT_RENDERING
hint when drawing strings (this is completely optional though).- Specified by:
drawString
in classjava.awt.Graphics2D
- Parameters:
str
- the string (null
not permitted).x
- the x-coordinate.y
- the y-coordinate.- See Also:
drawString(java.lang.String, float, float)
-
drawString
public void drawString(java.lang.String str, float x, float y)
Draws a string at(x, y)
. The start of the text at the baseline level will be aligned with the(x, y)
point.
Note that you can make use of theSVGHints.KEY_TEXT_RENDERING
hint when drawing strings (this is completely optional though).- Specified by:
drawString
in classjava.awt.Graphics2D
- Parameters:
str
- the string (null
not permitted).x
- the x-coordinate.y
- the y-coordinate.
-
drawString
public void drawString(java.text.AttributedCharacterIterator iterator, int x, int y)
Draws a string of attributed characters at(x, y)
. The call is delegated todrawString(AttributedCharacterIterator, float, float)
.- Specified by:
drawString
in classjava.awt.Graphics2D
- Parameters:
iterator
- an iterator for the characters.x
- the x-coordinate.y
- the x-coordinate.
-
drawString
public void drawString(java.text.AttributedCharacterIterator iterator, float x, float y)
Draws a string of attributed characters at(x, y)
.- Specified by:
drawString
in classjava.awt.Graphics2D
- Parameters:
iterator
- an iterator over the characters (null
not permitted).x
- the x-coordinate.y
- the y-coordinate.
-
drawGlyphVector
public void drawGlyphVector(java.awt.font.GlyphVector g, float x, float y)
Draws the specified glyph vector at the location(x, y)
.- Specified by:
drawGlyphVector
in classjava.awt.Graphics2D
- Parameters:
g
- the glyph vector (null
not permitted).x
- the x-coordinate.y
- the y-coordinate.
-
translate
public void translate(int tx, int ty)
Applies the translation(tx, ty)
. This call is delegated totranslate(double, double)
.- Specified by:
translate
in classjava.awt.Graphics2D
- Parameters:
tx
- the x-translation.ty
- the y-translation.- See Also:
translate(double, double)
-
translate
public void translate(double tx, double ty)
Applies the translation(tx, ty)
.- Specified by:
translate
in classjava.awt.Graphics2D
- Parameters:
tx
- the x-translation.ty
- the y-translation.
-
rotate
public void rotate(double theta)
Applies a rotation (anti-clockwise) about(0, 0)
.- Specified by:
rotate
in classjava.awt.Graphics2D
- Parameters:
theta
- the rotation angle (in radians).
-
rotate
public void rotate(double theta, double x, double y)
Applies a rotation (anti-clockwise) about(x, y)
.- Specified by:
rotate
in classjava.awt.Graphics2D
- Parameters:
theta
- the rotation angle (in radians).x
- the x-coordinate.y
- the y-coordinate.
-
scale
public void scale(double sx, double sy)
Applies a scale transformation.- Specified by:
scale
in classjava.awt.Graphics2D
- Parameters:
sx
- the x-scaling factor.sy
- the y-scaling factor.
-
shear
public void shear(double shx, double shy)
Applies a shear transformation. This is equivalent to the following call to thetransform
method:
-
transform(AffineTransform.getShearInstance(shx, shy));
- Specified by:
shear
in classjava.awt.Graphics2D
- Parameters:
shx
- the x-shear factor.shy
- the y-shear factor.
-
-
transform
public void transform(java.awt.geom.AffineTransform t)
Applies this transform to the existing transform by concatenating it.- Specified by:
transform
in classjava.awt.Graphics2D
- Parameters:
t
- the transform (null
not permitted).
-
getTransform
public java.awt.geom.AffineTransform getTransform()
Returns a copy of the current transform.- Specified by:
getTransform
in classjava.awt.Graphics2D
- Returns:
- A copy of the current transform (never
null
). - See Also:
setTransform(java.awt.geom.AffineTransform)
-
setTransform
public void setTransform(java.awt.geom.AffineTransform t)
Sets the transform.- Specified by:
setTransform
in classjava.awt.Graphics2D
- Parameters:
t
- the new transform (null
permitted, resets to the identity transform).- See Also:
getTransform()
-
hit
public boolean hit(java.awt.Rectangle rect, java.awt.Shape s, boolean onStroke)
Returnstrue
if the rectangle (in device space) intersects with the shape (the interior, ifonStroke
isfalse
, otherwise the stroked outline of the shape).- Specified by:
hit
in classjava.awt.Graphics2D
- Parameters:
rect
- a rectangle (in device space).s
- the shape.onStroke
- test the stroked outline only?- Returns:
- A boolean.
-
setPaintMode
public void setPaintMode()
Does nothing in thisSVGGraphics2D
implementation.- Specified by:
setPaintMode
in classjava.awt.Graphics
-
setXORMode
public void setXORMode(java.awt.Color c)
Does nothing in thisSVGGraphics2D
implementation.- Specified by:
setXORMode
in classjava.awt.Graphics
- Parameters:
c
- ignored
-
getClipBounds
public java.awt.Rectangle getClipBounds()
Returns the bounds of the user clipping region.- Specified by:
getClipBounds
in classjava.awt.Graphics
- Returns:
- The clip bounds (possibly
null
). - See Also:
getClip()
-
getClip
public java.awt.Shape getClip()
Returns the user clipping region. The initial default value isnull
.- Specified by:
getClip
in classjava.awt.Graphics
- Returns:
- The user clipping region (possibly
null
). - See Also:
setClip(java.awt.Shape)
-
setClip
public void setClip(java.awt.Shape shape)
Sets the user clipping region.- Specified by:
setClip
in classjava.awt.Graphics
- Parameters:
shape
- the new user clipping region (null
permitted).- See Also:
getClip()
-
clip
public void clip(java.awt.Shape s)
Clips to the intersection of the current clipping region and the specified shape. According to the Oracle API specification, this method will accept anull
argument, but there is an open bug report (since 2004) that suggests this is wrong:- Specified by:
clip
in classjava.awt.Graphics2D
- Parameters:
s
- the clip shape (null
not permitted).
-
clipRect
public void clipRect(int x, int y, int width, int height)
Clips to the intersection of the current clipping region and the specified rectangle.- Specified by:
clipRect
in classjava.awt.Graphics
- Parameters:
x
- the x-coordinate.y
- the y-coordinate.width
- the width.height
- the height.
-
setClip
public void setClip(int x, int y, int width, int height)
Sets the user clipping region to the specified rectangle.- Specified by:
setClip
in classjava.awt.Graphics
- Parameters:
x
- the x-coordinate.y
- the y-coordinate.width
- the width.height
- the height.- See Also:
getClip()
-
drawLine
public void drawLine(int x1, int y1, int x2, int y2)
Draws a line from(x1, y1)
to(x2, y2)
using the currentpaint
andstroke
.- Specified by:
drawLine
in classjava.awt.Graphics
- Parameters:
x1
- the x-coordinate of the start point.y1
- the y-coordinate of the start point.x2
- the x-coordinate of the end point.y2
- the x-coordinate of the end point.
-
fillRect
public void fillRect(int x, int y, int width, int height)
Fills the specified rectangle with the currentpaint
.- Specified by:
fillRect
in classjava.awt.Graphics
- Parameters:
x
- the x-coordinate.y
- the y-coordinate.width
- the rectangle width.height
- the rectangle height.
-
clearRect
public void clearRect(int x, int y, int width, int height)
Clears the specified rectangle by filling it with the current background color. If the background color isnull
, this method will do nothing.- Specified by:
clearRect
in classjava.awt.Graphics
- Parameters:
x
- the x-coordinate.y
- the y-coordinate.width
- the width.height
- the height.- See Also:
getBackground()
-
drawRoundRect
public void drawRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight)
Draws a rectangle with rounded corners using the currentpaint
andstroke
.- Specified by:
drawRoundRect
in classjava.awt.Graphics
- Parameters:
x
- the x-coordinate.y
- the y-coordinate.width
- the width.height
- the height.arcWidth
- the arc-width.arcHeight
- the arc-height.- See Also:
fillRoundRect(int, int, int, int, int, int)
-
fillRoundRect
public void fillRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight)
Fills a rectangle with rounded corners using the currentpaint
.- Specified by:
fillRoundRect
in classjava.awt.Graphics
- Parameters:
x
- the x-coordinate.y
- the y-coordinate.width
- the width.height
- the height.arcWidth
- the arc-width.arcHeight
- the arc-height.- See Also:
drawRoundRect(int, int, int, int, int, int)
-
drawOval
public void drawOval(int x, int y, int width, int height)
Draws an oval framed by the rectangle(x, y, width, height)
using the currentpaint
andstroke
.- Specified by:
drawOval
in classjava.awt.Graphics
- Parameters:
x
- the x-coordinate.y
- the y-coordinate.width
- the width.height
- the height.- See Also:
fillOval(int, int, int, int)
-
fillOval
public void fillOval(int x, int y, int width, int height)
Fills an oval framed by the rectangle(x, y, width, height)
.- Specified by:
fillOval
in classjava.awt.Graphics
- Parameters:
x
- the x-coordinate.y
- the y-coordinate.width
- the width.height
- the height.- See Also:
drawOval(int, int, int, int)
-
drawArc
public void drawArc(int x, int y, int width, int height, int startAngle, int arcAngle)
Draws an arc contained within the rectangle(x, y, width, height)
, starting atstartAngle
and continuing througharcAngle
degrees using the currentpaint
andstroke
.- Specified by:
drawArc
in classjava.awt.Graphics
- Parameters:
x
- the x-coordinate.y
- the y-coordinate.width
- the width.height
- the height.startAngle
- the start angle in degrees, 0 = 3 o'clock.arcAngle
- the angle (anticlockwise) in degrees.- See Also:
fillArc(int, int, int, int, int, int)
-
fillArc
public void fillArc(int x, int y, int width, int height, int startAngle, int arcAngle)
Fills an arc contained within the rectangle(x, y, width, height)
, starting atstartAngle
and continuing througharcAngle
degrees, using the currentpaint
.- Specified by:
fillArc
in classjava.awt.Graphics
- Parameters:
x
- the x-coordinate.y
- the y-coordinate.width
- the width.height
- the height.startAngle
- the start angle in degrees, 0 = 3 o'clock.arcAngle
- the angle (anticlockwise) in degrees.- See Also:
drawArc(int, int, int, int, int, int)
-
drawPolyline
public void drawPolyline(int[] xPoints, int[] yPoints, int nPoints)
Draws the specified multi-segment line using the currentpaint
andstroke
.- Specified by:
drawPolyline
in classjava.awt.Graphics
- Parameters:
xPoints
- the x-points.yPoints
- the y-points.nPoints
- the number of points to use for the polyline.
-
drawPolygon
public void drawPolygon(int[] xPoints, int[] yPoints, int nPoints)
Draws the specified polygon using the currentpaint
andstroke
.- Specified by:
drawPolygon
in classjava.awt.Graphics
- Parameters:
xPoints
- the x-points.yPoints
- the y-points.nPoints
- the number of points to use for the polygon.- See Also:
fillPolygon(int[], int[], int)
-
fillPolygon
public void fillPolygon(int[] xPoints, int[] yPoints, int nPoints)
Fills the specified polygon using the currentpaint
.- Specified by:
fillPolygon
in classjava.awt.Graphics
- Parameters:
xPoints
- the x-points.yPoints
- the y-points.nPoints
- the number of points to use for the polygon.- See Also:
drawPolygon(int[], int[], int)
-
drawImage
public boolean drawImage(java.awt.Image img, int x, int y, java.awt.image.ImageObserver observer)
Draws an image at the location(x, y)
. Note that theobserver
is ignored.- Specified by:
drawImage
in classjava.awt.Graphics
- Parameters:
img
- the image (null
permitted...method will do nothing).x
- the x-coordinate.y
- the y-coordinate.observer
- ignored.- Returns:
true
if there is no more drawing to be done.
-
drawImage
public boolean drawImage(java.awt.Image img, int x, int y, int w, int h, java.awt.image.ImageObserver observer)
Draws the image into the rectangle defined by(x, y, w, h)
. Note that theobserver
is ignored (it is not useful in this context).- Specified by:
drawImage
in classjava.awt.Graphics
- Parameters:
img
- the image (null
permitted...draws nothing).x
- the x-coordinate.y
- the y-coordinate.w
- the width.h
- the height.observer
- ignored.- Returns:
true
if there is no more drawing to be done.
-
drawImage
public boolean drawImage(java.awt.Image img, int x, int y, java.awt.Color bgcolor, java.awt.image.ImageObserver observer)
Draws an image at the location(x, y)
. Note that theobserver
is ignored.- Specified by:
drawImage
in classjava.awt.Graphics
- Parameters:
img
- the image (null
permitted...draws nothing).x
- the x-coordinate.y
- the y-coordinate.bgcolor
- the background color (null
permitted).observer
- ignored.- Returns:
true
if there is no more drawing to be done.
-
drawImage
public boolean drawImage(java.awt.Image img, int x, int y, int w, int h, java.awt.Color bgcolor, java.awt.image.ImageObserver observer)
Draws an image to the rectangle(x, y, w, h)
(scaling it if required), first filling the background with the specified color. Note that theobserver
is ignored.- Specified by:
drawImage
in classjava.awt.Graphics
- Parameters:
img
- the image.x
- the x-coordinate.y
- the y-coordinate.w
- the width.h
- the height.bgcolor
- the background color (null
permitted).observer
- ignored.- Returns:
true
if the image is drawn.
-
drawImage
public boolean drawImage(java.awt.Image img, int dx1, int dy1, int dx2, int dy2, int sx1, int sy1, int sx2, int sy2, java.awt.image.ImageObserver observer)
Draws part of an image (defined by the source rectangle(sx1, sy1, sx2, sy2)
) into the destination rectangle(dx1, dy1, dx2, dy2)
. Note that theobserver
is ignored.- Specified by:
drawImage
in classjava.awt.Graphics
- Parameters:
img
- the image.dx1
- the x-coordinate for the top left of the destination.dy1
- the y-coordinate for the top left of the destination.dx2
- the x-coordinate for the bottom right of the destination.dy2
- the y-coordinate for the bottom right of the destination.sx1
- the x-coordinate for the top left of the source.sy1
- the y-coordinate for the top left of the source.sx2
- the x-coordinate for the bottom right of the source.sy2
- the y-coordinate for the bottom right of the source.- Returns:
true
if the image is drawn.
-
drawImage
public boolean drawImage(java.awt.Image img, int dx1, int dy1, int dx2, int dy2, int sx1, int sy1, int sx2, int sy2, java.awt.Color bgcolor, java.awt.image.ImageObserver observer)
Draws part of an image (defined by the source rectangle(sx1, sy1, sx2, sy2)
) into the destination rectangle(dx1, dy1, dx2, dy2)
. The destination rectangle is first cleared by filling it with the specifiedbgcolor
. Note that theobserver
is ignored.- Specified by:
drawImage
in classjava.awt.Graphics
- Parameters:
img
- the image.dx1
- the x-coordinate for the top left of the destination.dy1
- the y-coordinate for the top left of the destination.dx2
- the x-coordinate for the bottom right of the destination.dy2
- the y-coordinate for the bottom right of the destination.sx1
- the x-coordinate for the top left of the source.sy1
- the y-coordinate for the top left of the source.sx2
- the x-coordinate for the bottom right of the source.sy2
- the y-coordinate for the bottom right of the source.bgcolor
- the background color (null
permitted).observer
- ignored.- Returns:
true
if the image is drawn.
-
drawRenderedImage
public void drawRenderedImage(java.awt.image.RenderedImage img, java.awt.geom.AffineTransform xform)
Draws the rendered image. Ifimg
isnull
this method does nothing.- Specified by:
drawRenderedImage
in classjava.awt.Graphics2D
- Parameters:
img
- the image (null
permitted).xform
- the transform.
-
drawRenderableImage
public void drawRenderableImage(java.awt.image.renderable.RenderableImage img, java.awt.geom.AffineTransform xform)
Draws the renderable image.- Specified by:
drawRenderableImage
in classjava.awt.Graphics2D
- Parameters:
img
- the renderable image.xform
- the transform.
-
drawImage
public boolean drawImage(java.awt.Image img, java.awt.geom.AffineTransform xform, java.awt.image.ImageObserver obs)
Draws an image with the specified transform. Note that theobserver
is ignored.- Specified by:
drawImage
in classjava.awt.Graphics2D
- Parameters:
img
- the image.xform
- the transform (null
permitted).obs
- the image observer (ignored).- Returns:
true
if the image is drawn.
-
drawImage
public void drawImage(java.awt.image.BufferedImage img, java.awt.image.BufferedImageOp op, int x, int y)
Draws the image resulting from applying theBufferedImageOp
to the specified image at the location(x, y)
.- Specified by:
drawImage
in classjava.awt.Graphics2D
- Parameters:
img
- the image.op
- the operation (null
permitted).x
- the x-coordinate.y
- the y-coordinate.
-
copyArea
public void copyArea(int x, int y, int width, int height, int dx, int dy)
This method does nothing. The operation assumes that the output is in bitmap form, which is not the case for SVG, so we silently ignore this method call.- Specified by:
copyArea
in classjava.awt.Graphics
- Parameters:
x
- the x-coordinate.y
- the y-coordinate.width
- the width of the area.height
- the height of the area.dx
- the delta x.dy
- the delta y.
-
dispose
public void dispose()
This method does nothing, there are no resources to dispose.- Specified by:
dispose
in classjava.awt.Graphics
-
getSVGElement
public java.lang.String getSVGElement()
Returns the SVG element that has been generated by calls to thisGraphics2D
implementation.- Returns:
- The SVG element.
-
getSVGElement
public java.lang.String getSVGElement(java.lang.String id)
Returns the SVG element that has been generated by calls to thisGraphics2D
implementation, giving it the specifiedid
. Ifid
isnull
, the element will have noid
attribute.- Parameters:
id
- the element id (null
permitted).- Returns:
- A string containing the SVG element.
- Since:
- 1.8
-
getSVGElement
public java.lang.String getSVGElement(java.lang.String id, boolean includeDimensions, ViewBox viewBox, PreserveAspectRatio preserveAspectRatio, MeetOrSlice meetOrSlice)
Returns the SVG element that has been generated by calls to thisGraphics2D
implementation, giving it the specifiedid
. Ifid
isnull
, the element will have noid
attribute. This method also allows for aviewBox
to be defined, along with the settings that handle scaling.- Parameters:
id
- the element id (null
permitted).includeDimensions
- include the width and height attributes?viewBox
- the view box specification (ifnull
then noviewBox
attribute will be defined).preserveAspectRatio
- the value of thepreserveAspectRatio
attribute (ifnull
then not attribute will be defined).meetOrSlice
- the value of the meetOrSlice attribute.- Returns:
- A string containing the SVG element.
- Since:
- 3.2
-
getSVGDocument
public java.lang.String getSVGDocument()
Returns an SVG document (this contains the content returned by thegetSVGElement()
method, prepended with the required document header).- Returns:
- An SVG document.
-
getSVGImages
public java.util.List<ImageElement> getSVGImages()
Returns the list of image elements that have been referenced in the SVG output but not embedded. If the image files don't already exist, you can use this list as the basis for creating the image files.- Returns:
- The list of image elements.
- See Also:
SVGHints.KEY_IMAGE_HANDLING
-
getElementIDs
public java.util.Set<java.lang.String> getElementIDs()
Returns a new set containing the element IDs that have been used in output so far.- Returns:
- The element IDs.
- Since:
- 1.5
-
-