KWayland

slide_interface.h
1 /*
2  SPDX-FileCopyrightText: 2015 Marco Martin <[email protected]>
3 
4  SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
5 */
6 #ifndef KWAYLAND_SERVER_SLIDE_INTERFACE_H
7 #define KWAYLAND_SERVER_SLIDE_INTERFACE_H
8 
9 #include "global.h"
10 #include "resource.h"
11 
12 #include <KWayland/Server/kwaylandserver_export.h>
13 
14 namespace KWayland
15 {
16 namespace Server
17 {
18 
19 class Display;
20 
21 /**
22  * TODO
23  */
24 class KWAYLANDSERVER_EXPORT SlideManagerInterface : public Global
25 {
26  Q_OBJECT
27 public:
28  virtual ~SlideManagerInterface();
29 
30 private:
31  explicit SlideManagerInterface(Display *display, QObject *parent = nullptr);
32  friend class Display;
33  class Private;
34 };
35 
36 /**
37  * TODO
38  */
39 class KWAYLANDSERVER_EXPORT SlideInterface : public Resource
40 {
41  Q_OBJECT
42 public:
43  enum Location {
44  Left = 0, /**< Slide from the left edge of the screen */
45  Top, /**< Slide from the top edge of the screen */
46  Right, /**< Slide from the bottom edge of the screen */
47  Bottom /**< Slide from the bottom edge of the screen */
48  };
49 
50  virtual ~SlideInterface();
51 
52  /**
53  * @returns the location the window will be slided from
54  */
55  Location location() const;
56 
57  /**
58  * @returns the offset from the screen edge the window will
59  * be slided from
60  */
61  qint32 offset() const;
62 
63 private:
64  explicit SlideInterface(SlideManagerInterface *parent, wl_resource *parentResource);
65  friend class SlideManagerInterface;
66 
67  class Private;
68  Private *d_func() const;
69 };
70 
71 
72 }
73 }
74 
75 #endif
Left
Class holding the Wayland server display loop.
Definition: display.h:89
Base class for all Globals.
Definition: global.h:46
Slide from the top edge of the screen.
Represents a bound Resource.
Definition: resource.h:32
Slide from the bottom edge of the screen.
This file is part of the KDE documentation.
Documentation copyright © 1996-2021 The KDE developers.
Generated on Mon Mar 8 2021 22:50:09 by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.