import java.awt.*; public class shape { protected Color color = Color.black; protected static double clickRange = .02; // protected shape[] linkedShapes = new shape[20]; // protected shape[] shapes = new shape[20]; // protected int numLinkedShapes = 0; // protected int maxLinkedShapes = 20; // protected int nShapes = 0; // protected int maxShapes = 20; public boolean dragging = false; public boolean hidden = false; protected boolean translated = false; // when translating objects, interdependencies can cause an // object to be translated twice. public void setColor(Color newColor) { color = newColor; } public void draw(GeometryWindow G) { } public boolean exists() { return(true); } public boolean isNear(double X, double Y) { return(false); } public point coordOnShape(double X, double Y) { return(null); } public pointOnShape pointOnShape(double X, double Y) { return(null); } public point intersect(shape s, int whichPoint) { return(null); } // public void addLinkedShape(shape s) // { // linkedShapes[numLinkedShapes++] = s; // // if (numLinkedShapes == maxLinkedShapes) // { // shape[] newList = new shape[2 * maxLinkedShapes]; // for (int i = 0; i < numLinkedShapes; i++) // newList[i] = linkedShapes[i]; // // linkedShapes = newList; // maxLinkedShapes *= 2; // } // } // public void removeLinkedShape(shape s) // { // for (int i = 0; i < numLinkedShapes; i++) // { // if (linkedShapes[i] == s) // { // for (i++; i < numLinkedShapes; i++) // linkedShapes[i-1] = linkedShapes[i]; // numLinkedShapes--; // break; // } // } // } public void resetTranslated() { translated = false; } public boolean translate(double dx, double dy) { return(true); } // public void translateLinkedShapes(double dx, double dy) // { // for (int i = 0; i < numLinkedShapes; i++) // { // linkedShapes[i].translate(dx, dy); // } // } public boolean mouseDown(double X, double Y) { return(false); } public boolean mouseDrag(double X, double Y) { return(false); } public boolean mouseUp(double X, double Y) { return(false); } };