summaryrefslogtreecommitdiffstats
path: root/tests/benchmarks/qpixmap/tst_qpixmap.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/benchmarks/qpixmap/tst_qpixmap.cpp')
-rw-r--r--tests/benchmarks/qpixmap/tst_qpixmap.cpp227
1 files changed, 0 insertions, 227 deletions
diff --git a/tests/benchmarks/qpixmap/tst_qpixmap.cpp b/tests/benchmarks/qpixmap/tst_qpixmap.cpp
deleted file mode 100644
index 9ffbefb..0000000
--- a/tests/benchmarks/qpixmap/tst_qpixmap.cpp
+++ /dev/null
@@ -1,227 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 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 <QPixmap>
-#include <QBitmap>
-#include <QPainter>
-
-class tst_QPixmap : public QObject
-{
- Q_OBJECT
-
-public:
- tst_QPixmap();
-
-private slots:
- void fill_data();
- void fill();
-
- void scaled_data();
- void scaled();
- void transformed_data();
- void transformed();
- void mask_data();
- void mask();
-};
-
-Q_DECLARE_METATYPE(QImage::Format)
-Q_DECLARE_METATYPE(Qt::AspectRatioMode)
-Q_DECLARE_METATYPE(Qt::TransformationMode)
-
-tst_QPixmap::tst_QPixmap()
-{
-}
-
-void tst_QPixmap::fill_data()
-{
- QTest::addColumn<bool>("opaque");
- QTest::addColumn<int>("width");
- QTest::addColumn<int>("height");
-
- QTest::newRow("opaque 16x16") << true << 16 << 16;
- QTest::newRow("!opaque 16x16") << false << 16 << 16;
- QTest::newRow("opaque 587x128") << true << 587 << 128;
- QTest::newRow("!opaque 587x128") << false << 587 << 128;
-}
-
-void tst_QPixmap::fill()
-{
- QFETCH(bool, opaque);
- QFETCH(int, width);
- QFETCH(int, height);
-
- const QColor color = opaque ? QColor(255, 0, 0) : QColor(255, 0, 0, 200);
- QPixmap pixmap(width, height);
-
- QBENCHMARK {
- pixmap.fill(color);
- }
-}
-
-void tst_QPixmap::scaled_data()
-{
- QTest::addColumn<QSize>("size");
- QTest::addColumn<QSize>("scale");
- QTest::addColumn<Qt::AspectRatioMode>("ratioMode");
- QTest::addColumn<Qt::TransformationMode>("transformMode");
-
- QTest::newRow("16x16 => 32x32") << QSize(16, 16) << QSize(32, 32)
- << Qt::IgnoreAspectRatio
- << Qt::FastTransformation;
- QTest::newRow("100x100 => 200x200") << QSize(100, 100) << QSize(200, 200)
- << Qt::IgnoreAspectRatio
- << Qt::FastTransformation;
- QTest::newRow("100x100 => 200x200") << QSize(100, 100) << QSize(200, 200)
- << Qt::IgnoreAspectRatio
- << Qt::FastTransformation;
- QTest::newRow("80x80 => 200x200") << QSize(137, 137) << QSize(200, 200)
- << Qt::IgnoreAspectRatio
- << Qt::FastTransformation;
-
-}
-
-void tst_QPixmap::scaled()
-{
- QFETCH(QSize, size);
- QFETCH(QSize, scale);
- QFETCH(Qt::AspectRatioMode, ratioMode);
- QFETCH(Qt::TransformationMode, transformMode);
-
- QPixmap opaque(size);
- QPixmap transparent(size);
- opaque.fill(QColor(255, 0, 0));
- transparent.fill(QColor(255, 0, 0, 200));
-
- QPixmap scaled1;
- QPixmap scaled2;
- QBENCHMARK {
- scaled1 = opaque.scaled(scale, ratioMode, transformMode);
- scaled2 = transparent.scaled(scale, ratioMode, transformMode);
- }
-}
-
-void tst_QPixmap::transformed_data()
-{
- QTest::addColumn<QSize>("size");
- QTest::addColumn<QTransform>("transform");
- QTest::addColumn<Qt::TransformationMode>("transformMode");
-
- QTest::newRow("16x16 rotate(90)") << QSize(16, 16)
- << QTransform().rotate(90)
- << Qt::FastTransformation;
- QTest::newRow("16x16 rotate(199)") << QSize(16, 16)
- << QTransform().rotate(199)
- << Qt::FastTransformation;
- QTest::newRow("16x16 shear(2,1)") << QSize(16, 16)
- << QTransform().shear(2, 1)
- << Qt::FastTransformation;
- QTest::newRow("16x16 rotate(199).shear(2,1)") << QSize(16, 16)
- << QTransform().rotate(199).shear(2, 1)
- << Qt::FastTransformation;
- QTest::newRow("100x100 rotate(90)") << QSize(100, 100)
- << QTransform().rotate(90)
- << Qt::FastTransformation;
- QTest::newRow("100x100 rotate(199)") << QSize(100, 100)
- << QTransform().rotate(199)
- << Qt::FastTransformation;
- QTest::newRow("100x100 shear(2,1)") << QSize(100, 100)
- << QTransform().shear(2, 1)
- << Qt::FastTransformation;
- QTest::newRow("100x100 shear(2,1) smooth") << QSize(100, 100)
- << QTransform().shear(2, 1)
- << Qt::SmoothTransformation;
- QTest::newRow("100x100 rotate(199).shear(2,1)") << QSize(100, 100)
- << QTransform().rotate(199).shear(2, 1)
- << Qt::FastTransformation;
-}
-
-void tst_QPixmap::transformed()
-{
- QFETCH(QSize, size);
- QFETCH(QTransform, transform);
- QFETCH(Qt::TransformationMode, transformMode);
-
- QPixmap opaque(size);
- QPixmap transparent(size);
- opaque.fill(QColor(255, 0, 0));
- transparent.fill(QColor(255, 0, 0, 200));
-
- QPixmap transformed1;
- QPixmap transformed2;
- QBENCHMARK {
- transformed1 = opaque.transformed(transform, transformMode);
- transformed2 = transparent.transformed(transform, transformMode);
- }
-}
-
-void tst_QPixmap::mask_data()
-{
- QTest::addColumn<QSize>("size");
-
- QTest::newRow("1x1") << QSize(1, 1);
- QTest::newRow("9x9") << QSize(9, 9);
- QTest::newRow("16x16") << QSize(16, 16);
- QTest::newRow("128x128") << QSize(128, 128);
- QTest::newRow("333x333") << QSize(333, 333);
- QTest::newRow("2048x128") << QSize(2048, 128);
-}
-
-void tst_QPixmap::mask()
-{
- QFETCH(QSize, size);
-
- QPixmap src(size);
- src.fill(Qt::transparent);
- {
- QPainter p(&src);
- p.drawLine(QPoint(0, 0), QPoint(src.width(), src.height()));
- }
-
- QBENCHMARK {
- QBitmap bitmap = src.mask();
- QVERIFY(bitmap.size() == src.size());
- }
-}
-
-QTEST_MAIN(tst_QPixmap)
-
-#include "tst_qpixmap.moc"