public boolean inArc(int x, int y) {
		Point test = new Point(x, y);
		
		for (int i = 0; i < getNumPoints() - 1; i++) {
			Point start = getPoint(i);
			Point end = getPoint(i + 1);
			
			if (inRect(start, end, test)) {
				if ((i == 0) && (getNumPoints() > 2)) {
					selectedPoint = end;
				} else if ((i + 1 == getNumPoints() - 1) && (getNumPoints() > 2)) {
					selectedPoint = start;
				} else {
					if (getNumPoints() > 3) {
						double distStart = Point.distance(start.x, start.y, x, y);
						double distEnd = Point.distance(end.x, end.y, x, y);
						
						if ((distStart <= distEnd)
								&& (!start.equals(getPoint(0)))){
							selectedPoint = start;
						} else{
							selectedPoint = end;
						}
					} else{
						selectedPoint = null;
					}
				}

				return true;
			}
		}
		
		return false;
	}