diff options
Diffstat (limited to 'src/client/qwaylandnativeinterface_p.h')
-rw-r--r-- | src/client/qwaylandnativeinterface_p.h | 25 |
1 files changed, 21 insertions, 4 deletions
diff --git a/src/client/qwaylandnativeinterface_p.h b/src/client/qwaylandnativeinterface_p.h index d05d7c38f..ce8c6bec3 100644 --- a/src/client/qwaylandnativeinterface_p.h +++ b/src/client/qwaylandnativeinterface_p.h @@ -1,8 +1,8 @@ // Copyright (C) 2020 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only -#ifndef QWAYLANDNATIVEINTERFACE_H -#define QWAYLANDNATIVEINTERFACE_H +#ifndef QWAYLANDNATIVEINTERFACE_P_H +#define QWAYLANDNATIVEINTERFACE_P_H // // W A R N I N G @@ -21,15 +21,19 @@ #include <QtWaylandClient/qtwaylandclientglobal.h> #include <QtCore/private/qglobal_p.h> #include <QtCore/qhash.h> +#include <QtGui/qguiapplication_platform.h> QT_BEGIN_NAMESPACE +class QMargins; + namespace QtWaylandClient { class QWaylandIntegration; class QWaylandScreen; -class Q_WAYLANDCLIENT_EXPORT QWaylandNativeInterface : public QPlatformNativeInterface +class Q_WAYLANDCLIENT_EXPORT QWaylandNativeInterface : public QPlatformNativeInterface, + public QNativeInterface::QWaylandApplication { public: QWaylandNativeInterface(QWaylandIntegration *integration); @@ -41,6 +45,7 @@ public: #if QT_CONFIG(opengl) void *nativeResourceForContext(const QByteArray &resource, QOpenGLContext *context) override; #endif + NativeResourceForWindowFunction nativeResourceFunctionForWindow(const QByteArray &resource) override; QVariantMap windowProperties(QPlatformWindow *window) const override; QVariant windowProperty(QPlatformWindow *window, const QString &name) const override; QVariant windowProperty(QPlatformWindow *window, const QString &name, const QVariant &defaultValue) const override; @@ -48,7 +53,19 @@ public: void emitWindowPropertyChanged(QPlatformWindow *window, const QString &name); + // QWaylandApplication interface + wl_display *display() const override; + wl_compositor *compositor() const override; + wl_seat *seat() const override; + wl_keyboard *keyboard() const override; + wl_pointer *pointer() const override; + wl_touch *touch() const override; + uint lastInputSerial() const override; + wl_seat *lastInputSeat() const override; + private: + static void setWindowMargins(QWindow *window, const QMargins &margins); + QWaylandIntegration *m_integration = nullptr; QHash<QPlatformWindow*, QVariantMap> m_windowProperties; }; @@ -57,4 +74,4 @@ private: QT_END_NAMESPACE -#endif // QWAYLANDNATIVEINTERFACE_H +#endif // QWAYLANDNATIVEINTERFACE_P_H |