File indexing completed on 2025-02-16 14:19:56
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