Class PSGr

java.lang.Object
  |
  +--java.awt.Graphics
        |
        +--PSGr

public class PSGr
extends java.awt.Graphics

PSGr is a awt.Graphics subclass that images to PostScript. (C) 1996 E.J. Friedman-Hill and Sandia National Labs


Field Summary
protected  java.awt.Color backClr
           
protected  java.awt.Rectangle clippingRect
           
static int CLONE
           
protected  java.awt.Color clr
           
protected  boolean disposed
           
protected  java.awt.Font font
           
protected  java.io.PrintStream os
           
protected  int Page_Height
           
protected  int Page_Margin
           
protected  int Page_Width
           
protected static int PAGEHEIGHT
           
protected static int PAGEMARGIN
           
protected static int PAGEWIDTH
           
protected  java.awt.Graphics realg
           
 
Constructor Summary
  PSGr(java.io.OutputStream o, java.awt.Graphics g)
          Constructs a new PSGr Object.
protected PSGr(java.io.OutputStream o, java.awt.Graphics g, int what)
           
  PSGr(java.io.OutputStream o, java.awt.Graphics g, int margin, int width, int height)
          Constructor for non-default page dimensions.
 
Method Summary
 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.
 void clipRect(int x, int y, int width, int height)
          Clips to a rectangle.
 void copyArea(int x, int y, int width, int height, int dx, int dy)
          Copies an area of the screen.
 java.awt.Graphics create()
          Container.paint calls create and dispose, for a separate g to clip and position each child and then restore larger clip and original coordinates by disposing of the smaller g and using the original g.
 java.awt.Graphics create(int x, int y, int width, int height)
          Creates a new PSGr Object with the specified parameters, based on the original PSGr Object.
 void dispose()
          Disposes of this Graphics context, which cannot be used after being disposed of.
protected  boolean doImage(java.awt.Image img, int x, int y, int width, int height, java.awt.image.ImageObserver observer, java.awt.Color bgcolor)
           
protected  void doRect(int x, int y, int width, int height, boolean fill)
           
 void draw3DRect(int x, int y, int width, int height, boolean raised)
          Draws a highlighted 3-D rectangle.
 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.
 void drawBytes(byte[] data, int offset, int length, int x, int y)
          Draws the specified bytes using the current font and color.
 void drawChars(char[] data, int offset, int length, int x, int y)
          Draws the specified characters using the current font and color.
 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 top left (x, y), with width and height determined by the image.
 boolean drawImage(java.awt.Image img, int x, int y, java.awt.image.ImageObserver observer)
          Draws the specified image at the specified top left (x, y), with width and height determined by the 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 the specified image inside the specified rectangle.
 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.
 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)
          Scaling and translating versions not supported -- BUT COULD BE
 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)
          Scaling and translating versions not supported -- BUT WE COULD
 void drawLine(int x1, int y1, int x2, int y2)
          Draws a line between the coordinates (x1,y1) and (x2,y2).
 void drawOval(int x, int y, int width, int height)
          Draws an oval inside the specified rectangle using the current color.
 void drawPolygon(int[] xPoints, int[] yPoints, int nPoints)
          Draws a polygon defined by an array of x points and y points.
 void drawPolygon(java.awt.Polygon p)
          Draws a polygon defined by the specified point.
 void drawPolyline(int[] x, int[] y, int np)
          Polyline MGH added to satisfy 1.1 API
 void drawRect(int x, int y, int width, int height)
          Draws the outline of the specified rectangle using the current color.
 void drawRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight)
          Draws an outlined rounded corner rectangle using the current color.
 void drawString(java.text.AttributedCharacterIterator a, int x, int y)
           
 void drawString(java.lang.String str, int x, int y)
          Draws the specified String using the current font and color.
protected  int dTrans(int d)
           
protected  void emitProlog()
          Top of every PS file needs this.
 void emitThis(java.lang.String s)
           
 void emitThisNext(java.lang.String s)
           
 void fill3DRect(int x, int y, int width, int height, boolean raised)
          Paints a highlighted 3-D rectangle using the current color.
 void fillArc(int x, int y, int width, int height, int startAngle, int arcAngle)
          Fills an arc using the current color.
 void fillOval(int x, int y, int width, int height)
          Fills an oval inside the specified rectangle using the current color.
 void fillPolygon(int[] xPoints, int[] yPoints, int nPoints)
          Fills a polygon with the current color.
 void fillPolygon(java.awt.Polygon p)
          Fills the specified polygon with the current color.
 void fillRect(int x, int y, int width, int height)
          Fills the specified rectangle with the current color.
 void fillRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight)
          Draws a rounded rectangle filled in with the current color.
 void finalize()
          Disposes of this graphics context once it is no longer referenced.
 java.awt.Shape getClip()
          MGH added Shape getClip () per 1.1 API.
 java.awt.Rectangle getClipBounds()
           
 java.awt.Rectangle getClipRect()
          Deprecated. in 1.1
 java.awt.Color getColor()
          Gets the current color.
 java.awt.Font getFont()
          Gets the current font.
 java.awt.FontMetrics getFontMetrics()
          Gets the current font metrics.
 java.awt.FontMetrics getFontMetrics(java.awt.Font f)
          Gets the current font metrics for the specified font.
 int getPageHeight()
           
 int getPageMargin()
          Printing dimensions default or set at construct time.
 int getPageWidth()
           
protected  void grestore()
           
protected  void gsave()
          Save and restore the PostScript state, SHOULD ALSO any Java mirror state
protected  void myBasicPaint(java.awt.Component comp, boolean edge)
           
protected  java.lang.String myHexString(int n)
           
protected  void scale(float sx, float sy)
          Scales the graphics context.
 void scalePaint(java.awt.Component top)
          Find scale factor that will fit the page, use smaller of x and y for both, to convert all pixels to points.
protected  void setBackground(java.awt.Color c)
          Gets the current color.
 void setClip(int x, int y, int width, int height)
          MGH added setClip (x y w h) per 1.1 API, this is supposed to be **NEW** Clip, rather than intersection with existing Clip, but that may not be correct yet..
 void setClip(java.awt.Shape s)
          MGH added setClip (Shape s) hacked over Rectangle.
 void setColor(java.awt.Color c)
          Sets the current color to the specified color.
 void setFont(java.awt.Font f)
          Sets the font for all subsequent text-drawing operations.
 void setPaintMode()
          Sets the default paint mode to overwrite the destination with the current color.
 void setXORMode(java.awt.Color c1)
          Sets the paint mode to alternate between the current color and the new specified color.
 void showpage()
          Needed unless the file is intended as part of a larger one.
protected  java.lang.String strunc(double d)
           
 java.lang.String toString()
          Returns a String object representing this Graphic's value.
 void translate(int x, int y)
          Translates the origin of the graphics context to the specified parameters.
protected  int xTrans(int x)
           
protected  int yTrans(int y)
           
 
Methods inherited from class java.awt.Graphics
getClipBounds, hitClip
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

CLONE

public static final int CLONE

PAGEMARGIN

protected static final int PAGEMARGIN

PAGEHEIGHT

protected static final int PAGEHEIGHT

PAGEWIDTH

protected static final int PAGEWIDTH

Page_Margin

protected int Page_Margin

Page_Height

protected int Page_Height

Page_Width

protected int Page_Width

os

protected java.io.PrintStream os

clr

protected java.awt.Color clr

backClr

protected java.awt.Color backClr

font

protected java.awt.Font font

clippingRect

protected java.awt.Rectangle clippingRect

realg

protected java.awt.Graphics realg

disposed

protected boolean disposed
Constructor Detail

PSGr

public PSGr(java.io.OutputStream o,
            java.awt.Graphics g)
Constructs a new PSGr Object. Unlike regular Graphics objects, PSGr contexts can be created directly.
Parameters:
o - Output stream for PostScript output
g - The "real g" from AWT
See Also:
create()

PSGr

protected PSGr(java.io.OutputStream o,
               java.awt.Graphics g,
               int what)

PSGr

public PSGr(java.io.OutputStream o,
            java.awt.Graphics g,
            int margin,
            int width,
            int height)
Constructor for non-default page dimensions.
Parameters:
o - Output stream for PostScript output
g - The "real g" from AWT
margin - Page_Margin (all four sides) in points.
width - Page_Width in points.
height - Page_Height in points.
Method Detail

drawString

public void drawString(java.text.AttributedCharacterIterator a,
                       int x,
                       int y)
Overrides:
drawString in class java.awt.Graphics

create

public java.awt.Graphics create()
Container.paint calls create and dispose, for a separate g to clip and position each child and then restore larger clip and original coordinates by disposing of the smaller g and using the original g. We have our own Container painting code, which works the same way. This simulates the context stack in PostScript, and works fine as long as each g is used as described, that is by using only the most recently created g.
Overrides:
create in class java.awt.Graphics

create

public java.awt.Graphics create(int x,
                                int y,
                                int width,
                                int height)
Creates a new PSGr Object with the specified parameters, based on the original PSGr Object. This method translates the origin to the specified x and y, and then clips to the area with specified width and height. The resulting clipping area is the intersection of the current clipping area and the specified rectangle. We first "gsave" the PostScript context here, and we "grestore" it when dispose () is called, so if create () and dispose () are used in pairs, the earlier and larger clip should be preserved, and what the old g thinks is the clip should be so. NOT TESTED YET! Compiler won't let this one be PSGr only Graphics I think because it is part of the interface spec.
Overrides:
create in class java.awt.Graphics
Parameters:
x - the x coordinate, pixels positive right from left.
y - the y coordinate, pixels positive down from top.
width - the width of the area
height - the height of the area
See Also:
translate(int, int)

getPageMargin

public int getPageMargin()
Printing dimensions default or set at construct time. These are methods of the PSGr extension of Graphics.

getPageHeight

public int getPageHeight()

getPageWidth

public int getPageWidth()

translate

public void translate(int x,
                      int y)
Translates the origin of the graphics context to the specified parameters. All subsequent operations on this graphics context will be relative to this origin.
Overrides:
translate in class java.awt.Graphics
Parameters:
x - the x coordinate, pixels positive right from left.
y - the y coordinate, pixels positive down from top. Note: PostScript y coordinate is positive up from bottom. Note: PostScript default units are points (1/72 inch).
See Also:
scale(float, float)

scale

protected 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 coordinate
sy - the scaled y coordinate
See Also:
This is NOT part of the graphics API (although translate is). It is used internally to map from pixels to points, such that the entire top-level object will fit the page.

getColor

public java.awt.Color getColor()
Gets the current color.
Overrides:
getColor in class java.awt.Graphics
See Also:
setColor(java.awt.Color)

setBackground

protected void setBackground(java.awt.Color c)
Gets the current color. This is NOT part of the Graphics API.
See Also:
setColor(java.awt.Color)

setColor

public void setColor(java.awt.Color c)
Sets the current color to the specified color. All subsequent graphics operations will use this specified color.
Overrides:
setColor in class java.awt.Graphics
Parameters:
c - the color to be set
See Also:
Color, getColor()

strunc

protected java.lang.String strunc(double d)

setPaintMode

public void setPaintMode()
Sets the default paint mode to overwrite the destination with the current color. PostScript has only paint mode.
Overrides:
setPaintMode in class java.awt.Graphics

setXORMode

public void setXORMode(java.awt.Color c1)
Sets the paint mode to alternate between the current color and the new specified color. PostScript does not support XOR mode.
Overrides:
setXORMode in class java.awt.Graphics
Parameters:
c1 - the second color

getFont

public java.awt.Font getFont()
Gets the current font.
Overrides:
getFont in class java.awt.Graphics
See Also:
setFont(java.awt.Font)

setFont

public void setFont(java.awt.Font f)
Sets the font for all subsequent text-drawing operations.
Overrides:
setFont in class java.awt.Graphics
Parameters:
font - the specified font
See Also:
Font, getFont(), drawString(java.text.AttributedCharacterIterator, int, int), drawBytes(byte[], int, int, int, int), drawChars(char[], int, int, int, int)

getFontMetrics

public java.awt.FontMetrics getFontMetrics()
Gets the current font metrics.
Overrides:
getFontMetrics in class java.awt.Graphics
See Also:
getFont()

getFontMetrics

public java.awt.FontMetrics getFontMetrics(java.awt.Font f)
Gets the current font metrics for the specified font.
Overrides:
getFontMetrics in class java.awt.Graphics
Parameters:
f - the specified font
See Also:
getFont(), getFontMetrics()

getClipRect

public java.awt.Rectangle getClipRect()
Deprecated. in 1.1

Returns the bounding Rectangle of the current clipping area.
Overrides:
getClipRect in class java.awt.Graphics
See Also:
clipRect(int, int, int, int), getClipBounds

getClipBounds

public java.awt.Rectangle getClipBounds()
Overrides:
getClipBounds in class java.awt.Graphics

getClip

public java.awt.Shape getClip()
MGH added Shape getClip () per 1.1 API. Rectangle implements Shape.
Overrides:
getClip in class java.awt.Graphics

setClip

public void setClip(java.awt.Shape s)
MGH added setClip (Shape s) hacked over Rectangle. Really nothing to do for Shape as yet...
Overrides:
setClip in class java.awt.Graphics

setClip

public void setClip(int x,
                    int y,
                    int width,
                    int height)
MGH added setClip (x y w h) per 1.1 API, this is supposed to be **NEW** Clip, rather than intersection with existing Clip, but that may not be correct yet.. Easy to make the new clippingRect, but that is only the Java book keeping version. The actual PostScript clip is the intersection, unless we use initclip to reset it, which I could do... But my PostScript book says to "almost never" do initclip. Instead we should grestore but WHEN WAS THE GSAVE? Use grestoreall, it pops all gsaves until the one that was done to start us, uses that one and leaves it on the stack, so it can be done again and again. NOT TESTED YET!
Overrides:
setClip in class java.awt.Graphics

clipRect

public void clipRect(int x,
                     int y,
                     int width,
                     int height)
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. MGH made clippingRect = clippingRect.intersection, MGH commented out // emitThis ("initclip"); MGH added the starting emitThis ("newpath");
Overrides:
clipRect in class java.awt.Graphics
Parameters:
x - the x coordinate
y - the y coordinate
width - the width of the rectangle
height - the height of the rectangle
See Also:
getClipRect()

copyArea

public void copyArea(int x,
                     int y,
                     int width,
                     int height,
                     int dx,
                     int dy)
Copies an area of the screen.
Overrides:
copyArea in class java.awt.Graphics
Parameters:
x - the x-coordinate of the source
y - the y-coordinate of the source
width - the width
height - the height
dx - the horizontal distance
dy - the vertical distance Note: copyArea not supported by PostScript

drawLine

public void drawLine(int x1,
                     int y1,
                     int x2,
                     int y2)
Draws a line between the coordinates (x1,y1) and (x2,y2). The line is drawn below and to the left of the logical coordinates.
Overrides:
drawLine in class java.awt.Graphics
Parameters:
x1 - the first point's x coordinate
y1 - the first point's y coordinate
x2 - the second point's x coordinate
y2 - the second point's y coordinate

drawPolyline

public void drawPolyline(int[] x,
                         int[] y,
                         int np)
Polyline MGH added to satisfy 1.1 API
Overrides:
drawPolyline in class java.awt.Graphics

doRect

protected void doRect(int x,
                      int y,
                      int width,
                      int height,
                      boolean fill)

fillRect

public void fillRect(int x,
                     int y,
                     int width,
                     int height)
Fills the specified rectangle with the current color.
Overrides:
fillRect in class java.awt.Graphics
Parameters:
x - the x coordinate
y - the y coordinate
width - the width of the rectangle
height - 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:
drawRect in class java.awt.Graphics
Parameters:
x - the x coordinate
y - the y coordinate
width - the width of the rectangle
height - 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.
Overrides:
clearRect in class java.awt.Graphics
Parameters:
x - the x coordinate
y - the y coordinate
width - the width of the rectangle
height - 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.
Overrides:
drawRoundRect in class java.awt.Graphics
Parameters:
x - the x coordinate
y - the y coordinate
width - the width of the rectangle
height - the height of the rectangle
arcWidth - the diameter of the arc
arcHeight - 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.
Overrides:
fillRoundRect in class java.awt.Graphics
Parameters:
x - the x coordinate
y - the y coordinate
width - the width of the rectangle
height - the height of the rectangle
arcWidth - the diameter of the arc
arcHeight - 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. Two edges brighter and two darker.
Overrides:
draw3DRect in class java.awt.Graphics
Parameters:
x - the x coordinate
y - the y coordinate
width - the width of the rectangle
height - the height of the rectangle
raised - 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. Two edges brighter and two darker.
Overrides:
fill3DRect in class java.awt.Graphics
Parameters:
x - the x coordinate
y - the y coordinate
width - the width of the rectangle
height - the height of the rectangle
raised - 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.
Overrides:
drawOval in class java.awt.Graphics
Parameters:
x - the x coordinate
y - the y coordinate
width - the width of the rectangle
height - 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.
Overrides:
fillOval in class java.awt.Graphics
Parameters:
x - the x coordinate
y - the y coordinate
width - the width of the rectangle
height - 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.
Overrides:
drawArc in class java.awt.Graphics
Parameters:
x - the x coordinate
y - the y coordinate
width - the width of the rectangle
height - the height of the rectangle
startAngle - the beginning angle
arcAngle - 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.
Overrides:
fillArc in class java.awt.Graphics
Parameters:
x - the x coordinate
y - the y coordinate
width - the width of the arc
height - the height of the arc
startAngle - the beginning angle
arcAngle - 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.
Overrides:
drawPolygon in class java.awt.Graphics
Parameters:
xPoints - an array of x points
yPoints - an array of y points
nPoints - the total number of points
See Also:
fillPolygon(int[], int[], int)

drawPolygon

public void drawPolygon(java.awt.Polygon p)
Draws a polygon defined by the specified point.
Overrides:
drawPolygon in class java.awt.Graphics
Parameters:
p - the specified polygon
See Also:
fillPolygon(int[], int[], int)

fillPolygon

public void fillPolygon(int[] xPoints,
                        int[] yPoints,
                        int nPoints)
Fills a polygon with the current color.
Overrides:
fillPolygon in class java.awt.Graphics
Parameters:
xPoints - an array of x points
yPoints - an array of y points
nPoints - the total number of points
See Also:
drawPolygon(int[], int[], int)

fillPolygon

public void fillPolygon(java.awt.Polygon p)
Fills the specified polygon with the current color.
Overrides:
fillPolygon in class java.awt.Graphics
Parameters:
p - the polygon
See Also:
drawPolygon(int[], int[], int)

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.
Overrides:
drawString in class java.awt.Graphics
Parameters:
str - the String to be drawn
x - the x coordinate
y - the y coordinate
See Also:
drawChars(char[], int, int, int, int), WE CAN CORRECT FOR MINOR FONT DIFFERENCES USE JAVA METRICS FOR EXPECTED STRINGWIDTH TELL POSTSCRIPT TO KSHOW AND EXACTLY FILL THAT WIDTH BUG! Any backslashes (e.g. separators in file names) show on screen, at least if they are not a legitimate escape sequence, I HAVE NOT TRIED YET To see what they do on screen, but must be doubled (\ to \\) to show in the PostScript output. So first see what AWT does for a legitimate escape sequence, then do what we can for the PostScript string. According to the PostScript LRF "File Input and Output" PostScript recognizes \ddd for octal character codes, \n newline \r return \t tab \b backspace \f feed (top-of-form) \ ( lpar \) rpar \\ backslash itself \newline eats the backslash and the newline \X any other character eats the backslash I wonder what they do for top-of-form?

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:
drawChars in class java.awt.Graphics
Parameters:
data - the array of characters to be drawn
offset - the start offset in the data
length - the number of characters to be drawn
x - the x coordinate
y - the y coordinate
See Also:
drawString(java.text.AttributedCharacterIterator, int, int), 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:
drawBytes in class java.awt.Graphics
Parameters:
data - the data to be drawn
offset - the start offset in the data
length - the number of bytes that are drawn
x - the x coordinate
y - the y coordinate
See Also:
drawString(java.text.AttributedCharacterIterator, int, int), drawChars(char[], int, int, int, int)

myHexString

protected java.lang.String myHexString(int n)

doImage

protected boolean doImage(java.awt.Image img,
                          int x,
                          int y,
                          int width,
                          int height,
                          java.awt.image.ImageObserver observer,
                          java.awt.Color bgcolor)

drawImage

public boolean drawImage(java.awt.Image img,
                         int x,
                         int y,
                         java.awt.image.ImageObserver observer)
Draws the specified image at the specified top left (x, y), with width and height determined by the image. If the image is incomplete return false. The image observer will be notified later.
Overrides:
drawImage in class java.awt.Graphics
Parameters:
img - the specified image to be drawn
x - the x coordinate
y - the y coordinate
observer - 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 return false. The image observer will be notified later.
Overrides:
drawImage in class java.awt.Graphics
Parameters:
img - the specified image to be drawn
x - the x coordinate
y - the y coordinate
width - the width of the rectangle
height - the height of the rectangle
observer - 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 top left (x, y), with width and height determined by the image. If the image is incomplete return false. The image observer will be notified later.
Overrides:
drawImage in class java.awt.Graphics
Parameters:
img - the specified image to be drawn
x - the x coordinate
y - the y coordinate
bgcolor - the background color
observer - 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.
Overrides:
drawImage in class java.awt.Graphics
Parameters:
img - the specified image to be drawn
x - the x coordinate
y - the y coordinate
width - the width of the rectangle
height - the height of the rectangle
bgcolor - the background color
observer - notifies if the image is complete or not
See Also:
Image, NOTE: PSGr ignores the background color.

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)
Scaling and translating versions not supported -- BUT COULD BE
Overrides:
drawImage in class java.awt.Graphics
Parameters:
img - - the specified image to be drawn
dx1 - - the x coordinate of the first corner of the destination rectangle.
dy1 - - the y coordinate of the first corner of the destination rectangle.
dx2 - - the x coordinate of the second corner of the destination rectangle.
dy2 - - the y coordinate of the second corner of the destination rectangle.
sx1 - - the x coordinate of the first corner of the source rectangle.
sy1 - - the y coordinate of the first corner of the source rectangle.
sx2 - - the x coordinate of the second corner of the source rectangle.
sy2 - - the y coordinate of the second corner of the source rectangle.
bgcolor - the background color
observer - - object to be notified as more of the image is scaled and converted NOTE: PSGr ignores the background color.
See Also:
Image, ImageObserver

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)
Scaling and translating versions not supported -- BUT WE COULD
Overrides:
drawImage in class java.awt.Graphics
Parameters:
img - - the specified image to be drawn
dx1 - - the x coordinate of the first corner of the destination rectangle.
dy1 - - the y coordinate of the first corner of the destination rectangle.
dx2 - - the x coordinate of the second corner of the destination rectangle.
dy2 - - the y coordinate of the second corner of the destination rectangle.
sx1 - - the x coordinate of the first corner of the source rectangle.
sy1 - - the y coordinate of the first corner of the source rectangle.
sx2 - - the x coordinate of the second corner of the source rectangle.
sy2 - - the y coordinate of the second corner of the source rectangle.
observer - - object to be notified as more of the image is scaled and converted
See Also:
Image, ImageObserver

dispose

public void dispose()
Disposes of this Graphics context, which cannot be used after being disposed of.
Overrides:
dispose in class java.awt.Graphics
See Also:
finalize()

showpage

public void showpage()
Needed unless the file is intended as part of a larger one. As best I understand the conventions, we are expected to say showpage, but any "wrapped" code may disable it, and scale this as part of a larger page. The grestore and gsave seem to be needed, otherwise all but first page came out blank, I don't see why that should be.

finalize

public void finalize()
Disposes of this graphics context once it is no longer referenced.
Overrides:
finalize in class java.awt.Graphics
See Also:
dispose()

toString

public java.lang.String toString()
Returns a String object representing this Graphic's value.
Overrides:
toString in class java.awt.Graphics

yTrans

protected int yTrans(int y)

xTrans

protected int xTrans(int x)

dTrans

protected int dTrans(int d)

emitProlog

protected void emitProlog()
Top of every PS file needs this. It must be the first thing in the file. The first line is a "magic number" to invoke PostScript. There are other standard %% comments that could be added.

gsave

protected void gsave()
Save and restore the PostScript state, SHOULD ALSO any Java mirror state

grestore

protected void grestore()

emitThisNext

public void emitThisNext(java.lang.String s)

emitThis

public void emitThis(java.lang.String s)

myBasicPaint

protected void myBasicPaint(java.awt.Component comp,
                            boolean edge)

scalePaint

public void scalePaint(java.awt.Component top)
Find scale factor that will fit the page, use smaller of x and y for both, to convert all pixels to points. Only reduce scale if needed -- do not ever magnify. PostScript scale operator also changes text sizes. Must allow for non-printing margins all around.