KWayland

fullscreen_shell.h
1 /*
2  SPDX-FileCopyrightText: 2014 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_FULLSCREEN_SHELL_H
7 #define WAYLAND_FULLSCREEN_SHELL_H
8 
9 #include <QObject>
10 
11 #include <KWayland/Client/kwaylandclient_export.h>
12 
13 struct _wl_fullscreen_shell;
14 struct wl_output;
15 struct wl_surface;
16 
17 namespace KWayland
18 {
19 namespace Client
20 {
21 
22 class EventQueue;
23 class Surface;
24 class Output;
25 
49 class KWAYLANDCLIENT_EXPORT FullscreenShell : public QObject
50 {
51  Q_OBJECT
52  Q_PROPERTY(bool capabilityArbitraryModes READ hasCapabilityArbitraryModes NOTIFY capabilityArbitraryModesChanged)
53  Q_PROPERTY(bool capabilityCursorPlane READ hasCapabilityCursorPlane NOTIFY capabilityCursorPlaneChanged)
54 public:
55  explicit FullscreenShell(QObject *parent = nullptr);
56  virtual ~FullscreenShell();
57 
58  bool isValid() const;
59  void release();
60  void destroy();
61  bool hasCapabilityArbitraryModes() const;
62  bool hasCapabilityCursorPlane() const;
63  void setup(_wl_fullscreen_shell *shell);
64  void present(wl_surface *surface, wl_output *output);
65  void present(Surface *surface, Output *output);
66 
70  void setEventQueue(EventQueue *queue);
74  EventQueue *eventQueue() const;
75 
76 Q_SIGNALS:
77  void capabilityArbitraryModesChanged(bool);
78  void capabilityCursorPlaneChanged(bool);
79 
88  void removed();
89 
90 private:
91  class Private;
93 };
94 
95 }
96 }
97 
98 #endif
Wrapper for the _wl_fullscreen_shell interface.
Wrapper class for wl_event_queue interface.
Definition: event_queue.h:55
Wrapper for the wl_output interface.
Definition: output.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 Jul 11 2020 22:49:32 by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.