summaryrefslogtreecommitdiffstats
path: root/tests/benchmarks/qgraphicsview
diff options
context:
space:
mode:
authorBjørn Erik Nilsen <bjorn.nilsen@nokia.com>2010-02-08 13:01:08 (GMT)
committerBjørn Erik Nilsen <bjorn.nilsen@nokia.com>2010-02-08 15:03:39 (GMT)
commit020830966e08239854ac207ec28663a80c6e0647 (patch)
tree38cec073cf32745aefac3803d1e0859f32d3c74d /tests/benchmarks/qgraphicsview
parent43a9c48554579d76e1f1267fbd70f488f22fd408 (diff)
downloadQt-020830966e08239854ac207ec28663a80c6e0647.zip
Qt-020830966e08239854ac207ec28663a80c6e0647.tar.gz
Qt-020830966e08239854ac207ec28663a80c6e0647.tar.bz2
Restructure tests/benchmarks directory.
We follow the same structure as used in the src directory. This makes it easier to navigate through the jungel, especially now that we are going to add functional tests etc.
Diffstat (limited to 'tests/benchmarks/qgraphicsview')
-rw-r--r--tests/benchmarks/qgraphicsview/benchapps/chipTest/chip.cpp176
-rw-r--r--tests/benchmarks/qgraphicsview/benchapps/chipTest/chip.debugbin863805 -> 0 bytes
-rw-r--r--tests/benchmarks/qgraphicsview/benchapps/chipTest/chip.h68
-rw-r--r--tests/benchmarks/qgraphicsview/benchapps/chipTest/chip.pro19
-rw-r--r--tests/benchmarks/qgraphicsview/benchapps/chipTest/fileprint.pngbin1456 -> 0 bytes
-rw-r--r--tests/benchmarks/qgraphicsview/benchapps/chipTest/images.qrc10
-rw-r--r--tests/benchmarks/qgraphicsview/benchapps/chipTest/main.cpp57
-rw-r--r--tests/benchmarks/qgraphicsview/benchapps/chipTest/mainwindow.cpp87
-rw-r--r--tests/benchmarks/qgraphicsview/benchapps/chipTest/mainwindow.h66
-rw-r--r--tests/benchmarks/qgraphicsview/benchapps/chipTest/qt4logo.pngbin48333 -> 0 bytes
-rw-r--r--tests/benchmarks/qgraphicsview/benchapps/chipTest/rotateleft.pngbin1754 -> 0 bytes
-rw-r--r--tests/benchmarks/qgraphicsview/benchapps/chipTest/rotateright.pngbin1732 -> 0 bytes
-rw-r--r--tests/benchmarks/qgraphicsview/benchapps/chipTest/view.cpp257
-rw-r--r--tests/benchmarks/qgraphicsview/benchapps/chipTest/view.h86
-rw-r--r--tests/benchmarks/qgraphicsview/benchapps/chipTest/zoomin.pngbin1622 -> 0 bytes
-rw-r--r--tests/benchmarks/qgraphicsview/benchapps/chipTest/zoomout.pngbin1601 -> 0 bytes
-rw-r--r--tests/benchmarks/qgraphicsview/benchapps/moveItems/main.cpp106
-rw-r--r--tests/benchmarks/qgraphicsview/benchapps/moveItems/moveItems.pro1
-rw-r--r--tests/benchmarks/qgraphicsview/benchapps/scrolltest/main.cpp146
-rw-r--r--tests/benchmarks/qgraphicsview/benchapps/scrolltest/scrolltest.pro1
-rw-r--r--tests/benchmarks/qgraphicsview/chiptester/chip.cpp182
-rw-r--r--tests/benchmarks/qgraphicsview/chiptester/chip.h68
-rw-r--r--tests/benchmarks/qgraphicsview/chiptester/chiptester.cpp144
-rw-r--r--tests/benchmarks/qgraphicsview/chiptester/chiptester.h85
-rw-r--r--tests/benchmarks/qgraphicsview/chiptester/chiptester.pri12
-rw-r--r--tests/benchmarks/qgraphicsview/chiptester/images.qrc5
-rw-r--r--tests/benchmarks/qgraphicsview/chiptester/qt4logo.pngbin48333 -> 0 bytes
-rw-r--r--tests/benchmarks/qgraphicsview/images/designer.pngbin4205 -> 0 bytes
-rw-r--r--tests/benchmarks/qgraphicsview/images/wine-big.jpegbin12249 -> 0 bytes
-rw-r--r--tests/benchmarks/qgraphicsview/images/wine.jpegbin2265 -> 0 bytes
-rw-r--r--tests/benchmarks/qgraphicsview/qgraphicsview.pro16
-rw-r--r--tests/benchmarks/qgraphicsview/qgraphicsview.qrc9
-rw-r--r--tests/benchmarks/qgraphicsview/random.databin800 -> 0 bytes
-rw-r--r--tests/benchmarks/qgraphicsview/tst_qgraphicsview.cpp908
34 files changed, 0 insertions, 2509 deletions
diff --git a/tests/benchmarks/qgraphicsview/benchapps/chipTest/chip.cpp b/tests/benchmarks/qgraphicsview/benchapps/chipTest/chip.cpp
deleted file mode 100644
index 77b86c1..0000000
--- a/tests/benchmarks/qgraphicsview/benchapps/chipTest/chip.cpp
+++ /dev/null
@@ -1,176 +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 "chip.h"
-
-#include <QtGui>
-
-Chip::Chip(const QColor &color, int x, int y)
-{
- this->x = x;
- this->y = y;
- this->color = color;
- setZValue((x + y) % 2);
-
- setFlags(ItemIsSelectable | ItemIsMovable);
- setAcceptsHoverEvents(true);
-}
-
-QRectF Chip::boundingRect() const
-{
- return QRectF(0, 0, 110, 70);
-}
-
-QPainterPath Chip::shape() const
-{
- QPainterPath path;
- path.addRect(14, 14, 82, 42);
- return path;
-}
-
-void Chip::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)
-{
- Q_UNUSED(widget);
-
- QColor fillColor = (option->state & QStyle::State_Selected) ? color.dark(150) : color;
- if (option->state & QStyle::State_MouseOver)
- fillColor = fillColor.light(125);
-
- if (option->levelOfDetail < 0.2) {
- if (option->levelOfDetail < 0.125) {
- painter->fillRect(QRectF(0, 0, 110, 70), fillColor);
- return;
- }
-
- painter->setPen(QPen(Qt::black, 0));
- painter->setBrush(fillColor);
- painter->drawRect(13, 13, 97, 57);
- return;
- }
-
- QPen oldPen = painter->pen();
- QPen pen = oldPen;
- int width = 0;
- if (option->state & QStyle::State_Selected)
- width += 2;
-
- pen.setWidth(width);
- painter->setBrush(QBrush(fillColor.dark(option->state & QStyle::State_Sunken ? 120 : 100)));
-
- painter->drawRect(QRect(14, 14, 79, 39));
- if (option->levelOfDetail >= 1) {
- painter->setPen(QPen(Qt::gray, 1));
- painter->drawLine(15, 54, 94, 54);
- painter->drawLine(94, 53, 94, 15);
- painter->setPen(QPen(Qt::black, 0));
- }
-
- // Draw text
- if (option->levelOfDetail >= 2) {
- QFont font("Times", 10);
- font.setStyleStrategy(QFont::ForceOutline);
- painter->setFont(font);
- painter->save();
- painter->scale(0.1, 0.1);
- painter->drawText(170, 180, QString("Model: VSC-2000 (Very Small Chip) at %1x%2").arg(x).arg(y));
- painter->drawText(170, 200, QString("Serial number: DLWR-WEER-123L-ZZ33-SDSJ"));
- painter->drawText(170, 220, QString("Manufacturer: Chip Manufacturer"));
- painter->restore();
- }
-
- // Draw lines
- QVarLengthArray<QLineF, 36> lines;
- if (option->levelOfDetail >= 0.5) {
- for (int i = 0; i <= 10; i += (option->levelOfDetail > 0.5 ? 1 : 2)) {
- lines.append(QLineF(18 + 7 * i, 13, 18 + 7 * i, 5));
- lines.append(QLineF(18 + 7 * i, 54, 18 + 7 * i, 62));
- }
- for (int i = 0; i <= 6; i += (option->levelOfDetail > 0.5 ? 1 : 2)) {
- lines.append(QLineF(5, 18 + i * 5, 13, 18 + i * 5));
- lines.append(QLineF(94, 18 + i * 5, 102, 18 + i * 5));
- }
- }
- if (option->levelOfDetail >= 0.4) {
- const QLineF lineData[] = {
- QLineF(25, 35, 35, 35),
- QLineF(35, 30, 35, 40),
- QLineF(35, 30, 45, 35),
- QLineF(35, 40, 45, 35),
- QLineF(45, 30, 45, 40),
- QLineF(45, 35, 55, 35)
- };
- lines.append(lineData, 6);
- }
- painter->drawLines(lines.data(), lines.size());
-
- // Draw red ink
- if (stuff.size() > 1) {
- painter->setPen(QPen(Qt::red, 1, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin));
- painter->setBrush(Qt::NoBrush);
- QPainterPath path;
- path.moveTo(stuff.first());
- for (int i = 1; i < stuff.size(); ++i)
- path.lineTo(stuff.at(i));
- painter->drawPath(path);
- }
-}
-
-void Chip::mousePressEvent(QGraphicsSceneMouseEvent *event)
-{
- QGraphicsItem::mousePressEvent(event);
- update();
-}
-
-void Chip::mouseMoveEvent(QGraphicsSceneMouseEvent *event)
-{
- if (event->modifiers() & Qt::ShiftModifier) {
- stuff << event->pos();
- update();
- return;
- }
- QGraphicsItem::mouseMoveEvent(event);
-}
-
-void Chip::mouseReleaseEvent(QGraphicsSceneMouseEvent *event)
-{
- QGraphicsItem::mouseReleaseEvent(event);
- update();
-}
diff --git a/tests/benchmarks/qgraphicsview/benchapps/chipTest/chip.debug b/tests/benchmarks/qgraphicsview/benchapps/chipTest/chip.debug
deleted file mode 100644
index 8fe1e5b..0000000
--- a/tests/benchmarks/qgraphicsview/benchapps/chipTest/chip.debug
+++ /dev/null
Binary files differ
diff --git a/tests/benchmarks/qgraphicsview/benchapps/chipTest/chip.h b/tests/benchmarks/qgraphicsview/benchapps/chipTest/chip.h
deleted file mode 100644
index 9db23f9..0000000
--- a/tests/benchmarks/qgraphicsview/benchapps/chipTest/chip.h
+++ /dev/null
@@ -1,68 +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$
-**
-****************************************************************************/
-
-#ifndef CHIP_H
-#define CHIP_H
-
-#include <QtGui/QColor>
-#include <QtGui/QGraphicsItem>
-
-class Chip : public QGraphicsItem
-{
-public:
- Chip(const QColor &color, int x, int y);
-
- QRectF boundingRect() const;
- QPainterPath shape() const;
- void paint(QPainter *painter, const QStyleOptionGraphicsItem *item, QWidget *widget);
-
-protected:
- void mousePressEvent(QGraphicsSceneMouseEvent *event);
- void mouseMoveEvent(QGraphicsSceneMouseEvent *event);
- void mouseReleaseEvent(QGraphicsSceneMouseEvent *event);
-
-private:
- int x, y;
- QColor color;
- QList<QPointF> stuff;
-};
-
-#endif
diff --git a/tests/benchmarks/qgraphicsview/benchapps/chipTest/chip.pro b/tests/benchmarks/qgraphicsview/benchapps/chipTest/chip.pro
deleted file mode 100644
index 53fa23b..0000000
--- a/tests/benchmarks/qgraphicsview/benchapps/chipTest/chip.pro
+++ /dev/null
@@ -1,19 +0,0 @@
-RESOURCES += images.qrc
-
-HEADERS += mainwindow.h view.h chip.h
-SOURCES += main.cpp
-SOURCES += mainwindow.cpp view.cpp chip.cpp
-
-contains(QT_CONFIG, opengl):QT += opengl
-
-build_all:!build_pass {
- CONFIG -= build_all
- CONFIG += release
-}
-
-# install
-target.path = $$[QT_INSTALL_DEMOS]/chip
-sources.files = $$SOURCES $$HEADERS $$RESOURCES *.png *.pro *.html *.doc images
-sources.path = $$[QT_INSTALL_DEMOS]/chip
-INSTALLS += target sources
-
diff --git a/tests/benchmarks/qgraphicsview/benchapps/chipTest/fileprint.png b/tests/benchmarks/qgraphicsview/benchapps/chipTest/fileprint.png
deleted file mode 100644
index ba7c02d..0000000
--- a/tests/benchmarks/qgraphicsview/benchapps/chipTest/fileprint.png
+++ /dev/null
Binary files differ
diff --git a/tests/benchmarks/qgraphicsview/benchapps/chipTest/images.qrc b/tests/benchmarks/qgraphicsview/benchapps/chipTest/images.qrc
deleted file mode 100644
index c7cdf0c..0000000
--- a/tests/benchmarks/qgraphicsview/benchapps/chipTest/images.qrc
+++ /dev/null
@@ -1,10 +0,0 @@
-<!DOCTYPE RCC><RCC version="1.0">
-<qresource>
- <file>qt4logo.png</file>
- <file>zoomin.png</file>
- <file>zoomout.png</file>
- <file>rotateleft.png</file>
- <file>rotateright.png</file>
- <file>fileprint.png</file>
-</qresource>
-</RCC>
diff --git a/tests/benchmarks/qgraphicsview/benchapps/chipTest/main.cpp b/tests/benchmarks/qgraphicsview/benchapps/chipTest/main.cpp
deleted file mode 100644
index ea2f94a..0000000
--- a/tests/benchmarks/qgraphicsview/benchapps/chipTest/main.cpp
+++ /dev/null
@@ -1,57 +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 "mainwindow.h"
-
-#include <QApplication>
-
-int main(int argc, char **argv)
-{
- Q_INIT_RESOURCE(images);
-
- QApplication app(argc, argv);
- app.setAttribute(Qt::AA_DontCreateNativeWidgetSiblings);
-
- MainWindow window;
- window.show();
-
- return app.exec();
-}
diff --git a/tests/benchmarks/qgraphicsview/benchapps/chipTest/mainwindow.cpp b/tests/benchmarks/qgraphicsview/benchapps/chipTest/mainwindow.cpp
deleted file mode 100644
index 452b42c..0000000
--- a/tests/benchmarks/qgraphicsview/benchapps/chipTest/mainwindow.cpp
+++ /dev/null
@@ -1,87 +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 "mainwindow.h"
-#include "view.h"
-#include "chip.h"
-
-#include <QtGui>
-
-MainWindow::MainWindow(QWidget *parent)
- : QWidget(parent)
-{
- populateScene();
-
- View *view = new View("Top left view");
- view->view()->setScene(scene);
- QHBoxLayout *layout = new QHBoxLayout;
- layout->addWidget(view);
- setLayout(layout);
-
- setWindowTitle(tr("Chip Demo"));
-}
-
-void MainWindow::populateScene()
-{
- scene = new QGraphicsScene;
-
- QImage image(":/qt4logo.png");
-
- // Populate scene
- int xx = 0;
- int nitems = 0;
- for (int i = -11000; i < 11000; i += 110) {
- ++xx;
- int yy = 0;
- for (int j = -7000; j < 7000; j += 70) {
- ++yy;
- qreal x = (i + 11000) / 22000.0;
- qreal y = (j + 7000) / 14000.0;
-
- QColor color(image.pixel(int(image.width() * x), int(image.height() * y)));
- QGraphicsItem *item = new Chip(color, xx, yy);
- item->setPos(QPointF(i, j));
- scene->addItem(item);
-
- ++nitems;
- }
- }
-}
diff --git a/tests/benchmarks/qgraphicsview/benchapps/chipTest/mainwindow.h b/tests/benchmarks/qgraphicsview/benchapps/chipTest/mainwindow.h
deleted file mode 100644
index 558bbef..0000000
--- a/tests/benchmarks/qgraphicsview/benchapps/chipTest/mainwindow.h
+++ /dev/null
@@ -1,66 +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$
-**
-****************************************************************************/
-
-#ifndef MAINWINDOW_H
-#define MAINWINDOW_H
-
-#include <QtGui/qwidget.h>
-
-QT_FORWARD_DECLARE_CLASS(QGraphicsScene)
-QT_FORWARD_DECLARE_CLASS(QGraphicsView)
-QT_FORWARD_DECLARE_CLASS(QLabel)
-QT_FORWARD_DECLARE_CLASS(QSlider)
-QT_FORWARD_DECLARE_CLASS(QSplitter)
-
-class MainWindow : public QWidget
-{
- Q_OBJECT
-public:
- MainWindow(QWidget *parent = 0);
-
-private:
- void setupMatrix();
- void populateScene();
-
- QGraphicsScene *scene;
-};
-
-#endif
diff --git a/tests/benchmarks/qgraphicsview/benchapps/chipTest/qt4logo.png b/tests/benchmarks/qgraphicsview/benchapps/chipTest/qt4logo.png
deleted file mode 100644
index 157e86e..0000000
--- a/tests/benchmarks/qgraphicsview/benchapps/chipTest/qt4logo.png
+++ /dev/null
Binary files differ
diff --git a/tests/benchmarks/qgraphicsview/benchapps/chipTest/rotateleft.png b/tests/benchmarks/qgraphicsview/benchapps/chipTest/rotateleft.png
deleted file mode 100644
index 8cfa931..0000000
--- a/tests/benchmarks/qgraphicsview/benchapps/chipTest/rotateleft.png
+++ /dev/null
Binary files differ
diff --git a/tests/benchmarks/qgraphicsview/benchapps/chipTest/rotateright.png b/tests/benchmarks/qgraphicsview/benchapps/chipTest/rotateright.png
deleted file mode 100644
index ec5e866..0000000
--- a/tests/benchmarks/qgraphicsview/benchapps/chipTest/rotateright.png
+++ /dev/null
Binary files differ
diff --git a/tests/benchmarks/qgraphicsview/benchapps/chipTest/view.cpp b/tests/benchmarks/qgraphicsview/benchapps/chipTest/view.cpp
deleted file mode 100644
index 1028f42..0000000
--- a/tests/benchmarks/qgraphicsview/benchapps/chipTest/view.cpp
+++ /dev/null
@@ -1,257 +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 "view.h"
-
-#include <QtGui>
-#include "valgrind/callgrind.h"
-#ifndef QT_NO_OPENGL
-#include <QtOpenGL>
-#endif
-
-#include <qmath.h>
-
-class CountView : public QGraphicsView
-{
-protected:
- void paintEvent(QPaintEvent *event)
- {
- static int n = 0;
- if (n)
- CALLGRIND_START_INSTRUMENTATION
- QGraphicsView::paintEvent(event);
- if (n)
- CALLGRIND_STOP_INSTRUMENTATION
- if (++n == 500)
- qApp->quit();
- }
-};
-
-View::View(const QString &name, QWidget *parent)
- : QFrame(parent)
-{
- setFrameStyle(Sunken | StyledPanel);
- graphicsView = new CountView;
- graphicsView->setRenderHint(QPainter::Antialiasing, false);
- graphicsView->setDragMode(QGraphicsView::RubberBandDrag);
- graphicsView->setViewportUpdateMode(QGraphicsView::SmartViewportUpdate);
-
- int size = style()->pixelMetric(QStyle::PM_ToolBarIconSize);
- QSize iconSize(size, size);
-
- QToolButton *zoomInIcon = new QToolButton;
- zoomInIcon->setAutoRepeat(true);
- zoomInIcon->setAutoRepeatInterval(33);
- zoomInIcon->setAutoRepeatDelay(0);
- zoomInIcon->setIcon(QPixmap(":/zoomin.png"));
- zoomInIcon->setIconSize(iconSize);
- QToolButton *zoomOutIcon = new QToolButton;
- zoomOutIcon->setAutoRepeat(true);
- zoomOutIcon->setAutoRepeatInterval(33);
- zoomOutIcon->setAutoRepeatDelay(0);
- zoomOutIcon->setIcon(QPixmap(":/zoomout.png"));
- zoomOutIcon->setIconSize(iconSize);
- zoomSlider = new QSlider;
- zoomSlider->setMinimum(0);
- zoomSlider->setMaximum(500);
- zoomSlider->setValue(250);
- zoomSlider->setTickPosition(QSlider::TicksRight);
-
- // Zoom slider layout
- QVBoxLayout *zoomSliderLayout = new QVBoxLayout;
- zoomSliderLayout->addWidget(zoomInIcon);
- zoomSliderLayout->addWidget(zoomSlider);
- zoomSliderLayout->addWidget(zoomOutIcon);
-
- QToolButton *rotateLeftIcon = new QToolButton;
- rotateLeftIcon->setIcon(QPixmap(":/rotateleft.png"));
- rotateLeftIcon->setIconSize(iconSize);
- QToolButton *rotateRightIcon = new QToolButton;
- rotateRightIcon->setIcon(QPixmap(":/rotateright.png"));
- rotateRightIcon->setIconSize(iconSize);
- rotateSlider = new QSlider;
- rotateSlider->setOrientation(Qt::Horizontal);
- rotateSlider->setMinimum(-360);
- rotateSlider->setMaximum(360);
- rotateSlider->setValue(0);
- rotateSlider->setTickPosition(QSlider::TicksBelow);
-
- // Rotate slider layout
- QHBoxLayout *rotateSliderLayout = new QHBoxLayout;
- rotateSliderLayout->addWidget(rotateLeftIcon);
- rotateSliderLayout->addWidget(rotateSlider);
- rotateSliderLayout->addWidget(rotateRightIcon);
-
- resetButton = new QToolButton;
- resetButton->setText(tr("0"));
- resetButton->setEnabled(false);
-
- // Label layout
- QHBoxLayout *labelLayout = new QHBoxLayout;
- label = new QLabel(name);
- antialiasButton = new QToolButton;
- antialiasButton->setText(tr("Antialiasing"));
- antialiasButton->setCheckable(true);
- antialiasButton->setChecked(false);
- openGlButton = new QToolButton;
- openGlButton->setText(tr("OpenGL"));
- openGlButton->setCheckable(true);
-#ifndef QT_NO_OPENGL
- openGlButton->setEnabled(QGLFormat::hasOpenGL());
-#else
- openGlButton->setEnabled(false);
-#endif
- printButton = new QToolButton;
- printButton->setIcon(QIcon(QPixmap(":/fileprint.png")));
-
- labelLayout->addWidget(label);
- labelLayout->addStretch();
- labelLayout->addWidget(antialiasButton);
- labelLayout->addWidget(openGlButton);
- labelLayout->addWidget(printButton);
-
- QGridLayout *topLayout = new QGridLayout;
- topLayout->addLayout(labelLayout, 0, 0);
- topLayout->addWidget(graphicsView, 1, 0);
- topLayout->addLayout(zoomSliderLayout, 1, 1);
- topLayout->addLayout(rotateSliderLayout, 2, 0);
- topLayout->addWidget(resetButton, 2, 1);
- setLayout(topLayout);
-
- connect(resetButton, SIGNAL(clicked()), this, SLOT(resetView()));
- connect(zoomSlider, SIGNAL(valueChanged(int)), this, SLOT(setupMatrix()));
- connect(rotateSlider, SIGNAL(valueChanged(int)), this, SLOT(setupMatrix()));
- connect(graphicsView->verticalScrollBar(), SIGNAL(valueChanged(int)), this, SLOT(setResetButtonEnabled()));
- connect(graphicsView->horizontalScrollBar(), SIGNAL(valueChanged(int)), this, SLOT(setResetButtonEnabled()));
- connect(antialiasButton, SIGNAL(toggled(bool)), this, SLOT(toggleAntialiasing()));
- connect(openGlButton, SIGNAL(toggled(bool)), this, SLOT(toggleOpenGL()));
- connect(rotateLeftIcon, SIGNAL(clicked()), this, SLOT(rotateLeft()));
- connect(rotateRightIcon, SIGNAL(clicked()), this, SLOT(rotateRight()));
- connect(zoomInIcon, SIGNAL(clicked()), this, SLOT(zoomIn()));
- connect(zoomOutIcon, SIGNAL(clicked()), this, SLOT(zoomOut()));
- connect(printButton, SIGNAL(clicked()), this, SLOT(print()));
-
- setupMatrix();
-
- startTimer(0);
-}
-
-QGraphicsView *View::view() const
-{
- return graphicsView;
-}
-
-void View::resetView()
-{
- zoomSlider->setValue(250);
- rotateSlider->setValue(0);
- setupMatrix();
- graphicsView->ensureVisible(QRectF(0, 0, 0, 0));
-
- resetButton->setEnabled(false);
-}
-
-void View::setResetButtonEnabled()
-{
- resetButton->setEnabled(true);
-}
-
-void View::setupMatrix()
-{
- qreal scale = qPow(qreal(2), (zoomSlider->value() - 250) / qreal(50));
-
- QMatrix matrix;
- matrix.scale(scale, scale);
- matrix.rotate(rotateSlider->value());
-
- graphicsView->setMatrix(matrix);
- setResetButtonEnabled();
-}
-
-void View::toggleOpenGL()
-{
-#ifndef QT_NO_OPENGL
- graphicsView->setViewport(openGlButton->isChecked() ? new QGLWidget(QGLFormat(QGL::SampleBuffers)) : new QWidget);
-#endif
-}
-
-void View::toggleAntialiasing()
-{
- graphicsView->setRenderHint(QPainter::Antialiasing, antialiasButton->isChecked());
-}
-
-void View::print()
-{
-#ifndef QT_NO_PRINTER
- QPrinter printer;
- QPrintDialog dialog(&printer, this);
- if (dialog.exec() == QDialog::Accepted) {
- QPainter painter(&printer);
- graphicsView->render(&painter);
- }
-#endif
-}
-
-void View::zoomIn()
-{
- zoomSlider->setValue(zoomSlider->value() + 1);
-}
-
-void View::zoomOut()
-{
- zoomSlider->setValue(zoomSlider->value() - 1);
-}
-
-void View::rotateLeft()
-{
- rotateSlider->setValue(rotateSlider->value() - 10);
-}
-
-void View::rotateRight()
-{
- rotateSlider->setValue(rotateSlider->value() + 10);
-}
-
-void View::timerEvent(QTimerEvent *)
-{
- graphicsView->horizontalScrollBar()->setValue(graphicsView->horizontalScrollBar()->value() + 1);
-}
-
diff --git a/tests/benchmarks/qgraphicsview/benchapps/chipTest/view.h b/tests/benchmarks/qgraphicsview/benchapps/chipTest/view.h
deleted file mode 100644
index fc5c226..0000000
--- a/tests/benchmarks/qgraphicsview/benchapps/chipTest/view.h
+++ /dev/null
@@ -1,86 +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$
-**
-****************************************************************************/
-
-#ifndef VIEW_H
-#define VIEW_H
-
-#include <QFrame>
-
-QT_FORWARD_DECLARE_CLASS(QGraphicsView)
-QT_FORWARD_DECLARE_CLASS(QLabel)
-QT_FORWARD_DECLARE_CLASS(QSlider)
-QT_FORWARD_DECLARE_CLASS(QToolButton)
-
-class View : public QFrame
-{
- Q_OBJECT
-public:
- View(const QString &name, QWidget *parent = 0);
-
- QGraphicsView *view() const;
-
-private slots:
- void resetView();
- void setResetButtonEnabled();
- void setupMatrix();
- void toggleOpenGL();
- void toggleAntialiasing();
- void print();
-
- void zoomIn();
- void zoomOut();
- void rotateLeft();
- void rotateRight();
-
- void timerEvent(QTimerEvent *);
-
-private:
- QGraphicsView *graphicsView;
- QLabel *label;
- QToolButton *openGlButton;
- QToolButton *antialiasButton;
- QToolButton *printButton;
- QToolButton *resetButton;
- QSlider *zoomSlider;
- QSlider *rotateSlider;
-};
-
-#endif
diff --git a/tests/benchmarks/qgraphicsview/benchapps/chipTest/zoomin.png b/tests/benchmarks/qgraphicsview/benchapps/chipTest/zoomin.png
deleted file mode 100644
index 8b0daee..0000000
--- a/tests/benchmarks/qgraphicsview/benchapps/chipTest/zoomin.png
+++ /dev/null
Binary files differ
diff --git a/tests/benchmarks/qgraphicsview/benchapps/chipTest/zoomout.png b/tests/benchmarks/qgraphicsview/benchapps/chipTest/zoomout.png
deleted file mode 100644
index 1575dd2..0000000
--- a/tests/benchmarks/qgraphicsview/benchapps/chipTest/zoomout.png
+++ /dev/null
Binary files differ
diff --git a/tests/benchmarks/qgraphicsview/benchapps/moveItems/main.cpp b/tests/benchmarks/qgraphicsview/benchapps/moveItems/main.cpp
deleted file mode 100644
index 527713f..0000000
--- a/tests/benchmarks/qgraphicsview/benchapps/moveItems/main.cpp
+++ /dev/null
@@ -1,106 +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 <QtGui>
-#include "valgrind/callgrind.h"
-
-#ifdef Q_WS_X11
-extern void qt_x11_wait_for_window_manager(QWidget *);
-#endif
-
-class View : public QGraphicsView
-{
- Q_OBJECT
-public:
- View(QGraphicsScene *scene, QGraphicsItem *item)
- : QGraphicsView(scene), _item(item)
- {
- }
-
-protected:
- void paintEvent(QPaintEvent *event)
- {
- static int n = 0;
- if (n)
- CALLGRIND_START_INSTRUMENTATION
- QGraphicsView::paintEvent(event);
- _item->moveBy(1, 1);
- if (n)
- CALLGRIND_STOP_INSTRUMENTATION
- if (++n == 200)
- qApp->quit();
- }
-
-private:
- QGraphicsItem *_item;
-};
-
-int main(int argc, char *argv[])
-{
- QApplication app(argc, argv);
-
- if (argc < 2) {
- qDebug("usage: ./%s <numItems>", argv[0]);
- return 1;
- }
-
- QGraphicsScene scene(-150, -150, 300, 300);
- scene.setItemIndexMethod(QGraphicsScene::NoIndex);
-
- QGraphicsRectItem *item = scene.addRect(-50, -50, 100, 100, QPen(Qt::NoPen), QBrush(Qt::blue));
- item->setFlag(QGraphicsItem::ItemIsMovable);
-
- for (int i = 0; i < atoi(argv[1]); ++i) {
- QGraphicsRectItem *child = scene.addRect(-5, -5, 10, 10, QPen(Qt::NoPen), QBrush(Qt::blue));
- child->setPos(-50 + qrand() % 100, -50 + qrand() % 100);
- child->setParentItem(item);
- }
-
- View view(&scene, item);
- view.resize(300, 300);
- view.show();
-#ifdef Q_WS_X11
- qt_x11_wait_for_window_manager(&view);
-#endif
-
- return app.exec();
-}
-
-#include "main.moc"
diff --git a/tests/benchmarks/qgraphicsview/benchapps/moveItems/moveItems.pro b/tests/benchmarks/qgraphicsview/benchapps/moveItems/moveItems.pro
deleted file mode 100644
index 28dcadc..0000000
--- a/tests/benchmarks/qgraphicsview/benchapps/moveItems/moveItems.pro
+++ /dev/null
@@ -1 +0,0 @@
-SOURCES += main.cpp
diff --git a/tests/benchmarks/qgraphicsview/benchapps/scrolltest/main.cpp b/tests/benchmarks/qgraphicsview/benchapps/scrolltest/main.cpp
deleted file mode 100644
index 7419206..0000000
--- a/tests/benchmarks/qgraphicsview/benchapps/scrolltest/main.cpp
+++ /dev/null
@@ -1,146 +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 <QtGui>
-#include "valgrind/callgrind.h"
-
-class ItemMover : public QObject
-{
- Q_OBJECT
-public:
- ItemMover(QGraphicsItem *item)
- : _item(item)
- {
- startTimer(0);
- }
-
-protected:
- void timerEvent(QTimerEvent *event)
- {
- _item->moveBy(-1, 0);
- }
-
-private:
- QGraphicsItem *_item;
-};
-
-class ClipItem : public QGraphicsRectItem
-{
-public:
- ClipItem(qreal x, qreal y, qreal w, qreal h, const QPen &pen, const QBrush &brush)
- : QGraphicsRectItem(x, y, w, h)
- {
- setPen(pen);
- setBrush(brush);
- }
-
- QPainterPath shape() const
- {
- QPainterPath path;
- path.addRect(rect());
- return path;
- }
-};
-
-class CountView : public QGraphicsView
-{
-protected:
- void paintEvent(QPaintEvent *event)
- {
- static int n = 0;
- if (n)
- CALLGRIND_START_INSTRUMENTATION
- QGraphicsView::paintEvent(event);
- if (n)
- CALLGRIND_STOP_INSTRUMENTATION
- if (++n == 500)
- qApp->quit();
- }
-};
-
-int main(int argc, char *argv[])
-{
- QApplication app(argc, argv);
-
- QGraphicsScene scene;
- scene.setItemIndexMethod(QGraphicsScene::NoIndex);
-
- ClipItem *clipItem = new ClipItem(0, 0, 100, 100, QPen(), QBrush(Qt::blue));
- clipItem->setFlag(QGraphicsItem::ItemClipsChildrenToShape);
- clipItem->setData(0, "clipItem");
- scene.addItem(clipItem);
-
- QGraphicsRectItem *scrollItem = scene.addRect(0, 0, 10, 10, QPen(Qt::NoPen), QBrush(Qt::NoBrush));
- scrollItem->setParentItem(clipItem);
- scrollItem->setFlag(QGraphicsItem::ItemIsMovable);
- scrollItem->setData(0, "scrollItem");
-
- for (int y = 0; y < 25; ++y) {
- for (int x = 0; x < 25; ++x) {
- ClipItem *rect = new ClipItem(0, 0, 90, 20, QPen(Qt::NoPen), QBrush(Qt::green));
- rect->setParentItem(scrollItem);
- rect->setPos(x * 95, y * 25);
- rect->setData(0, qPrintable(QString("rect %1 %2").arg(x).arg(y)));
- rect->setFlag(QGraphicsItem::ItemClipsChildrenToShape);
-
- QGraphicsEllipseItem *ellipse = new QGraphicsEllipseItem(-5, -5, 10, 10);
- ellipse->setPen(QPen(Qt::NoPen));
- ellipse->setBrush(QBrush(Qt::yellow));
- ellipse->setParentItem(rect);
- ellipse->setData(0, qPrintable(QString("ellipse %1 %2").arg(x).arg(y)));
- }
- }
-
- scrollItem->setRect(scrollItem->childrenBoundingRect());
-
-#if 0
- ItemMover mover(scrollItem);
-#endif
-
- CountView view;
- view.setScene(&scene);
- view.setSceneRect(-25, -25, 150, 150);
- view.resize(300, 300);
- view.show();
-
- return app.exec();
-}
-
-#include "main.moc"
diff --git a/tests/benchmarks/qgraphicsview/benchapps/scrolltest/scrolltest.pro b/tests/benchmarks/qgraphicsview/benchapps/scrolltest/scrolltest.pro
deleted file mode 100644
index 28dcadc..0000000
--- a/tests/benchmarks/qgraphicsview/benchapps/scrolltest/scrolltest.pro
+++ /dev/null
@@ -1 +0,0 @@
-SOURCES += main.cpp
diff --git a/tests/benchmarks/qgraphicsview/chiptester/chip.cpp b/tests/benchmarks/qgraphicsview/chiptester/chip.cpp
deleted file mode 100644
index 4c1020a..0000000
--- a/tests/benchmarks/qgraphicsview/chiptester/chip.cpp
+++ /dev/null
@@ -1,182 +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 "chip.h"
-
-#include <QtGui>
-
-Chip::Chip(const QColor &color, int x, int y)
-{
- this->x = x;
- this->y = y;
- this->color = color;
- setZValue((x + y) % 2);
-
- setFlags(ItemIsSelectable | ItemIsMovable);
- setAcceptsHoverEvents(true);
-}
-
-QRectF Chip::boundingRect() const
-{
- return QRectF(0, 0, 110, 70);
-}
-
-QPainterPath Chip::shape() const
-{
- QPainterPath path;
- path.addRect(14, 14, 82, 42);
- return path;
-}
-
-void Chip::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)
-{
- Q_UNUSED(widget);
-
- QColor fillColor = (option->state & QStyle::State_Selected) ? color.dark(150) : color;
- if (option->state & QStyle::State_MouseOver)
- fillColor = fillColor.light(125);
-
- if (option->levelOfDetail < 0.2) {
- if (option->levelOfDetail < 0.125) {
- painter->fillRect(QRectF(0, 0, 110, 70), fillColor);
- return;
- }
-
- QBrush b = painter->brush();
- painter->setBrush(fillColor);
- painter->drawRect(13, 13, 97, 57);
- painter->setBrush(b);
- return;
- }
-
- QPen oldPen = painter->pen();
- QPen pen = oldPen;
- int width = 0;
- if (option->state & QStyle::State_Selected)
- width += 2;
-
- pen.setWidth(width);
- QBrush b = painter->brush();
- painter->setBrush(QBrush(fillColor.dark(option->state & QStyle::State_Sunken ? 120 : 100)));
-
- painter->drawRect(QRect(14, 14, 79, 39));
- painter->setBrush(b);
-
- if (option->levelOfDetail >= 1) {
- painter->setPen(QPen(Qt::gray, 1));
- painter->drawLine(15, 54, 94, 54);
- painter->drawLine(94, 53, 94, 15);
- painter->setPen(QPen(Qt::black, 0));
- }
-
- // Draw text
- if (option->levelOfDetail >= 2) {
- QFont font("Times", 10);
- font.setStyleStrategy(QFont::ForceOutline);
- painter->setFont(font);
- painter->save();
- painter->scale(0.1, 0.1);
- painter->drawText(170, 180, QString("Model: VSC-2000 (Very Small Chip) at %1x%2").arg(x).arg(y));
- painter->drawText(170, 200, QString("Serial number: DLWR-WEER-123L-ZZ33-SDSJ"));
- painter->drawText(170, 220, QString("Manufacturer: Chip Manufacturer"));
- painter->restore();
- }
-
- // Draw lines
- QVarLengthArray<QLineF, 36> lines;
- if (option->levelOfDetail >= 0.5) {
- for (int i = 0; i <= 10; i += (option->levelOfDetail > 0.5 ? 1 : 2)) {
- lines.append(QLineF(18 + 7 * i, 13, 18 + 7 * i, 5));
- lines.append(QLineF(18 + 7 * i, 54, 18 + 7 * i, 62));
- }
- for (int i = 0; i <= 6; i += (option->levelOfDetail > 0.5 ? 1 : 2)) {
- lines.append(QLineF(5, 18 + i * 5, 13, 18 + i * 5));
- lines.append(QLineF(94, 18 + i * 5, 102, 18 + i * 5));
- }
- }
- if (option->levelOfDetail >= 0.4) {
- const QLineF lineData[] = {
- QLineF(25, 35, 35, 35),
- QLineF(35, 30, 35, 40),
- QLineF(35, 30, 45, 35),
- QLineF(35, 40, 45, 35),
- QLineF(45, 30, 45, 40),
- QLineF(45, 35, 55, 35)
- };
- lines.append(lineData, 6);
- }
- painter->drawLines(lines.data(), lines.size());
-
- // Draw red ink
- if (stuff.size() > 1) {
- QPen p = painter->pen();
- painter->setPen(QPen(Qt::red, 1, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin));
- painter->setBrush(Qt::NoBrush);
- QPainterPath path;
- path.moveTo(stuff.first());
- for (int i = 1; i < stuff.size(); ++i)
- path.lineTo(stuff.at(i));
- painter->drawPath(path);
- painter->setPen(p);
- }
-}
-
-void Chip::mousePressEvent(QGraphicsSceneMouseEvent *event)
-{
- QGraphicsItem::mousePressEvent(event);
- update();
-}
-
-void Chip::mouseMoveEvent(QGraphicsSceneMouseEvent *event)
-{
- if (event->modifiers() & Qt::ShiftModifier) {
- stuff << event->pos();
- update();
- return;
- }
- QGraphicsItem::mouseMoveEvent(event);
-}
-
-void Chip::mouseReleaseEvent(QGraphicsSceneMouseEvent *event)
-{
- QGraphicsItem::mouseReleaseEvent(event);
- update();
-}
diff --git a/tests/benchmarks/qgraphicsview/chiptester/chip.h b/tests/benchmarks/qgraphicsview/chiptester/chip.h
deleted file mode 100644
index 9db23f9..0000000
--- a/tests/benchmarks/qgraphicsview/chiptester/chip.h
+++ /dev/null
@@ -1,68 +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$
-**
-****************************************************************************/
-
-#ifndef CHIP_H
-#define CHIP_H
-
-#include <QtGui/QColor>
-#include <QtGui/QGraphicsItem>
-
-class Chip : public QGraphicsItem
-{
-public:
- Chip(const QColor &color, int x, int y);
-
- QRectF boundingRect() const;
- QPainterPath shape() const;
- void paint(QPainter *painter, const QStyleOptionGraphicsItem *item, QWidget *widget);
-
-protected:
- void mousePressEvent(QGraphicsSceneMouseEvent *event);
- void mouseMoveEvent(QGraphicsSceneMouseEvent *event);
- void mouseReleaseEvent(QGraphicsSceneMouseEvent *event);
-
-private:
- int x, y;
- QColor color;
- QList<QPointF> stuff;
-};
-
-#endif
diff --git a/tests/benchmarks/qgraphicsview/chiptester/chiptester.cpp b/tests/benchmarks/qgraphicsview/chiptester/chiptester.cpp
deleted file mode 100644
index 8cada67..0000000
--- a/tests/benchmarks/qgraphicsview/chiptester/chiptester.cpp
+++ /dev/null
@@ -1,144 +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 "chiptester.h"
-#include "chip.h"
-
-#include <QtGui>
-#ifndef QT_NO_OPENGL
-#include <QtOpenGL>
-#endif
-
-ChipTester::ChipTester(QWidget *parent)
- : QGraphicsView(parent),
- npaints(0)
-{
- resize(400, 300);
- setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
- setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
- setFrameStyle(0);
- setTransformationAnchor(NoAnchor);
-
- populateScene();
- setScene(scene);
-
- setWindowTitle(tr("Chip Demo"));
-}
-
-void ChipTester::setAntialias(bool enabled)
-{
- setRenderHint(QPainter::Antialiasing, enabled);
-}
-
-void ChipTester::setOpenGL(bool enabled)
-{
-#ifndef QT_NO_OPENGL
- setViewport(enabled ? new QGLWidget(QGLFormat(QGL::SampleBuffers)) : 0);
-#endif
-}
-
-void ChipTester::setOperation(Operation operation)
-{
- this->operation = operation;
-}
-
-void ChipTester::runBenchmark()
-{
- npaints = 0;
- timerId = startTimer(0);
- stopWatch.start();
- eventLoop.exec();
- killTimer(timerId);
-}
-
-void ChipTester::paintEvent(QPaintEvent *event)
-{
- QGraphicsView::paintEvent(event);
- if (++npaints == 50)
- eventLoop.quit();
-}
-
-void ChipTester::timerEvent(QTimerEvent *)
-{
- switch (operation) {
- case Rotate360:
- rotate(1);
- break;
- case ZoomInOut: {
- qreal s = 0.05 + (npaints / 20.0);
- setTransform(QTransform().scale(s, s));
- break;
- }
- case Translate: {
- int offset = horizontalScrollBar()->minimum()
- + (npaints % (horizontalScrollBar()->maximum() - horizontalScrollBar()->minimum()));
- horizontalScrollBar()->setValue(offset);
- break;
- }
- }
-}
-
-void ChipTester::populateScene()
-{
- scene = new QGraphicsScene;
-
- QImage image(":/qt4logo.png");
-
- // Populate scene
- int xx = 0;
- int nitems = 0;
- for (int i = -1100; i < 1100; i += 110) {
- ++xx;
- int yy = 0;
- for (int j = -700; j < 700; j += 70) {
- ++yy;
- qreal x = (i + 1100) / 2200.0;
- qreal y = (j + 700) / 1400.0;
-
- QColor color(image.pixel(int(image.width() * x), int(image.height() * y)));
- QGraphicsItem *item = new Chip(color, xx, yy);
- item->setPos(QPointF(i, j));
- scene->addItem(item);
-
- ++nitems;
- }
- }
-}
diff --git a/tests/benchmarks/qgraphicsview/chiptester/chiptester.h b/tests/benchmarks/qgraphicsview/chiptester/chiptester.h
deleted file mode 100644
index 1a73bb7..0000000
--- a/tests/benchmarks/qgraphicsview/chiptester/chiptester.h
+++ /dev/null
@@ -1,85 +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$
-**
-****************************************************************************/
-
-#ifndef CHIPTESTER_H
-#define CHIPTESTER_H
-
-#include <QtGui>
-
-QT_FORWARD_DECLARE_CLASS(QGraphicsScene)
-QT_FORWARD_DECLARE_CLASS(QGraphicsView)
-QT_FORWARD_DECLARE_CLASS(QLabel)
-QT_FORWARD_DECLARE_CLASS(QSlider)
-QT_FORWARD_DECLARE_CLASS(QSplitter)
-
-class ChipTester : public QGraphicsView
-{
- Q_OBJECT
-public:
- enum Operation {
- Rotate360,
- ZoomInOut,
- Translate
- };
- ChipTester(QWidget *parent = 0);
-
- void setAntialias(bool enabled);
- void setOpenGL(bool enabled);
- void runBenchmark();
- void setOperation(Operation operation);
-
-protected:
- void paintEvent(QPaintEvent *event);
- void timerEvent(QTimerEvent *event);
-
-private:
- void populateScene();
-
- QGraphicsView *view;
- QGraphicsScene *scene;
- int npaints;
- int timerId;
- QEventLoop eventLoop;
- QTime stopWatch;
- Operation operation;
-};
-
-#endif
diff --git a/tests/benchmarks/qgraphicsview/chiptester/chiptester.pri b/tests/benchmarks/qgraphicsview/chiptester/chiptester.pri
deleted file mode 100644
index a9e0bf8..0000000
--- a/tests/benchmarks/qgraphicsview/chiptester/chiptester.pri
+++ /dev/null
@@ -1,12 +0,0 @@
-SOURCES += \
- chiptester/chiptester.cpp \
- chiptester/chip.cpp
-
-HEADERS += \
- chiptester/chiptester.h \
- chiptester/chip.h
-
-RESOURCES += \
- chiptester/images.qrc
-
-contains(QT_CONFIG, opengl) QT += opengl
diff --git a/tests/benchmarks/qgraphicsview/chiptester/images.qrc b/tests/benchmarks/qgraphicsview/chiptester/images.qrc
deleted file mode 100644
index 73e8620..0000000
--- a/tests/benchmarks/qgraphicsview/chiptester/images.qrc
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE RCC><RCC version="1.0">
-<qresource>
- <file>qt4logo.png</file>
-</qresource>
-</RCC>
diff --git a/tests/benchmarks/qgraphicsview/chiptester/qt4logo.png b/tests/benchmarks/qgraphicsview/chiptester/qt4logo.png
deleted file mode 100644
index 157e86e..0000000
--- a/tests/benchmarks/qgraphicsview/chiptester/qt4logo.png
+++ /dev/null
Binary files differ
diff --git a/tests/benchmarks/qgraphicsview/images/designer.png b/tests/benchmarks/qgraphicsview/images/designer.png
deleted file mode 100644
index 0988fce..0000000
--- a/tests/benchmarks/qgraphicsview/images/designer.png
+++ /dev/null
Binary files differ
diff --git a/tests/benchmarks/qgraphicsview/images/wine-big.jpeg b/tests/benchmarks/qgraphicsview/images/wine-big.jpeg
deleted file mode 100644
index 9900a50..0000000
--- a/tests/benchmarks/qgraphicsview/images/wine-big.jpeg
+++ /dev/null
Binary files differ
diff --git a/tests/benchmarks/qgraphicsview/images/wine.jpeg b/tests/benchmarks/qgraphicsview/images/wine.jpeg
deleted file mode 100644
index 8fe1d3a..0000000
--- a/tests/benchmarks/qgraphicsview/images/wine.jpeg
+++ /dev/null
Binary files differ
diff --git a/tests/benchmarks/qgraphicsview/qgraphicsview.pro b/tests/benchmarks/qgraphicsview/qgraphicsview.pro
deleted file mode 100644
index 927d731..0000000
--- a/tests/benchmarks/qgraphicsview/qgraphicsview.pro
+++ /dev/null
@@ -1,16 +0,0 @@
-load(qttest_p4)
-TEMPLATE = app
-TARGET = tst_qgraphicsview
-
-SOURCES += tst_qgraphicsview.cpp
-RESOURCES += qgraphicsview.qrc
-
-include(chiptester/chiptester.pri)
-
-symbian {
- qt_not_deployed {
- plugins.sources = qjpeg.dll
- plugins.path = imageformats
- DEPLOYMENT += plugins
- }
-}
diff --git a/tests/benchmarks/qgraphicsview/qgraphicsview.qrc b/tests/benchmarks/qgraphicsview/qgraphicsview.qrc
deleted file mode 100644
index 3681648..0000000
--- a/tests/benchmarks/qgraphicsview/qgraphicsview.qrc
+++ /dev/null
@@ -1,9 +0,0 @@
-<!DOCTYPE RCC><RCC version="1.0">
-<qresource>
- <file>images/designer.png</file>
- <file>images/wine.jpeg</file>
- <file>images/wine-big.jpeg</file>
- <file>random.data</file>
-</qresource>
-</RCC>
-
diff --git a/tests/benchmarks/qgraphicsview/random.data b/tests/benchmarks/qgraphicsview/random.data
deleted file mode 100644
index 190a36c..0000000
--- a/tests/benchmarks/qgraphicsview/random.data
+++ /dev/null
Binary files differ
diff --git a/tests/benchmarks/qgraphicsview/tst_qgraphicsview.cpp b/tests/benchmarks/qgraphicsview/tst_qgraphicsview.cpp
deleted file mode 100644
index 4cb07db..0000000
--- a/tests/benchmarks/qgraphicsview/tst_qgraphicsview.cpp
+++ /dev/null
@@ -1,908 +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 <QDebug>
-#include <QGraphicsItem>
-#include <QGraphicsScene>
-#include <QGraphicsView>
-#include <QImage>
-#ifdef Q_WS_X11
-QT_BEGIN_NAMESPACE
-extern void qt_x11_wait_for_window_manager(QWidget *);
-QT_END_NAMESPACE
-#endif
-#include "chiptester/chiptester.h"
-//#define CALLGRIND_DEBUG
-#ifdef CALLGRIND_DEBUG
-#include "valgrind/callgrind.h"
-#endif
-
-//TESTED_FILES=
-
-class QEventWaiter : public QEventLoop
-{
-public:
- QEventWaiter(QObject *receiver, QEvent::Type type)
- : waiting(false), t(type)
- {
- receiver->installEventFilter(this);
- }
-
- void wait()
- {
- waiting = true;
- exec();
- }
-
- bool eventFilter(QObject *receiver, QEvent *event)
- {
- Q_UNUSED(receiver);
- if (waiting && event->type() == t) {
- waiting = false;
- exit();
- }
- return false;
- }
-
-private:
- bool waiting;
- QEvent::Type t;
-};
-
-class tst_QGraphicsView : public QObject
-{
- Q_OBJECT
-
-public:
- tst_QGraphicsView();
- virtual ~tst_QGraphicsView();
-
-public slots:
- void init();
- void cleanup();
-
-private slots:
- void construct();
- void paintSingleItem();
- void paintDeepStackingItems();
- void paintDeepStackingItems_clipped();
- void moveSingleItem();
- void mapPointToScene_data();
- void mapPointToScene();
- void mapPointFromScene_data();
- void mapPointFromScene();
- void mapRectToScene_data();
- void mapRectToScene();
- void mapRectFromScene_data();
- void mapRectFromScene();
- void chipTester_data();
- void chipTester();
- void deepNesting_data();
- void deepNesting();
- void imageRiver_data();
- void imageRiver();
- void textRiver_data();
- void textRiver();
- void moveItemCache_data();
- void moveItemCache();
- void paintItemCache_data();
- void paintItemCache();
-};
-
-tst_QGraphicsView::tst_QGraphicsView()
-{
-}
-
-tst_QGraphicsView::~tst_QGraphicsView()
-{
-}
-
-void tst_QGraphicsView::init()
-{
-}
-
-void tst_QGraphicsView::cleanup()
-{
-}
-
-void tst_QGraphicsView::construct()
-{
- QBENCHMARK {
- QGraphicsView view;
- }
-}
-
-void tst_QGraphicsView::paintSingleItem()
-{
- QGraphicsScene scene(0, 0, 100, 100);
- scene.addRect(0, 0, 10, 10);
-
- QGraphicsView view(&scene);
- view.show();
- view.resize(100, 100);
-#ifdef Q_WS_X11
- qt_x11_wait_for_window_manager(&view);
-#endif
-
- QImage image(100, 100, QImage::Format_ARGB32_Premultiplied);
- QPainter painter(&image);
- QBENCHMARK {
- view.viewport()->render(&painter);
- }
-}
-
-#ifdef Q_OS_SYMBIAN
-# define DEEP_STACKING_COUNT 85
-#else
-# define DEEP_STACKING_COUNT 1000
-#endif
-
-void tst_QGraphicsView::paintDeepStackingItems()
-{
- QGraphicsScene scene(0, 0, 100, 100);
- QGraphicsRectItem *item = scene.addRect(0, 0, 10, 10);
- QGraphicsRectItem *lastRect = item;
- for (int i = 0; i < DEEP_STACKING_COUNT; ++i) {
- QGraphicsRectItem *rect = scene.addRect(0, 0, 10, 10);
- rect->setPos(1, 1);
- rect->setParentItem(lastRect);
- lastRect = rect;
- }
-
- QGraphicsView view(&scene);
- view.show();
- view.resize(100, 100);
-#ifdef Q_WS_X11
- qt_x11_wait_for_window_manager(&view);
-#endif
-
- QImage image(100, 100, QImage::Format_ARGB32_Premultiplied);
- QPainter painter(&image);
- QBENCHMARK {
- view.viewport()->render(&painter);
- }
-}
-
-void tst_QGraphicsView::paintDeepStackingItems_clipped()
-{
- QGraphicsScene scene(0, 0, 100, 100);
- QGraphicsRectItem *item = scene.addRect(0, 0, 10, 10);
- item->setFlag(QGraphicsItem::ItemClipsChildrenToShape);
- QGraphicsRectItem *lastRect = item;
- for (int i = 0; i < DEEP_STACKING_COUNT; ++i) {
- QGraphicsRectItem *rect = scene.addRect(0, 0, 10, 10);
- rect->setPos(1, 1);
- rect->setParentItem(lastRect);
- lastRect = rect;
- }
-
- QGraphicsView view(&scene);
- view.show();
- view.resize(100, 100);
-#ifdef Q_WS_X11
- qt_x11_wait_for_window_manager(&view);
-#endif
-
- QImage image(100, 100, QImage::Format_ARGB32_Premultiplied);
- QPainter painter(&image);
- QBENCHMARK {
- view.viewport()->render(&painter);
- }
-}
-
-void tst_QGraphicsView::moveSingleItem()
-{
- QGraphicsScene scene(0, 0, 100, 100);
- QGraphicsRectItem *item = scene.addRect(0, 0, 10, 10);
-
- QGraphicsView view(&scene);
- view.show();
- view.resize(100, 100);
-#ifdef Q_WS_X11
- qt_x11_wait_for_window_manager(&view);
-#endif
-
- QEventWaiter waiter(view.viewport(), QEvent::Paint);
- int n = 1;
- QBENCHMARK {
- item->setPos(25 * n, 25 * n);
- waiter.wait();
- n = n ? 0 : 1;
- }
-}
-
-void tst_QGraphicsView::mapPointToScene_data()
-{
- QTest::addColumn<QTransform>("transform");
- QTest::addColumn<QPoint>("point");
-
- QTest::newRow("null") << QTransform() << QPoint();
- QTest::newRow("identity QPoint(100, 100)") << QTransform() << QPoint(100, 100);
- QTest::newRow("rotate QPoint(100, 100)") << QTransform().rotate(90) << QPoint(100, 100);
- QTest::newRow("scale QPoint(100, 100)") << QTransform().scale(5, 5) << QPoint(100, 100);
- QTest::newRow("translate QPoint(100, 100)") << QTransform().translate(5, 5) << QPoint(100, 100);
- QTest::newRow("shear QPoint(100, 100)") << QTransform().shear(1.5, 1.5) << QPoint(100, 100);
- QTest::newRow("perspect QPoint(100, 100)") << QTransform().rotate(45, Qt::XAxis) << QPoint(100, 100);
-}
-
-void tst_QGraphicsView::mapPointToScene()
-{
- QFETCH(QTransform, transform);
- QFETCH(QPoint, point);
-
- QGraphicsView view;
- view.setTransform(transform);
- QBENCHMARK {
- view.mapToScene(point);
- }
-}
-
-void tst_QGraphicsView::mapPointFromScene_data()
-{
- QTest::addColumn<QTransform>("transform");
- QTest::addColumn<QPointF>("point");
-
- QTest::newRow("null") << QTransform() << QPointF();
- QTest::newRow("identity QPointF(100, 100)") << QTransform() << QPointF(100, 100);
- QTest::newRow("rotate QPointF(100, 100)") << QTransform().rotate(90) << QPointF(100, 100);
- QTest::newRow("scale QPointF(100, 100)") << QTransform().scale(5, 5) << QPointF(100, 100);
- QTest::newRow("translate QPointF(100, 100)") << QTransform().translate(5, 5) << QPointF(100, 100);
- QTest::newRow("shear QPointF(100, 100)") << QTransform().shear(1.5, 1.5) << QPointF(100, 100);
- QTest::newRow("perspect QPointF(100, 100)") << QTransform().rotate(45, Qt::XAxis) << QPointF(100, 100);
-}
-
-void tst_QGraphicsView::mapPointFromScene()
-{
- QFETCH(QTransform, transform);
- QFETCH(QPointF, point);
-
- QGraphicsView view;
- view.setTransform(transform);
- QBENCHMARK {
- view.mapFromScene(point);
- }
-}
-
-void tst_QGraphicsView::mapRectToScene_data()
-{
- QTest::addColumn<QTransform>("transform");
- QTest::addColumn<QRect>("rect");
-
- QTest::newRow("null") << QTransform() << QRect();
- QTest::newRow("identity QRect(0, 0, 100, 100)") << QTransform() << QRect(0, 0, 100, 100);
- QTest::newRow("rotate QRect(0, 0, 100, 100)") << QTransform().rotate(90) << QRect(0, 0, 100, 100);
- QTest::newRow("scale QRect(0, 0, 100, 100)") << QTransform().scale(5, 5) << QRect(0, 0, 100, 100);
- QTest::newRow("translate QRect(0, 0, 100, 100)") << QTransform().translate(5, 5) << QRect(0, 0, 100, 100);
- QTest::newRow("shear QRect(0, 0, 100, 100)") << QTransform().shear(1.5, 1.5) << QRect(0, 0, 100, 100);
- QTest::newRow("perspect QRect(0, 0, 100, 100)") << QTransform().rotate(45, Qt::XAxis) << QRect(0, 0, 100, 100);
-}
-
-void tst_QGraphicsView::mapRectToScene()
-{
- QFETCH(QTransform, transform);
- QFETCH(QRect, rect);
-
- QGraphicsView view;
- view.setTransform(transform);
- QBENCHMARK {
- view.mapToScene(rect);
- }
-}
-
-void tst_QGraphicsView::mapRectFromScene_data()
-{
- QTest::addColumn<QTransform>("transform");
- QTest::addColumn<QRectF>("rect");
-
- QTest::newRow("null") << QTransform() << QRectF();
- QTest::newRow("identity QRectF(0, 0, 100, 100)") << QTransform() << QRectF(0, 0, 100, 100);
- QTest::newRow("rotate QRectF(0, 0, 100, 100)") << QTransform().rotate(90) << QRectF(0, 0, 100, 100);
- QTest::newRow("scale QRectF(0, 0, 100, 100)") << QTransform().scale(5, 5) << QRectF(0, 0, 100, 100);
- QTest::newRow("translate QRectF(0, 0, 100, 100)") << QTransform().translate(5, 5) << QRectF(0, 0, 100, 100);
- QTest::newRow("shear QRectF(0, 0, 100, 100)") << QTransform().shear(1.5, 1.5) << QRectF(0, 0, 100, 100);
- QTest::newRow("perspect QRectF(0, 0, 100, 100)") << QTransform().rotate(45, Qt::XAxis) << QRectF(0, 0, 100, 100);
-}
-
-void tst_QGraphicsView::mapRectFromScene()
-{
- QFETCH(QTransform, transform);
- QFETCH(QRectF, rect);
-
- QGraphicsView view;
- view.setTransform(transform);
- QBENCHMARK {
- view.mapFromScene(rect);
- }
-}
-
-void tst_QGraphicsView::chipTester_data()
-{
- QTest::addColumn<bool>("antialias");
- QTest::addColumn<bool>("opengl");
- QTest::addColumn<int>("operation");
- QTest::newRow("rotate, normal") << false << false << 0;
- QTest::newRow("rotate, normal, antialias") << true << false << 0;
- QTest::newRow("rotate, opengl") << false << true << 0;
- QTest::newRow("rotate, opengl, antialias") << true << true << 0;
- QTest::newRow("zoom, normal") << false << false << 1;
- QTest::newRow("zoom, normal, antialias") << true << false << 1;
- QTest::newRow("zoom, opengl") << false << true << 1;
- QTest::newRow("zoom, opengl, antialias") << true << true << 1;
- QTest::newRow("translate, normal") << false << false << 2;
- QTest::newRow("translate, normal, antialias") << true << false << 2;
- QTest::newRow("translate, opengl") << false << true << 2;
- QTest::newRow("translate, opengl, antialias") << true << true << 2;
-}
-
-void tst_QGraphicsView::chipTester()
-{
- QFETCH(bool, antialias);
- QFETCH(bool, opengl);
- QFETCH(int, operation);
-
- ChipTester tester;
- tester.show();
-#ifdef Q_WS_X11
- qt_x11_wait_for_window_manager(&tester);
-#endif
- tester.setAntialias(antialias);
- tester.setOpenGL(opengl);
- tester.setOperation(ChipTester::Operation(operation));
- QBENCHMARK {
- tester.runBenchmark();
- }
-}
-
-static void addChildHelper(QGraphicsItem *parent, int n, bool rotate)
-{
- if (!n)
- return;
- QGraphicsRectItem *item = new QGraphicsRectItem(QRectF(0, 0, 50, 50), parent);
- item->setPos(10, 10);
- if (rotate)
- item->rotate(10);
- addChildHelper(item, n - 1, rotate);
-}
-
-void tst_QGraphicsView::deepNesting_data()
-{
- QTest::addColumn<bool>("rotate");
- QTest::addColumn<bool>("sortCache");
- QTest::addColumn<bool>("bsp");
-
- QTest::newRow("bsp, no transform") << false << false << true;
- QTest::newRow("bsp, rotation") << true << false << true;
- QTest::newRow("bsp, no transform, sort cache") << false << true << true;
- QTest::newRow("bsp, rotation, sort cache") << true << true << true;
- QTest::newRow("no transform") << false << false << false;
- QTest::newRow("rotation") << true << false << false;
- QTest::newRow("no transform, sort cache") << false << true << false;
- QTest::newRow("rotation, sort cache") << true << true << false;
-}
-
-void tst_QGraphicsView::deepNesting()
-{
- QFETCH(bool, rotate);
- QFETCH(bool, sortCache);
- QFETCH(bool, bsp);
-
- QGraphicsScene scene;
- for (int y = 0; y < 15; ++y) {
- for (int x = 0; x < 15; ++x) {
- QGraphicsItem *item1 = scene.addRect(QRectF(0, 0, 50, 50));
- if (rotate) item1->rotate(10);
- item1->setPos(x * 25, y * 25);
- addChildHelper(item1, 30, rotate);
- }
- }
- scene.setItemIndexMethod(bsp ? QGraphicsScene::BspTreeIndex : QGraphicsScene::NoIndex);
- scene.setSortCacheEnabled(sortCache);
-
- QGraphicsView view(&scene);
- view.setRenderHint(QPainter::Antialiasing);
- view.show();
-#ifdef Q_WS_X11
- qt_x11_wait_for_window_manager(&view);
-#endif
- QTest::qWait(250);
-
- QBENCHMARK {
-#ifdef CALLGRIND_DEBUG
- CALLGRIND_START_INSTRUMENTATION
-#endif
- view.viewport()->repaint();
-#ifdef CALLGRIND_DEBUG
- CALLGRIND_STOP_INSTRUMENTATION
-#endif
- }
-}
-
-class AnimatedPixmapItem : public QGraphicsPixmapItem
-{
-public:
- AnimatedPixmapItem(int x, int y, bool rot, bool scal, QGraphicsItem *parent = 0)
- : QGraphicsPixmapItem(parent), rotateFactor(0), scaleFactor(0)
- {
- rotate = rot;
- scale = scal;
- xspeed = x;
- yspeed = y;
- }
-
-protected:
- void advance(int i)
- {
- if (!i)
- return;
- int x = int(pos().x()) + pixmap().width();
- x += xspeed;
- x = (x % (300 + pixmap().width() * 2)) - pixmap().width();
- int y = int(pos().y()) + pixmap().width();
- y += yspeed;
- y = (y % (300 + pixmap().width() * 2)) - pixmap().width();
- setPos(x, y);
-
- int rot = rotateFactor;
- int sca = scaleFactor;
- if (rotate)
- rotateFactor = 1 + (rot + xspeed) % 360;
- if (scale)
- scaleFactor = 1 + (sca + yspeed) % 50;
-
- if (rotate || scale) {
- qreal s = 0.5 + scaleFactor / 50.0;
- setTransform(QTransform().rotate(rotateFactor).scale(s, s));
- }
- }
-
-private:
- int xspeed;
- int yspeed;
- int rotateFactor;
- int scaleFactor;
- bool rotate;
- bool scale;
-};
-
-class CountPaintEventView : public QGraphicsView
-{
-public:
- CountPaintEventView(QGraphicsScene *scene = 0)
- : QGraphicsView(scene), count(0)
- { }
-
- int count;
-
-protected:
- void paintEvent(QPaintEvent *event)
- {
- ++count;
- QGraphicsView::paintEvent(event);
- };
-};
-
-void tst_QGraphicsView::imageRiver_data()
-{
- QTest::addColumn<int>("direction");
- QTest::addColumn<bool>("rotation");
- QTest::addColumn<bool>("scale");
- QTest::newRow("horizontal") << 0 << false << false;
- QTest::newRow("vertical") << 1 << false << false;
- QTest::newRow("both") << 2 << false << false;
- QTest::newRow("horizontal rot") << 0 << true << false;
- QTest::newRow("horizontal scale") << 0 << false << true;
- QTest::newRow("horizontal rot + scale") << 0 << true << true;
-}
-
-void tst_QGraphicsView::imageRiver()
-{
- QFETCH(int, direction);
- QFETCH(bool, rotation);
- QFETCH(bool, scale);
-
- QGraphicsScene scene(0, 0, 300, 300);
-
- CountPaintEventView view(&scene);
- view.resize(300, 300);
- view.setFrameStyle(0);
- view.setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
- view.setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
- view.show();
-
- QPixmap pix(":/images/designer.png");
- QVERIFY(!pix.isNull());
-
- QList<QGraphicsItem *> items;
- QFile file(":/random.data");
- QVERIFY(file.open(QIODevice::ReadOnly));
- QDataStream str(&file);
- for (int i = 0; i < 100; ++i) {
- AnimatedPixmapItem *item;
- if (direction == 0) item = new AnimatedPixmapItem((i % 4) + 1, 0, rotation, scale);
- if (direction == 1) item = new AnimatedPixmapItem(0, (i % 4) + 1, rotation, scale);
- if (direction == 2) item = new AnimatedPixmapItem((i % 4) + 1, (i % 4) + 1, rotation, scale);
- item->setPixmap(pix);
- int rnd1, rnd2;
- str >> rnd1 >> rnd2;
- item->setPos(-pix.width() + rnd1 % (view.width() + pix.width()),
- -pix.height() + rnd2 % (view.height() + pix.height()));
- scene.addItem(item);
- }
-
- view.count = 0;
-
- QBENCHMARK {
-#ifdef CALLGRIND_DEBUG
- CALLGRIND_START_INSTRUMENTATION
-#endif
- for (int i = 0; i < 100; ++i) {
- scene.advance();
- while (view.count < (i+1))
- qApp->processEvents();
- }
-#ifdef CALLGRIND_DEBUG
- CALLGRIND_STOP_INSTRUMENTATION
-#endif
- }
-}
-
-class AnimatedTextItem : public QGraphicsSimpleTextItem
-{
-public:
- AnimatedTextItem(int x, int y, bool rot, bool scal, QGraphicsItem *parent = 0)
- : QGraphicsSimpleTextItem(parent), rotateFactor(0), scaleFactor(25)
- {
- setText("River of text");
- rotate = rot;
- scale = scal;
- xspeed = x;
- yspeed = y;
- }
-
-protected:
- void advance(int i)
- {
- if (!i)
- return;
- QRect r = boundingRect().toRect();
- int x = int(pos().x()) + r.width();
- x += xspeed;
- x = (x % (300 + r.width() * 2)) - r.width();
- int y = int(pos().y()) + r.width();
- y += yspeed;
- y = (y % (300 + r.width() * 2)) - r.width();
- setPos(x, y);
-
- int rot = rotateFactor;
- int sca = scaleFactor;
- if (rotate)
- rotateFactor = 1 + (rot + xspeed) % 360;
- if (scale)
- scaleFactor = 1 + (sca + yspeed) % 50;
-
- if (rotate || scale) {
- qreal s = 0.5 + scaleFactor / 50.0;
- setTransform(QTransform().rotate(rotateFactor).scale(s, s));
- }
- }
-
-private:
- int xspeed;
- int yspeed;
- int rotateFactor;
- int scaleFactor;
- bool rotate;
- bool scale;
-};
-
-void tst_QGraphicsView::textRiver_data()
-{
- QTest::addColumn<int>("direction");
- QTest::addColumn<bool>("rotation");
- QTest::addColumn<bool>("scale");
- QTest::newRow("horizontal") << 0 << false << false;
- QTest::newRow("vertical") << 1 << false << false;
- QTest::newRow("both") << 2 << false << false;
- QTest::newRow("horizontal rot") << 0 << true << false;
- QTest::newRow("horizontal scale") << 0 << false << true;
- QTest::newRow("horizontal rot + scale") << 0 << true << true;
-}
-
-void tst_QGraphicsView::textRiver()
-{
- QFETCH(int, direction);
- QFETCH(bool, rotation);
- QFETCH(bool, scale);
-
- QGraphicsScene scene(0, 0, 300, 300);
-
- CountPaintEventView view(&scene);
- view.resize(300, 300);
- view.setFrameStyle(0);
- view.setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
- view.setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
- view.show();
-
- QPixmap pix(":/images/designer.png");
- QVERIFY(!pix.isNull());
-
- QList<QGraphicsItem *> items;
- QFile file(":/random.data");
- QVERIFY(file.open(QIODevice::ReadOnly));
- QDataStream str(&file);
- for (int i = 0; i < 100; ++i) {
- AnimatedTextItem *item;
- if (direction == 0) item = new AnimatedTextItem((i % 4) + 1, 0, rotation, scale);
- if (direction == 1) item = new AnimatedTextItem(0, (i % 4) + 1, rotation, scale);
- if (direction == 2) item = new AnimatedTextItem((i % 4) + 1, (i % 4) + 1, rotation, scale);
- int rnd1, rnd2;
- str >> rnd1 >> rnd2;
- item->setPos(-pix.width() + rnd1 % (view.width() + pix.width()),
- -pix.height() + rnd2 % (view.height() + pix.height()));
- scene.addItem(item);
- }
-
- view.count = 0;
-
- QBENCHMARK {
-#ifdef CALLGRIND_DEBUG
- CALLGRIND_START_INSTRUMENTATION
-#endif
- for (int i = 0; i < 100; ++i) {
- scene.advance();
- while (view.count < (i+1))
- qApp->processEvents();
- }
-#ifdef CALLGRIND_DEBUG
- CALLGRIND_STOP_INSTRUMENTATION
-#endif
- }
-}
-
-class AnimatedPixmapCacheItem : public QGraphicsPixmapItem
-{
-public:
- AnimatedPixmapCacheItem(int x, int y, QGraphicsItem *parent = 0)
- : QGraphicsPixmapItem(parent)
- {
- xspeed = x;
- yspeed = y;
- }
-
- void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = 0)
- {
- QGraphicsPixmapItem::paint(painter,option,widget);
- //We just want to wait, and we don't want to process the event loop with qWait
- QTest::qSleep(3);
- }
-protected:
- void advance(int i)
- {
- if (!i)
- return;
- int x = int(pos().x()) + pixmap().width();
- x += xspeed;
- x = (x % (300 + pixmap().width() * 2)) - pixmap().width();
- int y = int(pos().y()) + pixmap().width();
- y += yspeed;
- y = (y % (300 + pixmap().width() * 2)) - pixmap().width();
- setPos(x, y);
- }
-
-private:
- int xspeed;
- int yspeed;
-};
-
-void tst_QGraphicsView::moveItemCache_data()
-{
- QTest::addColumn<int>("direction");
- QTest::addColumn<bool>("rotation");
- QTest::addColumn<int>("cacheMode");
- QTest::newRow("Horizontal movement : ItemCoordinate Cache") << 0 << false << (int)QGraphicsItem::ItemCoordinateCache;
- QTest::newRow("Horizontal movement : DeviceCoordinate Cache") << 0 << false << (int)QGraphicsItem::DeviceCoordinateCache;
- QTest::newRow("Horizontal movement : No Cache") << 0 << false << (int)QGraphicsItem::NoCache;
- QTest::newRow("Vertical + Horizontal movement : ItemCoordinate Cache") << 2 << false << (int)QGraphicsItem::ItemCoordinateCache;
- QTest::newRow("Vertical + Horizontal movement : DeviceCoordinate Cache") << 2 << false << (int)QGraphicsItem::DeviceCoordinateCache;
- QTest::newRow("Vertical + Horizontal movement : No Cache") << 2 << false << (int)QGraphicsItem::NoCache;
- QTest::newRow("Horizontal movement + Rotation : ItemCoordinate Cache") << 0 << true << (int)QGraphicsItem::ItemCoordinateCache;
- QTest::newRow("Horizontal movement + Rotation : DeviceCoordinate Cache") << 0 << true << (int)QGraphicsItem::DeviceCoordinateCache;
- QTest::newRow("Horizontal movement + Rotation : No Cache") << 0 << true << (int)QGraphicsItem::NoCache;
-}
-
-void tst_QGraphicsView::moveItemCache()
-{
- QFETCH(int, direction);
- QFETCH(bool, rotation);
- QFETCH(int, cacheMode);
-
- QGraphicsScene scene(0, 0, 300, 300);
-
- CountPaintEventView view(&scene);
- view.resize(600, 600);
- view.setFrameStyle(0);
- view.setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
- view.setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
- view.show();
-
- QPixmap pix(":/images/wine.jpeg");
- QVERIFY(!pix.isNull());
-
- QList<QGraphicsItem *> items;
- QFile file(":/random.data");
- QVERIFY(file.open(QIODevice::ReadOnly));
- QDataStream str(&file);
- for (int i = 0; i < 50; ++i) {
- AnimatedPixmapCacheItem *item;
- if (direction == 0) item = new AnimatedPixmapCacheItem((i % 4) + 1, 0);
- if (direction == 1) item = new AnimatedPixmapCacheItem(0, (i % 4) + 1);
- if (direction == 2) item = new AnimatedPixmapCacheItem((i % 4) + 1, (i % 4) + 1);
- item->setPixmap(pix);
- item->setCacheMode((QGraphicsItem::CacheMode)cacheMode);
- if (rotation)
- item->setTransform(QTransform().rotate(45));
- int rnd1, rnd2;
- str >> rnd1 >> rnd2;
- item->setPos(-pix.width() + rnd1 % (view.width() + pix.width()),
- -pix.height() + rnd2 % (view.height() + pix.height()));
- scene.addItem(item);
- }
-
- view.count = 0;
-
- QBENCHMARK {
-#ifdef CALLGRIND_DEBUG
- CALLGRIND_START_INSTRUMENTATION
-#endif
- for (int i = 0; i < 100; ++i) {
- scene.advance();
- while (view.count < (i+1))
- qApp->processEvents();
- }
-#ifdef CALLGRIND_DEBUG
- CALLGRIND_STOP_INSTRUMENTATION
-#endif
- }
-}
-
-class UpdatedPixmapCacheItem : public QGraphicsPixmapItem
-{
-public:
- UpdatedPixmapCacheItem(bool partial, QGraphicsItem *parent = 0)
- : QGraphicsPixmapItem(parent), partial(partial)
- {
- }
-
- void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = 0)
- {
- QGraphicsPixmapItem::paint(painter,option,widget);
- }
-protected:
- void advance(int i)
- {
- if (partial)
- update(QRectF(boundingRect().center().x(), boundingRect().center().x(), 30, 30));
- else
- update();
- }
-
-private:
- bool partial;
-};
-
-void tst_QGraphicsView::paintItemCache_data()
-{
- QTest::addColumn<bool>("updatePartial");
- QTest::addColumn<bool>("rotation");
- QTest::addColumn<int>("cacheMode");
- QTest::newRow("Partial Update : ItemCoordinate Cache") << true << false << (int)QGraphicsItem::ItemCoordinateCache;
- QTest::newRow("Partial Update : DeviceCoordinate Cache") << true << false << (int)QGraphicsItem::DeviceCoordinateCache;
- QTest::newRow("Partial Update : No Cache") << true << false << (int)QGraphicsItem::NoCache;
- QTest::newRow("Full Update : ItemCoordinate Cache") << false << false << (int)QGraphicsItem::ItemCoordinateCache;
- QTest::newRow("Full Update : DeviceCoordinate Cache") << false << false << (int)QGraphicsItem::DeviceCoordinateCache;
- QTest::newRow("Full Update : No Cache") << false << false << (int)QGraphicsItem::NoCache;
- QTest::newRow("Partial Update : ItemCoordinate Cache item rotated") << true << true << (int)QGraphicsItem::ItemCoordinateCache;
- QTest::newRow("Partial Update : DeviceCoordinate Cache item rotated") << true << true << (int)QGraphicsItem::DeviceCoordinateCache;
- QTest::newRow("Partial Update : No Cache item rotated") << true << true << (int)QGraphicsItem::NoCache;
- QTest::newRow("Full Update : ItemCoordinate Cache item rotated") << false << true << (int)QGraphicsItem::ItemCoordinateCache;
- QTest::newRow("Full Update : DeviceCoordinate Cache item rotated") << false << true << (int)QGraphicsItem::DeviceCoordinateCache;
- QTest::newRow("Full Update : No Cache item rotated") << false << true <<(int)QGraphicsItem::NoCache;
-}
-
-void tst_QGraphicsView::paintItemCache()
-{
- QFETCH(bool, updatePartial);
- QFETCH(bool, rotation);
- QFETCH(int, cacheMode);
-
- QGraphicsScene scene(0, 0, 300, 300);
-
- CountPaintEventView view(&scene);
- view.resize(600, 600);
- view.setFrameStyle(0);
- view.setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
- view.setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
- view.show();
-
- QPixmap pix(":/images/wine.jpeg");
- QVERIFY(!pix.isNull());
-
- QList<QGraphicsItem *> items;
- QFile file(":/random.data");
- QVERIFY(file.open(QIODevice::ReadOnly));
- QDataStream str(&file);
- UpdatedPixmapCacheItem *item = new UpdatedPixmapCacheItem(updatePartial);
- item->setPixmap(pix);
- item->setCacheMode((QGraphicsItem::CacheMode)cacheMode);
- if (rotation)
- item->setTransform(QTransform().rotate(45));
- item->setPos(-100, -100);
- scene.addItem(item);
-
- QPixmap pix2(":/images/wine-big.jpeg");
- item = new UpdatedPixmapCacheItem(updatePartial);
- item->setPixmap(pix2);
- item->setCacheMode((QGraphicsItem::CacheMode)cacheMode);
- if (rotation)
- item->setTransform(QTransform().rotate(45));
- item->setPos(0, 0);
- scene.addItem(item);
-
- view.count = 0;
-
- QBENCHMARK {
-#ifdef CALLGRIND_DEBUG
- CALLGRIND_START_INSTRUMENTATION
-#endif
- for (int i = 0; i < 50; ++i) {
- scene.advance();
- while (view.count < (i+1))
- qApp->processEvents();
- }
-#ifdef CALLGRIND_DEBUG
- CALLGRIND_STOP_INSTRUMENTATION
-#endif
- }
-}
-
-QTEST_MAIN(tst_QGraphicsView)
-#include "tst_qgraphicsview.moc"