summaryrefslogtreecommitdiffstats
path: root/src/gui/text/qtextdocumentlayout.cpp
diff options
context:
space:
mode:
authorEckhart Koppen <eckhart.koppen@nokia.com>2011-04-29 13:37:32 (GMT)
committerEckhart Koppen <eckhart.koppen@nokia.com>2011-04-29 13:37:32 (GMT)
commitf4ef6fd18a21ec8f8b37f1acbe9488c478420725 (patch)
tree193ea5ff3cff81138198ab9982811fedfc4ab530 /src/gui/text/qtextdocumentlayout.cpp
parent7254566109b4798411e7b162ca39ffc107095ab0 (diff)
parentb6900070b48bb4c795646356ffd53cdfbd106c54 (diff)
downloadQt-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.cpp13
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);
}