summaryrefslogtreecommitdiffstats
path: root/tools/q3dsviewer/main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tools/q3dsviewer/main.cpp')
-rw-r--r--tools/q3dsviewer/main.cpp31
1 files changed, 31 insertions, 0 deletions
diff --git a/tools/q3dsviewer/main.cpp b/tools/q3dsviewer/main.cpp
index a0ed3b0..ff6afd7 100644
--- a/tools/q3dsviewer/main.cpp
+++ b/tools/q3dsviewer/main.cpp
@@ -44,6 +44,8 @@
#include <private/q3dswindow_p.h>
#include <private/q3dsutils_p.h>
+#include <Qt3DStudioRuntime2/Q3DSViewerSettings>
+
QT_BEGIN_NAMESPACE
class Q3DStudioMainWindow;
QT_END_NAMESPACE
@@ -80,6 +82,18 @@ int main(int argc, char *argv[])
cmdLineParser.addOption(remoteOption);
QCommandLineOption autoExitOption({ "x", "exitafter" }, QObject::tr("Exit after <n> seconds."), QObject::tr("n"), QLatin1String("5"));
cmdLineParser.addOption(autoExitOption);
+ QCommandLineOption scaleModeOption("scalemode",
+ QObject::tr("Specifies scaling mode.\n"
+ "The default value is 'center'."),
+ QObject::tr("center|fit|fill"),
+ QStringLiteral("center"));
+ cmdLineParser.addOption(scaleModeOption);
+ QCommandLineOption matteColorOption("mattecolor",
+ QObject::tr("Specifies custom matte color\n"
+ "using #000000 syntax.\n"
+ "For example, white matte: #ffffff"),
+ QObject::tr("color"), QStringLiteral("#333333"));
+ cmdLineParser.addOption(matteColorOption);
cmdLineParser.process(app);
#if !defined(Q_OS_ANDROID) && !defined(Q_OS_IOS)
@@ -125,6 +139,23 @@ int main(int argc, char *argv[])
return 0;
}
+ // Setup Viewer Settings
+ Q3DSViewerSettings *viewerSettings = new Q3DSViewerSettings;
+ engine->setViewerSettings(viewerSettings);
+ viewerSettings->setMatteEnabled(true);
+ if (cmdLineParser.isSet(scaleModeOption)) {
+ const QString scaleMode = cmdLineParser.value(scaleModeOption);
+ if (scaleMode == QStringLiteral("center"))
+ viewerSettings->setScaleMode(Q3DSViewerSettings::ScaleModeCenter);
+ else if (scaleMode == QStringLiteral("fit"))
+ viewerSettings->setScaleMode(Q3DSViewerSettings::ScaleModeFit);
+ else
+ viewerSettings->setScaleMode(Q3DSViewerSettings::ScaleModeFill);
+ }
+ if (cmdLineParser.isSet(matteColorOption)) {
+ viewerSettings->setMatteColor(cmdLineParser.value(matteColorOption));
+ }
+
#ifdef Q3DSVIEWER_WIDGETS
Q3DStudioMainWindow *mw = nullptr;
#endif