1// Copyright (C) 2017 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
4#ifndef QWAYLANDXDGSHELLINTEGRATION_P_H
5#define QWAYLANDXDGSHELLINTEGRATION_P_H
6
7//
8// W A R N I N G
9// -------------
10//
11// This file is not part of the Qt API. It exists purely as an
12// implementation detail. This header file may change from version to
13// version without notice, or even be removed.
14//
15// We mean it.
16//
17
18#include "qwayland-xdg-shell.h"
19
20#include <QtWaylandClient/private/qwaylandshellintegration_p.h>
21
22QT_BEGIN_NAMESPACE
23
24namespace QtWaylandClient {
25
26class QWaylandXdgShell;
27
28class Q_WAYLANDCLIENT_EXPORT QWaylandXdgShellIntegration
29 : public QWaylandShellIntegrationTemplate<QWaylandXdgShellIntegration>,
30 public QtWayland::xdg_wm_base
31{
32public:
33 QWaylandXdgShellIntegration();
34 ~QWaylandXdgShellIntegration() override;
35 QWaylandShellSurface *createShellSurface(QWaylandWindow *window) override;
36 void *nativeResourceForWindow(const QByteArray &resource, QWindow *window) override;
37 bool initialize(QWaylandDisplay *display) override;
38
39protected:
40 void xdg_wm_base_ping(uint32_t serial) override;
41
42private:
43 QWaylandDisplay *mDisplay;
44 QScopedPointer<QWaylandXdgShell> mXdgShell;
45};
46
47}
48
49QT_END_NAMESPACE
50
51#endif // QWAYLANDXDGSHELLINTEGRATION_P_H
52

source code of qtwayland/src/plugins/shellintegration/xdg-shell/qwaylandxdgshellintegration_p.h