@Override
	public void draw(Graphics g)
	{
		if (acceptingUserInput() && getClosestPt() != null)
		{
			g.setColor(Color.LIGHT_GRAY);
			g.drawLine(getMouseLoc().x, getMouseLoc().y, getClosestProjectionPt().x, getClosestProjectionPt().y);
			
			if (captured)
			{
				g.setColor(Color.BLUE);
				
				int radius = (int)Math.round(getMouseLoc().distance(getClosestProjectionPt()));
				Point pt = new Point(getClosestProjectionPt().x - radius, getClosestProjectionPt().y - radius);

				int startAngle = 180 - (int)Math.toDegrees(oldAngle);
				if (startAngle < 0)
					startAngle += 360;
				
				int arcAngle = -(int)Math.toDegrees(getAngle() - oldAngle);
				if (arcAngle < 0)
					arcAngle += 360;
				
				g.drawArc(pt.x, pt.y, radius * 2, radius * 2, startAngle, arcAngle);
			}
		}
	}