KWayland

blur_interface.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_SERVER_BLUR_INTERFACE_H
8 #define KWAYLAND_SERVER_BLUR_INTERFACE_H
9 
10 #include "global.h"
11 #include "resource.h"
12 
13 #include <QObject>
14 
15 #include <KWayland/Server/kwaylandserver_export.h>
16 
17 namespace KWayland
18 {
19 namespace Server
20 {
21 class Display;
22 
23 /**
24  * @brief Represents the Global for org_kde_kwin_blur_manager interface.
25  *
26  * This class creates BlurInterfaces and attaches them to SurfaceInterfaces.
27  *
28  * @see BlurInterface
29  * @see SurfaceInterface
30  * @since 5.5
31  **/
32 class KWAYLANDSERVER_EXPORT BlurManagerInterface : public Global
33 {
34  Q_OBJECT
35 public:
36  virtual ~BlurManagerInterface();
37 
38 private:
39  explicit BlurManagerInterface(Display *display, QObject *parent = nullptr);
40  friend class Display;
41  class Private;
42 };
43 
44 /**
45  * @brief Represents the Resource for the org_kde_kwin_blur interface.
46  *
47  * Instances of this class are only generated by the BlurManagerInterface.
48  * The BlurInterface gets attached to a SurfaceInterface and can be assessed
49  * from there using @link SurfaceInterface::blur() @endlink. Please note that
50  * the BlurInterface is only available on the SurfaceInterface after it has been
51  * committed.
52  *
53  * @see BlurManagerInterface
54  * @see SurfaceInterface
55  * @since 5.5
56  **/
57 class KWAYLANDSERVER_EXPORT BlurInterface : public Resource
58 {
59  Q_OBJECT
60 public:
61  virtual ~BlurInterface();
62 
63  /**
64  * @returns The region or the SurfaceInterface which should be blurred, null Region implies complete surface.
65  **/
66  QRegion region();
67 
68 private:
69  explicit BlurInterface(BlurManagerInterface *parent, wl_resource *parentResource);
70  friend class BlurManagerInterface;
71 
72  class Private;
73  Private *d_func() const;
74 };
75 
76 }
77 }
78 
79 #endif
Represents the Resource for the org_kde_kwin_blur interface.
Class holding the Wayland server display loop.
Definition: display.h:86
Represents the Global for org_kde_kwin_blur_manager interface.
Base class for all Globals.
Definition: global.h:46
Represents a bound Resource.
Definition: resource.h:31
This file is part of the KDE documentation.
Documentation copyright © 1996-2021 The KDE developers.
Generated on Thu Sep 23 2021 22:51:07 by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.