private void updateBoundingBox() {
		int left = Integer.MAX_VALUE;
		int top = Integer.MAX_VALUE;
		int right = Integer.MIN_VALUE;
		int bottom = Integer.MIN_VALUE;
		
		synchronized (this) {
			Point p;
			for (int i=0; i<points.size(); i++) {
				p = points.get(i);
				if (p.x < left)
					left = p.x;
				if (p.y < top)
					top = p.y;
				if (p.x > right)
					right = p.x;
				if (p.y > bottom)
					bottom = p.y;
			}
			
			this.boundingBox = new Rect(left, top, right, bottom);
		}
	}