Package weka.gui.visualize

# Class PostscriptGraphics

java.lang.Object
java.awt.Graphics
java.awt.Graphics2D
weka.gui.visualize.PostscriptGraphics

public class PostscriptGraphics extends Graphics2D
The PostscriptGraphics class extends the Graphics2D class to produce an encapsulated postscript file rather than on-screen display.

Currently only a small (but useful) subset of Graphics methods have been implemented. To handle the ability to Clone a Graphics object, the graphics state of the eps is set from the graphics state of the local PostscriptGraphics before output. To use, create a PostscriptGraphics object, and pass it to the PaintComponent method of a JComponent.

If necessary additional font replacements can be inserted, since some fonts might be displayed incorrectly.

Version:
  $Revision: 7059 $
Author:
  Dale Fletcher (dale@cs.waikato.ac.nz), FracPete (fracpete at waikato dot ac dot nz)
See Also:
  - `addPSFontReplacement(String, String)`
  - `m_PSFontReplacement`

## Constructor Summary

Constructors
Constructor
Description
`PostscriptGraphics(int width, int height, OutputStream os)`
Constructor Creates a new PostscriptGraphics object, given dimensions and output file.

## Method Summary

Modifier and Type
Method
Description
`static void`
`addPSFontReplacement(String replace, String with)`
adds the PS font name to replace and its replacement in the replacement hashtable
`void`
`addRenderingHints(Map m)`
`void`
`clearRect(int x, int y, int width, int height)`
Draw a filled rectangle with the background color.
`void`
`clip(Shape s)`
`void`
`clipRect(int x, int y, int width, int height)`
Not implemented
`void`
`copyArea(int x, int y, int width, int height, int dx, int dy)`
Not implemented
`Graphics`
`create()`
Clone a PostscriptGraphics object
`void`
`dispose()`
Not implemented
`void`
`draw(Shape s)`
`void`
`draw3DRect(int x, int y, int width, int height, boolean raised)`
Draw an outlined rectangle with 3D effect in current pen color.
`void`
`drawArc(int x, int y, int width, int height, int startAngle, int arcAngle)`
Not implemented
`void`
`drawBytes(byte[] data, int offset, int length, int x, int y)`
simply calls drawString(String,int,int)
`void`
`drawChars(char[] data, int offset, int length, int x, int y)`
simply calls drawString(String,int,int)
`void`
`drawGlyphVector(GlyphVector gv, float f1, float f2)`
`void`
`drawImage(BufferedImage bi, BufferedImageOp bio, int i1, int i2)`
`boolean`
`drawImage(Image img, int dx1, int dy1, int dx2, int dy2, int sx1, int sy1, int sx2, int sy2, Color bgcolor, ImageObserver observer)`
Not implemented
`boolean`
`drawImage(Image img, int dx1, int dy1, int dx2, int dy2, int sx1, int sy1, int sx2, int sy2, ImageObserver observer)`
calls drawImage(Image,int,int,int,int,int,int,int,int,Color,ImageObserver) with Color.WHITE as background color
`boolean`
`drawImage(Image img, int x, int y, int width, int height, Color bgcolor, ImageObserver observer)`
PS see http://astronomy.swin.edu.au/~pbourke/geomformats/postscript/ Java http://show.docjava.com:8086/book/cgij/doc/ip/graphics/SimpleImageFrame.java.html
`boolean`
`drawImage(Image img, int x, int y, int width, int height, ImageObserver observer)`
calls drawImage(Image,int,int,int,int,Color,ImageObserver) with the color WHITE as background
`boolean`
`drawImage(Image img, int x, int y, Color bgcolor, ImageObserver observer)`
calls drawImage(Image,int,int,int,int,Color,ImageObserver)
`boolean`
`drawImage(Image img, int x, int y, ImageObserver observer)`
calls drawImage(Image,int,int,Color,ImageObserver) with Color.WHITE as background color
`boolean`
`drawImage(Image im, AffineTransform at, ImageObserver io)`
`void`
`drawLine(int x1, int y1, int x2, int y2)`
Draw a line in current pen color.
`void`
`drawOval(int x, int y, int width, int height)`
Draw an Oval outline in current pen color.
`void`
`drawPolygon(int[] xPoints, int[] yPoints, int nPoints)`
Not implemented
`void`
`drawPolyline(int[] xPoints, int[] yPoints, int nPoints)`
Not implemented
`void`
`drawRect(int x, int y, int width, int height)`
Draw an outlined rectangle in current pen color.
`void`
`drawRenderableImage(RenderableImage ri, AffineTransform at)`
`void`
`drawRenderedImage(RenderedImage ri, AffineTransform af)`
`void`
`drawRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight)`
Not implemented
`void`
`drawString(String str, float x, float y)`
`void`
`drawString(String str, int x, int y)`
Draw text in current pen color.
`void`
`drawString(AttributedCharacterIterator aci, float f1, float f2)`
`void`
`drawString(AttributedCharacterIterator iterator, int x, int y)`
Not implemented
`void`
`fill(Shape s)`
`void`
`fill3DRect(int x, int y, int width, int height, boolean raised)`
Draw a filled rectangle with 3D effect in current pen color.
`void`
`fillArc(int x, int y, int width, int height, int startAngle, int arcAngle)`
Not implemented
`void`
`fillOval(int x, int y, int width, int height)`
Draw a filled Oval in current pen color.
`void`
`fillPolygon(int[] xPoints, int[] yPoints, int nPoints)`
Not implemented
`void`
`fillPolygon(Polygon p)`
Not implemented
`void`
`fillRect(int x, int y, int width, int height)`
Draw a filled rectangle in current pen color.
`void`
`fillRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight)`
Not implemented
`void`
`finalize()`
Not implemented
`void`
`finished()`
Finalizes output file.
`Color`
`getBackground()`
`Shape`
`getClip()`
Not implemented
`Rectangle`
`getClipBounds()`
This returns the full current drawing area
`Rectangle`
`getClipBounds(Rectangle r)`
This returns the full current drawing area
`Rectangle`
`getClipRect()`
Not implemented
`Color`
`getColor()`
Get current pen color.
`Composite`
`getComposite()`
`GraphicsConfiguration`
`getDeviceConfiguration()`
`Font`
`getFont()`
Get current font.
`FontMetrics`
`getFontMetrics(Font f)`
Get Font metrics
`FontRenderContext`
`getFontRenderContext()`
START overridden Graphics2D methods
`Paint`
`getPaint()`
`Object`
`getRenderingHint(RenderingHints.Key key)`
`RenderingHints`
`getRenderingHints()`
`Stroke`
`getStroke()`
`AffineTransform`
`getTransform()`
`boolean`
`hit(Rectangle r, Shape s, boolean onstroke)`
`void`
`rotate(double d1)`
`void`
`rotate(double d1, double d2, double d3)`
`void`
`scale(double d1, double d2)`
`void`
`setBackground(Color c)`
`void`
`setClip(int x, int y, int width, int height)`
Not implemented
`void`
`setClip(Shape clip)`
Not implemented
`void`
`setColor(Color c)`
Set current pen color.
`void`
`setComposite(Composite c)`
`void`
`setFont(Font font)`
Set current font.
`void`
`setPaint(Paint p)`
`void`
`setPaintMode()`
Not implemented
`void`
`setRenderingHint(RenderingHints.Key key, Object o)`
`void`
`setRenderingHints(Map m)`
`void`
`setStroke(Stroke s)`
`void`
`setTransform(AffineTransform at)`
`void`
`setXORMode(Color c1)`
Not implemented
`void`
`shear(double d1, double d2)`
`void`
`transform(AffineTransform at)`
`void`
`translate(double d1, double d2)`
`void`
`translate(int x, int y)`
Translates the origin of the graphics context to the point (x, y) in the current coordinate system.

### Methods inherited from class java.awt.Graphics

`create, drawPolygon, getFontMetrics, hitClip, toString`

### Methods inherited from class java.lang.Object

`equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

## Constructor Details

### PostscriptGraphics

public PostscriptGraphics(int width, int height, OutputStream os)
Constructor Creates a new PostscriptGraphics object, given dimensions and output file.

Parameters:
  `width` - The width of eps in points.
  `height` - The height of eps in points.
  `os` - File to send postscript to.

## Method Details

### finished

public void finished()
Finalizes output file.

### addPSFontReplacement

public static void addPSFontReplacement(String replace, String with)
adds the PS font name to replace and its replacement in the replacement hashtable

Parameters:
  `replace` - the PS font name to replace
  `with` - the PS font name to replace the font with

### clearRect

public void clearRect(int x, int y, int width, int height)
Draw a filled rectangle with the background color.

Specified by:
  `clearRect` in class `Graphics`
Parameters:
  `x` - starting x coord
  `y` - starting y coord
  `width` - rectangle width
  `height` - rectangle height

### clipRect

public void clipRect(int x, int y, int width, int height)
Not implemented

Specified by:
  `clipRect` in class `Graphics`

### copyArea

public void copyArea(int x, int y, int width, int height, int dx, int dy)
Not implemented

Specified by:
  `copyArea` in class `Graphics`

### create

public Graphics create()
Clone a PostscriptGraphics object

Specified by:
  `create` in class `Graphics`

### dispose

public void dispose()
Not implemented

Specified by:
  `dispose` in class `Graphics`

### draw3DRect

public void draw3DRect(int x, int y, int width, int height, boolean raised)
Draw an outlined rectangle with 3D effect in current pen color. (Current implementation: draw simple outlined rectangle)

Overrides:
  `draw3DRect` in class `Graphics2D`
Parameters:
  `x` - starting x coord
  `y` - starting y coord
  `width` - rectangle width
  `height` - rectangle height
  `raised` - True: appear raised, False: appear etched

### drawArc

public void drawArc(int x, int y, int width, int height, int startAngle, int arcAngle)
Not implemented

Specified by:
  `drawArc` in class `Graphics`

### drawBytes

public void drawBytes(byte[] data, int offset, int length, int x, int y)
simply calls drawString(String,int,int)

Overrides:
  `drawBytes` in class `Graphics`
See Also:
  - `drawString(String,int,int)`

### drawChars

public void drawChars(char[] data, int offset, int length, int x, int y)
simply calls drawString(String,int,int)

Overrides:
  `drawChars` in class `Graphics`
See Also:
  - `drawString(String,int,int)`

### drawImage

public boolean drawImage(Image img, int x, int y, Color bgcolor, ImageObserver observer)
calls drawImage(Image,int,int,int,int,Color,ImageObserver)

Specified by:
  `drawImage` in class `Graphics`
See Also:
  - `drawImage(Image,int,int,int,int,Color,ImageObserver)`

### drawImage

public boolean drawImage(Image img, int x, int y, ImageObserver observer)
calls drawImage(Image,int,int,Color,ImageObserver) with Color.WHITE as background color

Specified by:
  `drawImage` in class `Graphics`
See Also:
  - `drawImage(Image,int,int,Color,ImageObserver)`
  - `Color.WHITE`

### drawImage

public boolean drawImage(Image img, int x, int y, int width, int height, Color bgcolor, ImageObserver observer)
PS see http://astronomy.swin.edu.au/~pbourke/geomformats/postscript/ Java http://show.docjava.com:8086/book/cgij/doc/ip/graphics/SimpleImageFrame.java.html

Specified by:
  `drawImage` in class `Graphics`

### drawImage

public boolean drawImage(Image img, int x, int y, int width, int height, ImageObserver observer)
calls drawImage(Image,int,int,int,int,Color,ImageObserver) with the color WHITE as background

Specified by:
  `drawImage` in class `Graphics`
See Also:
  - `drawImage(Image,int,int,int,int,Color,ImageObserver)`
  - `Color.WHITE`

### drawImage

public boolean drawImage(Image img, int dx1, int dy1, int dx2, int dy2, int sx1, int sy1, int sx2, int sy2, Color bgcolor, ImageObserver observer)
Not implemented

Specified by:
  `drawImage` in class `Graphics`

### drawImage

public boolean drawImage(Image img, int dx1, int dy1, int dx2, int dy2, int sx1, int sy1, int sx2, int sy2, ImageObserver observer)
calls drawImage(Image,int,int,int,int,int,int,int,int,Color,ImageObserver) with Color.WHITE as background color

Specified by:
  `drawImage` in class `Graphics`
See Also:
  - `drawImage(Image,int,int,int,int,int,int,int,int,Color,ImageObserver)`

### drawLine

public void drawLine(int x1, int y1, int x2, int y2)
Draw a line in current pen color.

Specified by:
  `drawLine` in class `Graphics`
Parameters:
  `x1` - starting x coord
  `y1` - starting y coord
  `x2` - ending x coord
  `y2` - ending y coord

### drawOval

public void drawOval(int x, int y, int width, int height)
Draw an Oval outline in current pen color.

Specified by:
  `drawOval` in class `Graphics`
Parameters:
  `x` - x-axis center of oval
  `y` - y-axis center of oval
  `width` - oval width
  `height` - oval height

### drawPolygon

public void drawPolygon(int[] xPoints, int[] yPoints, int nPoints)
Not implemented

Specified by:
  `drawPolygon` in class `Graphics`

### drawPolyline

public void drawPolyline(int[] xPoints, int[] yPoints, int nPoints)
Not implemented

Specified by:
  `drawPolyline` in class `Graphics`

### drawRect

public void drawRect(int x, int y, int width, int height)
Draw an outlined rectangle in current pen color.

Overrides:
  `drawRect` in class `Graphics`
Parameters:
  `x` - starting x coord
  `y` - starting y coord
  `width` - rectangle width
  `height` - rectangle height

### drawRoundRect

public void drawRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight)
Not implemented

Specified by:
  `drawRoundRect` in class `Graphics`

### drawString

public void drawString(AttributedCharacterIterator iterator, int x, int y)
Not implemented

Specified by:
  `drawString` in class `Graphics2D`

### drawString

public void drawString(String str, int x, int y)
Draw text in current pen color.

Specified by:
  `drawString` in class `Graphics2D`
Parameters:
  `str` - Text to output
  `x` - starting x coord
  `y` - starting y coord

### fill3DRect

public void fill3DRect(int x, int y, int width, int height, boolean raised)
Draw a filled rectangle with 3D effect in current pen color. (Current implementation: draw simple filled rectangle)

Overrides:
  `fill3DRect` in class `Graphics2D`
Parameters:
  `x` - starting x coord
  `y` - starting y coord
  `width` - rectangle width
  `height` - rectangle height
  `raised` - True: appear raised, False: appear etched

### fillArc

public void fillArc(int x, int y, int width, int height, int startAngle, int arcAngle)
Not implemented

Specified by:
  `fillArc` in class `Graphics`

### fillOval

public void fillOval(int x, int y, int width, int height)
Draw a filled Oval in current pen color.

Specified by:
  `fillOval` in class `Graphics`
Parameters:
  `x` - x-axis center of oval
  `y` - y-axis center of oval
  `width` - oval width
  `height` - oval height

### fillPolygon

public void fillPolygon(int[] xPoints, int[] yPoints, int nPoints)
Not implemented

Specified by:
  `fillPolygon` in class `Graphics`

### fillPolygon

public void fillPolygon(Polygon p)
Not implemented

Overrides:
  `fillPolygon` in class `Graphics`

### fillRect

public void fillRect(int x, int y, int width, int height)
Draw a filled rectangle in current pen color.

Specified by:
  `fillRect` in class `Graphics`
Parameters:
  `x` - starting x coord
  `y` - starting y coord
  `width` - rectangle width
  `height` - rectangle height

### fillRoundRect

public void fillRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight)
Not implemented

Specified by:
  `fillRoundRect` in class `Graphics`

### finalize

public void finalize()
Not implemented

Overrides:
  `finalize` in class `Graphics`

### getClip

public Shape getClip()
Not implemented

Specified by:
  `getClip` in class `Graphics`

### getClipBounds

public Rectangle getClipBounds()
This returns the full current drawing area

Specified by:
  `getClipBounds` in class `Graphics`
Returns:
  full drawing area

### getClipBounds

public Rectangle getClipBounds(Rectangle r)
This returns the full current drawing area

Overrides:
  `getClipBounds` in class `Graphics`
Returns:
  full drawing area

### getClipRect

public Rectangle getClipRect()
Not implemented

Overrides:
  `getClipRect` in class `Graphics`

### getColor

public Color getColor()
Get current pen color.

Specified by:
  `getColor` in class `Graphics`
Returns:
  current pen color.

### getFont

public Font getFont()
Get current font.

Specified by:
  `getFont` in class `Graphics`
Returns:
  current font.

### getFontMetrics

public FontMetrics getFontMetrics(Font f)
Get Font metrics

Specified by:
  `getFontMetrics` in class `Graphics`
Parameters:
  `f` - Font
Returns:
  Font metrics.

### setClip

public void setClip(int x, int y, int width, int height)
Not implemented

Specified by:
  `setClip` in class `Graphics`

### setClip

public void setClip(Shape clip)
Not implemented

Specified by:
  `setClip` in class `Graphics`

### setColor

public void setColor(Color c)
Set current pen color. Default to black if null.

Specified by:
  `setColor` in class `Graphics`
Parameters:
  `c` - new pen color.

### setFont

public void setFont(Font font)
Set current font. Default to Plain Courier 11 if null.

Specified by:
  `setFont` in class `Graphics`
Parameters:
  `font` - new font.

### setPaintMode

public void setPaintMode()
Not implemented

Specified by:
  `setPaintMode` in class `Graphics`

### setXORMode

public void setXORMode(Color c1)
Not implemented

Specified by:
  `setXORMode` in class `Graphics`

### translate

public void translate(int x, int y)
Translates the origin of the graphics context to the point (x, y) in the current coordinate system. Modifies this graphics context so that its new origin corresponds to the point (x, y) in this graphics context's original coordinate system. All coordinates used in subsequent rendering operations on this graphics context will be relative to this new origin.

Specified by:
  `translate` in class `Graphics2D`
Parameters:
  `x` - the x coordinate.
  `y` - the y coordinate.

### getFontRenderContext

public FontRenderContext getFontRenderContext()
START overridden Graphics2D methods

Specified by:
  `getFontRenderContext` in class `Graphics2D`

### clip

public void clip(Shape s)

Specified by:
  `clip` in class `Graphics2D`

### getStroke

public Stroke getStroke()

Specified by:
  `getStroke` in class `Graphics2D`

### getBackground

public Color getBackground()

Specified by:
  `getBackground` in class `Graphics2D`

### setBackground

public void setBackground(Color c)

Specified by:
  `setBackground` in class `Graphics2D`

### getComposite

public Composite getComposite()

Specified by:
  `getComposite` in class `Graphics2D`

### getPaint

public Paint getPaint()

Specified by:
  `getPaint` in class `Graphics2D`

### getTransform

public AffineTransform getTransform()

Specified by:
  `getTransform` in class `Graphics2D`

### setTransform

public void setTransform(AffineTransform at)

Specified by:
  `setTransform` in class `Graphics2D`

### transform

public void transform(AffineTransform at)

Specified by:
  `transform` in class `Graphics2D`

### shear

public void shear(double d1, double d2)

Specified by:
  `shear` in class `Graphics2D`

### scale

public void scale(double d1, double d2)

Specified by:
  `scale` in class `Graphics2D`

### rotate

public void rotate(double d1, double d2, double d3)

Specified by:
  `rotate` in class `Graphics2D`

### rotate

public void rotate(double d1)

Specified by:
  `rotate` in class `Graphics2D`

### translate

public void translate(double d1, double d2)

Specified by:
  `translate` in class `Graphics2D`

### getRenderingHints

public RenderingHints getRenderingHints()

Specified by:
  `getRenderingHints` in class `Graphics2D`

### addRenderingHints

public void addRenderingHints(Map m)

Specified by:
  `addRenderingHints` in class `Graphics2D`

### setRenderingHints

public void setRenderingHints(Map m)

Specified by:
  `setRenderingHints` in class `Graphics2D`

### getRenderingHint

public Object getRenderingHint(RenderingHints.Key key)

Specified by:
  `getRenderingHint` in class `Graphics2D`

### setRenderingHint

public void setRenderingHint(RenderingHints.Key key, Object o)

Specified by:
  `setRenderingHint` in class `Graphics2D`

### setStroke

public void setStroke(Stroke s)

Specified by:
  `setStroke` in class `Graphics2D`

### setPaint

public void setPaint(Paint p)

Specified by:
  `setPaint` in class `Graphics2D`

### setComposite

public void setComposite(Composite c)

Specified by:
  `setComposite` in class `Graphics2D`

### getDeviceConfiguration

public GraphicsConfiguration getDeviceConfiguration()

Specified by:
  `getDeviceConfiguration` in class `Graphics2D`

### hit

public boolean hit(Rectangle r, Shape s, boolean onstroke)

Specified by:
  `hit` in class `Graphics2D`

### fill

public void fill(Shape s)

Specified by:
  `fill` in class `Graphics2D`

### drawGlyphVector

public void drawGlyphVector(GlyphVector gv, float f1, float f2)

Specified by:
  `drawGlyphVector` in class `Graphics2D`

### drawString

public void drawString(AttributedCharacterIterator aci, float f1, float f2)

Specified by:
  `drawString` in class `Graphics2D`

### drawString

public void drawString(String str, float x, float y)

Specified by:
  `drawString` in class `Graphics2D`

### drawRenderableImage

public void drawRenderableImage(RenderableImage ri, AffineTransform at)

Specified by:
  `drawRenderableImage` in class `Graphics2D`

### drawRenderedImage

public void drawRenderedImage(RenderedImage ri, AffineTransform af)

Specified by:
  `drawRenderedImage` in class `Graphics2D`

### drawImage

public void drawImage(BufferedImage bi, BufferedImageOp bio, int i1, int i2)

Specified by:
  `drawImage` in class `Graphics2D`

### drawImage

public boolean drawImage(Image im, AffineTransform at, ImageObserver io)

Specified by:
  `drawImage` in class `Graphics2D`

### draw

public void draw(Shape s)

Specified by:
  `draw` in class `Graphics2D`