import java.awt.*; public class point extends shape { double x, y; // private for sub-classes public point() { } public point(double X, double Y) { x = X; y = Y; } public void setPoint(double X, double Y) { x = X; y = Y; } public void updateCoord() { } public void setX(double X) { x = X; } public void setY(double Y) { y = Y; } public double X() { return(x); } public double Y() { return(y); } public void draw(GeometryWindow G) { if (!exists() || hidden) return; G.setColor(color); G.drawPoint(x, y); } public boolean isNear(double X, double Y) { if (gMath.distance(x, y, X, Y) < clickRange) return(true); else return(false); } public point coordOnShape(double X, double Y) { return(new point(x, y)); } public boolean translate(double dx, double dy) { if (translated) return(true); translated = true; x += dx; y += dy; return(true); } public boolean mouseDown(double X, double Y) { if (hidden) return(false); if (gMath.distance(x, y, X, Y) < clickRange) { dragging = true; x = X; y = Y; return(true); } return(false); } public boolean mouseDrag(double X, double Y) { if (dragging == true) { x = X; y = Y; return(true); } return(false); } public boolean mouseUp(double X, double Y) { dragging = false; return(false); } };