summaryrefslogtreecommitdiffstats
path: root/examples/datavisualization/qmlsurfacegallery/main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'examples/datavisualization/qmlsurfacegallery/main.cpp')
-rw-r--r--examples/datavisualization/qmlsurfacegallery/main.cpp52
1 files changed, 52 insertions, 0 deletions
diff --git a/examples/datavisualization/qmlsurfacegallery/main.cpp b/examples/datavisualization/qmlsurfacegallery/main.cpp
new file mode 100644
index 00000000..cbd831b6
--- /dev/null
+++ b/examples/datavisualization/qmlsurfacegallery/main.cpp
@@ -0,0 +1,52 @@
+// Copyright (C) 2023 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
+
+//! [0]
+#include <QtDataVisualization/qutils.h>
+//! [0]
+
+#include <QtGui/qguiapplication.h>
+#include <QtQuick/qquickview.h>
+#include <QtQml/qqmlengine.h>
+
+#ifdef QMAKE_BUILD
+#include "datasource.h"
+#endif
+
+using namespace Qt::StringLiterals;
+
+int main(int argc, char *argv[])
+{
+ qputenv("QSG_RHI_BACKEND", "opengl");
+ QGuiApplication app(argc, argv);
+
+#ifdef QMAKE_BUILD
+ qmlRegisterType<DataSource>("SurfaceGallery", 1, 0, "DataSource");
+#endif
+
+ QQuickView viewer;
+
+ //! [1]
+ // Enable antialiasing in direct rendering mode
+ viewer.setFormat(qDefaultSurfaceFormat(true));
+ //! [1]
+
+ // The following are needed to make examples run without having to install the module
+ // in desktop environments.
+#ifdef Q_OS_WIN
+ QString extraImportPath(u"%1/../../../../%2"_s);
+#else
+ QString extraImportPath(u"%1/../../../%2"_s);
+#endif
+ viewer.engine()->addImportPath(extraImportPath.arg(QGuiApplication::applicationDirPath(),
+ u"qml"_s));
+ QObject::connect(viewer.engine(), &QQmlEngine::quit, &viewer, &QWindow::close);
+
+ viewer.setTitle(u"Surface Graph Gallery"_s);
+
+ viewer.setSource(QUrl(u"qrc:/qml/qmlsurfacegallery/main.qml"_s));
+ viewer.setResizeMode(QQuickView::SizeRootObjectToView);
+ viewer.show();
+
+ return app.exec();
+}