File indexing completed on 2025-02-16 13:12:09
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 KWINDOWSYSTEMPLUGININTERFACE_P_H 0007 #define KWINDOWSYSTEMPLUGININTERFACE_P_H 0008 #include "netwm_def.h" 0009 #include <kwindowsystem_export.h> 0010 0011 #include <QObject> 0012 #include <QWidgetList> //For WId 0013 0014 class KWindowEffectsPrivate; 0015 class KWindowInfoPrivate; 0016 class KWindowShadowPrivate; 0017 class KWindowShadowTilePrivate; 0018 class KWindowSystemPrivate; 0019 0020 #define KWindowSystemPluginInterface_iid "org.kde.kwindowsystem.KWindowSystemPluginInterface" 0021 0022 class KWINDOWSYSTEM_EXPORT KWindowSystemPluginInterface : public QObject 0023 { 0024 Q_OBJECT 0025 public: 0026 explicit KWindowSystemPluginInterface(QObject *parent = nullptr); 0027 ~KWindowSystemPluginInterface() override; 0028 0029 virtual KWindowEffectsPrivate *createEffects(); 0030 virtual KWindowSystemPrivate *createWindowSystem(); 0031 virtual KWindowInfoPrivate *createWindowInfo(WId window, NET::Properties properties, NET::Properties2 properties2); 0032 virtual KWindowShadowPrivate *createWindowShadow(); 0033 virtual KWindowShadowTilePrivate *createWindowShadowTile(); 0034 }; 0035 0036 Q_DECLARE_INTERFACE(KWindowSystemPluginInterface, KWindowSystemPluginInterface_iid) 0037 0038 #endif