sclass BoundsFinder { int x1 = Int.MAX_VALUE, y1 = Int.MAX_VALUE, x2 = 0, y2 = 0; *() {} *(int w, int h) { x1 = w; y1 = h; } void addPt aka add(Pt p) { if (p != null) addPt(p.x, p.y); } void addPt aka add(int x, int y) { if (x < x1) x1 = x; if (x > x2) x2 = x; if (y < y1) y1 = y; if (y > y2) y2 = y; } Rect get() { ret rectFromPointsOrNull(x1, y1, x2+1, y2+1); } }