diff options
Diffstat (limited to 'tests/benchmarks/gui/painting')
16 files changed, 83 insertions, 62 deletions
diff --git a/tests/benchmarks/gui/painting/CMakeLists.txt b/tests/benchmarks/gui/painting/CMakeLists.txt index 47f9a3020b..2313688038 100644 --- a/tests/benchmarks/gui/painting/CMakeLists.txt +++ b/tests/benchmarks/gui/painting/CMakeLists.txt @@ -1,7 +1,5 @@ # Copyright (C) 2022 The Qt Company Ltd. -# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 - -# Generated from painting.pro. +# SPDX-License-Identifier: BSD-3-Clause add_subdirectory(drawtexture) add_subdirectory(qcolor) diff --git a/tests/benchmarks/gui/painting/drawtexture/CMakeLists.txt b/tests/benchmarks/gui/painting/drawtexture/CMakeLists.txt index 1d8dfd13ef..1e9af29d7f 100644 --- a/tests/benchmarks/gui/painting/drawtexture/CMakeLists.txt +++ b/tests/benchmarks/gui/painting/drawtexture/CMakeLists.txt @@ -1,7 +1,5 @@ # Copyright (C) 2022 The Qt Company Ltd. -# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 - -# Generated from drawtexture.pro. +# SPDX-License-Identifier: BSD-3-Clause ##################################################################### ## tst_bench_drawtexture Binary: @@ -15,6 +13,3 @@ qt_internal_add_benchmark(tst_bench_drawtexture Qt::GuiPrivate Qt::Test ) - -#### Keys ignored in scope 1:.:.:drawtexture.pro:<TRUE>: -# TEMPLATE = "app" diff --git a/tests/benchmarks/gui/painting/drawtexture/tst_drawtexture.cpp b/tests/benchmarks/gui/painting/drawtexture/tst_drawtexture.cpp index 530e11fef4..4ab0a2db1e 100644 --- a/tests/benchmarks/gui/painting/drawtexture/tst_drawtexture.cpp +++ b/tests/benchmarks/gui/painting/drawtexture/tst_drawtexture.cpp @@ -1,5 +1,5 @@ // Copyright (C) 2017 The Qt Company Ltd. -// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only #include <qtest.h> #include <QPainter> diff --git a/tests/benchmarks/gui/painting/lancebench/CMakeLists.txt b/tests/benchmarks/gui/painting/lancebench/CMakeLists.txt index 362aaf83dc..bfdd4df1c9 100644 --- a/tests/benchmarks/gui/painting/lancebench/CMakeLists.txt +++ b/tests/benchmarks/gui/painting/lancebench/CMakeLists.txt @@ -1,7 +1,5 @@ # Copyright (C) 2022 The Qt Company Ltd. -# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 - -# Generated from lancebench.pro. +# SPDX-License-Identifier: BSD-3-Clause ##################################################################### ## tst_bench_lancebench Binary: @@ -63,11 +61,6 @@ qt_internal_add_resource(tst_bench_lancebench "images" ${images_resource_files} ) - -#### Keys ignored in scope 1:.:.:lancebench.pro:<TRUE>: -# TEMPLATE = "app" -# TESTDATA = "../../../../baseline/painting/scripts/*" - ## Scopes: ##################################################################### diff --git a/tests/benchmarks/gui/painting/lancebench/tst_lancebench.cpp b/tests/benchmarks/gui/painting/lancebench/tst_lancebench.cpp index 7d047dcd8f..67bef8ebfe 100644 --- a/tests/benchmarks/gui/painting/lancebench/tst_lancebench.cpp +++ b/tests/benchmarks/gui/painting/lancebench/tst_lancebench.cpp @@ -1,5 +1,5 @@ // Copyright (C) 2018 The Qt Company Ltd. -// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only #include "paintcommands.h" @@ -81,7 +81,7 @@ void tst_LanceBench::initTestCase() } std::sort(qpsFiles.begin(), qpsFiles.end()); - for (const QString& fileName : qAsConst(qpsFiles)) { + for (const QString& fileName : std::as_const(qpsFiles)) { QFile file(scriptsDir + fileName); file.open(QFile::ReadOnly); QByteArray cont = file.readAll(); @@ -237,7 +237,7 @@ void tst_LanceBench::testCoreOpenGL() void tst_LanceBench::setupTestSuite(const QStringList& blacklist) { QTest::addColumn<QString>("qpsFile"); - for (const QString &fileName : qAsConst(qpsFiles)) { + for (const QString &fileName : std::as_const(qpsFiles)) { if (blacklist.contains(fileName)) continue; QTest::newRow(fileName.toLatin1()) << fileName; diff --git a/tests/benchmarks/gui/painting/qcolor/CMakeLists.txt b/tests/benchmarks/gui/painting/qcolor/CMakeLists.txt index bac37cc605..a450c698bf 100644 --- a/tests/benchmarks/gui/painting/qcolor/CMakeLists.txt +++ b/tests/benchmarks/gui/painting/qcolor/CMakeLists.txt @@ -1,7 +1,5 @@ # Copyright (C) 2022 The Qt Company Ltd. -# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 - -# Generated from qcolor.pro. +# SPDX-License-Identifier: BSD-3-Clause ##################################################################### ## tst_bench_qcolor Binary: @@ -15,6 +13,3 @@ qt_internal_add_benchmark(tst_bench_qcolor Qt::GuiPrivate Qt::Test ) - -#### Keys ignored in scope 1:.:.:qcolor.pro:<TRUE>: -# TEMPLATE = "app" diff --git a/tests/benchmarks/gui/painting/qcolor/tst_qcolor.cpp b/tests/benchmarks/gui/painting/qcolor/tst_qcolor.cpp index 192ece2aff..02fe3f986e 100644 --- a/tests/benchmarks/gui/painting/qcolor/tst_qcolor.cpp +++ b/tests/benchmarks/gui/painting/qcolor/tst_qcolor.cpp @@ -1,5 +1,5 @@ // Copyright (C) 2016 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com, author David Faure <david.faure@kdab.com> -// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only #include <qtest.h> #include <QColor> diff --git a/tests/benchmarks/gui/painting/qpainter/CMakeLists.txt b/tests/benchmarks/gui/painting/qpainter/CMakeLists.txt index 716d7f2c40..13a99ecc1d 100644 --- a/tests/benchmarks/gui/painting/qpainter/CMakeLists.txt +++ b/tests/benchmarks/gui/painting/qpainter/CMakeLists.txt @@ -1,7 +1,5 @@ # Copyright (C) 2022 The Qt Company Ltd. -# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 - -# Generated from qpainter.pro. +# SPDX-License-Identifier: BSD-3-Clause ##################################################################### ## tst_bench_qpainter Binary: @@ -17,6 +15,3 @@ qt_internal_add_benchmark(tst_bench_qpainter Qt::Widgets Qt::WidgetsPrivate ) - -#### Keys ignored in scope 1:.:.:qpainter.pro:<TRUE>: -# TEMPLATE = "app" diff --git a/tests/benchmarks/gui/painting/qpainter/tst_qpainter.cpp b/tests/benchmarks/gui/painting/qpainter/tst_qpainter.cpp index 40ef3cdd53..7954e964b3 100644 --- a/tests/benchmarks/gui/painting/qpainter/tst_qpainter.cpp +++ b/tests/benchmarks/gui/painting/qpainter/tst_qpainter.cpp @@ -1,5 +1,7 @@ // Copyright (C) 2016 The Qt Company Ltd. -// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only + +#undef QT_NO_FOREACH // this file contains unported legacy Q_FOREACH uses #include <qtest.h> #include <QPainter> @@ -195,6 +197,9 @@ private slots: void drawTransformedSemiTransparentImage(); void drawTransformedFilledImage(); + void drawPathExceedingDevice_data(); + void drawPathExceedingDevice(); + private: void setupBrushes(); void createPrimitives(); @@ -670,7 +675,7 @@ void tst_QPainter::drawPixmapImage_data_helper(bool pixmaps) for (; *targetFormats != QImage::Format_Invalid; ++targetFormats) { const QImage::Format *sourceFormats = pixmaps ? pixmapFormats : sourceImageFormats; for (; *sourceFormats != QImage::Format_Invalid; ++sourceFormats) { - for (const QSize &s : qAsConst(sizes)) { + for (const QSize &s : std::as_const(sizes)) { for (int type=0; type<=3; ++type) { QString name = QString::fromLatin1("%1 on %2, (%3x%4), %5") .arg(formatNames[*sourceFormats]) @@ -1659,6 +1664,56 @@ void tst_QPainter::drawTransformedFilledImage() } } +void tst_QPainter::drawPathExceedingDevice_data() +{ + QTest::addColumn<int>("dim"); + QTest::addColumn<QPainterPath>("path"); + + const int dim = 512; + QPainterPath p; + const int ext = 10 * dim; + for (int i = 0; i < ext; i += (ext / 50)) { + p.lineTo(ext, i); + p.lineTo(0, dim); + p.moveTo(0, 0); + } + + { + QPainterPath preClip; + preClip.addRect(0, 0, dim, dim); + QTest::newRow("devicesize") << dim << p.intersected(preClip); + } + + { + QPainterPath preClip; + preClip.addRect(0, 0, 2*dim, 2*dim); + QTest::newRow("devicesizex2") << dim << p.intersected(preClip); + } + + { + QPainterPath preClip; + preClip.addRect(0, 0, 5*dim, 5*dim); + QTest::newRow("devicesizex5") << dim << p.intersected(preClip); + } + + QTest::newRow("devicesizex10") << dim << p; +} + +void tst_QPainter::drawPathExceedingDevice() +{ + QFETCH(int, dim); + QFETCH(QPainterPath, path); + + QImage img(dim, dim, QImage::Format_RGB32); + QPainter p(&img); + p.setRenderHint(QPainter::Antialiasing); + p.setPen(QPen(Qt::black, 3)); + p.setBrush(Qt::NoBrush); + + QBENCHMARK { + p.drawPath(path); + } +} QTEST_MAIN(tst_QPainter) diff --git a/tests/benchmarks/gui/painting/qregion/CMakeLists.txt b/tests/benchmarks/gui/painting/qregion/CMakeLists.txt index ada18dd925..c242a2f588 100644 --- a/tests/benchmarks/gui/painting/qregion/CMakeLists.txt +++ b/tests/benchmarks/gui/painting/qregion/CMakeLists.txt @@ -1,7 +1,5 @@ # Copyright (C) 2022 The Qt Company Ltd. -# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 - -# Generated from qregion.pro. +# SPDX-License-Identifier: BSD-3-Clause ##################################################################### ## tst_bench_qregion Binary: @@ -14,6 +12,3 @@ qt_internal_add_benchmark(tst_bench_qregion Qt::Gui Qt::Test ) - -#### Keys ignored in scope 1:.:.:qregion.pro:<TRUE>: -# TEMPLATE = "app" diff --git a/tests/benchmarks/gui/painting/qregion/main.cpp b/tests/benchmarks/gui/painting/qregion/main.cpp index b01956c08e..696972c140 100644 --- a/tests/benchmarks/gui/painting/qregion/main.cpp +++ b/tests/benchmarks/gui/painting/qregion/main.cpp @@ -1,5 +1,5 @@ // Copyright (C) 2016 The Qt Company Ltd. -// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only // This file contains benchmarks for QRegion functions. #include <QDebug> diff --git a/tests/benchmarks/gui/painting/qtbench/CMakeLists.txt b/tests/benchmarks/gui/painting/qtbench/CMakeLists.txt index 009b780e46..68fbf0984f 100644 --- a/tests/benchmarks/gui/painting/qtbench/CMakeLists.txt +++ b/tests/benchmarks/gui/painting/qtbench/CMakeLists.txt @@ -1,7 +1,5 @@ # Copyright (C) 2022 The Qt Company Ltd. -# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 - -# Generated from qtbench.pro. +# SPDX-License-Identifier: BSD-3-Clause ##################################################################### ## tst_bench_qtbench Binary: @@ -15,6 +13,3 @@ qt_internal_add_benchmark(tst_bench_qtbench Qt::Test Qt::Widgets ) - -#### Keys ignored in scope 1:.:.:qtbench.pro:<TRUE>: -# TEMPLATE = "app" diff --git a/tests/benchmarks/gui/painting/qtbench/benchmarktests.h b/tests/benchmarks/gui/painting/qtbench/benchmarktests.h index f29a62a8e0..9d890f1577 100644 --- a/tests/benchmarks/gui/painting/qtbench/benchmarktests.h +++ b/tests/benchmarks/gui/painting/qtbench/benchmarktests.h @@ -1,5 +1,5 @@ // Copyright (C) 2016 The Qt Company Ltd. -// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only #ifndef BENCHMARKTESTS_H #define BENCHMARKTESTS_H @@ -529,13 +529,13 @@ public: m_staticTexts.append(staticText); QFontMetrics fm(p->font()); - m_size = QSize(fm.horizontalAdvance(m_text, m_text.length()), fm.height()); + m_size = QSize(fm.horizontalAdvance(m_text, m_text.size()), fm.height()); break; } case PainterQPointMode: { QFontMetrics fm(p->font()); - m_size = QSize(fm.horizontalAdvance(m_text, m_text.length()), fm.height()); + m_size = QSize(fm.horizontalAdvance(m_text, m_text.size()), fm.height()); break; } @@ -576,7 +576,7 @@ public: QString name() const override { - int letters = m_text.length(); + int letters = m_text.size(); int lines = m_text.count('\n'); if (lines == 0) lines = 1; diff --git a/tests/benchmarks/gui/painting/qtbench/tst_qtbench.cpp b/tests/benchmarks/gui/painting/qtbench/tst_qtbench.cpp index f24c48c0e1..45b7045f94 100644 --- a/tests/benchmarks/gui/painting/qtbench/tst_qtbench.cpp +++ b/tests/benchmarks/gui/painting/qtbench/tst_qtbench.cpp @@ -1,5 +1,7 @@ // Copyright (C) 2020 The Qt Company Ltd. -// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only + +#undef QT_NO_FOREACH // this file contains unported legacy Q_FOREACH uses #include <qtest.h> @@ -107,9 +109,13 @@ class tst_QtBench : public QObject { Q_OBJECT + QList<Benchmark *> benchmarks; + private slots: void qtBench(); void qtBench_data(); + + void cleanupTestCase() { qDeleteAll(benchmarks); } }; QString makeString(int length) @@ -159,7 +165,6 @@ void tst_QtBench::qtBench_data() "i erat, sed pellentesque\n" "mi. Curabitur sed."; - QList<Benchmark *> benchmarks; benchmarks << (new DrawText(shortString, DrawText::PainterMode)); benchmarks << (new DrawText(middleString, DrawText::PainterMode)); benchmarks << (new DrawText(longString, DrawText::PainterMode)); diff --git a/tests/benchmarks/gui/painting/qtransform/CMakeLists.txt b/tests/benchmarks/gui/painting/qtransform/CMakeLists.txt index 615076a259..8915ca3eb7 100644 --- a/tests/benchmarks/gui/painting/qtransform/CMakeLists.txt +++ b/tests/benchmarks/gui/painting/qtransform/CMakeLists.txt @@ -1,7 +1,5 @@ # Copyright (C) 2022 The Qt Company Ltd. -# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 - -# Generated from qtransform.pro. +# SPDX-License-Identifier: BSD-3-Clause ##################################################################### ## tst_bench_qtransform Binary: @@ -14,6 +12,3 @@ qt_internal_add_benchmark(tst_bench_qtransform Qt::Gui Qt::Test ) - -#### Keys ignored in scope 1:.:.:qtransform.pro:<TRUE>: -# TEMPLATE = "app" diff --git a/tests/benchmarks/gui/painting/qtransform/tst_qtransform.cpp b/tests/benchmarks/gui/painting/qtransform/tst_qtransform.cpp index 9892d53559..e6442d0dff 100644 --- a/tests/benchmarks/gui/painting/qtransform/tst_qtransform.cpp +++ b/tests/benchmarks/gui/painting/qtransform/tst_qtransform.cpp @@ -1,5 +1,5 @@ // Copyright (C) 2016 The Qt Company Ltd. -// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only #include <qtest.h> #include <QTransform> |