KWayland

blur.h
1 /*
2  SPDX-FileCopyrightText: 2015 Martin Gräßlin <[email protected]>
3  SPDX-FileCopyrightText: 2015 Marco Martin <[email protected]>
4 
5  SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
6 */
7 #ifndef KWAYLAND_BLUR_H
8 #define KWAYLAND_BLUR_H
9 
10 #include "buffer.h"
11 
12 #include <QObject>
13 #include <QPoint>
14 #include <QSize>
15 
16 #include <KWayland/Client/kwaylandclient_export.h>
17 
18 struct wl_buffer;
19 struct wl_region;
20 struct org_kde_kwin_blur;
21 struct org_kde_kwin_blur_manager;
22 
23 class QMarginsF;
24 class QWindow;
25 
26 namespace KWayland
27 {
28 namespace Client
29 {
30 
31 class EventQueue;
32 class Blur;
33 class Surface;
34 class Region;
35 
39 class KWAYLANDCLIENT_EXPORT BlurManager : public QObject
40 {
41  Q_OBJECT
42 public:
49  explicit BlurManager(QObject *parent = nullptr);
50  virtual ~BlurManager();
51 
55  bool isValid() const;
61  void setup(org_kde_kwin_blur_manager *compositor);
67  void release();
84  void destroy();
85 
89  void setEventQueue(EventQueue *queue);
93  EventQueue *eventQueue();
94 
100  Blur *createBlur(Surface *surface, QObject *parent = nullptr);
101  void removeBlur(Surface *surface);
102 
103  operator org_kde_kwin_blur_manager*();
104  operator org_kde_kwin_blur_manager*() const;
105 
106 Q_SIGNALS:
115  void removed();
116 
117 private:
118  class Private;
120 };
121 
135 class KWAYLANDCLIENT_EXPORT Blur : public QObject
136 {
137  Q_OBJECT
138 public:
139  virtual ~Blur();
140 
146  void setup(org_kde_kwin_blur *blur);
152  void release();
167  void destroy();
171  bool isValid() const;
172 
173  void commit();
174 
181  void setRegion(Region *region);
182 
183  operator org_kde_kwin_blur*();
184  operator org_kde_kwin_blur*() const;
185 
186 private:
187  friend class BlurManager;
188  explicit Blur(QObject *parent = nullptr);
189  class Private;
191 };
192 
193 }
194 }
195 
196 #endif
197 
Wrapper for the org_kde_kwin_blur interface.
Definition: blur.h:135
Wrapper class for wl_event_queue interface.
Definition: event_queue.h:55
Wrapper for the wl_surface interface.
Definition: surface.h:44
Wrapper for the wl_region interface.
Definition: region.h:32
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Fri Aug 7 2020 22:48:17 by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.