File indexing completed on 2024-04-21 16:17:26

0001 /*
0002  *   SPDX-FileCopyrightText: 2021 Aleix Pol Gonzalez <aleixpol@blue-systems.com>
0003  *   SPDX-FileCopyrightText: 2018 Drew DeVault <sir@cmpwn.com>
0004  *
0005  *   SPDX-License-Identifier: LGPL-3.0-or-later
0006  */
0007 
0008 #ifndef _LAYERSHELLINTEGRATION_P_H
0009 #define _LAYERSHELLINTEGRATION_P_H
0010 
0011 #include <wayland-client.h>
0012 
0013 #include "layershellqt_export.h"
0014 #include <QtWaylandClient/private/qwaylandshellintegration_p.h>
0015 
0016 namespace LayerShellQt
0017 {
0018 class QWaylandLayerShell;
0019 
0020 class LAYERSHELLQT_EXPORT QWaylandLayerShellIntegration : public QtWaylandClient::QWaylandShellIntegration
0021 {
0022 public:
0023     QWaylandLayerShellIntegration();
0024     ~QWaylandLayerShellIntegration() override;
0025 
0026     bool initialize(QtWaylandClient::QWaylandDisplay *display) override;
0027     QtWaylandClient::QWaylandShellSurface *createShellSurface(QtWaylandClient::QWaylandWindow *window) override;
0028 
0029 private:
0030     static void registryLayer(void *data, struct wl_registry *registry, uint32_t id, const QString &interface, uint32_t version);
0031 
0032     QScopedPointer<QWaylandLayerShell> m_layerShell;
0033 };
0034 
0035 }
0036 
0037 #endif