KWayland

server_decoration_palette.h
1 /*
2  SPDX-FileCopyrightText: 2017 David Edmundson <[email protected]>
3 
4  SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
5 */
6 #ifndef KWAYLAND_CLIENT_SERVER_DECORATION_PALETTE_H
7 #define KWAYLAND_CLIENT_SERVER_DECORATION_PALETTE_H
8 
9 #include <QObject>
10 
11 #include <KWayland/Client/kwaylandclient_export.h>
12 
13 struct org_kde_kwin_server_decoration_palette_manager;
14 struct org_kde_kwin_server_decoration_palette;
15 
16 namespace KWayland
17 {
18 namespace Client
19 {
20 
21 class EventQueue;
22 class Surface;
23 class ServerSideDecorationPalette;
24 
48 class KWAYLANDCLIENT_EXPORT ServerSideDecorationPaletteManager : public QObject
49 {
50  Q_OBJECT
51 public:
58  explicit ServerSideDecorationPaletteManager(QObject *parent = nullptr);
60 
66  void setup(org_kde_kwin_server_decoration_palette_manager *serverSideDecorationPaletteManager);
70  bool isValid() const;
76  void release();
93  void destroy();
94 
98  void setEventQueue(EventQueue *queue);
102  EventQueue *eventQueue();
103 
104  ServerSideDecorationPalette *create(Surface *surface, QObject *parent = nullptr);
105 
106  operator org_kde_kwin_server_decoration_palette_manager*();
107  operator org_kde_kwin_server_decoration_palette_manager*() const;
108 
109 Q_SIGNALS:
116  void removed();
117 
118 private:
119  class Private;
121 };
122 
123 class KWAYLANDCLIENT_EXPORT ServerSideDecorationPalette : public QObject
124 {
125  Q_OBJECT
126 public:
127  virtual ~ServerSideDecorationPalette();
128 
134  void setup(org_kde_kwin_server_decoration_palette *serversidedecorationpalette);
138  bool isValid() const;
144  void release();
161  void destroy();
162 
168  void setPalette(const QString &palette);
169 
170  operator org_kde_kwin_server_decoration_palette*();
171  operator org_kde_kwin_server_decoration_palette*() const;
172 
173 private:
175  explicit ServerSideDecorationPalette(QObject *parent = nullptr);
176  class Private;
178 };
179 
180 
181 }
182 }
183 
184 #endif
Wrapper for the org_kde_kwin_server_decoration_palette_manager interface.
Wrapper class for wl_event_queue interface.
Definition: event_queue.h:55
Wrapper for the wl_surface interface.
Definition: surface.h:44
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Sat Aug 8 2020 22:48:57 by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.