@@ -9,6 +9,7 @@
99
1010class ProxyScreen;
1111class ProxyScreens;
12+class ScreenConfig;
1213
1314class Screen: public QObject
1415{
@@ -47,8 +48,8 @@ public:
4748 QScreen* qscreen() const;
4849 QString outputTypeName() const;
4950
50− qtmir::ScreenConfiguration *beginConfiguration() const;
51− bool applyConfiguration(qtmir::ScreenConfiguration *configuration);
51+ Q_INVOKABLE ScreenConfig *beginConfiguration() const;
52+ Q_INVOKABLE bool applyConfiguration(ScreenConfig *configuration);
5253
5354 virtual WorkspaceModel* workspaces() const = 0;
5455 virtual Workspace *currentWorkspace() const = 0;
@@ -131,4 +132,21 @@ private:
131132 QPointer<Workspace> m_currentWorspace;
132133};
133134
135+class ScreenConfig: public QObject
136+{
137+ Q_OBJECT
138+ Q_PRIVATE_PROPERTY(m_config, bool valid MEMBER used CONSTANT)
139+ Q_PRIVATE_PROPERTY(m_config, bool used MEMBER used)
140+ Q_PRIVATE_PROPERTY(m_config, float scale MEMBER scale)
141+ Q_PRIVATE_PROPERTY(m_config, qtmir::FormFactor formFactor MEMBER formFactor)
142+ Q_PRIVATE_PROPERTY(m_config, uint currentModeIndex MEMBER currentModeIndex)
143+ Q_PRIVATE_PROPERTY(m_config, QPoint position MEMBER topLeft)
144+
145+public:
146+ ScreenConfig(qtmir::ScreenConfiguration*);
147+ ~ScreenConfig();
148+
149+ qtmir::ScreenConfiguration* m_config;
150+};
151+
134152#endif // SCREEN_H