diff options
author | Michael Brasser <michael.brasser@nokia.com> | 2009-12-15 03:55:16 (GMT) |
---|---|---|
committer | Michael Brasser <michael.brasser@nokia.com> | 2009-12-15 03:56:11 (GMT) |
commit | 76f0ff2e192d18f8e9aed6d7f56c864a1678133c (patch) | |
tree | 1086278312d09d5b2d7f072fab714e0fef4af441 /tests | |
parent | d2174861e4dc83bf95c689d7a3e68161fade4aee (diff) | |
download | Qt-76f0ff2e192d18f8e9aed6d7f56c864a1678133c.zip Qt-76f0ff2e192d18f8e9aed6d7f56c864a1678133c.tar.gz Qt-76f0ff2e192d18f8e9aed6d7f56c864a1678133c.tar.bz2 |
Expand text benchmark.
Diffstat (limited to 'tests')
-rw-r--r-- | tests/benchmarks/declarative/text/text.pro | 1 | ||||
-rw-r--r-- | tests/benchmarks/declarative/text/tst_text.cpp | 47 |
2 files changed, 41 insertions, 7 deletions
diff --git a/tests/benchmarks/declarative/text/text.pro b/tests/benchmarks/declarative/text/text.pro index e4840b1..3320f53 100644 --- a/tests/benchmarks/declarative/text/text.pro +++ b/tests/benchmarks/declarative/text/text.pro @@ -1,5 +1,4 @@ load(qttest_p4) -QT += script TEMPLATE = app TARGET = tst_text macx:CONFIG -= app_bundle diff --git a/tests/benchmarks/declarative/text/tst_text.cpp b/tests/benchmarks/declarative/text/tst_text.cpp index 4fd84e6..5c57633 100644 --- a/tests/benchmarks/declarative/text/tst_text.cpp +++ b/tests/benchmarks/declarative/text/tst_text.cpp @@ -44,16 +44,25 @@ #include <QPainter> #include <QSize> #include <qmath.h> +#include <private/qtextcontrol_p.h> class tst_text : public QObject { Q_OBJECT public: - tst_text() {} + tst_text() + { + m_text = "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."; + } private slots: void layout(); - void paintToPixmap(); + void paintLayoutToPixmap(); + void document(); + void paintDocToPixmap(); + +private: + QString m_text; }; QSize setupTextLayout(QTextLayout *layout) @@ -94,18 +103,18 @@ QSize setupTextLayout(QTextLayout *layout) void tst_text::layout() { //get rid of initialization effects - QTextLayout layout("Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."); + QTextLayout layout(m_text); setupTextLayout(&layout); QBENCHMARK { - QTextLayout layout("Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."); + QTextLayout layout(m_text); setupTextLayout(&layout); } } -void tst_text::paintToPixmap() +void tst_text::paintLayoutToPixmap() { - QTextLayout layout("Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."); + QTextLayout layout(m_text); QSize size = setupTextLayout(&layout); QBENCHMARK { @@ -116,5 +125,31 @@ void tst_text::paintToPixmap() } } +void tst_text::document() +{ + QTextControl *control = new QTextControl(m_text); + + QBENCHMARK { + QTextControl *control = new QTextControl; + QTextDocument *doc = control->document(); + doc->setHtml(m_text); + } +} + +void tst_text::paintDocToPixmap() +{ + QTextControl *control = new QTextControl; + QTextDocument *doc = control->document(); + doc->setHtml(m_text); + QSize size = doc->size().toSize(); + + QBENCHMARK { + QPixmap img(size); + img.fill(Qt::transparent); + QPainter p(&img); + control->drawContents(&p, QRectF(QPointF(0, 0), QSizeF(size))); + } +} + QTEST_MAIN(tst_text) #include "tst_text.moc" |