dclap
Class Gr2PICT

java.lang.Object
  |
  +--java.awt.Graphics
        |
        +--dclap.Gr2PICT

public class Gr2PICT
extends java.awt.Graphics

Gr2PICT is a Graphics subclass that draws to PICT format.

Version:
1.0
Author:
Don Gilbert

Field Summary
protected  java.awt.Rectangle clipr
           
static int CLONE
           
protected  java.awt.Color clr
           
protected  java.awt.Font font
           
protected  java.awt.Graphics g
           
protected  java.awt.Point origin
           
protected  java.io.DataOutputStream os
           
protected static int PAGEHEIGHT
           
protected static int PAGEWIDTH
           
protected  boolean trouble
           
 
Constructor Summary
Gr2PICT(java.io.OutputStream o, java.awt.Graphics g)
          Constructs a new Gr2PICT Object.
Gr2PICT(java.io.OutputStream o, java.awt.Graphics g, int what)
           
 
Method Summary
 void beginPicGroup()
           
 boolean checkError()
           
 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()
          Creates a new Gr2PICT Object that is a copy of the original Gr2PICT Object.
 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.
 void dispose()
          Disposes of this graphics context.
 boolean doImage(java.awt.Image img, int x, int y, int width, int height, java.awt.image.ImageObserver observer, java.awt.Color bgcolor)
          // possible data for imaging // hexadecimal digits protected final static char hd[] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' }; // number of chars in a full row of pixel data protected final static int charsPerRow = 12*6;
 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.
 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 coordinate (x, y).
 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).
 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 i, int a, int b, int c, int d, int e, int f, int g, int h, java.awt.Color cl, java.awt.image.ImageObserver o)
           
 boolean drawImage(java.awt.Image i, int a, int b, int c, int d, int e, int f, int g, int h, java.awt.image.ImageObserver o)
           
 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[] a, int[] b, int c)
           
 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 aci, int a, int b)
           
 void drawString(java.lang.String str, int x, int y)
          Draws the specified String using the current font and color.
protected  void emitbyte(int v)
           
protected  void emitcolor(java.awt.Color c)
           
protected  void emitcomment(int kind, int datasize, java.lang.String data)
           
protected  void emitHeader(int picwidth, int picheight)
          Top of every PICT file
protected  void emitint(int v)
           
protected  void emitop(int op)
           
protected  void emitpolygon(java.awt.Polygon p)
           
protected  void emitrect(int x, int y, int width, int height)
           
protected  void emitroundrect(int opcode, int x, int y, int width, int height, int arcWidth, int arcHeight)
           
protected  void emitstring(java.lang.String s)
           
protected  void emitword(int v)
           
 void endPicGroup()
           
 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.Rectangle getBounds()
          Returns the bounding rectangle of the current clipping area.
 java.awt.Shape getClip()
           
 java.awt.Rectangle getClipBounds()
           
 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.
 void laserLine(int num, int denom)
           
 void setClip(int a, int b, int c, int d)
           
 void setClip(java.awt.Shape a)
           
 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.
 java.lang.String toString()
          Returns a String object representing this Graphic's value.
 void translate(int x, int y)
          Translates the specified parameters into the origin of the graphics context.
 
Methods inherited from class java.awt.Graphics
getClipBounds, getClipRect, hitClip
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

clipr

protected java.awt.Rectangle clipr

CLONE

public static final int CLONE

clr

protected java.awt.Color clr

font

protected java.awt.Font font

g

protected java.awt.Graphics g

origin

protected java.awt.Point origin

os

protected java.io.DataOutputStream os

PAGEHEIGHT

protected static final int PAGEHEIGHT

PAGEWIDTH

protected static final int PAGEWIDTH

trouble

protected boolean trouble
Constructor Detail

Gr2PICT

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

Gr2PICT

public Gr2PICT(java.io.OutputStream o,
               java.awt.Graphics g,
               int what)
Method Detail

beginPicGroup

public final void beginPicGroup()

checkError

public boolean checkError()

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)

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.
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:
Graphics.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

create

public java.awt.Graphics create()
Creates a new Gr2PICT Object that is a copy of the original Gr2PICT Object.
Overrides:
create in class java.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:
create in class java.awt.Graphics
Parameters:
x - the x coordinate
y - the y coordinate
width - the width of the area
height - the height of the area
See Also:
translate(int, int)

dispose

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

doImage

public boolean doImage(java.awt.Image img,
                       int x,
                       int y,
                       int width,
                       int height,
                       java.awt.image.ImageObserver observer,
                       java.awt.Color bgcolor)
// possible data for imaging // hexadecimal digits protected final static char hd[] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' }; // number of chars in a full row of pixel data protected final static int charsPerRow = 12*6;

draw3DRect

public void draw3DRect(int x,
                       int y,
                       int width,
                       int height,
                       boolean raised)
Draws a highlighted 3-D rectangle.
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

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)

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)

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)

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.
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,
                         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.
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.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, 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.
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 i,
                         int a,
                         int b,
                         int c,
                         int d,
                         int e,
                         int f,
                         int g,
                         int h,
                         java.awt.Color cl,
                         java.awt.image.ImageObserver o)
Overrides:
drawImage in class java.awt.Graphics

drawImage

public boolean drawImage(java.awt.Image i,
                         int a,
                         int b,
                         int c,
                         int d,
                         int e,
                         int f,
                         int g,
                         int h,
                         java.awt.image.ImageObserver o)
Overrides:
drawImage in class java.awt.Graphics

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

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)

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)

drawPolyline

public void drawPolyline(int[] a,
                         int[] b,
                         int c)
Overrides:
drawPolyline in class java.awt.Graphics

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)

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)

drawString

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

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), drawBytes(byte[], int, int, int, int)

emitbyte

protected void emitbyte(int v)

emitcolor

protected final void emitcolor(java.awt.Color c)

emitcomment

protected void emitcomment(int kind,
                           int datasize,
                           java.lang.String data)

emitHeader

protected void emitHeader(int picwidth,
                          int picheight)
Top of every PICT file

emitint

protected void emitint(int v)

emitop

protected final void emitop(int op)

emitpolygon

protected void emitpolygon(java.awt.Polygon p)

emitrect

protected final void emitrect(int x,
                              int y,
                              int width,
                              int height)

emitroundrect

protected final void emitroundrect(int opcode,
                                   int x,
                                   int y,
                                   int width,
                                   int height,
                                   int arcWidth,
                                   int arcHeight)

emitstring

protected void emitstring(java.lang.String s)

emitword

protected void emitword(int v)

endPicGroup

public final void endPicGroup()

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:
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

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)

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)

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)

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)

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)

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()

getBounds

public java.awt.Rectangle getBounds()
Returns the bounding rectangle of the current clipping area.
See Also:
clipRect(int, int, int, int)

getClip

public java.awt.Shape getClip()
Overrides:
getClip in class java.awt.Graphics

getClipBounds

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

getColor

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

getFont

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

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()

laserLine

public void laserLine(int num,
                      int denom)

setClip

public void setClip(int a,
                    int b,
                    int c,
                    int d)
Overrides:
setClip in class java.awt.Graphics

setClip

public void setClip(java.awt.Shape a)
Overrides:
setClip in class java.awt.Graphics

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()

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)

setPaintMode

public void setPaintMode()
Sets the default paint mode to overwrite the destination with the current color.
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.
Overrides:
setXORMode in class java.awt.Graphics
Parameters:
c1 - the second color

toString

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

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.
Overrides:
translate in class java.awt.Graphics
Parameters:
x - the x coordinate
y - the y coordinate
See Also:
#scale