Package de.erichseifert.vectorgraphics2d
Class VectorGraphics2D
- java.lang.Object
-
- java.awt.Graphics
-
- java.awt.Graphics2D
-
- de.erichseifert.vectorgraphics2d.VectorGraphics2D
-
- All Implemented Interfaces:
java.lang.Cloneable
public class VectorGraphics2D extends java.awt.Graphics2D implements java.lang.Cloneable
Implementation of the Graphics2D interface to Java to generate a sequence of commands. An instance of
VectorGraphics2D
can be used to replace anyGraphics2D
object. It can be created with its standard constructor:Graphics2D g = new VectorGraphics2D();
-
-
Field Summary
Fields Modifier and Type Field Description private MutableCommandSequence
commands
private java.awt.GraphicsConfiguration
deviceConfig
Device configuration settings.private boolean
disposed
Flag that tells whether this graphics object has been disposed.private java.awt.font.FontRenderContext
fontRenderContext
Context settings used to render fonts.private GraphicsState
state
-
Constructor Summary
Constructors Constructor Description VectorGraphics2D()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addRenderingHints(java.util.Map<?,?> hints)
void
clearRect(int x, int y, int width, int height)
void
clip(java.awt.Shape s)
void
clipRect(int x, int y, int width, int height)
java.lang.Object
clone()
void
copyArea(int x, int y, int width, int height, int dx, int dy)
java.awt.Graphics
create()
void
dispose()
void
draw(java.awt.Shape s)
void
drawArc(int x, int y, int width, int height, int startAngle, int arcAngle)
void
drawGlyphVector(java.awt.font.GlyphVector g, float x, float y)
void
drawImage(java.awt.image.BufferedImage img, java.awt.image.BufferedImageOp op, int x, int 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)
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)
boolean
drawImage(java.awt.Image img, int x, int y, int width, int height, java.awt.Color bgcolor, java.awt.image.ImageObserver observer)
boolean
drawImage(java.awt.Image img, int x, int y, int width, int height, java.awt.image.ImageObserver observer)
boolean
drawImage(java.awt.Image img, int x, int y, java.awt.Color bgcolor, java.awt.image.ImageObserver observer)
boolean
drawImage(java.awt.Image img, int x, int y, java.awt.image.ImageObserver observer)
boolean
drawImage(java.awt.Image img, java.awt.geom.AffineTransform xform, java.awt.image.ImageObserver obs)
void
drawLine(int x1, int y1, int x2, int y2)
void
drawOval(int x, int y, int width, int height)
void
drawPolygon(int[] xPoints, int[] yPoints, int nPoints)
void
drawPolygon(java.awt.Polygon p)
void
drawPolyline(int[] xPoints, int[] yPoints, int nPoints)
void
drawRect(int x, int y, int width, int height)
void
drawRenderableImage(java.awt.image.renderable.RenderableImage img, java.awt.geom.AffineTransform xform)
void
drawRenderedImage(java.awt.image.RenderedImage img, java.awt.geom.AffineTransform xform)
void
drawRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight)
void
drawString(java.lang.String str, float x, float y)
void
drawString(java.lang.String str, int x, int y)
void
drawString(java.text.AttributedCharacterIterator iterator, float x, float y)
void
drawString(java.text.AttributedCharacterIterator iterator, int x, int y)
private void
emit(Command<?> command)
void
fill(java.awt.Shape s)
void
fillArc(int x, int y, int width, int height, int startAngle, int arcAngle)
void
fillOval(int x, int y, int width, int height)
void
fillPolygon(int[] xPoints, int[] yPoints, int nPoints)
void
fillPolygon(java.awt.Polygon p)
void
fillRect(int x, int y, int width, int height)
void
fillRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight)
java.awt.Color
getBackground()
java.awt.Shape
getClip()
java.awt.Rectangle
getClipBounds()
java.awt.Color
getColor()
CommandSequence
getCommands()
Returns aCommandSequence
representing all calls that were issued to thisVectorGraphics2D
object.java.awt.Composite
getComposite()
java.awt.GraphicsConfiguration
getDeviceConfiguration()
java.awt.Font
getFont()
java.awt.FontMetrics
getFontMetrics(java.awt.Font f)
java.awt.font.FontRenderContext
getFontRenderContext()
java.awt.Paint
getPaint()
java.lang.Object
getRenderingHint(java.awt.RenderingHints.Key hintKey)
java.awt.RenderingHints
getRenderingHints()
java.awt.Stroke
getStroke()
java.awt.geom.AffineTransform
getTransform()
private java.awt.image.BufferedImage
getTransformedImage(java.awt.Image image, java.awt.geom.AffineTransform xform)
Returns a transformed version of an image.java.awt.Color
getXORMode()
boolean
hit(java.awt.Rectangle rect, java.awt.Shape s, boolean onStroke)
private static java.awt.Shape
intersectShapes(java.awt.Shape s1, java.awt.Shape s2)
protected boolean
isDisposed()
void
rotate(double theta)
void
rotate(double theta, double x, double y)
void
scale(double sx, double sy)
void
setBackground(java.awt.Color color)
void
setClip(int x, int y, int width, int height)
void
setClip(java.awt.Shape clip)
void
setColor(java.awt.Color c)
void
setComposite(java.awt.Composite comp)
void
setFont(java.awt.Font font)
void
setPaint(java.awt.Paint paint)
void
setPaintMode()
void
setRenderingHint(java.awt.RenderingHints.Key hintKey, java.lang.Object hintValue)
void
setRenderingHints(java.util.Map<?,?> hints)
void
setStroke(java.awt.Stroke s)
void
setTransform(java.awt.geom.AffineTransform tx)
void
setXORMode(java.awt.Color c1)
void
shear(double shx, double shy)
void
transform(java.awt.geom.AffineTransform tx)
void
translate(double tx, double ty)
void
translate(int x, int y)
-
-
-
Field Detail
-
commands
private final MutableCommandSequence commands
-
deviceConfig
private final java.awt.GraphicsConfiguration deviceConfig
Device configuration settings.
-
fontRenderContext
private final java.awt.font.FontRenderContext fontRenderContext
Context settings used to render fonts.
-
disposed
private boolean disposed
Flag that tells whether this graphics object has been disposed.
-
state
private GraphicsState state
-
-
Method Detail
-
clone
public java.lang.Object clone() throws java.lang.CloneNotSupportedException
- Overrides:
clone
in classjava.lang.Object
- Throws:
java.lang.CloneNotSupportedException
-
addRenderingHints
public void addRenderingHints(java.util.Map<?,?> hints)
- Specified by:
addRenderingHints
in classjava.awt.Graphics2D
-
clip
public void clip(java.awt.Shape s)
- Specified by:
clip
in classjava.awt.Graphics2D
-
intersectShapes
private static java.awt.Shape intersectShapes(java.awt.Shape s1, java.awt.Shape s2)
-
draw
public void draw(java.awt.Shape s)
- Specified by:
draw
in classjava.awt.Graphics2D
-
drawGlyphVector
public void drawGlyphVector(java.awt.font.GlyphVector g, float x, float y)
- Specified by:
drawGlyphVector
in classjava.awt.Graphics2D
-
drawImage
public boolean drawImage(java.awt.Image img, java.awt.geom.AffineTransform xform, java.awt.image.ImageObserver obs)
- Specified by:
drawImage
in classjava.awt.Graphics2D
-
getTransformedImage
private java.awt.image.BufferedImage getTransformedImage(java.awt.Image image, java.awt.geom.AffineTransform xform)
Returns a transformed version of an image.- Parameters:
image
- Image to be transformedxform
- Affine transform to be applied- Returns:
- Image with transformed content
-
drawImage
public void drawImage(java.awt.image.BufferedImage img, java.awt.image.BufferedImageOp op, int x, int y)
- Specified by:
drawImage
in classjava.awt.Graphics2D
-
drawRenderableImage
public void drawRenderableImage(java.awt.image.renderable.RenderableImage img, java.awt.geom.AffineTransform xform)
- Specified by:
drawRenderableImage
in classjava.awt.Graphics2D
-
drawRenderedImage
public void drawRenderedImage(java.awt.image.RenderedImage img, java.awt.geom.AffineTransform xform)
- Specified by:
drawRenderedImage
in classjava.awt.Graphics2D
-
drawString
public void drawString(java.lang.String str, int x, int y)
- Specified by:
drawString
in classjava.awt.Graphics2D
-
drawString
public void drawString(java.lang.String str, float x, float y)
- Specified by:
drawString
in classjava.awt.Graphics2D
-
drawString
public void drawString(java.text.AttributedCharacterIterator iterator, int x, int y)
- Specified by:
drawString
in classjava.awt.Graphics2D
-
drawString
public void drawString(java.text.AttributedCharacterIterator iterator, float x, float y)
- Specified by:
drawString
in classjava.awt.Graphics2D
-
fill
public void fill(java.awt.Shape s)
- Specified by:
fill
in classjava.awt.Graphics2D
-
getBackground
public java.awt.Color getBackground()
- Specified by:
getBackground
in classjava.awt.Graphics2D
-
getComposite
public java.awt.Composite getComposite()
- Specified by:
getComposite
in classjava.awt.Graphics2D
-
getDeviceConfiguration
public java.awt.GraphicsConfiguration getDeviceConfiguration()
- Specified by:
getDeviceConfiguration
in classjava.awt.Graphics2D
-
getFontRenderContext
public java.awt.font.FontRenderContext getFontRenderContext()
- Specified by:
getFontRenderContext
in classjava.awt.Graphics2D
-
getPaint
public java.awt.Paint getPaint()
- Specified by:
getPaint
in classjava.awt.Graphics2D
-
getRenderingHint
public java.lang.Object getRenderingHint(java.awt.RenderingHints.Key hintKey)
- Specified by:
getRenderingHint
in classjava.awt.Graphics2D
-
getRenderingHints
public java.awt.RenderingHints getRenderingHints()
- Specified by:
getRenderingHints
in classjava.awt.Graphics2D
-
getStroke
public java.awt.Stroke getStroke()
- Specified by:
getStroke
in classjava.awt.Graphics2D
-
hit
public boolean hit(java.awt.Rectangle rect, java.awt.Shape s, boolean onStroke)
- Specified by:
hit
in classjava.awt.Graphics2D
-
setBackground
public void setBackground(java.awt.Color color)
- Specified by:
setBackground
in classjava.awt.Graphics2D
-
setComposite
public void setComposite(java.awt.Composite comp)
- Specified by:
setComposite
in classjava.awt.Graphics2D
-
setPaint
public void setPaint(java.awt.Paint paint)
- Specified by:
setPaint
in classjava.awt.Graphics2D
-
setRenderingHint
public void setRenderingHint(java.awt.RenderingHints.Key hintKey, java.lang.Object hintValue)
- Specified by:
setRenderingHint
in classjava.awt.Graphics2D
-
setRenderingHints
public void setRenderingHints(java.util.Map<?,?> hints)
- Specified by:
setRenderingHints
in classjava.awt.Graphics2D
-
setStroke
public void setStroke(java.awt.Stroke s)
- Specified by:
setStroke
in classjava.awt.Graphics2D
-
getTransform
public java.awt.geom.AffineTransform getTransform()
- Specified by:
getTransform
in classjava.awt.Graphics2D
-
setTransform
public void setTransform(java.awt.geom.AffineTransform tx)
- Specified by:
setTransform
in classjava.awt.Graphics2D
-
shear
public void shear(double shx, double shy)
- Specified by:
shear
in classjava.awt.Graphics2D
-
transform
public void transform(java.awt.geom.AffineTransform tx)
- Specified by:
transform
in classjava.awt.Graphics2D
-
translate
public void translate(int x, int y)
- Specified by:
translate
in classjava.awt.Graphics2D
-
translate
public void translate(double tx, double ty)
- Specified by:
translate
in classjava.awt.Graphics2D
-
rotate
public void rotate(double theta)
- Specified by:
rotate
in classjava.awt.Graphics2D
-
rotate
public void rotate(double theta, double x, double y)
- Specified by:
rotate
in classjava.awt.Graphics2D
-
scale
public void scale(double sx, double sy)
- Specified by:
scale
in classjava.awt.Graphics2D
-
clearRect
public void clearRect(int x, int y, int width, int height)
- Specified by:
clearRect
in classjava.awt.Graphics
-
clipRect
public void clipRect(int x, int y, int width, int height)
- Specified by:
clipRect
in classjava.awt.Graphics
-
copyArea
public void copyArea(int x, int y, int width, int height, int dx, int dy)
- Specified by:
copyArea
in classjava.awt.Graphics
-
create
public java.awt.Graphics create()
- Specified by:
create
in classjava.awt.Graphics
-
dispose
public void dispose()
- Specified by:
dispose
in classjava.awt.Graphics
-
drawArc
public void drawArc(int x, int y, int width, int height, int startAngle, int arcAngle)
- Specified by:
drawArc
in classjava.awt.Graphics
-
drawImage
public boolean drawImage(java.awt.Image img, int x, int y, java.awt.image.ImageObserver observer)
- Specified by:
drawImage
in classjava.awt.Graphics
-
drawImage
public boolean drawImage(java.awt.Image img, int x, int y, java.awt.Color bgcolor, java.awt.image.ImageObserver observer)
- Specified by:
drawImage
in classjava.awt.Graphics
-
drawImage
public boolean drawImage(java.awt.Image img, int x, int y, int width, int height, java.awt.image.ImageObserver observer)
- Specified by:
drawImage
in classjava.awt.Graphics
-
drawImage
public boolean drawImage(java.awt.Image img, int x, int y, int width, int height, java.awt.Color bgcolor, java.awt.image.ImageObserver observer)
- Specified by:
drawImage
in classjava.awt.Graphics
-
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)
- Specified by:
drawImage
in classjava.awt.Graphics
-
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)
- Specified by:
drawImage
in classjava.awt.Graphics
-
drawLine
public void drawLine(int x1, int y1, int x2, int y2)
- Specified by:
drawLine
in classjava.awt.Graphics
-
drawOval
public void drawOval(int x, int y, int width, int height)
- Specified by:
drawOval
in classjava.awt.Graphics
-
drawPolygon
public void drawPolygon(java.awt.Polygon p)
- Overrides:
drawPolygon
in classjava.awt.Graphics
-
drawPolygon
public void drawPolygon(int[] xPoints, int[] yPoints, int nPoints)
- Specified by:
drawPolygon
in classjava.awt.Graphics
-
drawPolyline
public void drawPolyline(int[] xPoints, int[] yPoints, int nPoints)
- Specified by:
drawPolyline
in classjava.awt.Graphics
-
drawRect
public void drawRect(int x, int y, int width, int height)
- Overrides:
drawRect
in classjava.awt.Graphics
-
drawRoundRect
public void drawRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight)
- Specified by:
drawRoundRect
in classjava.awt.Graphics
-
fillArc
public void fillArc(int x, int y, int width, int height, int startAngle, int arcAngle)
- Specified by:
fillArc
in classjava.awt.Graphics
-
fillOval
public void fillOval(int x, int y, int width, int height)
- Specified by:
fillOval
in classjava.awt.Graphics
-
fillPolygon
public void fillPolygon(java.awt.Polygon p)
- Overrides:
fillPolygon
in classjava.awt.Graphics
-
fillPolygon
public void fillPolygon(int[] xPoints, int[] yPoints, int nPoints)
- Specified by:
fillPolygon
in classjava.awt.Graphics
-
fillRect
public void fillRect(int x, int y, int width, int height)
- Specified by:
fillRect
in classjava.awt.Graphics
-
fillRoundRect
public void fillRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight)
- Specified by:
fillRoundRect
in classjava.awt.Graphics
-
getClip
public java.awt.Shape getClip()
- Specified by:
getClip
in classjava.awt.Graphics
-
getClipBounds
public java.awt.Rectangle getClipBounds()
- Specified by:
getClipBounds
in classjava.awt.Graphics
-
getColor
public java.awt.Color getColor()
- Specified by:
getColor
in classjava.awt.Graphics
-
getFont
public java.awt.Font getFont()
- Specified by:
getFont
in classjava.awt.Graphics
-
getFontMetrics
public java.awt.FontMetrics getFontMetrics(java.awt.Font f)
- Specified by:
getFontMetrics
in classjava.awt.Graphics
-
setClip
public void setClip(java.awt.Shape clip)
- Specified by:
setClip
in classjava.awt.Graphics
-
setClip
public void setClip(int x, int y, int width, int height)
- Specified by:
setClip
in classjava.awt.Graphics
-
setColor
public void setColor(java.awt.Color c)
- Specified by:
setColor
in classjava.awt.Graphics
-
setFont
public void setFont(java.awt.Font font)
- Specified by:
setFont
in classjava.awt.Graphics
-
setPaintMode
public void setPaintMode()
- Specified by:
setPaintMode
in classjava.awt.Graphics
-
getXORMode
public java.awt.Color getXORMode()
-
setXORMode
public void setXORMode(java.awt.Color c1)
- Specified by:
setXORMode
in classjava.awt.Graphics
-
emit
private void emit(Command<?> command)
-
isDisposed
protected boolean isDisposed()
-
getCommands
public CommandSequence getCommands()
Returns aCommandSequence
representing all calls that were issued to thisVectorGraphics2D
object.- Returns:
- Sequence of commands since.
-
-