summaryrefslogtreecommitdiffstats
path: root/tests/benchmarks/qgraphicsview
diff options
context:
space:
mode:
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"