procedure Wall.draw; begin PaintRect (region); end; procedure hole.draw; begin PaintOval (region); end; procedure Ball.draw; begin if self = CueBall then (* draw an open circle *) FrameOval (region) else (* draw a filled circle *) PaintOval (region) end;