KWayland

qtsurfaceextension_interface.h
1 /*
2  SPDX-FileCopyrightText: 2015 Martin Gräßlin <[email protected]>
3 
4  SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
5 */
6 #ifndef WAYLAND_SERVER_QTSURFACEEXTENSION_INTERFACE_H
7 #define WAYLAND_SERVER_QTSURFACEEXTENSION_INTERFACE_H
8 
9 #include <QObject>
10 
11 #include <KWayland/Server/kwaylandserver_export.h>
12 
13 #include "global.h"
14 #include "resource.h"
15 
16 struct wl_resource;
17 
18 namespace KWayland
19 {
20 namespace Server
21 {
22 class Display;
23 class SurfaceInterface;
24 class QtExtendedSurfaceInterface;
25 
26 /**
27  * TODO
28  */
29 class KWAYLANDSERVER_EXPORT QtSurfaceExtensionInterface : public Global
30 {
31  Q_OBJECT
32 public:
33  virtual ~QtSurfaceExtensionInterface();
34 
35 Q_SIGNALS:
36  void surfaceCreated(KWayland::Server::QtExtendedSurfaceInterface *);
37 
38 private:
39  friend class Display;
40  explicit QtSurfaceExtensionInterface(Display *display, QObject *parent);
41  class Private;
42 };
43 
44 /**
45  * TODO
46  */
47 class KWAYLANDSERVER_EXPORT QtExtendedSurfaceInterface : public Resource
48 {
49  Q_OBJECT
50 public:
51  virtual ~QtExtendedSurfaceInterface();
52 
53  SurfaceInterface *surface() const;
54  QtSurfaceExtensionInterface *shell() const;
55 
56  void close();
57 
58 Q_SIGNALS:
59  /**
60  * Requests that the window be raised to appear above other windows.
61  * @since 5.5
62  **/
63  void raiseRequested();
64  /**
65  * Requests that the window be lowered to appear below other windows.
66  * @since 5.5
67  **/
68  void lowerRequested();
69 
70 private:
71  friend class QtSurfaceExtensionInterface;
72  explicit QtExtendedSurfaceInterface(QtSurfaceExtensionInterface *shell, SurfaceInterface *parent, wl_resource *parentResource);
73  class Private;
74  Private *d_func() const;
75 };
76 
77 }
78 }
79 
80 #endif
Resource representing a wl_surface.
Class holding the Wayland server display loop.
Definition: display.h:86
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 Sat Sep 18 2021 22:51:06 by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.