File indexing completed on 2024-06-16 03:53:36

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 <kwindowsystem_export.h>
0009 
0010 #include <QObject>
0011 #include <QWidgetList> //For WId
0012 
0013 class KWindowEffectsPrivate;
0014 class KWindowShadowPrivate;
0015 class KWindowShadowTilePrivate;
0016 class KWindowSystemPrivate;
0017 
0018 #define KWindowSystemPluginInterface_iid "org.kde.kwindowsystem.KWindowSystemPluginInterface"
0019 
0020 class KWINDOWSYSTEM_EXPORT KWindowSystemPluginInterface : public QObject
0021 {
0022     Q_OBJECT
0023 public:
0024     explicit KWindowSystemPluginInterface(QObject *parent = nullptr);
0025     ~KWindowSystemPluginInterface() override;
0026 
0027     virtual KWindowEffectsPrivate *createEffects();
0028     virtual KWindowSystemPrivate *createWindowSystem();
0029     virtual KWindowShadowPrivate *createWindowShadow();
0030     virtual KWindowShadowTilePrivate *createWindowShadowTile();
0031 };
0032 
0033 Q_DECLARE_INTERFACE(KWindowSystemPluginInterface, KWindowSystemPluginInterface_iid)
0034 
0035 #endif