/** * Get the range, in pixel coordinates, taken for the point. * * @return Zone */ public Zone getZone(Area p_map) { if (zone == null) { Point p1 = new Point(px, py); Point p2 = new Point(2, 1); if (isBorder()) { if (p1.x == 0 || p1.x == p_map.getDim_x() - 1) { p1.y = 0; p2.y = p_map.getDim_y(); p2.x = 1; } else { p1.x = 0; p2.x = p_map.getDim_x(); } } else if (isVertical()) { p2.x = 1; p2.y = 2; } else if (isSingle()) { p2.x = 1; p2.y = 1; } zone = new Zone(16 * p1.x, 16 * p1.y, 16 * p2.x, 16 * p2.y); } return zone; }