jv.loader
Class PSGr
- java.lang.Object
-
- java.awt.Graphics
-
- jv.loader.PSGr
-
public final class PSGr extends java.awt.GraphicsPSGr is a Graphics subclass that images to PostScript. (C) 1996 E.J. Friedman-Hill and Sandia National Labs. Further information: http://herzberg.ca.sandia.gov/HACK: Currently, the bounding box exactly covers the JavaView display although it should cover only the visible geometry lying within the display. Also, if the geometry extends outside the display then the PS is not clipped here.
- Author:
- Ernest Friedman-Hill (ejfried@ca.sandia.gov), Konrad Polthier
- Version:
- 06.03.03, 2.00 revised (kp) Use PsImage to obtain pixels from image, all inner classes replaced.
10.02.02, 1.40 revised (kp) Change header to be DSC conforming.
23.09.01, 1.30 revised (kp) Keep care of color model during export of images.
18.03.01, 1.20 revised (kp) Scaling to letter/a4 sized paper implemented.
00.00.00, 1.10 revised (kp) Include eps bounding box.
1.00 created by Ernest Friedman-Hill
-
-
Field Summary
Fields Modifier and Type Field and Description static intCLONE
-
Constructor Summary
Constructors Constructor and Description PSGr(java.awt.Graphics gr, int what)PSGr(java.awt.Graphics gr, java.lang.String name, int width, int height)Constructs a new PSGr Object.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method and Description voidboundingBox(int xMin, int yMin, int xMax, int yMax)Insert bounding box statement for eps files.voidclearRect(int x, int y, int width, int height)Clears the specified rectangle by filling it with the current background color of the current drawing surface.voidclipRect(int x, int y, int width, int height)voidcopyArea(int x, int y, int width, int height, int dx, int dy)Copies an area of the screen.java.awt.Graphicscreate()Creates a new PSGr Object that is a copy of the original PSGr Object.java.awt.Graphicscreate(int x, int y, int width, int height)Creates a new Graphics Object with the specified parameters, based on the original graphics object.voiddispose()Disposes of this graphics context.booleandoImage(java.awt.Image img, int xInt, int yInt, int widthInt, int heightInt, java.awt.image.ImageObserver observer, java.awt.Color bgcolor)voiddraw3DRect(int x, int y, int width, int height, boolean raised)Draws a highlighted 3-D rectangle.voiddrawArc(int x, int y, int width, int height, int startAngle, int arcAngle)Draws an arc bounded by the specified rectangle from startAngle to endAngle. 0 degrees is at the 3-o'clock position.Positive arc angles indicate counter-clockwise rotations, negative arc angles are drawn clockwise.voiddrawBytes(byte[] data, int offset, int length, int x, int y)Draws the specified bytes using the current font and color.voiddrawChars(char[] data, int offset, int length, int x, int y)Draws the specified characters using the current font and color.booleandrawImage(java.awt.Image img, int x, int y, java.awt.Color bgcolor, java.awt.image.ImageObserver observer)Draws the specified image at the specified coordinate (x, y).booleandrawImage(java.awt.Image img, int x, int y, java.awt.image.ImageObserver observer)Draws the specified image at the specified coordinate (x, y).booleandrawImage(java.awt.Image img, int x, int y, int width, int height, java.awt.Color bgcolor, java.awt.image.ImageObserver observer)Draws the specified image inside the specified rectangle.booleandrawImage(java.awt.Image img, int x, int y, int width, int height, java.awt.image.ImageObserver observer)Draws the specified image inside the specified rectangle.booleandrawImage(java.awt.Image img, int x, int y, int width, int height, int x1, int x2, int x3, int x4, java.awt.Color col, java.awt.image.ImageObserver observer)booleandrawImage(java.awt.Image img, int x, int y, int width, int height, int x1, int x2, int x3, int x4, java.awt.image.ImageObserver observer)voiddrawLine(int x1Int, int y1Int, int x2Int, int y2Int)Draws a line between the coordinates (x1,y1) and (x2,y2).voiddrawOval(int x, int y, int width, int height)Draws an oval inside the specified rectangle using the current color.voiddrawPolygon(int[] xPoints, int[] yPoints, int nPoints)Draws a polygon defined by an array of x points and y points.voiddrawPolygon(java.awt.Polygon p)Draws a polygon defined by the specified point.voiddrawPolyline(int[] xPoints, int[] yPoints, int nPoints)voiddrawRect(int x, int y, int width, int height)Draws the outline of the specified rectangle using the current color.voiddrawRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight)Draws an outlined rounded corner rectangle using the current color.voiddrawString(java.lang.String str, int x, int y)Draws the specified String using the current font and color.voidemitThis(java.lang.String s)voidfill3DRect(int x, int y, int width, int height, boolean raised)Paints a highlighted 3-D rectangle using the current color.voidfillArc(int x, int y, int width, int height, int startAngle, int arcAngle)Fills an arc using the current color.voidfillOval(int x, int y, int width, int height)Fills an oval inside the specified rectangle using the current color.voidfillPolygon(int[] xPoints, int[] yPoints, int nPoints)Fills a polygon with the current color.voidfillPolygon(java.awt.Polygon p)Fills the specified polygon with the current color.voidfillRect(int x, int y, int width, int height)Fills the specified rectangle with the current color.voidfillRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight)Draws a rounded rectangle filled in with the current color.voidfinalize()Disposes of this graphics context once it is no longer referenced.voidflush()java.awt.ShapegetClip()java.awt.RectanglegetClipBounds()Returns the bounding rectangle of the current clipping area.java.awt.ColorgetColor()Gets the current color.java.awt.FontgetFont()Gets the current font.java.awt.FontMetricsgetFontMetrics()Gets the current font metrics.java.awt.FontMetricsgetFontMetrics(java.awt.Font font)Gets the current font metrics for the specified font.voidgrestore()voidgsave()voidprint(double x)voidprint(float x)voidprint(int x)voidprint(java.lang.String text)Following print methods avoid exchange of all print-statements in PSGr.voidprintln(double x)voidprintln(float x)voidprintln(int x)voidprintln(java.lang.String text)voidscale(float sx, float sy)Scales the graphics context.voidsetBackground(java.awt.Color col)Gets the current color.voidsetClip(int xInt, int yInt, int widthInt, int heightInt)Clips to a rectangle.voidsetClip(java.awt.Shape shape)voidsetColor(java.awt.Color col)Sets the current color to the specified color.voidsetFont(java.awt.Font font)Sets the font for all subsequent text-drawing operations.voidsetPaintMode()Sets the default paint mode to overwrite the destination with the current color.voidsetXORMode(java.awt.Color col)Sets the paint mode to alternate between the current color and the new specified color.voidsetZoom(float zoom)Set zoom factor to undo previous pixel scaling.java.lang.StringtoString()Create a string representation of the PostScript image.voidtranslate(int x, int y)Translates the specified parameters into the origin of the graphics context.
-
-
-
Field Detail
-
CLONE
public static final int CLONE
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
PSGr
public PSGr(java.awt.Graphics gr, java.lang.String name, int width, int height)Constructs a new PSGr Object. Unlike regular Graphics objects, PSGr contexts can be created directly.- Parameters:
gr- Graphics object of panelname- Name of geometrywidth- the width of the drawing regionheight- the height of the drawing region- See Also:
create()
-
PSGr
public PSGr(java.awt.Graphics gr, int what)
-
-
Method Detail
-
toString
public java.lang.String toString()
Create a string representation of the PostScript image.- Overrides:
toStringin classjava.awt.Graphics
-
setZoom
public void setZoom(float zoom)
Set zoom factor to undo previous pixel scaling.
-
create
public java.awt.Graphics create()
Creates a new PSGr Object that is a copy of the original PSGr Object.- Specified by:
createin classjava.awt.Graphics
-
create
public java.awt.Graphics create(int x, int y, int width, int height)Creates a new Graphics Object with the specified parameters, based on the original graphics object. This method translates the specified parameters, x and y, to the proper origin coordinates and then clips the Graphics Object to the area.- Overrides:
createin classjava.awt.Graphics- Parameters:
x- the x coordinatey- the y coordinatewidth- the width of the areaheight- the height of the area- See Also:
translate(int, int)
-
translate
public void translate(int x, int y)Translates the specified parameters into the origin of the graphics context. All subsequent operations on this graphics context will be relative to this origin.- Specified by:
translatein classjava.awt.Graphics- Parameters:
x- the x coordinatey- the y coordinate- See Also:
m_scale
-
boundingBox
public void boundingBox(int xMin, int yMin, int xMax, int yMax)Insert bounding box statement for eps files.- Author:
- Konrad Polthier
-
scale
public void scale(float sx, float sy)Scales the graphics context. All subsequent operations on this graphics context will be affected.- Parameters:
sx- the scaled x coordinatesy- the scaled y coordinate- See Also:
translate(int, int)
-
getColor
public java.awt.Color getColor()
Gets the current color.- Specified by:
getColorin classjava.awt.Graphics- See Also:
setColor(java.awt.Color)
-
setBackground
public void setBackground(java.awt.Color col)
Gets the current color.- See Also:
setColor(java.awt.Color)
-
setColor
public void setColor(java.awt.Color col)
Sets the current color to the specified color. All subsequent graphics operations will use this specified color.- Specified by:
setColorin classjava.awt.Graphics- Parameters:
col- the color to be set- See Also:
Color,getColor()
-
setPaintMode
public void setPaintMode()
Sets the default paint mode to overwrite the destination with the current color. PostScript has only paint mode.- Specified by:
setPaintModein classjava.awt.Graphics
-
setXORMode
public void setXORMode(java.awt.Color col)
Sets the paint mode to alternate between the current color and the new specified color. PostScript does not support XOR mode.- Specified by:
setXORModein classjava.awt.Graphics- Parameters:
col- The second color
-
getFont
public java.awt.Font getFont()
Gets the current font.- Specified by:
getFontin classjava.awt.Graphics
-
setFont
public void setFont(java.awt.Font font)
Sets the font for all subsequent text-drawing operations.- Specified by:
setFontin classjava.awt.Graphics- Parameters:
font- the specified font- See Also:
getFont(),drawBytes(byte[], int, int, int, int),drawChars(char[], int, int, int, int)
-
getFontMetrics
public java.awt.FontMetrics getFontMetrics()
Gets the current font metrics.- Overrides:
getFontMetricsin classjava.awt.Graphics- See Also:
getFont()
-
getFontMetrics
public java.awt.FontMetrics getFontMetrics(java.awt.Font font)
Gets the current font metrics for the specified font.- Specified by:
getFontMetricsin classjava.awt.Graphics- Parameters:
font- the specified font- See Also:
getFont()
-
getClipBounds
public java.awt.Rectangle getClipBounds()
Returns the bounding rectangle of the current clipping area.- Specified by:
getClipBoundsin classjava.awt.Graphics- See Also:
m_clipRect
-
setClip
public void setClip(int xInt, int yInt, int widthInt, int heightInt)Clips to a rectangle. The resulting clipping area is the intersection of the current clipping area and the specified rectangle. Graphic operations have no effect outside of the clipping area.- Specified by:
setClipin classjava.awt.Graphics- Parameters:
xInt- the x coordinateyInt- the y coordinatewidthInt- the width of the rectangleheightInt- the height of the rectangle- See Also:
getClipBounds()
-
copyArea
public void copyArea(int x, int y, int width, int height, int dx, int dy)Copies an area of the screen.- Specified by:
copyAreain classjava.awt.Graphics- Parameters:
x- the x-coordinate of the sourcey- the y-coordinate of the sourcewidth- the widthheight- the heightdx- the horizontal distancedy- the vertical distance Note: copyArea not supported by PostScript
-
drawLine
public void drawLine(int x1Int, int y1Int, int x2Int, int y2Int)Draws a line between the coordinates (x1,y1) and (x2,y2). The line is drawn below and to the left of the logical coordinates.- Specified by:
drawLinein classjava.awt.Graphics- Parameters:
x1Int- the first point's x coordinatey1Int- the first point's y coordinatex2Int- the second point's x coordinatey2Int- the second point's y coordinate
-
fillRect
public void fillRect(int x, int y, int width, int height)Fills the specified rectangle with the current color.- Specified by:
fillRectin classjava.awt.Graphics- Parameters:
x- the x coordinatey- the y coordinatewidth- the width of the rectangleheight- the height of the rectangle- See Also:
drawRect(int, int, int, int),clearRect(int, int, int, int)
-
drawRect
public void drawRect(int x, int y, int width, int height)Draws the outline of the specified rectangle using the current color. Use drawRect(x, y, width-1, height-1) to draw the outline inside the specified rectangle.- Overrides:
drawRectin classjava.awt.Graphics- Parameters:
x- the x coordinatey- the y coordinatewidth- the width of the rectangleheight- the height of the rectangle- See Also:
fillRect(int, int, int, int),clearRect(int, int, int, int)
-
clearRect
public void clearRect(int x, int y, int width, int height)Clears the specified rectangle by filling it with the current background color of the current drawing surface. Which drawing surface it selects depends on how the graphics context was created.- Specified by:
clearRectin classjava.awt.Graphics- Parameters:
x- the x coordinatey- the y coordinatewidth- the width of the rectangleheight- the height of the rectangle- See Also:
fillRect(int, int, int, int),drawRect(int, int, int, int)
-
drawRoundRect
public void drawRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight)Draws an outlined rounded corner rectangle using the current color.- Specified by:
drawRoundRectin classjava.awt.Graphics- Parameters:
x- the x coordinatey- the y coordinatewidth- the width of the rectangleheight- the height of the rectanglearcWidth- the diameter of the arcarcHeight- the radius of the arc- 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)Draws a rounded rectangle filled in with the current color.- Specified by:
fillRoundRectin classjava.awt.Graphics- Parameters:
x- the x coordinatey- the y coordinatewidth- the width of the rectangleheight- the height of the rectanglearcWidth- the diameter of the arcarcHeight- the radius of the arc- See Also:
drawRoundRect(int, int, int, int, int, int)
-
draw3DRect
public void draw3DRect(int x, int y, int width, int height, boolean raised)Draws a highlighted 3-D rectangle.- Overrides:
draw3DRectin classjava.awt.Graphics- Parameters:
x- the x coordinatey- the y coordinatewidth- the width of the rectangleheight- the height of the rectangleraised- a boolean that states whether the rectangle is raised or not
-
fill3DRect
public void fill3DRect(int x, int y, int width, int height, boolean raised)Paints a highlighted 3-D rectangle using the current color.- Overrides:
fill3DRectin classjava.awt.Graphics- Parameters:
x- the x coordinatey- the y coordinatewidth- the width of the rectangleheight- the height of the rectangleraised- a boolean that states whether the rectangle is raised or not
-
drawOval
public void drawOval(int x, int y, int width, int height)Draws an oval inside the specified rectangle using the current color.- Specified by:
drawOvalin classjava.awt.Graphics- Parameters:
x- the x coordinatey- the y coordinatewidth- the width of the rectangleheight- the height of the rectangle- See Also:
fillOval(int, int, int, int)
-
fillOval
public void fillOval(int x, int y, int width, int height)Fills an oval inside the specified rectangle using the current color.- Specified by:
fillOvalin classjava.awt.Graphics- Parameters:
x- the x coordinatey- the y coordinatewidth- the width of the rectangleheight- the height of the rectangle- 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 bounded by the specified rectangle from startAngle to endAngle. 0 degrees is at the 3-o'clock position.Positive arc angles indicate counter-clockwise rotations, negative arc angles are drawn clockwise.- Specified by:
drawArcin classjava.awt.Graphics- Parameters:
x- the x coordinatey- the y coordinatewidth- the width of the rectangleheight- the height of the rectanglestartAngle- the beginning anglearcAngle- the angle of the arc (relative to startAngle).- 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 using the current color. This generates a pie shape.- Specified by:
fillArcin classjava.awt.Graphics- Parameters:
x- the x coordinatey- the y coordinatewidth- the width of the archeight- the height of the arcstartAngle- the beginning anglearcAngle- the angle of the arc (relative to startAngle).- See Also:
drawArc(int, int, int, int, int, int)
-
drawPolygon
public void drawPolygon(int[] xPoints, int[] yPoints, int nPoints)Draws a polygon defined by an array of x points and y points.- Specified by:
drawPolygonin classjava.awt.Graphics- Parameters:
xPoints- an array of x pointsyPoints- an array of y pointsnPoints- the total number of points- See Also:
fillPolygon(Polygon)
-
drawPolygon
public void drawPolygon(java.awt.Polygon p)
Draws a polygon defined by the specified point.- Overrides:
drawPolygonin classjava.awt.Graphics- Parameters:
p- the specified polygon- See Also:
fillPolygon(Polygon)
-
fillPolygon
public void fillPolygon(int[] xPoints, int[] yPoints, int nPoints)Fills a polygon with the current color.- Specified by:
fillPolygonin classjava.awt.Graphics- Parameters:
xPoints- an array of x pointsyPoints- an array of y pointsnPoints- the total number of points- See Also:
drawPolygon(Polygon)
-
fillPolygon
public void fillPolygon(java.awt.Polygon p)
Fills the specified polygon with the current color.- Overrides:
fillPolygonin classjava.awt.Graphics- Parameters:
p- the polygon- See Also:
drawPolygon(Polygon)
-
drawString
public void drawString(java.lang.String str, int x, int y)Draws the specified String using the current font and color. The x,y position is the starting point of the baseline of the String.- Specified by:
drawStringin classjava.awt.Graphics- Parameters:
str- the String to be drawnx- the x coordinatey- the y coordinate- See Also:
drawChars(char[], int, int, int, int),drawBytes(byte[], int, int, int, int)
-
drawChars
public void drawChars(char[] data, int offset, int length, int x, int y)Draws the specified characters using the current font and color.- Overrides:
drawCharsin classjava.awt.Graphics- Parameters:
data- the array of characters to be drawnoffset- the start offset in the datalength- the number of characters to be drawnx- the x coordinatey- the y coordinate- See Also:
drawBytes(byte[], int, int, int, int)
-
drawBytes
public void drawBytes(byte[] data, int offset, int length, int x, int y)Draws the specified bytes using the current font and color.- Overrides:
drawBytesin classjava.awt.Graphics- Parameters:
data- the data to be drawnoffset- the start offset in the datalength- the number of bytes that are drawnx- the x coordinatey- the y coordinate- See Also:
drawChars(char[], int, int, int, int)
-
doImage
public boolean doImage(java.awt.Image img, int xInt, int yInt, int widthInt, int heightInt, java.awt.image.ImageObserver observer, java.awt.Color bgcolor)- Version:
- 00.09.01, 1.10 revised (kp) Handling of alpha channel included.
-
drawImage
public boolean drawImage(java.awt.Image img, int x, int y, java.awt.image.ImageObserver observer)Draws the specified image at the specified coordinate (x, y). If the image is incomplete the image observer will be notified later.- Specified by:
drawImagein classjava.awt.Graphics- Parameters:
img- the specified image to be drawnx- the x coordinatey- the y coordinateobserver- notifies if the image is complete or not- See Also:
Image,ImageObserver
-
drawImage
public boolean drawImage(java.awt.Image img, int x, int y, int width, int height, java.awt.image.ImageObserver observer)Draws the specified image inside the specified rectangle. The image is scaled if necessary. If the image is incomplete the image observer will be notified later.- Specified by:
drawImagein classjava.awt.Graphics- Parameters:
img- the specified image to be drawnx- the x coordinatey- the y coordinatewidth- the width of the rectangleheight- the height of the rectangleobserver- notifies if the image is complete or not- See Also:
Image,ImageObserver
-
drawImage
public boolean drawImage(java.awt.Image img, int x, int y, java.awt.Color bgcolor, java.awt.image.ImageObserver observer)Draws the specified image at the specified coordinate (x, y). If the image is incomplete the image observer will be notified later.- Specified by:
drawImagein classjava.awt.Graphics- Parameters:
img- the specified image to be drawnx- the x coordinatey- the y coordinatebgcolor- the background colorobserver- notifies if the image is complete or not- See Also:
Image,ImageObserver
-
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 the specified image inside the specified rectangle. The image is scaled if necessary. If the image is incomplete the image observer will be notified later.- Specified by:
drawImagein classjava.awt.Graphics- Parameters:
img- the specified image to be drawnx- the x coordinatey- the y coordinatewidth- the width of the rectangleheight- the height of the rectanglebgcolor- the background colorobserver- notifies if the image is complete or not- See Also:
Image,NOTE: PSGr ignores the background color.
-
dispose
public void dispose()
Disposes of this graphics context. The Graphics context cannot be used after being disposed of.- Specified by:
disposein classjava.awt.Graphics- See Also:
finalize()
-
finalize
public void finalize()
Disposes of this graphics context once it is no longer referenced.- Overrides:
finalizein classjava.awt.Graphics- See Also:
dispose()
-
gsave
public void gsave()
-
grestore
public void grestore()
-
emitThis
public void emitThis(java.lang.String s)
-
getClip
public java.awt.Shape getClip()
- Specified by:
getClipin classjava.awt.Graphics
-
setClip
public void setClip(java.awt.Shape shape)
- Specified by:
setClipin classjava.awt.Graphics
-
drawImage
public boolean drawImage(java.awt.Image img, int x, int y, int width, int height, int x1, int x2, int x3, int x4, java.awt.image.ImageObserver observer)- Specified by:
drawImagein classjava.awt.Graphics
-
drawImage
public boolean drawImage(java.awt.Image img, int x, int y, int width, int height, int x1, int x2, int x3, int x4, java.awt.Color col, java.awt.image.ImageObserver observer)- Specified by:
drawImagein classjava.awt.Graphics
-
clipRect
public void clipRect(int x, int y, int width, int height)- Specified by:
clipRectin classjava.awt.Graphics
-
drawPolyline
public void drawPolyline(int[] xPoints, int[] yPoints, int nPoints)- Specified by:
drawPolylinein classjava.awt.Graphics
-
print
public void print(java.lang.String text)
Following print methods avoid exchange of all print-statements in PSGr.
-
println
public void println(java.lang.String text)
-
print
public void print(int x)
-
print
public void print(float x)
-
print
public void print(double x)
-
println
public void println(int x)
-
println
public void println(float x)
-
println
public void println(double x)
-
flush
public void flush()
-
-
"