static Pair textLayoutToOutlineAndSize_multiLine_centered(S text, Font font, Component c, O... _) { int lineSpacing = optPar lineSpacing(_, font.getSize()/4); LS lines = lines(text); Area area = null; int y = 0, w = 0; new LPair l; for (S line : lines) { Pair p = textLayoutToOutlineAndSize(line, font, c); l.add(p); w = max(w, p.b.w); } for (Pair p : l) { Area a = new(p.a); new AffineTransform tx; tx.translate((w-p.b.w)/2, y); area = areaUnion(area, a.createTransformedArea(tx)); y += p.b.h+lineSpacing; } ret pair(area, rect(0, 0, w, y-lineSpacing)); }