package convexHull; import java.awt.*; /** * This type was created in VisualAge. */ public class TopCanvas extends java.awt.Canvas { private int pointer; /** * TopCanvas constructor comment. */ public TopCanvas() { super(); pointer = -1; } public void paint(Graphics g) { // clear the whole area g.clearRect(0, 0, getSize().width, getSize().height); // draw red tick-marks g.setColor(Color.red); for (int i = 0; i < getSize().width; i = i + 5) { if (i % 100 == 0) g.drawLine(i, 0, i, 8); else if (i % 50 == 0) g.drawLine(i, 0, i, 6); else if (i % 25 == 0) g.drawLine(i, 0, i, 4); else g.drawLine(i, 0, i, 2); } // draw blue tickmark for the current position of the // pointer g.setColor(Color.blue); g.drawLine(pointer, 0, pointer, 10); } public void setPointer(int p) { // if nothing to do, don't do anything if (p == pointer) return; Graphics g = getGraphics(); // replace the old pointer with background g.setColor(getBackground()); g.drawLine(pointer, 0, pointer, 10); // replace the old pointer with a tick-mark g.setColor(Color.red); if (pointer % 100 == 0) g.drawLine(pointer, 0, pointer, 8); else if (pointer % 50 == 0) g.drawLine(pointer, 0, pointer, 6); else if (pointer % 25 == 0) g.drawLine(pointer, 0, pointer, 4); else if (pointer % 5 == 0) g.drawLine(pointer, 0, pointer, 2); // draw a new pointer in blue pointer = p; g.setColor(Color.blue); g.drawLine(pointer, 0, pointer, 10); } }