File indexing completed on 2024-04-28 16:48:53

0001 /*
0002     SPDX-FileCopyrightText: 2020 Vlad Zahorodnii <vlad.zahorodnii@kde.org>
0003 
0004     SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 
0007 #pragma once
0008 
0009 #include "waylandshellintegration.h"
0010 
0011 namespace KWaylandServer
0012 {
0013 class LayerSurfaceV1Interface;
0014 }
0015 
0016 namespace KWin
0017 {
0018 
0019 class LayerShellV1Integration : public WaylandShellIntegration
0020 {
0021     Q_OBJECT
0022 
0023 public:
0024     explicit LayerShellV1Integration(QObject *parent = nullptr);
0025 
0026     void rearrange();
0027     void scheduleRearrange();
0028 
0029     void createWindow(KWaylandServer::LayerSurfaceV1Interface *shellSurface);
0030     void recreateWindow(KWaylandServer::LayerSurfaceV1Interface *shellSurface);
0031     void destroyWindow(KWaylandServer::LayerSurfaceV1Interface *shellSurface);
0032 
0033 private:
0034     QTimer *m_rearrangeTimer;
0035 };
0036 
0037 } // namespace KWin