KWin
Loading...
Searching...
No Matches
output.h
Go to the documentation of this file.
1/*
2 SPDX-FileCopyrightText: 2014 Martin Gräßlin <mgraesslin@kde.org>
3 SPDX-FileCopyrightText: 2021 Vlad Zahorodnii <vlad.zahorodnii@kde.org>
4
5 SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
6*/
7#pragma once
8
9#include "core/output.h"
10#include "kwin_export.h"
11
12#include <QObject>
13#include <QPoint>
14#include <QSize>
15
16struct wl_resource;
17struct wl_client;
18
19namespace KWin
20{
21class Output;
22}
23
24namespace KWin
25{
26class ClientConnection;
27class Display;
28class OutputInterfacePrivate;
29
34class KWIN_EXPORT OutputInterface : public QObject
35{
36 Q_OBJECT
37
38public:
39 explicit OutputInterface(Display *display, Output *handle, QObject *parent = nullptr);
40 ~OutputInterface() override;
41
42 bool isRemoved() const;
43 void remove();
44
45 Output *handle() const;
46
50 QList<wl_resource *> clientResources(wl_client *client) const;
51
55 void scheduleDone();
56
60 void done(wl_client *client);
61
62 static OutputInterface *get(wl_resource *native);
63
64 Display *display() const;
65
66Q_SIGNALS:
67 void removed();
68
73 void bound(ClientConnection *client, wl_resource *boundResource);
74
75private:
76 std::unique_ptr<OutputInterfacePrivate> d;
77};
78
79} // namespace KWin
Convenient Class which represents a wl_client.
Class holding the Wayland server display loop.
Definition display.h:34
void bound(ClientConnection *client, wl_resource *boundResource)
struct _XDisplay Display