KWin
Loading...
Searching...
No Matches
xdgdecoration_v1.h
Go to the documentation of this file.
1/*
2 SPDX-FileCopyrightText: 2020 Vlad Zahorodnii <vlad.zahorodnii@kde.org>
3
4 SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
5*/
6
7#pragma once
8
9#include "kwin_export.h"
10
11#include <QObject>
12#include <memory>
13
14struct wl_resource;
15
16namespace KWin
17{
18class Display;
19class XdgDecorationManagerV1InterfacePrivate;
20class XdgToplevelDecorationV1Interface;
21class XdgToplevelDecorationV1InterfacePrivate;
22class XdgToplevelInterface;
23
30class KWIN_EXPORT XdgDecorationManagerV1Interface : public QObject
31{
32 Q_OBJECT
33
34public:
38 XdgDecorationManagerV1Interface(Display *display, QObject *parent = nullptr);
43
44Q_SIGNALS:
49
50private:
51 std::unique_ptr<XdgDecorationManagerV1InterfacePrivate> d;
52};
53
60class KWIN_EXPORT XdgToplevelDecorationV1Interface : public QObject
61{
62 Q_OBJECT
63
64public:
65 enum class Mode {
66 Undefined,
67 None,
68 Client,
69 Server,
70 };
71 Q_ENUM(Mode)
72
73
77 XdgToplevelDecorationV1Interface(XdgToplevelInterface *toplevel, ::wl_resource *resource);
82
86 XdgToplevelInterface *toplevel() const;
90 Mode preferredMode() const;
97 void sendConfigure(Mode mode);
98
103
104Q_SIGNALS:
110
111private:
112 std::unique_ptr<XdgToplevelDecorationV1InterfacePrivate> d;
113};
114
115} // namespace KWin
The Client class encapsulates a window decoration frame.
Class holding the Wayland server display loop.
Definition display.h:34
void decorationCreated(XdgToplevelDecorationV1Interface *decoration)
void preferredModeChanged(KWin::XdgToplevelDecorationV1Interface::Mode mode)
struct _XDisplay Display