~albaguirre/qtubuntu/mir-0.26.1-compat

« back to all changes in this revision

Viewing changes to src/ubuntumirclient/qmirclientscreen.h

Class renaming and syntax changes to shrink delta with upstream mirclient QPA plugin (which is equivalent to rev 360)

Changes:
- Rename classes to prefix "QMirClient" instead of "Ubuntu"
- Update licence headers to match Qt's
- change logging categories spec to match Qt: qt.qpa.mirclient
- Enforce American English
- some minor syntax tweaks

Some differences still exist:
- QPA plugin remains "ubuntumirclient" and not "mirclient" as used upstream.
- some header paths differ between in-Qt code and externally built code
- I've not included build-type switches for things like accessibility support
- relaxed switch cases to allow older versions of Mir not break a build
- panel height hack removed from upstream
- platform-api env var setting removed from upstream

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/*
2
 
 * Copyright (C) 2014-2016 Canonical, Ltd.
3
 
 *
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.
7
 
 *
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.
12
 
 *
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/>.
15
 
 */
16
 
 
17
 
#ifndef UBUNTU_SCREEN_H
18
 
#define UBUNTU_SCREEN_H
 
1
/****************************************************************************
 
2
**
 
3
** Copyright (C) 2014-2016 Canonical, Ltd.
 
4
** Contact: https://www.qt.io/licensing/
 
5
**
 
6
** This file is part of the plugins of the Qt Toolkit.
 
7
**
 
8
** $QT_BEGIN_LICENSE:LGPL$
 
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 The Qt Company. For licensing terms
 
14
** and conditions see https://www.qt.io/terms-conditions. For further
 
15
** information use the contact form at https://www.qt.io/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 3 as published by the Free Software
 
20
** Foundation and appearing in the file LICENSE.LGPL3 included in the
 
21
** packaging of this file. Please review the following information to
 
22
** ensure the GNU Lesser General Public License version 3 requirements
 
23
** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
 
24
**
 
25
** GNU General Public License Usage
 
26
** Alternatively, this file may be used under the terms of the GNU
 
27
** General Public License version 2.0 or (at your option) the GNU General
 
28
** Public license version 3 or any later version approved by the KDE Free
 
29
** Qt Foundation. The licenses are as published by the Free Software
 
30
** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
 
31
** included in the packaging of this file. Please review the following
 
32
** information to ensure the GNU General Public License requirements will
 
33
** be met: https://www.gnu.org/licenses/gpl-2.0.html and
 
34
** https://www.gnu.org/licenses/gpl-3.0.html.
 
35
**
 
36
** $QT_END_LICENSE$
 
37
**
 
38
****************************************************************************/
 
39
 
 
40
 
 
41
#ifndef QMIRCLIENTSCREEN_H
 
42
#define QMIRCLIENTSCREEN_H
19
43
 
20
44
#include <qpa/qplatformscreen.h>
21
45
#include <QSurfaceFormat>
22
46
 
23
47
#include <mir_toolkit/common.h> // just for MirFormFactor enum
24
48
 
25
 
#include "cursor.h"
 
49
#include "qmirclientcursor.h"
26
50
 
27
51
struct MirConnection;
28
52
struct MirOutput;
29
53
 
30
 
class UbuntuScreen : public QObject, public QPlatformScreen
 
54
class QMirClientScreen : public QObject, public QPlatformScreen
31
55
{
32
56
    Q_OBJECT
33
57
public:
34
 
    UbuntuScreen(const MirOutput *output, MirConnection *connection);
35
 
    virtual ~UbuntuScreen();
 
58
    QMirClientScreen(const MirOutput *output, MirConnection *connection);
 
59
    virtual ~QMirClientScreen();
36
60
 
37
61
    // QPlatformScreen methods.
38
62
    QImage::Format format() const override { return mFormat; }
44
68
    QDpi logicalDpi() const override;
45
69
    Qt::ScreenOrientation nativeOrientation() const override { return mNativeOrientation; }
46
70
    Qt::ScreenOrientation orientation() const override { return mNativeOrientation; }
47
 
    QPlatformCursor *cursor() const override { return const_cast<UbuntuCursor*>(&mCursor); }
 
71
    QPlatformCursor *cursor() const override { return const_cast<QMirClientCursor*>(&mCursor); }
48
72
 
49
73
    // Additional Screen properties from Mir
50
74
    int mirOutputId() const { return mOutputId; }
74
98
    MirFormFactor mFormFactor;
75
99
    float mScale;
76
100
    int mOutputId;
77
 
    UbuntuCursor mCursor;
 
101
    QMirClientCursor mCursor;
78
102
 
79
 
    friend class UbuntuNativeInterface;
 
103
    friend class QMirClientNativeInterface;
80
104
};
81
105
 
82
 
#endif // UBUNTU_SCREEN_H
 
106
#endif // QMIRCLIENTSCREEN_H