private void setOutline(int outline[][]) {
		int cx = 0, cy = 0;
		for (int i = 0; i < outline.length; i++) {
			cx += outline[i][0];
			cy += outline[i][1];
		}
		cx = cx / outline.length;
		cy = cy / outline.length;
		
		m_outline = new Path2D.Float();
		int maxr = 0;
		for (int i = 0; i < outline.length; i++) {
			int dx = outline[i][0] - cx;
			int dy = outline[i][1] - cy;
			
			int r = dx*dx + dy*dy;
			if (r > maxr) maxr = r;
			
			if (i == 0)
				m_outline.moveTo(dx, dy);
			else
				m_outline.lineTo(dx, dy);
		}
		r = (int)Math.sqrt(maxr);
		m_outline.closePath();
	}