Graph_IO
Class EpsGraphics2D

java.lang.Object
  extended by java.awt.Graphics
      extended by java.awt.Graphics2D
          extended by Graph_IO.EpsGraphics2D

public class EpsGraphics2D
extends java.awt.Graphics2D

EpsGraphics2D is suitable for creating high quality EPS graphics for use in documents and papers, and can be used just like a standard Graphics2D object.

Many Java programs use Graphics2D to draw stuff on the screen, and while it is easy to save the output as a png or jpeg file, it is a little harder to export it as an EPS for including in a document or paper.

This class makes the whole process extremely easy, because you can use it as if it's a Graphics2D object. The only difference is that all of the implemented methods create EPS output, which means the diagrams you draw can be resized without leading to any of the jagged edges you may see when resizing pixel-based images, such as jpeg and png files.

Example usage:

 Graphics2D g = new EpsGraphics2D();
 g.setColor(Color.black);

 // Line thickness 2.
 g.setStroke(new BasicStroke(2.0f));

 // Draw a line.
 g.drawLine(10, 10, 50, 10);

 // Fill a rectangle in blue
 g.setColor(Color.blue);
 g.fillRect(10, 0, 20, 20);

 // Get the EPS output.
 String output = g.toString();
 

You do not need to worry about the size of the canvas when drawing on a EpsGraphics2D object. The bounding box of the EPS document will automatically resize to accommodate new items that you draw.

Not all methods are implemented yet. Those that are not are clearly labelled.

Copyright 2001-2006 Paul James Mutton, http://www.jibble.org/
Copyright 2007 Arnaud Blouin
08/09/07


Field Summary
private  boolean _accurateTextMode
           
private  java.awt.Color _backgroundColor
           
private  java.awt.Shape _clip
           
private  java.awt.geom.AffineTransform _clipTransform
           
private  java.awt.Color _color
           
private  int _colorDepth
           
private  java.awt.Composite _composite
           
private  EpsDocument _document
           
private  java.awt.Font _font
           
private static java.awt.font.FontRenderContext _fontRenderContext
           
private  java.awt.Paint _paint
           
private  java.awt.BasicStroke _stroke
           
private  java.awt.geom.AffineTransform _transform
           
static int BLACK_AND_WHITE
           
static int GRAYSCALE
           
static int RGB
           
static java.lang.String VERSION
           
 
Constructor Summary
  EpsGraphics2D()
          Constructs a new EPS document that is initially empty and can be drawn on like a Graphics2D object.
protected EpsGraphics2D(EpsGraphics2D g)
          Constructs a new EpsGraphics2D instance that is a copy of the supplied argument and points at the same EpsDocument.
  EpsGraphics2D(java.lang.String title)
          Constructs a new EPS document that is initially empty and can be drawn on like a Graphics2D object.
  EpsGraphics2D(java.lang.String title, java.io.File file, int minX, int minY, int maxX, int maxY)
          Constructs a new EPS document that is initially empty and can be drawn on like a Graphics2D object.
  EpsGraphics2D(java.lang.String title, java.io.OutputStream outputStream, int minX, int minY, int maxX, int maxY)
          Constructs a new EPS document that is initially empty and can be drawn on like a Graphics2D object.
 
Method Summary
 void addRenderingHints(java.util.Map hints)
          Adds rendering hints.
private  void append(java.lang.String line)
          Appends a line to the EpsDocument.
 void clearRect(int x, int y, int width, int height)
          Clears a rectangle with top-left corner placed at (x,y) using the current background color.
 void clip(java.awt.Shape s)
          Intersects the current clip with the interior of the specified Shape and sets the clip to the resulting intersection.
 void clipRect(int x, int y, int width, int height)
          Intersects the current clip with the specified rectangle.
 void close()
          Closes the EPS file being output to the underlying OutputStream.
 void copyArea(int x, int y, int width, int height, int dx, int dy)
          Not implemented - performs no action.
 java.awt.Graphics create()
          Returns a new Graphics object that is identical to this EpsGraphics2D.
 java.awt.Graphics create(int x, int y, int width, int height)
          Returns an EpsGraphics2D object based on this Graphics object, but with a new translation and clip area.
 void dispose()
          Disposes of all resources used by this EpsGraphics2D object.
 void draw(java.awt.Shape s)
          Draws a Shape on the EPS document.
private  void draw(java.awt.Shape s, java.lang.String action)
          Appends the commands required to draw a shape on the EPS document.
 void draw3DRect(int x, int y, int width, int height, boolean raised)
          Draws a 3D rectangle outline.
 void drawArc(int x, int y, int width, int height, int startAngle, int arcAngle)
          Draws an arc.
 void drawBytes(byte[] data, int offset, int length, int x, int y)
          Draws the specified bytes, starting from (x,y).
 void drawChars(char[] data, int offset, int length, int x, int y)
          Draws the specified characters, starting from (x,y).
 void drawGlyphVector(java.awt.font.GlyphVector g, float x, float y)
          Draws a GlyphVector at (x,y).
 void drawImage(java.awt.image.BufferedImage img, java.awt.image.BufferedImageOp op, int x, int y)
          Draws a BufferedImage on the EPS document.
 boolean drawImage(java.awt.Image img, java.awt.geom.AffineTransform xform, java.awt.image.ImageObserver obs)
          Draws an Image on the EPS document.
 boolean drawImage(java.awt.Image img, int x, int y, java.awt.Color bgcolor, java.awt.image.ImageObserver observer)
          Draws an image.
 boolean drawImage(java.awt.Image img, int x, int y, java.awt.image.ImageObserver observer)
          Draws an image.
 boolean drawImage(java.awt.Image img, int x, int y, int width, int height, java.awt.Color bgcolor, java.awt.image.ImageObserver observer)
          Draws an image.
 boolean drawImage(java.awt.Image img, int x, int y, int width, int height, java.awt.image.ImageObserver observer)
          Draws an image.
 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 an image.
 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 an image.
 void drawLine(int x1, int y1, int x2, int y2)
          Draws a straight line from (x1,y1) to (x2,y2).
 void drawOval(int x, int y, int width, int height)
          Draws an oval.
 void drawPolygon(int[] xPoints, int[] yPoints, int nPoints)
          Draws a polygon made with the specified points.
 void drawPolygon(java.awt.Polygon p)
          Draws a polygon.
 void drawPolyline(int[] xPoints, int[] yPoints, int nPoints)
          Draws a polyline.
 void drawRect(int x, int y, int width, int height)
          Draws a rectangle with top-left corner placed at (x,y).
 void drawRenderableImage(java.awt.image.renderable.RenderableImage img, java.awt.geom.AffineTransform xform)
          Draws a RenderableImage by invoking its createDefaultRendering method.
 void drawRenderedImage(java.awt.image.RenderedImage img, java.awt.geom.AffineTransform xform)
          Draws a RenderedImage on the EPS document.
 void drawRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight)
          Draws a rounded rectangle.
 void drawString(java.text.AttributedCharacterIterator iterator, float x, float y)
          Draws the characters of an AttributedCharacterIterator, starting from (x,y).
 void drawString(java.text.AttributedCharacterIterator iterator, int x, int y)
          Draws the characters of an AttributedCharacterIterator, starting from (x,y).
 void drawString(java.lang.String s, 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 fill(java.awt.Shape s)
          Fills a Shape on the EPS document.
 void fill3DRect(int x, int y, int width, int height, boolean raised)
          Fills a 3D rectangle.
 void fillArc(int x, int y, int width, int height, int startAngle, int arcAngle)
          Fills an arc.
 void fillOval(int x, int y, int width, int height)
          Fills an oval.
 void fillPolygon(int[] xPoints, int[] yPoints, int nPoints)
          Fills a polygon made with the specified points.
 void fillPolygon(java.awt.Polygon p)
          Fills a polygon.
 void fillRect(int x, int y, int width, int height)
          Fills a rectangle with top-left corner placed at (x,y).
 void fillRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight)
          Fills a rounded rectangle.
 void finalize()
          Finalises the object.
 void flush()
          Flushes the buffered contents of this EPS document to the underlying OutputStream it is being written to.
 boolean getAccurateTextMode()
          Returns whether accurate text mode is being used.
 java.awt.Color getBackground()
          Gets the background colour that is used by the clearRect method.
 java.awt.Shape getClip()
          Gets the current clipping area.
 java.awt.Rectangle getClipBounds()
          Returns the bounding rectangle of the current clipping area.
 java.awt.Rectangle getClipBounds(java.awt.Rectangle r)
          Returns the bounding rectangle of the current clipping area.
 java.awt.Color getColor()
          Returns the current Color.
 int getColorDepth()
          Returns the colour depth used for all drawing operations.
 java.awt.Composite getComposite()
          returns the current Composite of the EpsGraphics2D object.
 java.awt.GraphicsConfiguration getDeviceConfiguration()
          Returns the device configuration associated with this EpsGraphics2D object.
 java.awt.Font getFont()
          Returns the Font currently being used.
 java.awt.FontMetrics getFontMetrics()
          Gets the font metrics of the current font.
 java.awt.FontMetrics getFontMetrics(java.awt.Font f)
          Gets the font metrics for the specified font.
 java.awt.font.FontRenderContext getFontRenderContext()
          Returns the FontRenderContext.
 java.awt.Paint getPaint()
          Returns the current Paint of the EpsGraphics2D object.
 java.lang.Object getRenderingHint(java.awt.RenderingHints.Key hintKey)
          Returns the value of a single preference for the rendering algorithms.
 java.awt.RenderingHints getRenderingHints()
          Returns the preferences for the rendering algorithms.
 java.awt.Stroke getStroke()
          Returns the Stroke currently used.
 java.awt.geom.AffineTransform getTransform()
          Gets the AffineTransform used by this EpsGraphics2D.
 boolean hit(java.awt.Rectangle rect, java.awt.Shape s, boolean onStroke)
          Checks whether or not the specified Shape intersects the specified Rectangle, which is in device space.
 boolean hitClip(int x, int y, int width, int height)
          Returns true if the specified rectangular area might intersect the current clipping area.
private  void methodNotSupported()
          This method is called to indicate that a particular method is not supported yet.
 void rotate(double theta)
          Concatenates the current EpsGraphics2D Transform with a rotation transform.
 void rotate(double theta, double x, double y)
          Concatenates the current EpsGraphics2D Transform with a translated rotation transform.
 void scale(double sx, double sy)
          Concatenates the current EpsGraphics2D Transform with a scaling transformation.
 void setAccurateTextMode(boolean b)
          Sets whether to use accurate text mode when rendering text in EPS.
 void setBackground(java.awt.Color color)
          Sets the background colour to be used by the clearRect method.
 void setClip(int x, int y, int width, int height)
          Sets the current clip to the rectangle specified by the given coordinates.
 void setClip(java.awt.Shape clip)
          Sets the current clipping area to an arbitrary clip shape.
 void setColor(java.awt.Color c)
          Sets the Color to be used when drawing all future shapes, text, etc.
 void setColorDepth(int c)
          Sets the number of colours to use when drawing on the document.
 void setComposite(java.awt.Composite comp)
          Sets the Composite to be used by this EpsGraphics2D.
 void setFont(java.awt.Font font)
          Sets the Font to be used in future text.
 void setPaint(java.awt.Paint paint)
          Sets the Paint attribute for the EpsGraphics2D object.
 void setPaintMode()
          Sets the paint mode of this EpsGraphics2D object to overwrite the destination EpsDocument with the current colour.
 void setRenderingHint(java.awt.RenderingHints.Key hintKey, java.lang.Object hintValue)
          Sets a rendering hint.
 void setRenderingHints(java.util.Map hints)
          Sets the rendering hints.
 void setStroke(java.awt.Stroke s)
          Sets the stroke.
 void setTransform(java.awt.geom.AffineTransform Tx)
          Sets the AffineTransform to be used by this EpsGraphics2D.
 void setXORMode(java.awt.Color c1)
          Not implemented - performs no action.
 void shear(double shx, double shy)
          Concatenates the current EpsGraphics2D Transform with a shearing transform.
private  java.lang.String toHexString(int n)
          Returns a hex string that always contains two characters.
 java.lang.String toString()
          Returns the entire contents of the EPS document, complete with headers and bounding box.
 void transform(java.awt.geom.AffineTransform Tx)
          Composes an AffineTransform object with the Transform in this EpsGraphics2D according to the rule last-specified-first-applied.
private  java.awt.geom.Point2D transform(float x, float y)
          Returns the point after it has been transformed by the transformation.
 void translate(double tx, double ty)
          Concatenates the current EpsGraphics2D Transformation with a translation transform.
 void translate(int x, int y)
          Translates the origin of the EpsGraphics2D context to the point (x,y) in the current coordinate system.
 
Methods inherited from class java.awt.Graphics
getClipRect
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

VERSION

public static final java.lang.String VERSION
See Also:
Constant Field Values

BLACK_AND_WHITE

public static final int BLACK_AND_WHITE
See Also:
Constant Field Values

GRAYSCALE

public static final int GRAYSCALE
See Also:
Constant Field Values

RGB

public static final int RGB
See Also:
Constant Field Values

_color

private java.awt.Color _color

_backgroundColor

private java.awt.Color _backgroundColor

_paint

private java.awt.Paint _paint

_composite

private java.awt.Composite _composite

_stroke

private java.awt.BasicStroke _stroke

_font

private java.awt.Font _font

_clip

private java.awt.Shape _clip

_clipTransform

private java.awt.geom.AffineTransform _clipTransform

_transform

private java.awt.geom.AffineTransform _transform

_accurateTextMode

private boolean _accurateTextMode

_colorDepth

private int _colorDepth

_document

private EpsDocument _document

_fontRenderContext

private static java.awt.font.FontRenderContext _fontRenderContext
Constructor Detail

EpsGraphics2D

public EpsGraphics2D()
Constructs a new EPS document that is initially empty and can be drawn on like a Graphics2D object. The EPS document is stored in memory.

Since:
0.1

EpsGraphics2D

public EpsGraphics2D(java.lang.String title)
Constructs a new EPS document that is initially empty and can be drawn on like a Graphics2D object. The EPS document is stored in memory.

Since:
0.1

EpsGraphics2D

public EpsGraphics2D(java.lang.String title,
                     java.io.File file,
                     int minX,
                     int minY,
                     int maxX,
                     int maxY)
              throws java.io.IOException
Constructs a new EPS document that is initially empty and can be drawn on like a Graphics2D object. The EPS document is written to the file as it goes, which reduces memory usage. The bounding box of the document is fixed and specified at construction time by minX,minY,maxX,maxY. The file is flushed and closed when the close() method is called.

Throws:
java.io.IOException
Since:
0.1

EpsGraphics2D

public EpsGraphics2D(java.lang.String title,
                     java.io.OutputStream outputStream,
                     int minX,
                     int minY,
                     int maxX,
                     int maxY)
              throws java.io.IOException
Constructs a new EPS document that is initially empty and can be drawn on like a Graphics2D object. The EPS document is written to the output stream as it goes, which reduces memory usage. The bounding box of the document is fixed and specified at construction time by minX,minY,maxX,maxY. The output stream is flushed and closed when the close() method is called.

Throws:
java.io.IOException
Since:
0.1

EpsGraphics2D

protected EpsGraphics2D(EpsGraphics2D g)
Constructs a new EpsGraphics2D instance that is a copy of the supplied argument and points at the same EpsDocument.

Since:
0.1
Method Detail

methodNotSupported

private void methodNotSupported()
This method is called to indicate that a particular method is not supported yet. The stack trace is printed to the standard output.

Since:
0.1

setAccurateTextMode

public void setAccurateTextMode(boolean b)
Sets whether to use accurate text mode when rendering text in EPS. This is enabled (true) by default. When accurate text mode is used, all text will be rendered in EPS to appear exactly the same as it would do when drawn with a Graphics2D context. With accurate text mode enabled, it is not necessary for the EPS viewer to have the required font installed.

Turning off accurate text mode will require the EPS viewer to have the necessary fonts installed. If you are using a lot of text, you will find that this significantly reduces the file size of your EPS documents. AffineTransforms can only affect the starting point of text using this simpler text mode - all text will be horizontal.

Since:
0.1

getAccurateTextMode

public boolean getAccurateTextMode()
Returns whether accurate text mode is being used.

Since:
0.1

setColorDepth

public void setColorDepth(int c)
Sets the number of colours to use when drawing on the document. Can be either EpsGraphics2D.RGB (default) or EpsGraphics2D.GREYSCALE.

Since:
0.1

getColorDepth

public int getColorDepth()
Returns the colour depth used for all drawing operations. This can be either EpsGraphics2D.RGB (default) or EpsGraphics2D.GREYSCALE.

Since:
0.1

flush

public void flush()
           throws java.io.IOException
Flushes the buffered contents of this EPS document to the underlying OutputStream it is being written to.

Throws:
java.io.IOException
Since:
0.1

close

public void close()
           throws java.io.IOException
Closes the EPS file being output to the underlying OutputStream. The OutputStream is automatically flushed before being closed. If you forget to do this, the file may be incomplete.

Throws:
java.io.IOException
Since:
0.1

append

private void append(java.lang.String line)
Appends a line to the EpsDocument.

Since:
0.1

transform

private java.awt.geom.Point2D transform(float x,
                                        float y)
Returns the point after it has been transformed by the transformation.

Since:
0.1

draw

private void draw(java.awt.Shape s,
                  java.lang.String action)
Appends the commands required to draw a shape on the EPS document.

Since:
0.1

toHexString

private java.lang.String toHexString(int n)
Returns a hex string that always contains two characters.

Since:
0.1

draw3DRect

public void draw3DRect(int x,
                       int y,
                       int width,
                       int height,
                       boolean raised)
Draws a 3D rectangle outline. If it is raised, light appears to come from the top left.

Overrides:
draw3DRect in class java.awt.Graphics2D
Since:
0.1

fill3DRect

public void fill3DRect(int x,
                       int y,
                       int width,
                       int height,
                       boolean raised)
Fills a 3D rectangle. If raised, it has bright fill and light appears to come from the top left.

Overrides:
fill3DRect in class java.awt.Graphics2D
Since:
0.1

draw

public void draw(java.awt.Shape s)
Draws a Shape on the EPS document.

Specified by:
draw in class java.awt.Graphics2D
Since:
0.1

drawImage

public boolean drawImage(java.awt.Image img,
                         java.awt.geom.AffineTransform xform,
                         java.awt.image.ImageObserver obs)
Draws an Image on the EPS document.

Specified by:
drawImage in class java.awt.Graphics2D
Since:
0.1

drawImage

public void drawImage(java.awt.image.BufferedImage img,
                      java.awt.image.BufferedImageOp op,
                      int x,
                      int y)
Draws a BufferedImage on the EPS document.

Specified by:
drawImage in class java.awt.Graphics2D
Since:
0.1

drawRenderedImage

public void drawRenderedImage(java.awt.image.RenderedImage img,
                              java.awt.geom.AffineTransform xform)
Draws a RenderedImage on the EPS document.

Specified by:
drawRenderedImage in class java.awt.Graphics2D
Since:
0.1

drawRenderableImage

public void drawRenderableImage(java.awt.image.renderable.RenderableImage img,
                                java.awt.geom.AffineTransform xform)
Draws a RenderableImage by invoking its createDefaultRendering method.

Specified by:
drawRenderableImage in class java.awt.Graphics2D
Since:
0.1

drawString

public void drawString(java.lang.String str,
                       int x,
                       int y)
Draws a string at (x,y).

Specified by:
drawString in class java.awt.Graphics2D
Since:
0.1

drawString

public void drawString(java.lang.String s,
                       float x,
                       float y)
Draws a string at (x,y).

Specified by:
drawString in class java.awt.Graphics2D
Since:
0.1

drawString

public void drawString(java.text.AttributedCharacterIterator iterator,
                       int x,
                       int y)
Draws the characters of an AttributedCharacterIterator, starting from (x,y).

Specified by:
drawString in class java.awt.Graphics2D
Since:
0.1

drawString

public void drawString(java.text.AttributedCharacterIterator iterator,
                       float x,
                       float y)
Draws the characters of an AttributedCharacterIterator, starting from (x,y).

Specified by:
drawString in class java.awt.Graphics2D
Since:
0.1

drawGlyphVector

public void drawGlyphVector(java.awt.font.GlyphVector g,
                            float x,
                            float y)
Draws a GlyphVector at (x,y).

Specified by:
drawGlyphVector in class java.awt.Graphics2D
Since:
0.1

fill

public void fill(java.awt.Shape s)
Fills a Shape on the EPS document.

Specified by:
fill in class java.awt.Graphics2D
Since:
0.1

hit

public boolean hit(java.awt.Rectangle rect,
                   java.awt.Shape s,
                   boolean onStroke)
Checks whether or not the specified Shape intersects the specified Rectangle, which is in device space.

Specified by:
hit in class java.awt.Graphics2D
Since:
0.1

getDeviceConfiguration

public java.awt.GraphicsConfiguration getDeviceConfiguration()
Returns the device configuration associated with this EpsGraphics2D object.

Specified by:
getDeviceConfiguration in class java.awt.Graphics2D
Since:
0.1

setComposite

public void setComposite(java.awt.Composite comp)
Sets the Composite to be used by this EpsGraphics2D. EpsGraphics2D does not make use of these.

Specified by:
setComposite in class java.awt.Graphics2D
Since:
0.1

setPaint

public void setPaint(java.awt.Paint paint)
Sets the Paint attribute for the EpsGraphics2D object. Only Paint objects of type Color are respected by EpsGraphics2D.

Specified by:
setPaint in class java.awt.Graphics2D
Since:
0.1

setStroke

public void setStroke(java.awt.Stroke s)
Sets the stroke. Only accepts BasicStroke objects (or subclasses of BasicStroke).

Specified by:
setStroke in class java.awt.Graphics2D
Since:
0.1

setRenderingHint

public void setRenderingHint(java.awt.RenderingHints.Key hintKey,
                             java.lang.Object hintValue)
Sets a rendering hint. These are not used by EpsGraphics2D.

Specified by:
setRenderingHint in class java.awt.Graphics2D
Since:
0.1

getRenderingHint

public java.lang.Object getRenderingHint(java.awt.RenderingHints.Key hintKey)
Returns the value of a single preference for the rendering algorithms. Rendering hints are not used by EpsGraphics2D.

Specified by:
getRenderingHint in class java.awt.Graphics2D
Since:
0.1

setRenderingHints

public void setRenderingHints(java.util.Map hints)
Sets the rendering hints. These are ignored by EpsGraphics2D.

Specified by:
setRenderingHints in class java.awt.Graphics2D
Since:
0.1

addRenderingHints

public void addRenderingHints(java.util.Map hints)
Adds rendering hints. These are ignored by EpsGraphics2D.

Specified by:
addRenderingHints in class java.awt.Graphics2D
Since:
0.1

getRenderingHints

public java.awt.RenderingHints getRenderingHints()
Returns the preferences for the rendering algorithms.

Specified by:
getRenderingHints in class java.awt.Graphics2D
Since:
0.1

translate

public void translate(int x,
                      int y)
Translates the origin of the EpsGraphics2D context to the point (x,y) in the current coordinate system.

Specified by:
translate in class java.awt.Graphics2D
Since:
0.1

translate

public void translate(double tx,
                      double ty)
Concatenates the current EpsGraphics2D Transformation with a translation transform.

Specified by:
translate in class java.awt.Graphics2D
Since:
0.1

rotate

public void rotate(double theta)
Concatenates the current EpsGraphics2D Transform with a rotation transform.

Specified by:
rotate in class java.awt.Graphics2D

rotate

public void rotate(double theta,
                   double x,
                   double y)
Concatenates the current EpsGraphics2D Transform with a translated rotation transform.

Specified by:
rotate in class java.awt.Graphics2D
Since:
0.1

scale

public void scale(double sx,
                  double sy)
Concatenates the current EpsGraphics2D Transform with a scaling transformation.

Specified by:
scale in class java.awt.Graphics2D
Since:
0.1

shear

public void shear(double shx,
                  double shy)
Concatenates the current EpsGraphics2D Transform with a shearing transform.

Specified by:
shear in class java.awt.Graphics2D
Since:
0.1

transform

public void transform(java.awt.geom.AffineTransform Tx)
Composes an AffineTransform object with the Transform in this EpsGraphics2D according to the rule last-specified-first-applied.

Specified by:
transform in class java.awt.Graphics2D
Since:
0.1

setTransform

public void setTransform(java.awt.geom.AffineTransform Tx)
Sets the AffineTransform to be used by this EpsGraphics2D.

Specified by:
setTransform in class java.awt.Graphics2D
Since:
0.1

getTransform

public java.awt.geom.AffineTransform getTransform()
Gets the AffineTransform used by this EpsGraphics2D.

Specified by:
getTransform in class java.awt.Graphics2D
Since:
0.1

getPaint

public java.awt.Paint getPaint()
Returns the current Paint of the EpsGraphics2D object.

Specified by:
getPaint in class java.awt.Graphics2D
Since:
0.1

getComposite

public java.awt.Composite getComposite()
returns the current Composite of the EpsGraphics2D object.

Specified by:
getComposite in class java.awt.Graphics2D
Since:
0.1

setBackground

public void setBackground(java.awt.Color color)
Sets the background colour to be used by the clearRect method.

Specified by:
setBackground in class java.awt.Graphics2D
Since:
0.1

getBackground

public java.awt.Color getBackground()
Gets the background colour that is used by the clearRect method.

Specified by:
getBackground in class java.awt.Graphics2D
Since:
0.1

getStroke

public java.awt.Stroke getStroke()
Returns the Stroke currently used. Guaranteed to be an instance of BasicStroke.

Specified by:
getStroke in class java.awt.Graphics2D
Since:
0.1

clip

public void clip(java.awt.Shape s)
Intersects the current clip with the interior of the specified Shape and sets the clip to the resulting intersection.

Specified by:
clip in class java.awt.Graphics2D
Since:
0.1

getFontRenderContext

public java.awt.font.FontRenderContext getFontRenderContext()
Returns the FontRenderContext.

Specified by:
getFontRenderContext in class java.awt.Graphics2D
Since:
0.1

create

public java.awt.Graphics create()
Returns a new Graphics object that is identical to this EpsGraphics2D.

Specified by:
create in class java.awt.Graphics
Since:
0.1

create

public java.awt.Graphics create(int x,
                                int y,
                                int width,
                                int height)
Returns an EpsGraphics2D object based on this Graphics object, but with a new translation and clip area.

Overrides:
create in class java.awt.Graphics
Since:
0.1

getColor

public java.awt.Color getColor()
Returns the current Color. This will be a default value (black) until it is changed using the setColor method.

Specified by:
getColor in class java.awt.Graphics
Since:
0.1

setColor

public void setColor(java.awt.Color c)
Sets the Color to be used when drawing all future shapes, text, etc.

Specified by:
setColor in class java.awt.Graphics
Since:
0.1

setPaintMode

public void setPaintMode()
Sets the paint mode of this EpsGraphics2D object to overwrite the destination EpsDocument with the current colour.

Specified by:
setPaintMode in class java.awt.Graphics
Since:
0.1

setXORMode

public void setXORMode(java.awt.Color c1)
Not implemented - performs no action.

Specified by:
setXORMode in class java.awt.Graphics
Since:
0.1

getFont

public java.awt.Font getFont()
Returns the Font currently being used.

Specified by:
getFont in class java.awt.Graphics
Since:
0.1

setFont

public void setFont(java.awt.Font font)
Sets the Font to be used in future text.

Specified by:
setFont in class java.awt.Graphics
Since:
0.1

getFontMetrics

public java.awt.FontMetrics getFontMetrics()
Gets the font metrics of the current font.

Overrides:
getFontMetrics in class java.awt.Graphics
Since:
0.1

getFontMetrics

public java.awt.FontMetrics getFontMetrics(java.awt.Font f)
Gets the font metrics for the specified font.

Specified by:
getFontMetrics in class java.awt.Graphics
Since:
0.1

getClipBounds

public java.awt.Rectangle getClipBounds()
Returns the bounding rectangle of the current clipping area.

Specified by:
getClipBounds in class java.awt.Graphics
Since:
0.1

clipRect

public void clipRect(int x,
                     int y,
                     int width,
                     int height)
Intersects the current clip with the specified rectangle.

Specified by:
clipRect in class java.awt.Graphics
Since:
0.1

setClip

public void setClip(int x,
                    int y,
                    int width,
                    int height)
Sets the current clip to the rectangle specified by the given coordinates.

Specified by:
setClip in class java.awt.Graphics
Since:
0.1

getClip

public java.awt.Shape getClip()
Gets the current clipping area.

Specified by:
getClip in class java.awt.Graphics
Since:
0.1

setClip

public void setClip(java.awt.Shape clip)
Sets the current clipping area to an arbitrary clip shape.

Specified by:
setClip in class java.awt.Graphics
Since:
0.1

copyArea

public void copyArea(int x,
                     int y,
                     int width,
                     int height,
                     int dx,
                     int dy)
Not implemented - performs no action.

Specified by:
copyArea in class java.awt.Graphics
Since:
0.1

drawLine

public void drawLine(int x1,
                     int y1,
                     int x2,
                     int y2)
Draws a straight line from (x1,y1) to (x2,y2).

Specified by:
drawLine in class java.awt.Graphics
Since:
0.1

fillRect

public void fillRect(int x,
                     int y,
                     int width,
                     int height)
Fills a rectangle with top-left corner placed at (x,y).

Specified by:
fillRect in class java.awt.Graphics
Since:
0.1

drawRect

public void drawRect(int x,
                     int y,
                     int width,
                     int height)
Draws a rectangle with top-left corner placed at (x,y).

Overrides:
drawRect in class java.awt.Graphics
Since:
0.1

clearRect

public void clearRect(int x,
                      int y,
                      int width,
                      int height)
Clears a rectangle with top-left corner placed at (x,y) using the current background color.

Specified by:
clearRect in class java.awt.Graphics
Since:
0.1

drawRoundRect

public void drawRoundRect(int x,
                          int y,
                          int width,
                          int height,
                          int arcWidth,
                          int arcHeight)
Draws a rounded rectangle.

Specified by:
drawRoundRect in class java.awt.Graphics
Since:
0.1

fillRoundRect

public void fillRoundRect(int x,
                          int y,
                          int width,
                          int height,
                          int arcWidth,
                          int arcHeight)
Fills a rounded rectangle.

Specified by:
fillRoundRect in class java.awt.Graphics
Since:
0.1

drawOval

public void drawOval(int x,
                     int y,
                     int width,
                     int height)
Draws an oval.

Specified by:
drawOval in class java.awt.Graphics
Since:
0.1

fillOval

public void fillOval(int x,
                     int y,
                     int width,
                     int height)
Fills an oval.

Specified by:
fillOval in class java.awt.Graphics
Since:
0.1

drawArc

public void drawArc(int x,
                    int y,
                    int width,
                    int height,
                    int startAngle,
                    int arcAngle)
Draws an arc.

Specified by:
drawArc in class java.awt.Graphics
Since:
0.1

fillArc

public void fillArc(int x,
                    int y,
                    int width,
                    int height,
                    int startAngle,
                    int arcAngle)
Fills an arc.

Specified by:
fillArc in class java.awt.Graphics
Since:
0.1

drawPolyline

public void drawPolyline(int[] xPoints,
                         int[] yPoints,
                         int nPoints)
Draws a polyline.

Specified by:
drawPolyline in class java.awt.Graphics
Since:
0.1

drawPolygon

public void drawPolygon(int[] xPoints,
                        int[] yPoints,
                        int nPoints)
Draws a polygon made with the specified points.

Specified by:
drawPolygon in class java.awt.Graphics
Since:
0.1

drawPolygon

public void drawPolygon(java.awt.Polygon p)
Draws a polygon.

Overrides:
drawPolygon in class java.awt.Graphics
Since:
0.1

fillPolygon

public void fillPolygon(int[] xPoints,
                        int[] yPoints,
                        int nPoints)
Fills a polygon made with the specified points.

Specified by:
fillPolygon in class java.awt.Graphics
Since:
0.1

fillPolygon

public void fillPolygon(java.awt.Polygon p)
Fills a polygon.

Overrides:
fillPolygon in class java.awt.Graphics
Since:
0.1

drawChars

public void drawChars(char[] data,
                      int offset,
                      int length,
                      int x,
                      int y)
Draws the specified characters, starting from (x,y).

Overrides:
drawChars in class java.awt.Graphics
Since:
0.1

drawBytes

public void drawBytes(byte[] data,
                      int offset,
                      int length,
                      int x,
                      int y)
Draws the specified bytes, starting from (x,y).

Overrides:
drawBytes in class java.awt.Graphics
Since:
0.1

drawImage

public boolean drawImage(java.awt.Image img,
                         int x,
                         int y,
                         java.awt.image.ImageObserver observer)
Draws an image.

Specified by:
drawImage in class java.awt.Graphics
Since:
0.1

drawImage

public boolean drawImage(java.awt.Image img,
                         int x,
                         int y,
                         int width,
                         int height,
                         java.awt.image.ImageObserver observer)
Draws an image.

Specified by:
drawImage in class java.awt.Graphics
Since:
0.1

drawImage

public boolean drawImage(java.awt.Image img,
                         int x,
                         int y,
                         java.awt.Color bgcolor,
                         java.awt.image.ImageObserver observer)
Draws an image.

Specified by:
drawImage in class java.awt.Graphics
Since:
0.1

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)
Draws an image.

Specified by:
drawImage in class java.awt.Graphics
Since:
0.1

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 an image.

Specified by:
drawImage in class java.awt.Graphics
Since:
0.1

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 an image.

Specified by:
drawImage in class java.awt.Graphics
Since:
0.1

dispose

public void dispose()
Disposes of all resources used by this EpsGraphics2D object. If this is the only remaining EpsGraphics2D instance pointing at a EpsDocument object, then the EpsDocument object shall become eligible for garbage collection.

Specified by:
dispose in class java.awt.Graphics
Since:
0.1

finalize

public void finalize()
Finalises the object.

Overrides:
finalize in class java.awt.Graphics
Since:
0.1

toString

public java.lang.String toString()
Returns the entire contents of the EPS document, complete with headers and bounding box. The returned String is suitable for being written directly to disk as an EPS file.

Overrides:
toString in class java.awt.Graphics
Since:
0.1

hitClip

public boolean hitClip(int x,
                       int y,
                       int width,
                       int height)
Returns true if the specified rectangular area might intersect the current clipping area.

Overrides:
hitClip in class java.awt.Graphics
Since:
0.1

getClipBounds

public java.awt.Rectangle getClipBounds(java.awt.Rectangle r)
Returns the bounding rectangle of the current clipping area.

Overrides:
getClipBounds in class java.awt.Graphics
Since:
0.1