summaryrefslogtreecommitdiffstats
path: root/examples/corelib/threads/mandelbrot/main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'examples/corelib/threads/mandelbrot/main.cpp')
-rw-r--r--examples/corelib/threads/mandelbrot/main.cpp34
1 files changed, 33 insertions, 1 deletions
diff --git a/examples/corelib/threads/mandelbrot/main.cpp b/examples/corelib/threads/mandelbrot/main.cpp
index 9832d55514..19ea8cf417 100644
--- a/examples/corelib/threads/mandelbrot/main.cpp
+++ b/examples/corelib/threads/mandelbrot/main.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2016 The Qt Company Ltd.
+** Copyright (C) 2021 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the examples of the Qt Toolkit.
@@ -52,11 +52,43 @@
#include <QApplication>
+#include <QScreen>
+
+#include <QCommandLineParser>
+#include <QCommandLineOption>
+#include <QDebug>
+#include <QRect>
+
//! [0]
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
+
+ QCommandLineParser parser;
+ parser.setApplicationDescription("Qt Mandelbrot Example");
+ parser.addHelpOption();
+ parser.addVersionOption();
+ QCommandLineOption passesOption("passes", "Number of passes (1-8)", "passes");
+ parser.addOption(passesOption);
+ parser.process(app);
+
+ if (parser.isSet(passesOption)) {
+ const auto passesStr = parser.value(passesOption);
+ bool ok;
+ const int passes = passesStr.toInt(&ok);
+ if (!ok || passes < 1 || passes > 8) {
+ qWarning() << "Invalid value:" << passesStr;
+ return -1;
+ }
+ RenderThread::setNumPasses(passes);
+ }
+
MandelbrotWidget widget;
+ const auto geometry = widget.screen()->availableGeometry();
+ widget.resize((2 * geometry.size()) / 3);
+ const auto pos = (geometry.size() - widget.size()) / 2;
+ widget.move(geometry.topLeft() + QPoint(pos.width(), pos.height()));
+
widget.show();
return app.exec();
}