Insert leading after each line, not before

Task-number: QTBUG-45791
Change-Id: I763d9d1ba00989d0c6b1e0b955173dadbef26b10
Reviewed-by: Stephen Chu <stephen@ju-ju.com>
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
This commit is contained in:
Ulf Hermann 2015-09-25 18:54:46 +02:00
parent db2c89beae
commit 54b5287adf
2 changed files with 13 additions and 2 deletions

View File

@ -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);
};

View File

@ -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"