diff options
author | Eckhart Koppen <eckhart.koppen@nokia.com> | 2011-04-29 13:37:32 (GMT) |
---|---|---|
committer | Eckhart Koppen <eckhart.koppen@nokia.com> | 2011-04-29 13:37:32 (GMT) |
commit | f4ef6fd18a21ec8f8b37f1acbe9488c478420725 (patch) | |
tree | 193ea5ff3cff81138198ab9982811fedfc4ab530 /src/gui/text/qtextdocumentlayout.cpp | |
parent | 7254566109b4798411e7b162ca39ffc107095ab0 (diff) | |
parent | b6900070b48bb4c795646356ffd53cdfbd106c54 (diff) | |
download | Qt-f4ef6fd18a21ec8f8b37f1acbe9488c478420725.zip Qt-f4ef6fd18a21ec8f8b37f1acbe9488c478420725.tar.gz Qt-f4ef6fd18a21ec8f8b37f1acbe9488c478420725.tar.bz2 |
Merge branch 'master' of scm.dev.nokia.troll.no:qt/qt-releng-team
Diffstat (limited to 'src/gui/text/qtextdocumentlayout.cpp')
-rw-r--r-- | src/gui/text/qtextdocumentlayout.cpp | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/gui/text/qtextdocumentlayout.cpp b/src/gui/text/qtextdocumentlayout.cpp index ce157be..130f012 100644 --- a/src/gui/text/qtextdocumentlayout.cpp +++ b/src/gui/text/qtextdocumentlayout.cpp @@ -2996,10 +2996,19 @@ void QTextDocumentLayout::resizeInlineObject(QTextInlineObject item, int posInDo QSizeF inlineSize = (pos == QTextFrameFormat::InFlow ? intrinsic : QSizeF(0, 0)); item.setWidth(inlineSize.width()); - if (f.verticalAlignment() == QTextCharFormat::AlignMiddle) { + + QFontMetrics m(f.font()); + switch (f.verticalAlignment()) + { + case QTextCharFormat::AlignMiddle: item.setDescent(inlineSize.height() / 2); item.setAscent(inlineSize.height() / 2 - 1); - } else { + break; + case QTextCharFormat::AlignBaseline: + item.setDescent(m.descent()); + item.setAscent(inlineSize.height() - m.descent() - 1); + break; + default: item.setDescent(0); item.setAscent(inlineSize.height() - 1); } |