File indexing completed on 2024-04-21 03:59:29
0001 /* 0002 SPDX-FileCopyrightText: 2015 Martin Gräßlin <mgraesslin@kde.org> 0003 0004 SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL 0005 */ 0006 #ifndef PLUGINWRAPPER_P_H 0007 #define PLUGINWRAPPER_P_H 0008 0009 #include <QWidgetList> //For WId 0010 #include <memory> 0011 0012 class KWindowEffectsPrivate; 0013 class KWindowShadowPrivate; 0014 class KWindowShadowTilePrivate; 0015 class KWindowSystemPluginInterface; 0016 class KWindowSystemPrivate; 0017 0018 class KWindowSystemPluginWrapper 0019 { 0020 public: 0021 KWindowSystemPluginWrapper(); 0022 ~KWindowSystemPluginWrapper(); 0023 static const KWindowSystemPluginWrapper &self(); 0024 0025 KWindowEffectsPrivate *effects() const; 0026 KWindowSystemPrivate *createWindowSystem() const; 0027 KWindowShadowPrivate *createWindowShadow() const; 0028 KWindowShadowTilePrivate *createWindowShadowTile() const; 0029 0030 private: 0031 std::unique_ptr<KWindowSystemPluginInterface> m_plugin; 0032 std::unique_ptr<KWindowEffectsPrivate> m_effects; 0033 }; 0034 0035 #endif