summaryrefslogtreecommitdiffstats
path: root/tests/benchmarks/declarative/text/tst_text.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/benchmarks/declarative/text/tst_text.cpp')
-rw-r--r--tests/benchmarks/declarative/text/tst_text.cpp260
1 files changed, 0 insertions, 260 deletions
diff --git a/tests/benchmarks/declarative/text/tst_text.cpp b/tests/benchmarks/declarative/text/tst_text.cpp
deleted file mode 100644
index 33ee237..0000000
--- a/tests/benchmarks/declarative/text/tst_text.cpp
+++ /dev/null
@@ -1,260 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the test suite of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <qtest.h>
-#include <QTextLayout>
-#include <QPainter>
-#include <QSize>
-#include <qmath.h>
-#include <private/qtextcontrol_p.h>
-
-class tst_text : public QObject
-{
- Q_OBJECT
-public:
- 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 paintLayoutToPixmap();
- void paintLayoutToPixmap_painterFill();
- void document();
- void paintDocToPixmap();
- void paintDocToPixmap_painterFill();
- void control();
- void paintControlToPixmap();
- void paintControlToPixmap_painterFill();
- void constructControl();
- void constructDocument();
-
-private:
- QString m_text;
-};
-
-QSize setupTextLayout(QTextLayout *layout)
-{
- bool wrap = true;
- int wrapWidth = 300;
- layout->setCacheEnabled(true);
-
- int height = 0;
- qreal widthUsed = 0;
- qreal lineWidth = 0;
-
- //set manual width
- if (wrap)
- lineWidth = wrapWidth;
-
- layout->beginLayout();
-
- while (1) {
- QTextLine line = layout->createLine();
- if (!line.isValid())
- break;
-
- if (wrap)
- line.setLineWidth(lineWidth);
- }
- layout->endLayout();
-
- for (int i = 0; i < layout->lineCount(); ++i) {
- QTextLine line = layout->lineAt(i);
- widthUsed = qMax(widthUsed, line.naturalTextWidth());
- line.setPosition(QPointF(0, height));
- height += int(line.height());
- }
- return QSize(qCeil(widthUsed), height);
-}
-
-void tst_text::layout()
-{
- //get rid of initialization effects
- QTextLayout layout(m_text);
- setupTextLayout(&layout);
-
- QBENCHMARK {
- QTextLayout layout(m_text);
- setupTextLayout(&layout);
- }
-}
-
-void tst_text::paintLayoutToPixmap()
-{
- QTextLayout layout(m_text);
- QSize size = setupTextLayout(&layout);
-
- QBENCHMARK {
- QPixmap img(size);
- img.fill(Qt::transparent);
- QPainter p(&img);
- layout.draw(&p, QPointF(0, 0));
- }
-}
-
-void tst_text::paintLayoutToPixmap_painterFill()
-{
- QTextLayout layout(m_text);
- QSize size = setupTextLayout(&layout);
-
- 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);
- layout.draw(&p, QPointF(0, 0));
- }
-}
-
-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);
- }
-}
-
-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);
- }
-}
-
-void tst_text::control()
-{
- QTextControl *control = new QTextControl(m_text);
-
- QBENCHMARK {
- QTextControl *control = new QTextControl;
- QTextDocument *doc = control->document();
- doc->setHtml(m_text);
- }
-}
-
-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 {
- QPixmap img(size);
- img.fill(Qt::transparent);
- QPainter p(&img);
- control->drawContents(&p, QRectF(QPointF(0, 0), QSizeF(size)));
- }
-}
-
-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 {
- 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);
- control->drawContents(&p, QRectF(QPointF(0, 0), QSizeF(size)));
- }
-}
-
-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"