void Q3SimpleRichTextData::adjustSize() { QFontMetrics fm(font); int mw = fm.width(QString(QLatin1Char('x'))) * 80; int w = mw; doc->doLayout(0,w); if (doc->widthUsed() != 0) { w = qt_int_sqrt(5 * doc->height() * doc->widthUsed() / 3); doc->doLayout(0, qMin(w, mw)); if (w*3 < 5*doc->height()) { w = qt_int_sqrt(2 * doc->height() * doc->widthUsed()); doc->doLayout(0,qMin(w, mw)); } } cachedWidth = doc->width(); cachedWidthWithPainter = false; }
void QSimpleRichTextData::adjustSize(QPainter *p) { QFontMetrics fm( font ); int mw = fm.width( 'x' ) * 80; int w = mw; doc->doLayout(p, w); if ( doc->widthUsed() != 0 ) { w = qt_int_sqrt( 5 * doc->height() * doc->widthUsed() / 3 ); doc->doLayout(p, QMIN(w, mw)); if ( w*3 < 5*doc->height() ) { w = qt_int_sqrt( 2 * doc->height() * doc->widthUsed() ); doc->doLayout(p, QMIN(w, mw)); } } cachedWidth = doc->width(); cachedWidthWithPainter = FALSE; }