KWaylandServer

blur_interface.h
1 /*
2  SPDX-FileCopyrightText: 2015 Martin Gräßlin <[email protected]>
3  SPDX-FileCopyrightText: 2015 Marco Martin <[email protected]>
4  SPDX-FileCopyrightText: 2020 David Edmundson <[email protected]>
5 
6  SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
7 */
8 #pragma once
9 
10 #include <QObject>
11 
12 #include <KWaylandServer/kwaylandserver_export.h>
13 
14 struct wl_resource;
15 
16 namespace KWaylandServer
17 {
18 class Display;
19 class BlurManagerInterfacePrivate;
20 class BlurInterfacePrivate;
21 
22 /**
23  * @brief Represents the Global for org_kde_kwin_blur_manager interface.
24  *
25  * This class creates BlurInterfaces and attaches them to SurfaceInterfaces.
26  *
27  * @see BlurInterface
28  * @see SurfaceInterface
29  */
30 class KWAYLANDSERVER_EXPORT BlurManagerInterface : public QObject
31 {
32  Q_OBJECT
33 public:
34  explicit BlurManagerInterface(Display *display, QObject *parent = nullptr);
35  ~BlurManagerInterface() override;
36 
37  void remove();
38 
39 private:
41 };
42 
43 /**
44  * @brief Represents the Resource for the org_kde_kwin_blur interface.
45  *
46  * Instances of this class are only generated by the BlurManagerInterface.
47  * The BlurInterface gets attached to a SurfaceInterface and can be assessed
48  * from there using @link SurfaceInterface::blur() @endlink. Please note that
49  * the BlurInterface is only available on the SurfaceInterface after it has been
50  * committed.
51  *
52  * Lifespan matches the underlying client resource
53  *
54  * @see BlurManagerInterface
55  * @see SurfaceInterface
56  */
57 class KWAYLANDSERVER_EXPORT BlurInterface : public QObject
58 {
59  Q_OBJECT
60 public:
61  ~BlurInterface() override;
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(wl_resource *resource);
70  friend class BlurManagerInterfacePrivate;
71 
73 };
74 
75 }
Class holding the Wayland server display loop.
Definition: display.h:47
Represents the Resource for the org_kde_kwin_blur interface.
Represents the Global for org_kde_kwin_blur_manager interface.
This file is part of the KDE documentation.
Documentation copyright © 1996-2021 The KDE developers.
Generated on Mon Oct 25 2021 23:08:43 by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.