~ubuntu-branches/ubuntu/vivid/qtdeclarative-opensource-src-gles/vivid

« back to all changes in this revision

Viewing changes to .pc/Fix-regression-where-QQuickScreenAttached-overwrites.patch/src/quick/items/qquickscreen_p.h

  • Committer: Package Import Robot
  • Author(s): Timo Jyrinki
  • Date: 2015-02-26 09:12:59 UTC
  • Revision ID: package-import@ubuntu.com-20150226091259-krq068zh9bwi20or
Tags: 5.4.0-0ubuntu2
Sync package with qtdeclarative-opensource-src - 5.4.0-4ubuntu2

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/****************************************************************************
 
2
**
 
3
** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
 
4
** Contact: http://www.qt-project.org/legal
 
5
**
 
6
** This file is part of the QtQuick module of the Qt Toolkit.
 
7
**
 
8
** $QT_BEGIN_LICENSE:LGPL21$
 
9
** Commercial License Usage
 
10
** Licensees holding valid commercial Qt licenses may use this file in
 
11
** accordance with the commercial license agreement provided with the
 
12
** Software or, alternatively, in accordance with the terms contained in
 
13
** a written agreement between you and Digia. For licensing terms and
 
14
** conditions see http://qt.digia.com/licensing. For further information
 
15
** use the contact form at http://qt.digia.com/contact-us.
 
16
**
 
17
** GNU Lesser General Public License Usage
 
18
** Alternatively, this file may be used under the terms of the GNU Lesser
 
19
** General Public License version 2.1 or version 3 as published by the Free
 
20
** Software Foundation and appearing in the file LICENSE.LGPLv21 and
 
21
** LICENSE.LGPLv3 included in the packaging of this file. Please review the
 
22
** following information to ensure the GNU Lesser General Public License
 
23
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
 
24
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
 
25
**
 
26
** In addition, as a special exception, Digia gives you certain additional
 
27
** rights. These rights are described in the Digia Qt LGPL Exception
 
28
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
 
29
**
 
30
** $QT_END_LICENSE$
 
31
**
 
32
****************************************************************************/
 
33
 
 
34
#ifndef QQUICKSCREEN_P_H
 
35
#define QQUICKSCREEN_P_H
 
36
 
 
37
#include <qqml.h>
 
38
#include <QRect>
 
39
#include <QSize>
 
40
#include <private/qqmlglobal_p.h>
 
41
 
 
42
QT_BEGIN_NAMESPACE
 
43
 
 
44
 
 
45
class QQuickItem;
 
46
class QQuickWindow;
 
47
class QScreen;
 
48
 
 
49
class Q_AUTOTEST_EXPORT QQuickScreenAttached : public QObject
 
50
{
 
51
    Q_OBJECT
 
52
 
 
53
    Q_PROPERTY(QString name READ name NOTIFY nameChanged)
 
54
    Q_PROPERTY(int width READ width NOTIFY widthChanged)
 
55
    Q_PROPERTY(int height READ height NOTIFY heightChanged)
 
56
    Q_PROPERTY(int desktopAvailableWidth READ desktopAvailableWidth NOTIFY desktopGeometryChanged)
 
57
    Q_PROPERTY(int desktopAvailableHeight READ desktopAvailableHeight NOTIFY desktopGeometryChanged)
 
58
    Q_PROPERTY(qreal logicalPixelDensity READ logicalPixelDensity NOTIFY logicalPixelDensityChanged)
 
59
    Q_PROPERTY(qreal pixelDensity READ pixelDensity NOTIFY pixelDensityChanged)
 
60
    Q_PROPERTY(qreal devicePixelRatio READ devicePixelRatio NOTIFY devicePixelRatioChanged)
 
61
    // TODO Qt 6 Rename primaryOrientation to orientation
 
62
    Q_PROPERTY(Qt::ScreenOrientation primaryOrientation READ primaryOrientation NOTIFY primaryOrientationChanged)
 
63
    // TODO Qt 6 Remove this orientation -> incomplete device orientation -> better use OrientationSensor
 
64
    Q_PROPERTY(Qt::ScreenOrientation orientation READ orientation NOTIFY orientationChanged)
 
65
    Q_PROPERTY(Qt::ScreenOrientations orientationUpdateMask READ orientationUpdateMask
 
66
               WRITE setOrientationUpdateMask NOTIFY orientationUpdateMaskChanged)
 
67
 
 
68
public:
 
69
    QQuickScreenAttached(QObject* attachee);
 
70
 
 
71
    QString name() const;
 
72
    int width() const;
 
73
    int height() const;
 
74
    int desktopAvailableWidth() const;
 
75
    int desktopAvailableHeight() const;
 
76
    qreal logicalPixelDensity() const;
 
77
    qreal pixelDensity() const;
 
78
    qreal devicePixelRatio() const;
 
79
    Qt::ScreenOrientation primaryOrientation() const;
 
80
    Qt::ScreenOrientation orientation() const;
 
81
    Qt::ScreenOrientations orientationUpdateMask() const;
 
82
    void setOrientationUpdateMask(Qt::ScreenOrientations mask);
 
83
 
 
84
    //Treats int as Qt::ScreenOrientation, due to QTBUG-20639
 
85
    Q_INVOKABLE int angleBetween(int a, int b);
 
86
 
 
87
    void windowChanged(QQuickWindow*);
 
88
 
 
89
Q_SIGNALS:
 
90
    void nameChanged();
 
91
    void widthChanged();
 
92
    void heightChanged();
 
93
    void desktopGeometryChanged();
 
94
    void logicalPixelDensityChanged();
 
95
    void pixelDensityChanged();
 
96
    void devicePixelRatioChanged();
 
97
    void primaryOrientationChanged();
 
98
    void orientationChanged();
 
99
    void orientationUpdateMaskChanged();
 
100
 
 
101
protected Q_SLOTS:
 
102
    void screenChanged(QScreen*);
 
103
 
 
104
private:
 
105
    QScreen* m_screen;
 
106
    QQuickWindow* m_window;
 
107
    QQuickItem* m_attachee;
 
108
    Qt::ScreenOrientations m_updateMask;
 
109
};
 
110
 
 
111
class Q_AUTOTEST_EXPORT QQuickScreen : public QObject
 
112
{
 
113
    Q_OBJECT
 
114
public:
 
115
    static QQuickScreenAttached *qmlAttachedProperties(QObject *object){ return new QQuickScreenAttached(object); }
 
116
};
 
117
 
 
118
QT_END_NAMESPACE
 
119
 
 
120
QML_DECLARE_TYPEINFO(QQuickScreen, QML_HAS_ATTACHED_PROPERTIES)
 
121
 
 
122
#endif