static Rect randomRect_enclosing_in(int w, int h, Rect inner, Rect outer) { if (inner.w > w || inner.h > h) null; if (outer.w < w || outer.h > h) null; IntRange x1range = intRange_incl(inner.x2()-w, inner.x); IntRange x2range = intRange_incl(inner.x2(), inner.x+w); if (x1range.isEmpty() || x2range.isEmpty()) null; IntRange y1range = intRange_incl(inner.y2()-h, inner.y); IntRange y2range = intRange_incl(inner.y2(), inner.y+h); if (y1range.isEmpty() || y2range.isEmpty()) null; ret rectFromPoints(random(x1range), random(y1range), random(x2range), random(x2range)); }