diva.canvas.connector
Class Arrowhead

java.lang.Object
  extended by diva.canvas.connector.Arrowhead
All Implemented Interfaces:
ConnectorEnd

public class Arrowhead
extends Object
implements ConnectorEnd

An arrowhead that is drawn on the end of a connector. This is a low-level utility class, not a self-contained Figure.

Version:
$Revision: 1.6 $
Author:
John Reekie (johnr@eecs.berkeley.edu)

Constructor Summary
Arrowhead()
          Create a new arrowhead at (0,0).
Arrowhead(double x, double y, double normal)
          Create a new arrowhead at the given point and with the given normal.
 
Method Summary
 Rectangle2D getBounds()
          Get the bounding box of the shape used to draw this connector end.
 void getConnection(Point2D p)
          Get the connection point into the given point
 boolean getFlipped()
          Get the flag saying to flip the arrowhead.
 double getLength()
          Get the length.
 void getOrigin(Point2D p)
          Get the origin into the given point.
 void paint(Graphics2D g)
          Paint the arrow-head.
 void reshape()
          Recalculate the shape of the decoration.
 void setFlipped(boolean flag)
          Set the flag that says the arrowhead is "flipped." This means that the arrowhead is drawn so that the apparent direction of the arrowhead is the same as its normal.
 void setLength(double l)
          Set the length of the arrowhead.
 void setNormal(double angle)
          Set the normal of the decoration.
 void setOrigin(double x, double y)
          Set the origin of the decoration.
 void translate(double x, double y)
          Translate the origin by the given amount.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Arrowhead

public Arrowhead()
Create a new arrowhead at (0,0).


Arrowhead

public Arrowhead(double x,
                 double y,
                 double normal)
Create a new arrowhead at the given point and with the given normal.

Method Detail

getBounds

public Rectangle2D getBounds()
Get the bounding box of the shape used to draw this connector end.

Specified by:
getBounds in interface ConnectorEnd

getConnection

public void getConnection(Point2D p)
Get the connection point into the given point

Specified by:
getConnection in interface ConnectorEnd

getFlipped

public boolean getFlipped()
Get the flag saying to flip the arrowhead.


getOrigin

public void getOrigin(Point2D p)
Get the origin into the given point.

Specified by:
getOrigin in interface ConnectorEnd

getLength

public double getLength()
Get the length.


paint

public void paint(Graphics2D g)
Paint the arrow-head. This method assumes that the graphics context is already set up with the correct paint and stroke.

Specified by:
paint in interface ConnectorEnd

reshape

public void reshape()
Recalculate the shape of the decoration.


setNormal

public void setNormal(double angle)
Set the normal of the decoration. The argument is the angle in radians away from the origin. The arrowhead is drawn so that the body of the arrowhead is in the same direction as the normal -- that is, the arrowhead appears to be pointed in the opposite direction to its "normal."

Specified by:
setNormal in interface ConnectorEnd

setFlipped

public void setFlipped(boolean flag)
Set the flag that says the arrowhead is "flipped." This means that the arrowhead is drawn so that the apparent direction of the arrowhead is the same as its normal.


setOrigin

public void setOrigin(double x,
                      double y)
Set the origin of the decoration.

Specified by:
setOrigin in interface ConnectorEnd

setLength

public void setLength(double l)
Set the length of the arrowhead.


translate

public void translate(double x,
                      double y)
Translate the origin by the given amount.

Specified by:
translate in interface ConnectorEnd


Copyright © 2015 Central Laboratory of the Research Councils. All Rights Reserved.