NAMESPACE_UPP int RichTxt::GetWidth(const RichStyles& st) const { int cx = 0; for(int i = 0; i < part.GetCount(); i++) { if(IsPara(i)) { RichPara p = Get(i, st); RichPara::Lines pl = p.FormatLines(INT_MAX); int ccx = 0; Sum(ccx, ~pl.width, ~pl.width + pl.clen); cx = max(cx, ccx); } else return 10000; } return cx; }
void RichTxt::Sync0(const Para& pp, int parti, const RichContext& rc) const { int cx = rc.page.Width(); pp.cx = cx; RichPara p = Get(parti, rc.styles); RichPara::Lines pl = p.FormatLines(cx); pp.ruler = p.format.ruler; pp.before = p.format.before; pp.linecy.Clear(); pp.linecy.SetCount(pl.GetCount()); for(int i = 0; i < pl.GetCount(); i++) pp.linecy[i] = pl[i].Sum(); pp.cy = Sum0(pp.linecy); pp.after = p.format.after; pp.newpage = p.format.newpage; pp.keep = p.format.keep; pp.keepnext = p.format.keepnext; pp.orphan = p.format.orphan; }