diff options
Diffstat (limited to 'tests/bugs166/pr288712/figures/Line.java')
-rw-r--r-- | tests/bugs166/pr288712/figures/Line.java | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/tests/bugs166/pr288712/figures/Line.java b/tests/bugs166/pr288712/figures/Line.java new file mode 100644 index 000000000..801684979 --- /dev/null +++ b/tests/bugs166/pr288712/figures/Line.java @@ -0,0 +1,58 @@ +// Copyright (c) 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 Point getP2() { return _p2; } + + public void move(int dx, int dy) { + _p1.move(dx, dy); + } + public void move() { + _p1.move(); +// _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(); + } +} + |