com.vistech.shapes
Class Arrow

java.lang.Object
  |
  +--com.vistech.shapes.Shapes
        |
        +--com.vistech.shapes.Arrow
All Implemented Interfaces:
java.lang.Cloneable, Drawable, java.io.Serializable

public class Arrow
extends Shapes
implements Drawable

Represents an interactively drawable arrow.

Version:
1.0 24 July 1996
Author:
Larry Rodrigues
See Also:
Serialized Form

Field Summary
protected  boolean doubleHeaded
           
 
Fields inherited from class com.vistech.shapes.Shapes
basicStroke, cur, drawingColor, fillColor, fillOn, font, path, shapeCount, smallRectsOn, st
 
Fields inherited from interface com.vistech.shapes.Drawable
ANNOTEXT, ARROW, BOX, CUBIC_CURVE, CURVE, DOUBLE_HEADED_ARROW, ELLIPSE, LINE, NONE, POLYGON
 
Constructor Summary
Arrow()
           
 
Method Summary
 boolean contains(java.awt.Graphics2D g, int x, int y)
          Vhecks whether the specified point contained in the shape.
 void draw(java.awt.Graphics2D g)
          Draws the shape permanently, which happens when the mouse is released.
 void drawArrow(java.awt.Point st, java.awt.Point end, java.awt.Graphics2D g)
          Draws two inclined lines at the current position in order to create an arrow head.
 void drawInteractive(java.awt.Graphics2D g)
          Draws an Arrow interactively on a Graphics context g.
 void drawPermanent(java.awt.Graphics2D g)
          Draws an Arrow on a Graphics context g.
 void drawSmallRects(java.awt.Graphics2D g)
          Draws small rectangle at the shape corners to indicate that the shape is active.
 void erase(java.awt.Graphics2D g)
          Erase the shape.
 void init(int x, int y)
          Initializes the Arrow parameters.
 void move(java.awt.Graphics2D g, int diffx, int diffy)
          Draws and returns itself.
 void setCurPoint(int x, int y)
          Sets the current position.
 void setDoubleHeaded(boolean onOrOff)
           
 
Methods inherited from class com.vistech.shapes.Shapes
contains, copy, getCurrentPosition, getDrawingColor, getFillColor, getFillOn, getFont, getGeneralPath, getShapeCount, getSmallRectsOn, getStartPosition, getStroke, setCurrentPosition, setDrawingColor, setFillColor, setFillOn, setFont, setGeneralPath, setShapeCount, setSmallRectsOn, setStartPosition, setStroke
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.vistech.shapes.Drawable
setCurrentPosition
 

Field Detail

doubleHeaded

protected boolean doubleHeaded
Constructor Detail

Arrow

public Arrow()
Method Detail

init

public void init(int x,
                 int y)
Initializes the Arrow parameters. The arguments provide the starting position of the Arrow.
Specified by:
init in interface Drawable
Overrides:
init in class Shapes
Parameters:
x - the x coordinate of the starting position.
y - the y coordinate of the starting poistion.

setCurPoint

public void setCurPoint(int x,
                        int y)
Sets the current position.
Parameters:
x - the x coordinate of the current position.
y - the y coordinate of the current poistion.

setDoubleHeaded

public void setDoubleHeaded(boolean onOrOff)

drawInteractive

public void drawInteractive(java.awt.Graphics2D g)
Draws an Arrow interactively on a Graphics context g. This API does not check whether the Arrow overflows the borders of the component. This method uses the XOR paint mode. It erases the previously drawn shape and draws a new shape in its place.
Specified by:
drawInteractive in interface Drawable
Parameters:
g - the graphics object on which the shape is to be drawn.

drawPermanent

public void drawPermanent(java.awt.Graphics2D g)
Draws an Arrow on a Graphics context g. This API does not check whether the Box overflows the borders of the component.
Parameters:
g - the graphics object on which the shape is to be drawn.

draw

public void draw(java.awt.Graphics2D g)
Description copied from interface: Drawable
Draws the shape permanently, which happens when the mouse is released.
Specified by:
draw in interface Drawable
Following copied from interface: com.vistech.shapes.Drawable
Parameters:
g - the graphcs context on which the shape is drawn.

erase

public void erase(java.awt.Graphics2D g)
Description copied from interface: Drawable
Erase the shape.
Specified by:
erase in interface Drawable
Following copied from interface: com.vistech.shapes.Drawable
Parameters:
g - the graphcs context on which the shape was drawn.

contains

public boolean contains(java.awt.Graphics2D g,
                        int x,
                        int y)
Description copied from class: Shapes
Vhecks whether the specified point contained in the shape.
Overrides:
contains in class Shapes
Following copied from class: com.vistech.shapes.Shapes
Parameters:
g - the graphics context on which the shape was drawn.
x - the coordinate of the point that is being checked for containment.
y - the coordinate of the point that is being checked for containment.

drawSmallRects

public void drawSmallRects(java.awt.Graphics2D g)
Description copied from class: Shapes
Draws small rectangle at the shape corners to indicate that the shape is active. For example, a shape that is being moved is surrounded by small rectagles at the shape corners. small rectab
Overrides:
drawSmallRects in class Shapes
Following copied from class: com.vistech.shapes.Shapes
Parameters:
g - the graphics context on which the shape was drawn.

move

public void move(java.awt.Graphics2D g,
                 int diffx,
                 int diffy)
Draws and returns itself. shapeCount is set by the caller.
Specified by:
move in interface Drawable
Parameters:
g - the graphics object on which the shape is to be drawn.
shCnt - the shape count.
Returns:
Shape itself.

drawArrow

public void drawArrow(java.awt.Point st,
                      java.awt.Point end,
                      java.awt.Graphics2D g)
Draws two inclined lines at the current position in order to create an arrow head.
Parameters:
st - the staring position of the arrow - arrow bottom.
end - the end position of the arrow - arrow head.
g - the graphics context.