on 620a196 help sign in
unity8/src/UnityCommandLineParser.h
60 lines 1.8 kB history raw
1/*
2 * Copyright (C) 2015 Canonical, Ltd.
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; version 3.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
17#ifndef UNITY_COMMAND_LINE_PARSER_H
18#define UNITY_COMMAND_LINE_PARSER_H
20#include <QCommandLineParser>
21#include <QSize>
22#include <QString>
24class UnityCommandLineParser {
25public:
26 UnityCommandLineParser(const QCoreApplication &app);
28 QSize windowGeometry() const { return m_windowGeometry; }
29 bool hasTestability() const { return m_hasTestability; }
30 bool hasFrameless() const { return m_hasFrameless; }
32 #ifdef UNITY8_ENABLE_TOUCH_EMULATION
33 bool hasMouseToTouch() const { return m_hasMouseToTouch; }
34 #endif
36 bool hasFullscreen() const { return m_hasFullscreen; }
37 QString deviceName() const { return m_deviceName; }
38 QString mode() const { return m_mode; }
39private:
41 int parsePixelsValue(const QString &str);
42 static float getenvFloat(const char* name, float defaultValue);
43 void resolveMode(QCommandLineParser &parser, QCommandLineOption &modeOption);
45 float m_gridUnit;
47 QSize m_windowGeometry;
48 bool m_hasTestability;
49 bool m_hasFrameless;
51 #ifdef UNITY8_ENABLE_TOUCH_EMULATION
52 bool m_hasMouseToTouch;
53 #endif
55 bool m_hasFullscreen;
56 QString m_deviceName;
57 QString m_mode;
58};
60#endif // UNITY_COMMAND_LINE_PARSER_H