diff options
Diffstat (limited to 'ajdoc/testdata/figures-demo/figures/Line.java')
-rw-r--r-- | ajdoc/testdata/figures-demo/figures/Line.java | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/ajdoc/testdata/figures-demo/figures/Line.java b/ajdoc/testdata/figures-demo/figures/Line.java new file mode 100644 index 000000000..45324646e --- /dev/null +++ b/ajdoc/testdata/figures-demo/figures/Line.java @@ -0,0 +1,73 @@ +/* +Copyright (c) 2001-2002 Palo Alto Research Center Incorporated. All Rights Reserved. + */ + +package figures; + +import java.awt.*; +import java.awt.geom.*; + +public class Line extends ShapeFigureElement { + private Point _p1; + private Point _p2; + + public Line(Point p1, Point p2) { + _p1 = p1; + _p2 = p2; + } + + public Point getP1() { + return _p1; + } + + public void setP1(Point p1) { + _p1 = p1; + Canvas.updateHistory(); + } + + public Point getP2() { + return _p2; + } + + public void setP2(Point p2) { + _p2 = p2; + Canvas.updateHistory(); + } + + public void move(int dx, int dy) { + //_x = dx; + //_y = dy; + + //_p1.move(dx, dy); + //_p2.move(dx, dy); + } + + public String toString() { + return "Line(" + _p1 + ", " + _p2 + ")"; + } + + /** + * Used to determine if this line {@link contains(Point2D)} a point. + */ + final static int THRESHHOLD = 5; + + /** + * Returns <code>true</code> if the point segment distance is less than + * {@link THRESHHOLD}. + */ + public boolean contains(Point2D p) { + return getLine2D().ptLineDist(p) < THRESHHOLD; + } + + private Line2D getLine2D() { + return new Line2D.Float((float)getP1().getX(), + (float)getP1().getY(), + (float)getP2().getX(), + (float)getP2().getY()); + } + + public Shape getShape() { + return getLine2D(); + } +} + |