From 54b5287adf4f5b004fcf47840c7f2e1e561a90c1 Mon Sep 17 00:00:00 2001 From: Ulf Hermann Date: Fri, 25 Sep 2015 18:54:46 +0200 Subject: Insert leading after each line, not before Task-number: QTBUG-45791 Change-Id: I763d9d1ba00989d0c6b1e0b955173dadbef26b10 Reviewed-by: Stephen Chu Reviewed-by: Lars Knoll --- src/gui/text/qtextengine_p.h | 3 +-- tests/auto/gui/text/qfontmetrics/tst_qfontmetrics.cpp | 12 ++++++++++++ 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/src/gui/text/qtextengine_p.h b/src/gui/text/qtextengine_p.h index 160daa0cfd..dbe8e1ee2b 100644 --- a/src/gui/text/qtextengine_p.h +++ b/src/gui/text/qtextengine_p.h @@ -367,8 +367,7 @@ struct Q_AUTOTEST_EXPORT QScriptLine uint leadingIncluded : 1; QFixed height() const { return ascent + descent + (leadingIncluded? qMax(QFixed(),leading) : QFixed()); } - QFixed base() const { return ascent - + (leadingIncluded ? qMax(QFixed(),leading) : QFixed()); } + QFixed base() const { return ascent; } void setDefaultHeight(QTextEngine *eng); void operator+=(const QScriptLine &other); }; diff --git a/tests/auto/gui/text/qfontmetrics/tst_qfontmetrics.cpp b/tests/auto/gui/text/qfontmetrics/tst_qfontmetrics.cpp index d8e9836112..ec62bafd6c 100644 --- a/tests/auto/gui/text/qfontmetrics/tst_qfontmetrics.cpp +++ b/tests/auto/gui/text/qfontmetrics/tst_qfontmetrics.cpp @@ -65,6 +65,7 @@ private slots: void inFontUcs4(); void lineWidth(); void mnemonicTextWidth(); + void leadingBelowLine(); }; tst_QFontMetrics::tst_QFontMetrics() @@ -343,5 +344,16 @@ void tst_QFontMetrics::mnemonicTextWidth() QCOMPARE(fm.size(Qt::TextShowMnemonic, f1), fm.size(Qt::TextShowMnemonic, f2)); QCOMPARE(fm.size(Qt::TextHideMnemonic, f1), fm.size(Qt::TextHideMnemonic, f2)); } + +void tst_QFontMetrics::leadingBelowLine() +{ + QScriptLine line; + line.leading = 10; + line.leadingIncluded = true; + line.ascent = 5; + QCOMPARE(line.height(), line.ascent + line.descent + line.leading); + QCOMPARE(line.base(), line.ascent); +} + QTEST_MAIN(tst_QFontMetrics) #include "tst_qfontmetrics.moc" -- cgit v1.2.3