From 93f0f38085e8fe2657ef3d7c5e24576d4475e85d Mon Sep 17 00:00:00 2001 From: Michael Brasser Date: Tue, 26 May 2009 09:01:37 +1000 Subject: Test cleanup. --- tests/benchmarks/qfxview/main.cpp | 182 ------ tests/benchmarks/qfxview/qfxview.pro | 16 - .../qfxview/testdata/tatwheel/editor/data.xml | 44 -- .../qfxview/testdata/tatwheel/pics/background.png | Bin 26508 -> 0 bytes .../qfxview/testdata/tatwheel/pics/background3.png | Bin 37671 -> 0 bytes .../qfxview/testdata/tatwheel/pics/battery.png | Bin 770 -> 0 bytes .../testdata/tatwheel/pics/calendar-blur.png | Bin 51439 -> 0 bytes .../qfxview/testdata/tatwheel/pics/calendar.png | Bin 10153 -> 0 bytes .../testdata/tatwheel/pics/callhistory-blur.png | Bin 57023 -> 0 bytes .../qfxview/testdata/tatwheel/pics/callhistory.png | Bin 13227 -> 0 bytes .../qfxview/testdata/tatwheel/pics/camera-blur.png | Bin 50955 -> 0 bytes .../qfxview/testdata/tatwheel/pics/camera.png | Bin 16126 -> 0 bytes .../testdata/tatwheel/pics/contacts-blur.png | Bin 51041 -> 0 bytes .../qfxview/testdata/tatwheel/pics/contacts.png | Bin 12177 -> 0 bytes .../testdata/tatwheel/pics/file-manager-blur.png | Bin 45164 -> 0 bytes .../testdata/tatwheel/pics/file-manager.png | Bin 8858 -> 0 bytes .../qfxview/testdata/tatwheel/pics/fire.png | Bin 1124 -> 0 bytes .../qfxview/testdata/tatwheel/pics/flask-blue.png | Bin 764 -> 0 bytes .../testdata/tatwheel/pics/flask-container.png | Bin 536 -> 0 bytes .../qfxview/testdata/tatwheel/pics/flask-front.png | Bin 962 -> 0 bytes .../qfxview/testdata/tatwheel/pics/flask-pink.png | Bin 747 -> 0 bytes .../testdata/tatwheel/pics/flask-yellow.png | Bin 775 -> 0 bytes .../qfxview/testdata/tatwheel/pics/ice.png | Bin 1112 -> 0 bytes .../testdata/tatwheel/pics/icon-reflection.png | Bin 7123 -> 0 bytes .../testdata/tatwheel/pics/internet-blur.png | Bin 57126 -> 0 bytes .../qfxview/testdata/tatwheel/pics/internet.png | Bin 24320 -> 0 bytes .../testdata/tatwheel/pics/menu-background1.png | Bin 2831 -> 0 bytes .../testdata/tatwheel/pics/menu-border1.png | Bin 926 -> 0 bytes .../testdata/tatwheel/pics/menu-border3.png | Bin 10153 -> 0 bytes .../testdata/tatwheel/pics/menu-highlight.png | Bin 3421 -> 0 bytes .../qfxview/testdata/tatwheel/pics/menubar.png | Bin 741 -> 0 bytes .../testdata/tatwheel/pics/messages-blur.png | Bin 44556 -> 0 bytes .../qfxview/testdata/tatwheel/pics/messages.png | Bin 11426 -> 0 bytes .../qfxview/testdata/tatwheel/pics/moon.png | Bin 1027 -> 0 bytes .../qfxview/testdata/tatwheel/pics/sad.png | Bin 1053 -> 0 bytes .../testdata/tatwheel/pics/settings-blur.png | Bin 50199 -> 0 bytes .../qfxview/testdata/tatwheel/pics/settings.png | Bin 8697 -> 0 bytes .../qfxview/testdata/tatwheel/pics/signal.png | Bin 739 -> 0 bytes .../qfxview/testdata/tatwheel/pics/smile.png | Bin 1051 -> 0 bytes .../qfxview/testdata/tatwheel/pics/star.png | Bin 262 -> 0 bytes .../qfxview/testdata/tatwheel/pics/sun.png | Bin 1021 -> 0 bytes .../qfxview/testdata/tatwheel/pics/titlebar.png | Bin 1041 -> 0 bytes .../qfxview/testdata/tatwheel/pics/wifi.png | Bin 782 -> 0 bytes .../qfxview/testdata/tatwheel/tat-wheel.xml | 68 -- tests/benchmarks/qmlpainting/qmlpainting.pro | 5 + tests/benchmarks/qmlpainting/tst_qmlpainting.cpp | 696 +++++++++++++++++++++ tests/benchmarks/qmlxmlparser/main.cpp | 96 --- tests/benchmarks/qmlxmlparser/qmlxmlparser.pro | 14 - .../benchmarks/qmlxmlparser/testdata/concept2.xml | 421 ------------- 49 files changed, 701 insertions(+), 841 deletions(-) delete mode 100644 tests/benchmarks/qfxview/main.cpp delete mode 100644 tests/benchmarks/qfxview/qfxview.pro delete mode 100644 tests/benchmarks/qfxview/testdata/tatwheel/editor/data.xml delete mode 100644 tests/benchmarks/qfxview/testdata/tatwheel/pics/background.png delete mode 100644 tests/benchmarks/qfxview/testdata/tatwheel/pics/background3.png delete mode 100644 tests/benchmarks/qfxview/testdata/tatwheel/pics/battery.png delete mode 100644 tests/benchmarks/qfxview/testdata/tatwheel/pics/calendar-blur.png delete mode 100644 tests/benchmarks/qfxview/testdata/tatwheel/pics/calendar.png delete mode 100644 tests/benchmarks/qfxview/testdata/tatwheel/pics/callhistory-blur.png delete mode 100644 tests/benchmarks/qfxview/testdata/tatwheel/pics/callhistory.png delete mode 100644 tests/benchmarks/qfxview/testdata/tatwheel/pics/camera-blur.png delete mode 100644 tests/benchmarks/qfxview/testdata/tatwheel/pics/camera.png delete mode 100644 tests/benchmarks/qfxview/testdata/tatwheel/pics/contacts-blur.png delete mode 100644 tests/benchmarks/qfxview/testdata/tatwheel/pics/contacts.png delete mode 100644 tests/benchmarks/qfxview/testdata/tatwheel/pics/file-manager-blur.png delete mode 100644 tests/benchmarks/qfxview/testdata/tatwheel/pics/file-manager.png delete mode 100644 tests/benchmarks/qfxview/testdata/tatwheel/pics/fire.png delete mode 100644 tests/benchmarks/qfxview/testdata/tatwheel/pics/flask-blue.png delete mode 100644 tests/benchmarks/qfxview/testdata/tatwheel/pics/flask-container.png delete mode 100644 tests/benchmarks/qfxview/testdata/tatwheel/pics/flask-front.png delete mode 100644 tests/benchmarks/qfxview/testdata/tatwheel/pics/flask-pink.png delete mode 100644 tests/benchmarks/qfxview/testdata/tatwheel/pics/flask-yellow.png delete mode 100644 tests/benchmarks/qfxview/testdata/tatwheel/pics/ice.png delete mode 100644 tests/benchmarks/qfxview/testdata/tatwheel/pics/icon-reflection.png delete mode 100644 tests/benchmarks/qfxview/testdata/tatwheel/pics/internet-blur.png delete mode 100644 tests/benchmarks/qfxview/testdata/tatwheel/pics/internet.png delete mode 100644 tests/benchmarks/qfxview/testdata/tatwheel/pics/menu-background1.png delete mode 100644 tests/benchmarks/qfxview/testdata/tatwheel/pics/menu-border1.png delete mode 100644 tests/benchmarks/qfxview/testdata/tatwheel/pics/menu-border3.png delete mode 100644 tests/benchmarks/qfxview/testdata/tatwheel/pics/menu-highlight.png delete mode 100644 tests/benchmarks/qfxview/testdata/tatwheel/pics/menubar.png delete mode 100644 tests/benchmarks/qfxview/testdata/tatwheel/pics/messages-blur.png delete mode 100644 tests/benchmarks/qfxview/testdata/tatwheel/pics/messages.png delete mode 100644 tests/benchmarks/qfxview/testdata/tatwheel/pics/moon.png delete mode 100644 tests/benchmarks/qfxview/testdata/tatwheel/pics/sad.png delete mode 100644 tests/benchmarks/qfxview/testdata/tatwheel/pics/settings-blur.png delete mode 100644 tests/benchmarks/qfxview/testdata/tatwheel/pics/settings.png delete mode 100644 tests/benchmarks/qfxview/testdata/tatwheel/pics/signal.png delete mode 100644 tests/benchmarks/qfxview/testdata/tatwheel/pics/smile.png delete mode 100644 tests/benchmarks/qfxview/testdata/tatwheel/pics/star.png delete mode 100644 tests/benchmarks/qfxview/testdata/tatwheel/pics/sun.png delete mode 100644 tests/benchmarks/qfxview/testdata/tatwheel/pics/titlebar.png delete mode 100644 tests/benchmarks/qfxview/testdata/tatwheel/pics/wifi.png delete mode 100644 tests/benchmarks/qfxview/testdata/tatwheel/tat-wheel.xml create mode 100644 tests/benchmarks/qmlpainting/qmlpainting.pro create mode 100644 tests/benchmarks/qmlpainting/tst_qmlpainting.cpp delete mode 100644 tests/benchmarks/qmlxmlparser/main.cpp delete mode 100644 tests/benchmarks/qmlxmlparser/qmlxmlparser.pro delete mode 100644 tests/benchmarks/qmlxmlparser/testdata/concept2.xml diff --git a/tests/benchmarks/qfxview/main.cpp b/tests/benchmarks/qfxview/main.cpp deleted file mode 100644 index 787b113..0000000 --- a/tests/benchmarks/qfxview/main.cpp +++ /dev/null @@ -1,182 +0,0 @@ -#include -#include -#include -#include -#include - -class tst_qfxview : public QObject -{ - Q_OBJECT - -private slots: - void render(); - void render_data(); - -private: - void waitForUpdates(QObject* obj, int howmany, int timeout = 10000); - bool eventFilter(QObject*, QEvent*); - - QString testdata(QString const&); - QString readFile(QString const&); - - int m_updateCount; - QEventLoop* m_eventLoop; - int m_updateLimit; -}; - -bool tst_qfxview::eventFilter(QObject*, QEvent* e) -{ - if (!m_eventLoop) { - return false; - } - - if (e->type() == QEvent::UpdateRequest) { - m_updateCount++; - if (m_updateCount >= m_updateLimit) { - m_eventLoop->quit(); - } - } - - return false; -} - -void tst_qfxview::waitForUpdates(QObject* obj, int howmany, int timeout) -{ - m_updateLimit = howmany; - m_updateCount = 0; - - QEventLoop loop; - m_eventLoop = &loop; - if (timeout > 0) - QTimer::singleShot(timeout, &loop, SLOT(quit())); - - obj->installEventFilter(this); - loop.exec(); - obj->removeEventFilter(this); - - m_eventLoop = 0; - - if (m_updateCount < howmany) { - QFAIL(qPrintable( - QString("Didn't receive %1 updates within %2 milliseconds (only got %3)") - .arg(howmany).arg(timeout).arg(m_updateCount) - )); - } -} - -void tst_qfxview::render() -{ - QFETCH(QString, xml); - QFETCH(QString, filename); - QFETCH(int, mode); - - static const int FRAMES = 100; - - QPixmap pm(800, 600); - - QFxView view((QSimpleCanvas::CanvasMode)mode); - view.setFixedSize(pm.size()); - if (!filename.isEmpty()) { - filename = testdata(filename); - xml = readFile(filename); - } - view.setXml(xml, filename); - QFileInfo fi(filename); - view.setPath(fi.path()); - - /* So we can reuse duiviewer examples... */ - QObject *dummyData = QML::newInstance(fi.path() + "/editor/data.xml"); - if (dummyData) { - QmlBindContext *ctxt = view.bindContext(); - ctxt->setProperty("obj", dummyData); - ctxt->addDefaultObject(dummyData); - dummyData->setParent(&view); - } - - view.show(); - view.raise(); - QTest::qWait(100); - view.activateWindow(); - QTest::qWait(100); - QVERIFY(view.isActiveWindow()); - - view.execute(); - - /* Set internal GfxAppClock to consistent timing (every tick is 5 ms) */ - { - GfxTimeLine tl; - tl.setMode(GfxTimeLine::Consistent); - } - - /* Render FRAMES amount of updates */ - QBENCHMARK { - waitForUpdates(&view, FRAMES); - if (QTest::currentTestFailed()) return; - } - - //view.dumpTiming(); -} - -void tst_qfxview::render_data() -{ - QTest::addColumn ("xml"); - QTest::addColumn ("filename"); - QTest::addColumn ("mode"); - - QTest::newRow("tatwheel-simplecanvas") - << QString() - << QString("tatwheel/tat-wheel.xml") - << int(QSimpleCanvas::SimpleCanvas) - ; - - QTest::newRow("tatwheel-graphicsview") - << QString() - << QString("tatwheel/tat-wheel.xml") - << int(QSimpleCanvas::GraphicsView) - ; - -} - -QString tst_qfxview::readFile(QString const& filename) -{ - QFile file(filename); - if (!file.open(QIODevice::ReadOnly)) { - qFatal("Could not open %s: %s", qPrintable(filename), qPrintable(file.errorString())); - } - QByteArray ba = file.readAll(); - return QString::fromLatin1(ba); -} - -QString tst_qfxview::testdata(QString const& name) -{ -#define _STR(X) #X -#define STR(X) _STR(X) - return QString("%1/testdata/%2").arg(STR(SRCDIR)).arg(name); -} - -int main(int argc, char** argv) -{ - /* Remove this when -graphicssystem raster is the default. */ - bool explicit_graphicssystem = false; - - QVector args; - for (int i = 0; i < argc; ++i) { - if (!strcmp(argv[i], "-graphicssystem")) - explicit_graphicssystem = true; - args << argv[i]; - } - - if (!explicit_graphicssystem) { - args << "-graphicssystem" << "raster"; - } - - argc = args.count(); - argv = const_cast(args.data()); - - QApplication app(argc, argv); - - tst_qfxview test; - return QTest::qExec(&test, argc, argv); -} - -#include "main.moc" diff --git a/tests/benchmarks/qfxview/qfxview.pro b/tests/benchmarks/qfxview/qfxview.pro deleted file mode 100644 index e7dd168..0000000 --- a/tests/benchmarks/qfxview/qfxview.pro +++ /dev/null @@ -1,16 +0,0 @@ -load(qttest_p4) -TEMPLATE = app -TARGET = tst_qfxview -DEPENDPATH += . -INCLUDEPATH += . - -CONFIG += release - -QT += declarative script - -DEFINES+=SRCDIR=\"$$PWD\" - -# Input -SOURCES += \ - main.cpp - diff --git a/tests/benchmarks/qfxview/testdata/tatwheel/editor/data.xml b/tests/benchmarks/qfxview/testdata/tatwheel/editor/data.xml deleted file mode 100644 index 0a28d4f..0000000 --- a/tests/benchmarks/qfxview/testdata/tatwheel/editor/data.xml +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - Internet - pics/internet - - - Calendar - pics/calendar - - - Contacts - pics/contacts - - - Camera - pics/camera - - - Messages - pics/messages - - - Call history - pics/callhistory - - - File manager - pics/file-manager - - - Settings - pics/settings - - - Call history - pics/callhistory - - - - - diff --git a/tests/benchmarks/qfxview/testdata/tatwheel/pics/background.png b/tests/benchmarks/qfxview/testdata/tatwheel/pics/background.png deleted file mode 100644 index 4b6f56e..0000000 Binary files a/tests/benchmarks/qfxview/testdata/tatwheel/pics/background.png and /dev/null differ diff --git a/tests/benchmarks/qfxview/testdata/tatwheel/pics/background3.png b/tests/benchmarks/qfxview/testdata/tatwheel/pics/background3.png deleted file mode 100644 index 66cb522..0000000 Binary files a/tests/benchmarks/qfxview/testdata/tatwheel/pics/background3.png and /dev/null differ diff --git a/tests/benchmarks/qfxview/testdata/tatwheel/pics/battery.png b/tests/benchmarks/qfxview/testdata/tatwheel/pics/battery.png deleted file mode 100644 index 4bd03d4..0000000 Binary files a/tests/benchmarks/qfxview/testdata/tatwheel/pics/battery.png and /dev/null differ diff --git a/tests/benchmarks/qfxview/testdata/tatwheel/pics/calendar-blur.png b/tests/benchmarks/qfxview/testdata/tatwheel/pics/calendar-blur.png deleted file mode 100644 index 136ae80..0000000 Binary files a/tests/benchmarks/qfxview/testdata/tatwheel/pics/calendar-blur.png and /dev/null differ diff --git a/tests/benchmarks/qfxview/testdata/tatwheel/pics/calendar.png b/tests/benchmarks/qfxview/testdata/tatwheel/pics/calendar.png deleted file mode 100644 index 0e63f1c..0000000 Binary files a/tests/benchmarks/qfxview/testdata/tatwheel/pics/calendar.png and /dev/null differ diff --git a/tests/benchmarks/qfxview/testdata/tatwheel/pics/callhistory-blur.png b/tests/benchmarks/qfxview/testdata/tatwheel/pics/callhistory-blur.png deleted file mode 100644 index 5ed1c99..0000000 Binary files a/tests/benchmarks/qfxview/testdata/tatwheel/pics/callhistory-blur.png and /dev/null differ diff --git a/tests/benchmarks/qfxview/testdata/tatwheel/pics/callhistory.png b/tests/benchmarks/qfxview/testdata/tatwheel/pics/callhistory.png deleted file mode 100644 index 6c26405..0000000 Binary files a/tests/benchmarks/qfxview/testdata/tatwheel/pics/callhistory.png and /dev/null differ diff --git a/tests/benchmarks/qfxview/testdata/tatwheel/pics/camera-blur.png b/tests/benchmarks/qfxview/testdata/tatwheel/pics/camera-blur.png deleted file mode 100644 index 7285278..0000000 Binary files a/tests/benchmarks/qfxview/testdata/tatwheel/pics/camera-blur.png and /dev/null differ diff --git a/tests/benchmarks/qfxview/testdata/tatwheel/pics/camera.png b/tests/benchmarks/qfxview/testdata/tatwheel/pics/camera.png deleted file mode 100644 index 710907f..0000000 Binary files a/tests/benchmarks/qfxview/testdata/tatwheel/pics/camera.png and /dev/null differ diff --git a/tests/benchmarks/qfxview/testdata/tatwheel/pics/contacts-blur.png b/tests/benchmarks/qfxview/testdata/tatwheel/pics/contacts-blur.png deleted file mode 100644 index 5ba94c7..0000000 Binary files a/tests/benchmarks/qfxview/testdata/tatwheel/pics/contacts-blur.png and /dev/null differ diff --git a/tests/benchmarks/qfxview/testdata/tatwheel/pics/contacts.png b/tests/benchmarks/qfxview/testdata/tatwheel/pics/contacts.png deleted file mode 100644 index 78bb885..0000000 Binary files a/tests/benchmarks/qfxview/testdata/tatwheel/pics/contacts.png and /dev/null differ diff --git a/tests/benchmarks/qfxview/testdata/tatwheel/pics/file-manager-blur.png b/tests/benchmarks/qfxview/testdata/tatwheel/pics/file-manager-blur.png deleted file mode 100644 index 6ec1d55..0000000 Binary files a/tests/benchmarks/qfxview/testdata/tatwheel/pics/file-manager-blur.png and /dev/null differ diff --git a/tests/benchmarks/qfxview/testdata/tatwheel/pics/file-manager.png b/tests/benchmarks/qfxview/testdata/tatwheel/pics/file-manager.png deleted file mode 100644 index e58a39b..0000000 Binary files a/tests/benchmarks/qfxview/testdata/tatwheel/pics/file-manager.png and /dev/null differ diff --git a/tests/benchmarks/qfxview/testdata/tatwheel/pics/fire.png b/tests/benchmarks/qfxview/testdata/tatwheel/pics/fire.png deleted file mode 100644 index e1b40cf..0000000 Binary files a/tests/benchmarks/qfxview/testdata/tatwheel/pics/fire.png and /dev/null differ diff --git a/tests/benchmarks/qfxview/testdata/tatwheel/pics/flask-blue.png b/tests/benchmarks/qfxview/testdata/tatwheel/pics/flask-blue.png deleted file mode 100644 index 3cb05ef..0000000 Binary files a/tests/benchmarks/qfxview/testdata/tatwheel/pics/flask-blue.png and /dev/null differ diff --git a/tests/benchmarks/qfxview/testdata/tatwheel/pics/flask-container.png b/tests/benchmarks/qfxview/testdata/tatwheel/pics/flask-container.png deleted file mode 100644 index dd34cbd..0000000 Binary files a/tests/benchmarks/qfxview/testdata/tatwheel/pics/flask-container.png and /dev/null differ diff --git a/tests/benchmarks/qfxview/testdata/tatwheel/pics/flask-front.png b/tests/benchmarks/qfxview/testdata/tatwheel/pics/flask-front.png deleted file mode 100644 index bed9e60..0000000 Binary files a/tests/benchmarks/qfxview/testdata/tatwheel/pics/flask-front.png and /dev/null differ diff --git a/tests/benchmarks/qfxview/testdata/tatwheel/pics/flask-pink.png b/tests/benchmarks/qfxview/testdata/tatwheel/pics/flask-pink.png deleted file mode 100644 index b84ee88..0000000 Binary files a/tests/benchmarks/qfxview/testdata/tatwheel/pics/flask-pink.png and /dev/null differ diff --git a/tests/benchmarks/qfxview/testdata/tatwheel/pics/flask-yellow.png b/tests/benchmarks/qfxview/testdata/tatwheel/pics/flask-yellow.png deleted file mode 100644 index 4108ea3..0000000 Binary files a/tests/benchmarks/qfxview/testdata/tatwheel/pics/flask-yellow.png and /dev/null differ diff --git a/tests/benchmarks/qfxview/testdata/tatwheel/pics/ice.png b/tests/benchmarks/qfxview/testdata/tatwheel/pics/ice.png deleted file mode 100644 index 8191fbc..0000000 Binary files a/tests/benchmarks/qfxview/testdata/tatwheel/pics/ice.png and /dev/null differ diff --git a/tests/benchmarks/qfxview/testdata/tatwheel/pics/icon-reflection.png b/tests/benchmarks/qfxview/testdata/tatwheel/pics/icon-reflection.png deleted file mode 100644 index 6c19e71..0000000 Binary files a/tests/benchmarks/qfxview/testdata/tatwheel/pics/icon-reflection.png and /dev/null differ diff --git a/tests/benchmarks/qfxview/testdata/tatwheel/pics/internet-blur.png b/tests/benchmarks/qfxview/testdata/tatwheel/pics/internet-blur.png deleted file mode 100644 index 32dc564..0000000 Binary files a/tests/benchmarks/qfxview/testdata/tatwheel/pics/internet-blur.png and /dev/null differ diff --git a/tests/benchmarks/qfxview/testdata/tatwheel/pics/internet.png b/tests/benchmarks/qfxview/testdata/tatwheel/pics/internet.png deleted file mode 100644 index 820ce34..0000000 Binary files a/tests/benchmarks/qfxview/testdata/tatwheel/pics/internet.png and /dev/null differ diff --git a/tests/benchmarks/qfxview/testdata/tatwheel/pics/menu-background1.png b/tests/benchmarks/qfxview/testdata/tatwheel/pics/menu-background1.png deleted file mode 100644 index e84dc11..0000000 Binary files a/tests/benchmarks/qfxview/testdata/tatwheel/pics/menu-background1.png and /dev/null differ diff --git a/tests/benchmarks/qfxview/testdata/tatwheel/pics/menu-border1.png b/tests/benchmarks/qfxview/testdata/tatwheel/pics/menu-border1.png deleted file mode 100644 index e6dea40..0000000 Binary files a/tests/benchmarks/qfxview/testdata/tatwheel/pics/menu-border1.png and /dev/null differ diff --git a/tests/benchmarks/qfxview/testdata/tatwheel/pics/menu-border3.png b/tests/benchmarks/qfxview/testdata/tatwheel/pics/menu-border3.png deleted file mode 100644 index 1d8a571..0000000 Binary files a/tests/benchmarks/qfxview/testdata/tatwheel/pics/menu-border3.png and /dev/null differ diff --git a/tests/benchmarks/qfxview/testdata/tatwheel/pics/menu-highlight.png b/tests/benchmarks/qfxview/testdata/tatwheel/pics/menu-highlight.png deleted file mode 100644 index 3817b08..0000000 Binary files a/tests/benchmarks/qfxview/testdata/tatwheel/pics/menu-highlight.png and /dev/null differ diff --git a/tests/benchmarks/qfxview/testdata/tatwheel/pics/menubar.png b/tests/benchmarks/qfxview/testdata/tatwheel/pics/menubar.png deleted file mode 100644 index 1b0380a..0000000 Binary files a/tests/benchmarks/qfxview/testdata/tatwheel/pics/menubar.png and /dev/null differ diff --git a/tests/benchmarks/qfxview/testdata/tatwheel/pics/messages-blur.png b/tests/benchmarks/qfxview/testdata/tatwheel/pics/messages-blur.png deleted file mode 100644 index 3c62d53..0000000 Binary files a/tests/benchmarks/qfxview/testdata/tatwheel/pics/messages-blur.png and /dev/null differ diff --git a/tests/benchmarks/qfxview/testdata/tatwheel/pics/messages.png b/tests/benchmarks/qfxview/testdata/tatwheel/pics/messages.png deleted file mode 100644 index a452d58..0000000 Binary files a/tests/benchmarks/qfxview/testdata/tatwheel/pics/messages.png and /dev/null differ diff --git a/tests/benchmarks/qfxview/testdata/tatwheel/pics/moon.png b/tests/benchmarks/qfxview/testdata/tatwheel/pics/moon.png deleted file mode 100644 index cc3a3bc..0000000 Binary files a/tests/benchmarks/qfxview/testdata/tatwheel/pics/moon.png and /dev/null differ diff --git a/tests/benchmarks/qfxview/testdata/tatwheel/pics/sad.png b/tests/benchmarks/qfxview/testdata/tatwheel/pics/sad.png deleted file mode 100644 index de90bc4..0000000 Binary files a/tests/benchmarks/qfxview/testdata/tatwheel/pics/sad.png and /dev/null differ diff --git a/tests/benchmarks/qfxview/testdata/tatwheel/pics/settings-blur.png b/tests/benchmarks/qfxview/testdata/tatwheel/pics/settings-blur.png deleted file mode 100644 index f175161..0000000 Binary files a/tests/benchmarks/qfxview/testdata/tatwheel/pics/settings-blur.png and /dev/null differ diff --git a/tests/benchmarks/qfxview/testdata/tatwheel/pics/settings.png b/tests/benchmarks/qfxview/testdata/tatwheel/pics/settings.png deleted file mode 100644 index 6e72796..0000000 Binary files a/tests/benchmarks/qfxview/testdata/tatwheel/pics/settings.png and /dev/null differ diff --git a/tests/benchmarks/qfxview/testdata/tatwheel/pics/signal.png b/tests/benchmarks/qfxview/testdata/tatwheel/pics/signal.png deleted file mode 100644 index 7af4c24..0000000 Binary files a/tests/benchmarks/qfxview/testdata/tatwheel/pics/signal.png and /dev/null differ diff --git a/tests/benchmarks/qfxview/testdata/tatwheel/pics/smile.png b/tests/benchmarks/qfxview/testdata/tatwheel/pics/smile.png deleted file mode 100644 index f6bf09f..0000000 Binary files a/tests/benchmarks/qfxview/testdata/tatwheel/pics/smile.png and /dev/null differ diff --git a/tests/benchmarks/qfxview/testdata/tatwheel/pics/star.png b/tests/benchmarks/qfxview/testdata/tatwheel/pics/star.png deleted file mode 100644 index defbde5..0000000 Binary files a/tests/benchmarks/qfxview/testdata/tatwheel/pics/star.png and /dev/null differ diff --git a/tests/benchmarks/qfxview/testdata/tatwheel/pics/sun.png b/tests/benchmarks/qfxview/testdata/tatwheel/pics/sun.png deleted file mode 100644 index b2092f1..0000000 Binary files a/tests/benchmarks/qfxview/testdata/tatwheel/pics/sun.png and /dev/null differ diff --git a/tests/benchmarks/qfxview/testdata/tatwheel/pics/titlebar.png b/tests/benchmarks/qfxview/testdata/tatwheel/pics/titlebar.png deleted file mode 100644 index 40484d0..0000000 Binary files a/tests/benchmarks/qfxview/testdata/tatwheel/pics/titlebar.png and /dev/null differ diff --git a/tests/benchmarks/qfxview/testdata/tatwheel/pics/wifi.png b/tests/benchmarks/qfxview/testdata/tatwheel/pics/wifi.png deleted file mode 100644 index ada1d3b..0000000 Binary files a/tests/benchmarks/qfxview/testdata/tatwheel/pics/wifi.png and /dev/null differ diff --git a/tests/benchmarks/qfxview/testdata/tatwheel/tat-wheel.xml b/tests/benchmarks/qfxview/testdata/tatwheel/tat-wheel.xml deleted file mode 100644 index 6da6608..0000000 --- a/tests/benchmarks/qfxview/testdata/tatwheel/tat-wheel.xml +++ /dev/null @@ -1,68 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/tests/benchmarks/qmlpainting/qmlpainting.pro b/tests/benchmarks/qmlpainting/qmlpainting.pro new file mode 100644 index 0000000..58e9775 --- /dev/null +++ b/tests/benchmarks/qmlpainting/qmlpainting.pro @@ -0,0 +1,5 @@ +load(qttest_p4) +TEMPLATE = app +TARGET = tst_qmlpainting + +SOURCES += tst_qmlpainting.cpp diff --git a/tests/benchmarks/qmlpainting/tst_qmlpainting.cpp b/tests/benchmarks/qmlpainting/tst_qmlpainting.cpp new file mode 100644 index 0000000..ae6f9a3 --- /dev/null +++ b/tests/benchmarks/qmlpainting/tst_qmlpainting.cpp @@ -0,0 +1,696 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include +#include +#include + +#include +#ifndef M_PI +#define M_PI 3.14159265358979323846 +#endif + +class tst_QmlPainting : public QObject +{ + Q_OBJECT + + public: + tst_QmlPainting() {} + +private slots: + void drawRoundedRect(); + void drawScaledRoundedRect(); + void drawTransformedRoundedRect(); + void drawAntialiasedRoundedRect(); + void drawScaledAntialiasedRoundedRect_data(); + void drawScaledAntialiasedRoundedRect(); + void drawTransformedAntialiasedRoundedRect_data(); + void drawTransformedAntialiasedRoundedRect(); + void drawImageRoundedRect(); + void drawScaledImageRoundedRect_data(); + void drawScaledImageRoundedRect(); + void drawTransformedImageRoundedRect_data(); + void drawTransformedImageRoundedRect(); + void drawScaleGridRoundedRect(); + void drawScaledScaleGridRoundedRect_data(); + void drawScaledScaleGridRoundedRect(); + void drawTransformedScaleGridRoundedRect_data(); + void drawTransformedScaleGridRoundedRect(); + void drawTransformedTransparentImage_data(); + void drawTransformedTransparentImage(); + void drawTransformedSemiTransparentImage_data(); + void drawTransformedSemiTransparentImage(); + void drawTransformedFilledImage_data(); + void drawTransformedFilledImage(); +}; + +const qreal inv_dist_to_plane = 1. / 1024.; +QTransform transformForAngle(qreal angle) +{ + QTransform transform; + + QTransform rotTrans; + rotTrans.translate(-40, 0); + QTransform rotTrans2; + rotTrans2.translate(40, 0); + + qreal rad = angle * 2. * M_PI / 360.; + qreal c = ::cos(rad); + qreal s = ::sin(rad); + + qreal x = 0; + qreal y = 80; + qreal z = 0; + + qreal len = x * x + y * y + z * z; + if (len != 1.) { + len = ::sqrt(len); + x /= len; + y /= len; + z /= len; + } + + QTransform rot(x*x*(1-c)+c, x*y*(1-c)-z*s, x*z*(1-c)+y*s*inv_dist_to_plane, + y*x*(1-c)+z*s, y*y*(1-c)+c, y*z*(1-c)-x*s*inv_dist_to_plane, + 0, 0, 1); + + transform *= rotTrans; + transform *= rot; + transform *= rotTrans2; + + return transform; +} + +void tst_QmlPainting::drawRoundedRect() +{ + QImage surface(100, 100, QImage::Format_RGB16); + surface.fill(QColor(255,255,255).rgb()); + QPainter p(&surface); + + p.setPen(QPen(Qt::black, 1)); + p.setBrush(Qt::red); + + QBENCHMARK { + p.drawRoundedRect(QRectF(.5, .5, 80, 80), 10, 10); + } + surface.save("regular.png"); +} + +void tst_QmlPainting::drawScaledRoundedRect() +{ + QImage surface(400, 400, QImage::Format_RGB16); + surface.fill(QColor(255,255,255).rgb()); + QPainter p(&surface); + + p.setPen(QPen(Qt::black, 1)); + p.setBrush(Qt::red); + p.scale(3, 3); + + QBENCHMARK { + p.drawRoundedRect(10, 10, 80, 80, 10, 10); + } + surface.save("scaled.png"); +} + +void tst_QmlPainting::drawTransformedRoundedRect() +{ + QImage surface(400, 400, QImage::Format_RGB16); + surface.fill(QColor(255,255,255).rgb()); + QPainter p(&surface); + + p.setPen(QPen(Qt::black, 1)); + p.setBrush(Qt::red); + + QBENCHMARK { + p.setWorldTransform(QTransform(0.956957, 0, 0.000704124, 0, 1, 0, 16.141, 0, 0.735953)); + p.drawRoundedRect(100, 100, 80, 80, 10, 10); + } + surface.save("transformed.png"); +} + +void tst_QmlPainting::drawAntialiasedRoundedRect() +{ + QImage surface(100, 100, QImage::Format_RGB16); + surface.fill(QColor(255,255,255).rgb()); + QPainter p(&surface); + + p.setRenderHint(QPainter::Antialiasing, true); + p.setPen(QPen(Qt::black, 1)); + p.setBrush(Qt::red); + + QBENCHMARK { + p.drawRoundedRect(QRectF(.5, .5, 80, 80), 10, 10); + } + surface.save("aar.png"); +} + +void tst_QmlPainting::drawScaledAntialiasedRoundedRect_data() +{ + QTest::addColumn("scale"); + + for (float i = 0; i < 3; i += .1) + QTest::newRow(QString(QLatin1String("scale=%1")).arg(i).toLatin1()) << i; +} + +void tst_QmlPainting::drawScaledAntialiasedRoundedRect() +{ + QFETCH(float, scale); + + QImage surface(400, 400, QImage::Format_RGB16); + surface.fill(QColor(255,255,255).rgb()); + QPainter p(&surface); + + p.setRenderHint(QPainter::Antialiasing, true); + p.setPen(QPen(Qt::black, 1)); + p.setBrush(Qt::red); + p.scale(scale, scale); + + QBENCHMARK { + p.drawRoundedRect(10, 10, 80, 80, 10, 10); + } + surface.save("aas.png"); +} + +void tst_QmlPainting::drawTransformedAntialiasedRoundedRect_data() +{ + QTest::addColumn("transform"); + + for (float angle = 0; angle < 360; angle += 10) + QTest::newRow(QString(QLatin1String("angle=%1")).arg(angle).toLatin1()) << transformForAngle(angle); +} + +void tst_QmlPainting::drawTransformedAntialiasedRoundedRect() +{ + QFETCH(QTransform, transform); + + QImage surface(400, 400, QImage::Format_RGB16); + surface.fill(QColor(255,255,255).rgb()); + QPainter p(&surface); + + p.setRenderHint(QPainter::Antialiasing, true); + p.setPen(QPen(Qt::black, 1)); + p.setBrush(Qt::red); + + QBENCHMARK { + p.setWorldTransform(transform); + p.drawRoundedRect(100, 100, 80, 80, 10, 10); + } + surface.save("aat.png"); +} + +void tst_QmlPainting::drawImageRoundedRect() +{ + //setup image + const int radius = 10; + QImage rectImage(81, 81, QImage::Format_ARGB32_Premultiplied); + rectImage.fill(0); + QPainter rp(&rectImage); + rp.setRenderHint(QPainter::Antialiasing); + rp.setPen(Qt::black); + rp.setBrush(Qt::red); + rp.drawRoundedRect(QRectF(.5, .5, 80, 80), radius, radius); + + //setup surface + QImage surface(100, 100, QImage::Format_RGB16); + surface.fill(QColor(255,255,255).rgb()); + QPainter p(&surface); + + QBENCHMARK { + p.drawImage(0,0, rectImage); + } + surface.save("ri.png"); +} + +void tst_QmlPainting::drawScaledImageRoundedRect_data() +{ + QTest::addColumn("imageType"); + + QTest::newRow("imagetype=ARGB32_Pre") << (int)QImage::Format_ARGB32_Premultiplied; + QTest::newRow("imagetype=ARGB8565_Pre") << (int)QImage::Format_ARGB8565_Premultiplied; +} + +void tst_QmlPainting::drawScaledImageRoundedRect() +{ + QFETCH(int, imageType); + + //setup image + const int radius = 10; + QImage rectImage(81, 81, (QImage::Format)imageType); + rectImage.fill(0); + QPainter rp(&rectImage); + rp.setRenderHint(QPainter::Antialiasing); + rp.setPen(Qt::black); + rp.setBrush(Qt::red); + rp.drawRoundedRect(QRectF(.5, .5, 80, 80), radius, radius); + + //setup surface + QImage surface(400, 400, QImage::Format_RGB16); + surface.fill(QColor(255,255,255).rgb()); + QPainter p(&surface); + p.scale(3, 3); + + QBENCHMARK { + p.drawImage(0,0, rectImage); + } + surface.save("si.png"); +} + +void tst_QmlPainting::drawTransformedImageRoundedRect_data() +{ + QTest::addColumn("imageType"); + + QTest::newRow("imagetype=ARGB32_Pre") << (int)QImage::Format_ARGB32_Premultiplied; + QTest::newRow("imagetype=ARGB8565_Pre") << (int)QImage::Format_ARGB8565_Premultiplied; +} + +void tst_QmlPainting::drawTransformedImageRoundedRect() +{ + QFETCH(int, imageType); + + //setup image + const int radius = 10; + QImage rectImage(81, 81, (QImage::Format)imageType); + rectImage.fill(0); + QPainter rp(&rectImage); + rp.setRenderHint(QPainter::Antialiasing); + rp.setPen(Qt::black); + rp.setBrush(Qt::red); + rp.drawRoundedRect(QRectF(.5, .5, 80, 80), radius, radius); + + //setup surface + QImage surface(400, 400, QImage::Format_RGB16); + surface.fill(QColor(255,255,255).rgb()); + QPainter p(&surface); + + QBENCHMARK { + p.setWorldTransform(QTransform(0.956957, 0, 0.000704124, 0, 1, 0, 16.141, 0, 0.735953)); + p.drawImage(100,100, rectImage); + } + surface.save("ti.png"); +} + +//code from QFxRect for drawing rounded rects +void tst_QmlPainting::drawScaleGridRoundedRect() +{ + //setup image + const int pw = 1; + const int radius = 10; + QImage rectImage(radius*2 + 3 + pw*2, radius*2 + 3 + pw*2, QImage::Format_ARGB32_Premultiplied); + rectImage.fill(0); + QPainter rp(&rectImage); + rp.setRenderHint(QPainter::Antialiasing); + rp.setPen(Qt::black); + rp.setBrush(Qt::red); + if (pw%2) + rp.drawRoundedRect(QRectF(qreal(pw)/2+1, qreal(pw)/2+1, rectImage.width()-(pw+1), rectImage.height()-(pw+1)), radius, radius); + else + rp.drawRoundedRect(QRectF(qreal(pw)/2, qreal(pw)/2, rectImage.width()-pw, rectImage.height()-pw), radius, radius); + + //setup surface + QImage surface(100, 100, QImage::Format_RGB16); + surface.fill(QColor(255,255,255).rgb()); + QPainter p(&surface); + + QBENCHMARK { + const int pw = 2; + int offset = int(radius+1.5+pw); + int width = 80; + int height = 80; + + int w = width+pw; + int h = height+pw; + int xOffset = offset; + int xSide = xOffset * 2; + bool xMiddles=true; + if (xSide > w) { + xMiddles=false; + xOffset = w/2 + 1; + xSide = xOffset * 2; + } + int yOffset = offset; + int ySide = yOffset * 2; + bool yMiddles=true; + if (ySide > h) { + yMiddles = false; + yOffset = h/2 + 1; + ySide = yOffset * 2; + } + + // Upper left + p.drawImage(QRect(-pw/2, -pw/2, xOffset, yOffset), rectImage, QRect(0, 0, xOffset, yOffset)); + + // Upper middle + if (xMiddles) + p.drawImage(QRect(xOffset-pw/2, -pw/2, width - xSide + pw, yOffset), rectImage, + QRect(rectImage.width()/2, 0, 1, yOffset)); + // Upper right + p.drawImage(QPoint(width-xOffset+pw/2, -pw/2), rectImage, + QRect(rectImage.width()-xOffset, 0, xOffset, yOffset)); + // Middle left + if (yMiddles) + p.drawImage(QRect(-pw/2, yOffset-pw/2, xOffset, height - ySide + pw), rectImage, + QRect(0, rectImage.height()/2, xOffset, 1)); + + // Middle + if (xMiddles && yMiddles) + p.drawImage(QRect(xOffset-pw/2, yOffset-pw/2, width - xSide + pw, height - ySide + pw), rectImage, + QRect(rectImage.width()/2, rectImage.height()/2, 1, 1)); + // Middle right + if (yMiddles) + p.drawImage(QRect(width-xOffset+pw/2, yOffset-pw/2, xOffset, height - ySide + pw), rectImage, + QRect(rectImage.width()-xOffset, rectImage.height()/2, xOffset, 1)); + // Lower left + p.drawImage(QPoint(-pw/2, height - yOffset + pw/2), rectImage, QRect(0, rectImage.height() - yOffset, xOffset, yOffset)); + + // Lower Middle + if (xMiddles) + p.drawImage(QRect(xOffset-pw/2, height - yOffset +pw/2, width - xSide + pw, yOffset), rectImage, + QRect(rectImage.width()/2, rectImage.height() - yOffset, 1, yOffset)); + // Lower Right + p.drawImage(QPoint(width-xOffset+pw/2, height - yOffset+pw/2), rectImage, + QRect(rectImage.width()-xOffset, rectImage.height() - yOffset, xOffset, yOffset)); + } + surface.save("rsg.png"); +} + +void tst_QmlPainting::drawScaledScaleGridRoundedRect_data() +{ + QTest::addColumn("scale"); + QTest::addColumn("imageType"); + + for (float i = 0; i < 3; i += .1) + QTest::newRow(QString(QLatin1String("scale=%1; imagetype=ARGB32_Pre")).arg(i).toLatin1()) << i << (int)QImage::Format_ARGB32_Premultiplied; + //for (float i = 0; i < 3; i += .1) + // QTest::newRow(QString(QLatin1String("scale=%1; imagetype=ARGB8565_Pre")).arg(i).toLatin1()) << i << (int)QImage::Format_ARGB8565_Premultiplied; +} + +//code from QFxRect for drawing rounded rects +void tst_QmlPainting::drawScaledScaleGridRoundedRect() +{ + QFETCH(float, scale); + QFETCH(int, imageType); + + //setup image + const int pw = 1; + const int radius = 10; + QImage rectImage(radius*2 + 3 + pw*2, radius*2 + 3 + pw*2, (QImage::Format)imageType); + rectImage.fill(0); + QPainter rp(&rectImage); + rp.setRenderHint(QPainter::Antialiasing); + rp.setPen(Qt::black); + rp.setBrush(Qt::red); + if (pw%2) + rp.drawRoundedRect(QRectF(qreal(pw)/2+1, qreal(pw)/2+1, rectImage.width()-(pw+1), rectImage.height()-(pw+1)), radius, radius); + else + rp.drawRoundedRect(QRectF(qreal(pw)/2, qreal(pw)/2, rectImage.width()-pw, rectImage.height()-pw), radius, radius); + + //setup surface + QImage surface(400, 400, QImage::Format_RGB16); + surface.fill(QColor(255,255,255).rgb()); + QPainter p(&surface); + p.scale(scale, scale); + + QBENCHMARK { + const int pw = 2; + int offset = int(radius+1.5+pw); + int width = 80; + int height = 80; + + int w = width+pw; + int h = height+pw; + int xOffset = offset; + int xSide = xOffset * 2; + bool xMiddles=true; + if (xSide > w) { + xMiddles=false; + xOffset = w/2 + 1; + xSide = xOffset * 2; + } + int yOffset = offset; + int ySide = yOffset * 2; + bool yMiddles=true; + if (ySide > h) { + yMiddles = false; + yOffset = h/2 + 1; + ySide = yOffset * 2; + } + + // Upper left + p.drawImage(QRect(10-pw/2, 10-pw/2, xOffset, yOffset), rectImage, QRect(0, 0, xOffset, yOffset)); + + // Upper middle + if (xMiddles) + p.drawImage(QRect(10+xOffset-pw/2, 10+-pw/2, width - xSide + pw, yOffset), rectImage, + QRect(rectImage.width()/2, 0, 1, yOffset)); + // Upper right + p.drawImage(QPoint(10+width-xOffset+pw/2, 10+-pw/2), rectImage, + QRect(rectImage.width()-xOffset, 0, xOffset, yOffset)); + // Middle left + if (yMiddles) + p.drawImage(QRect(10+-pw/2, 10+yOffset-pw/2, xOffset, height - ySide + pw), rectImage, + QRect(0, rectImage.height()/2, xOffset, 1)); + + // Middle + if (xMiddles && yMiddles) + p.drawImage(QRect(10+xOffset-pw/2, 10+yOffset-pw/2, width - xSide + pw, height - ySide + pw), rectImage, + QRect(rectImage.width()/2, rectImage.height()/2, 1, 1)); + // Middle right + if (yMiddles) + p.drawImage(QRect(10+width-xOffset+pw/2, 10+yOffset-pw/2, xOffset, height - ySide + pw), rectImage, + QRect(rectImage.width()-xOffset, rectImage.height()/2, xOffset, 1)); + // Lower left + p.drawImage(QPoint(10+-pw/2, 10+height - yOffset + pw/2), rectImage, QRect(0, rectImage.height() - yOffset, xOffset, yOffset)); + + // Lower Middle + if (xMiddles) + p.drawImage(QRect(10+xOffset-pw/2, 10+height - yOffset +pw/2, width - xSide + pw, yOffset), rectImage, + QRect(rectImage.width()/2, rectImage.height() - yOffset, 1, yOffset)); + // Lower Right + p.drawImage(QPoint(10+width-xOffset+pw/2, 10+height - yOffset+pw/2), rectImage, + QRect(rectImage.width()-xOffset, rectImage.height() - yOffset, xOffset, yOffset)); + } + surface.save("ssg.png"); +} + +void tst_QmlPainting::drawTransformedScaleGridRoundedRect_data() +{ + QTest::addColumn("transform"); + QTest::addColumn("imageType"); + + for (float angle = 0; angle < 360; angle += 10) + QTest::newRow(QString(QLatin1String("angle=%1; imagetype=ARGB32_Pre")).arg(angle).toLatin1()) << transformForAngle(angle) << (int)QImage::Format_ARGB32_Premultiplied; + //for (float angle = 0; angle < 360; angle += 10) + // QTest::newRow(QString(QLatin1String("angle=%1; imagetype=ARGB8565_Pre")).arg(angle).toLatin1()) << transformForAngle(angle) << (int)QImage::Format_ARGB8565_Premultiplied; + +} + +//code from QFxRect for drawing rounded rects +void tst_QmlPainting::drawTransformedScaleGridRoundedRect() +{ + QFETCH(QTransform, transform); + QFETCH(int, imageType); + + //setup image + const int pw = 1; + const int radius = 10; + QImage rectImage(radius*2 + 3 + pw*2, radius*2 + 3 + pw*2, (QImage::Format)imageType); + rectImage.fill(0); + QPainter rp(&rectImage); + rp.setRenderHint(QPainter::Antialiasing); + rp.setPen(Qt::black); + rp.setBrush(Qt::red); + if (pw%2) + rp.drawRoundedRect(QRectF(qreal(pw)/2+1, qreal(pw)/2+1, rectImage.width()-(pw+1), rectImage.height()-(pw+1)), radius, radius); + else + rp.drawRoundedRect(QRectF(qreal(pw)/2, qreal(pw)/2, rectImage.width()-pw, rectImage.height()-pw), radius, radius); + + //setup surface + QImage surface(400, 400, QImage::Format_RGB16); + surface.fill(QColor(255,255,255).rgb()); + QPainter p(&surface); + + QBENCHMARK { + p.setWorldTransform(transform); + const int pw = 2; + int offset = int(radius+1.5+pw); + int width = 80; + int height = 80; + + int w = width+pw; + int h = height+pw; + int xOffset = offset; + int xSide = xOffset * 2; + bool xMiddles=true; + if (xSide > w) { + xMiddles=false; + xOffset = w/2 + 1; + xSide = xOffset * 2; + } + int yOffset = offset; + int ySide = yOffset * 2; + bool yMiddles=true; + if (ySide > h) { + yMiddles = false; + yOffset = h/2 + 1; + ySide = yOffset * 2; + } + + // Upper left + p.drawImage(QRect(100-pw/2, 100-pw/2, xOffset, yOffset), rectImage, QRect(0, 0, xOffset, yOffset)); + + // Upper middle + if (xMiddles) + p.drawImage(QRect(100+xOffset-pw/2, 100+-pw/2, width - xSide + pw, yOffset), rectImage, + QRect(rectImage.width()/2, 0, 1, yOffset)); + // Upper right + p.drawImage(QPoint(100+width-xOffset+pw/2, 100+-pw/2), rectImage, + QRect(rectImage.width()-xOffset, 0, xOffset, yOffset)); + // Middle left + if (yMiddles) + p.drawImage(QRect(100+-pw/2, 100+yOffset-pw/2, xOffset, height - ySide + pw), rectImage, + QRect(0, rectImage.height()/2, xOffset, 1)); + + // Middle + if (xMiddles && yMiddles) + p.drawImage(QRect(100+xOffset-pw/2, 100+yOffset-pw/2, width - xSide + pw, height - ySide + pw), rectImage, + QRect(rectImage.width()/2, rectImage.height()/2, 1, 1)); + // Middle right + if (yMiddles) + p.drawImage(QRect(100+width-xOffset+pw/2, 100+yOffset-pw/2, xOffset, height - ySide + pw), rectImage, + QRect(rectImage.width()-xOffset, rectImage.height()/2, xOffset, 1)); + // Lower left + p.drawImage(QPoint(100+-pw/2, 100+height - yOffset + pw/2), rectImage, QRect(0, rectImage.height() - yOffset, xOffset, yOffset)); + + // Lower Middle + if (xMiddles) + p.drawImage(QRect(100+xOffset-pw/2, 100+height - yOffset +pw/2, width - xSide + pw, yOffset), rectImage, + QRect(rectImage.width()/2, rectImage.height() - yOffset, 1, yOffset)); + // Lower Right + p.drawImage(QPoint(100+width-xOffset+pw/2, 100+height - yOffset+pw/2), rectImage, + QRect(rectImage.width()-xOffset, rectImage.height() - yOffset, xOffset, yOffset)); + } + surface.save("tsg.png"); +} + +void tst_QmlPainting::drawTransformedTransparentImage_data() +{ + QTest::addColumn("imageType"); + + QTest::newRow("imagetype=ARGB32_Pre") << (int)QImage::Format_ARGB32_Premultiplied; + QTest::newRow("imagetype=ARGB8565_Pre") << (int)QImage::Format_ARGB8565_Premultiplied; +} + +void tst_QmlPainting::drawTransformedTransparentImage() +{ + QFETCH(int, imageType); + + //setup image + QImage transImage(200, 200, (QImage::Format)imageType); + transImage.fill(0); + + //setup surface + QImage surface(200, 200, QImage::Format_RGB16); + surface.fill(QColor(255,255,255).rgb()); + QPainter p(&surface); + + QBENCHMARK { + p.setWorldTransform(QTransform(0.956957, 0, 0.000704124, 0, 1, 0, 16.141, 0, 0.735953)); + p.drawImage(0,0, transImage); + } +} + +void tst_QmlPainting::drawTransformedSemiTransparentImage_data() +{ + QTest::addColumn("imageType"); + + QTest::newRow("imagetype=ARGB32_Pre") << (int)QImage::Format_ARGB32_Premultiplied; + QTest::newRow("imagetype=ARGB8565_Pre") << (int)QImage::Format_ARGB8565_Premultiplied; +} + +void tst_QmlPainting::drawTransformedSemiTransparentImage() +{ + QFETCH(int, imageType); + + //setup image + QImage transImage(200, 200, (QImage::Format)imageType); + transImage.fill(QColor(0,0,0, 128).rgba()); + + //setup surface + QImage surface(200, 200, QImage::Format_RGB16); + surface.fill(QColor(255,255,255).rgb()); + QPainter p(&surface); + + QBENCHMARK { + p.setWorldTransform(QTransform(0.956957, 0, 0.000704124, 0, 1, 0, 16.141, 0, 0.735953)); + p.drawImage(0,0, transImage); + } +} + +void tst_QmlPainting::drawTransformedFilledImage_data() +{ + QTest::addColumn("imageType"); + + QTest::newRow("imagetype=ARGB32_Pre") << (int)QImage::Format_ARGB32_Premultiplied; + QTest::newRow("imagetype=ARGB8565_Pre") << (int)QImage::Format_ARGB8565_Premultiplied; +} + +void tst_QmlPainting::drawTransformedFilledImage() +{ + QFETCH(int, imageType); + + //setup image + QImage filledImage(200, 200, (QImage::Format)imageType); + filledImage.fill(QColor(0,0,0).rgb()); + + //setup surface + QImage surface(200, 200, QImage::Format_RGB16); + surface.fill(QColor(255,255,255).rgb()); + QPainter p(&surface); + + QBENCHMARK { + p.setWorldTransform(QTransform(0.956957, 0, 0.000704124, 0, 1, 0, 16.141, 0, 0.735953)); + p.drawImage(0,0, filledImage); + } +} + +QTEST_MAIN(tst_QmlPainting) + +#include "tst_qmlpainting.moc" diff --git a/tests/benchmarks/qmlxmlparser/main.cpp b/tests/benchmarks/qmlxmlparser/main.cpp deleted file mode 100644 index 17dc7f3..0000000 --- a/tests/benchmarks/qmlxmlparser/main.cpp +++ /dev/null @@ -1,96 +0,0 @@ -#include -#include -#include - -class tst_qmlxmlparser : public QObject -{ - Q_OBJECT - -public: - enum XmlParser { ParserQXmlStreamReader = 0, ParserQmlComponent }; - -private slots: - void parse(); - void parse_data(); - -private: - QString readFile(QString const&); -}; - -/* - Benchmark the parsing of Qml, using QXmlStreamReader as a baseline. - This gives an idea of the overhead Qml imposes over the top of plain XML parsing. -*/ -void tst_qmlxmlparser::parse() -{ - QFETCH(QString, xml); - QFETCH(int, parser); - - if (parser == ParserQXmlStreamReader) { - QBENCHMARK { - QXmlStreamReader parser(xml); - while (!parser.atEnd()) parser.readNext(); - } - } - else if (parser == ParserQmlComponent) { - QByteArray ba = xml.toLatin1(); - QBENCHMARK { - QmlComponent qmlc(ba); - } - } -} - -void tst_qmlxmlparser::parse_data() -{ - QTest::addColumn("xml"); - QTest::addColumn ("parser"); - - QTest::newRow("empty-qxml") - << QString() - << (int)ParserQXmlStreamReader; - - QTest::newRow("empty-qml") - << QString() - << (int)ParserQmlComponent; - - { - QString xml = QString::fromLatin1(""); - - QTest::newRow("simple-qxml") - << xml - << (int)ParserQXmlStreamReader; - - QTest::newRow("simple-qml") - << xml - << (int)ParserQmlComponent; - } - - { - QString xml = readFile("concept2.xml"); - - QTest::newRow("concept2-qxml") - << xml - << (int)ParserQXmlStreamReader; - - QTest::newRow("concept2-qml") - << xml - << (int)ParserQmlComponent; - } -} - -QString tst_qmlxmlparser::readFile(QString const& filename) -{ -#define _STR(X) #X -#define STR(X) _STR(X) - QFile file(QString("%1/testdata/%2").arg(STR(SRCDIR)).arg(filename)); - if (!file.open(QIODevice::ReadOnly)) { - qFatal("Could not open %s: %s", qPrintable(filename), qPrintable(file.errorString())); - } - QByteArray ba = file.readAll(); - return QString::fromLatin1(ba); -} - - -QTEST_MAIN(tst_qmlxmlparser) - -#include "main.moc" diff --git a/tests/benchmarks/qmlxmlparser/qmlxmlparser.pro b/tests/benchmarks/qmlxmlparser/qmlxmlparser.pro deleted file mode 100644 index e31c692..0000000 --- a/tests/benchmarks/qmlxmlparser/qmlxmlparser.pro +++ /dev/null @@ -1,14 +0,0 @@ -load(qttest_p4) -TEMPLATE = app -TARGET = tst_qmlxmlparser -DEPENDPATH += . -INCLUDEPATH += . - -CONFIG += release - -QT += declarative xml - -DEFINES+=SRCDIR=\"$$PWD\" - -# Input -SOURCES += main.cpp diff --git a/tests/benchmarks/qmlxmlparser/testdata/concept2.xml b/tests/benchmarks/qmlxmlparser/testdata/concept2.xml deleted file mode 100644 index 67c625d..0000000 --- a/tests/benchmarks/qmlxmlparser/testdata/concept2.xml +++ /dev/null @@ -1,421 +0,0 @@ - - - -