1/*
2 SPDX-FileCopyrightText: 2015 Martin Gräßlin <mgraesslin@kde.org>
3
4 SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
5*/
6#ifndef WINDOWSYSTEM_H
7#define WINDOWSYSTEM_H
8
9#include "kwindowsystem_p.h"
10
11#include <QObject>
12
13class WindowManagement;
14
15class WindowSystem : public QObject, public KWindowSystemPrivateV2
16{
17 Q_OBJECT
18public:
19 WindowSystem();
20 ~WindowSystem() override;
21 void activateWindow(QWindow *win, long time) override;
22 void requestToken(QWindow *win, uint32_t serial, const QString &app_id) override;
23 quint32 lastInputSerial(QWindow *window) override;
24 void setCurrentToken(const QString &token) override;
25 bool showingDesktop() override;
26 void setShowingDesktop(bool showing) override;
27 void exportWindow(QWindow *window) override;
28 void unexportWindow(QWindow *window) override;
29 void setMainWindow(QWindow *window, const QString &handle) override;
30
31protected:
32 bool eventFilter(QObject *watched, QEvent *event) override;
33
34private:
35 void doSetMainWindow(QWindow *window, const QString &handle);
36 QString m_lastToken;
37 WindowManagement *m_windowManagement;
38};
39
40#endif
41

source code of kwindowsystem/src/platforms/wayland/windowsystem.h