diff options
author | Warwick Allison <warwick.allison@nokia.com> | 2010-01-11 05:05:10 (GMT) |
---|---|---|
committer | Warwick Allison <warwick.allison@nokia.com> | 2010-01-11 05:05:10 (GMT) |
commit | 7287f1f01e7000a21f52f463a459fa0285db4cca (patch) | |
tree | 8db949be2f3470d7c06196ba9a8735a051b8abd3 /tests | |
parent | 8c7dfd168d9eb42a75b79d8b448902b0df490419 (diff) | |
parent | 5f890ee9201b7ff05bc0da06265f6ad4212da9c6 (diff) | |
download | Qt-7287f1f01e7000a21f52f463a459fa0285db4cca.zip Qt-7287f1f01e7000a21f52f463a459fa0285db4cca.tar.gz Qt-7287f1f01e7000a21f52f463a459fa0285db4cca.tar.bz2 |
Merge branch 'kinetic-declarativeui' of git@scm.dev.nokia.troll.no:qt/kinetic into kinetic-declarativeui
Diffstat (limited to 'tests')
-rw-r--r-- | tests/benchmarks/declarative/text/tst_text.cpp | 75 |
1 files changed, 73 insertions, 2 deletions
diff --git a/tests/benchmarks/declarative/text/tst_text.cpp b/tests/benchmarks/declarative/text/tst_text.cpp index e69ecd8..c7ea884 100644 --- a/tests/benchmarks/declarative/text/tst_text.cpp +++ b/tests/benchmarks/declarative/text/tst_text.cpp @@ -62,6 +62,11 @@ private slots: void document(); void paintDocToPixmap(); void paintDocToPixmap_painterFill(); + void control(); + void paintControlToPixmap(); + void paintControlToPixmap_painterFill(); + void constructControl(); + void constructDocument(); private: QString m_text; @@ -144,6 +149,48 @@ void tst_text::paintLayoutToPixmap_painterFill() void tst_text::document() { + QTextDocument *doc = new QTextDocument; + + QBENCHMARK { + QTextDocument *doc = new QTextDocument; + doc->setHtml(m_text); + } +} + +void tst_text::paintDocToPixmap() +{ + QTextDocument *doc = new QTextDocument; + doc->setHtml(m_text); + doc->setTextWidth(300); + QSize size = doc->size().toSize(); + + QBENCHMARK { + QPixmap img(size); + img.fill(Qt::transparent); + QPainter p(&img); + doc->drawContents(&p/*, QRectF(QPointF(0, 0), QSizeF(size))*/); + } +} + +void tst_text::paintDocToPixmap_painterFill() +{ + QTextDocument *doc = new QTextDocument; + doc->setHtml(m_text); + doc->setTextWidth(300); + QSize size = doc->size().toSize(); + + QBENCHMARK { + QPixmap img(size); + QPainter p(&img); + p.setCompositionMode(QPainter::CompositionMode_Source); + p.fillRect(0, 0, img.width(), img.height(), Qt::transparent); + p.setCompositionMode(QPainter::CompositionMode_SourceOver); + doc->drawContents(&p/*, QRectF(QPointF(0, 0), QSizeF(size))*/); + } +} + +void tst_text::control() +{ QTextControl *control = new QTextControl(m_text); QBENCHMARK { @@ -153,11 +200,12 @@ void tst_text::document() } } -void tst_text::paintDocToPixmap() +void tst_text::paintControlToPixmap() { QTextControl *control = new QTextControl; QTextDocument *doc = control->document(); doc->setHtml(m_text); + doc->setTextWidth(300); QSize size = doc->size().toSize(); QBENCHMARK { @@ -168,11 +216,12 @@ void tst_text::paintDocToPixmap() } } -void tst_text::paintDocToPixmap_painterFill() +void tst_text::paintControlToPixmap_painterFill() { QTextControl *control = new QTextControl; QTextDocument *doc = control->document(); doc->setHtml(m_text); + doc->setTextWidth(300); QSize size = doc->size().toSize(); QBENCHMARK { @@ -185,5 +234,27 @@ void tst_text::paintDocToPixmap_painterFill() } } +void tst_text::constructControl() +{ + QTextControl *control = new QTextControl; + delete control; + + QBENCHMARK { + QTextControl *control = new QTextControl; + delete control; + } +} + +void tst_text::constructDocument() +{ + QTextDocument *doc = new QTextDocument; + delete doc; + + QBENCHMARK { + QTextDocument *doc = new QTextDocument; + delete doc; + } +} + QTEST_MAIN(tst_text) #include "tst_text.moc" |