Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qwaylandintegration_p.h
Go to the documentation of this file.
1// Copyright (C) 2019 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3// Qt-Security score:significant reason:default
4
5#ifndef QPLATFORMINTEGRATION_WAYLAND_H
6#define QPLATFORMINTEGRATION_WAYLAND_H
7
8//
9// W A R N I N G
10// -------------
11//
12// This file is not part of the Qt API. It exists purely as an
13// implementation detail. This header file may change from version to
14// version without notice, or even be removed.
15//
16// We mean it.
17//
18
19#include <QtWaylandClient/qtwaylandclientglobal.h>
20#include <qpa/qplatformintegration.h>
21#include <qpa/qplatformopenglcontext.h>
22#include <QtCore/QScopedPointer>
23#include <QtCore/QMutex>
24#include <QtCore/private/qglobal_p.h>
25
27
28namespace QtWaylandClient {
29
30class QWaylandBuffer;
31class QWaylandDisplay;
32class QWaylandClientBufferIntegration;
33class QWaylandServerBufferIntegration;
34class QWaylandShellIntegration;
35class QWaylandInputDeviceIntegration;
36class QWaylandInputDevice;
37class QWaylandScreen;
38class QWaylandCursor;
39class QWaylandPlatformServices;
40class QWaylandSessionManager;
41
42class Q_WAYLANDCLIENT_EXPORT QWaylandIntegration : public QPlatformIntegration
43#if QT_CONFIG(opengl)
45#endif
46{
47public:
50
52
53 bool init();
54
57#if QT_CONFIG(opengl)
61#endif
63
65 void initialize() override;
66
68
70#if QT_CONFIG(clipboard)
72#endif
73#if QT_CONFIG(draganddrop)
75#endif
77
79
80#if QT_CONFIG(accessibility)
82#endif
83
85
86 QWaylandDisplay *display() const;
87
89
90 QList<int> possibleKeys(const QKeyEvent *event) const override;
91
93
95
96#if QT_CONFIG(vulkan)
98#endif
99
101 void beep() const override;
102
106
110
112
113protected:
114 // NOTE: mDisplay *must* be destructed after mDrag and mClientBufferIntegration
115 // and mShellIntegration.
116 // Do not move this definition into the private section at the bottom.
118
119protected:
120 void reset();
122
127
129
130private:
131 void initializePlatform();
137#ifndef QT_NO_SESSIONMANAGER
139#endif
140
143#if QT_CONFIG(clipboard)
145#endif
146#if QT_CONFIG(draganddrop)
148#endif
150#if QT_CONFIG(accessibility)
152#endif
157 bool mShellIntegrationInitialized = false;
158
160
161 friend class QWaylandDisplay;
162};
163
164}
165
166QT_END_NAMESPACE
167
168#endif
Combined button and popup list for selecting options.
Q_LOGGING_CATEGORY(lcQpaWayland, "qt.qpa.wayland")