2
* Copyright (C) 2016 Canonical, Ltd.
4
* This program is free software: you can redistribute it and/or modify it under
5
* the terms of the GNU Lesser General Public License version 3, as published by
6
* the Free Software Foundation.
8
* This program is distributed in the hope that it will be useful, but WITHOUT
9
* ANY WARRANTY; without even the implied warranties of MERCHANTABILITY,
10
* SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11
* Lesser General Public License for more details.
13
* You should have received a copy of the GNU Lesser General Public License
14
* along with this program. If not, see <http://www.gnu.org/licenses/>.
17
#ifndef QQUICKSCREENWINDOW_H
18
#define QQUICKSCREENWINDOW_H
20
#include <QQuickWindow>
25
class QQuickScreenWindow : public QQuickWindow
29
Q_PROPERTY(QScreen *screen READ screen WRITE setScreen NOTIFY screenChanged)
30
Q_PROPERTY(float scale READ scale NOTIFY scaleChanged)
31
Q_PROPERTY(FormFactor formFactor READ formFactor NOTIFY formFactorChanged)
34
explicit QQuickScreenWindow(QQuickWindow *parent = 0);
36
QScreen *screen() const;
37
void setScreen(QScreen *screen);
40
FormFactor formFactor();
41
Q_INVOKABLE bool setScaleAndFormFactor(const float scale, const FormFactor formFactor);
44
void screenChanged(QScreen *screen);
45
void scaleChanged(qreal scale);
46
void formFactorChanged(FormFactor arg);
49
void nativePropertyChanged(QPlatformWindow *window, const QString &propertyName);
52
float getScaleNativeProperty() const;
54
FormFactor getFormFactorNativeProperty() const;
55
FormFactor m_formFactor;
60
#endif // QQUICKSCREENWINDOW_H