Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
qwaylandwlshell.h
Go to the documentation of this file.
1// Copyright (C) 2017 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
3
4#ifndef QWAYLANDWLSHELL_H
5#define QWAYLANDWLSHELL_H
6
7#include <QtWaylandCompositor/QWaylandCompositorExtension>
8#include <QtWaylandCompositor/QWaylandResource>
9#include <QtWaylandCompositor/QWaylandShell>
10#include <QtWaylandCompositor/QWaylandShellSurface>
11#if QT_CONFIG(wayland_compositor_quick)
12#include <QtWaylandCompositor/qwaylandquickchildren.h>
13#endif
14
15#include <QtCore/QSize>
16
18
21class QWaylandSurface;
22class QWaylandClient;
23class QWaylandSeat;
24class QWaylandOutput;
27
28class Q_WAYLANDCOMPOSITOR_EXPORT QWaylandWlShell : public QWaylandShellTemplate<QWaylandWlShell>
29{
31 Q_DECLARE_PRIVATE(QWaylandWlShell)
32public:
35
36 void initialize() override;
37 QList<QWaylandWlShellSurface *> shellSurfaces() const;
38 QList<QWaylandWlShellSurface *> shellSurfacesForClient(QWaylandClient* client) const;
39 QList<QWaylandWlShellSurface *> mappedPopups() const;
40 QWaylandClient *popupClient() const;
41
42 static const struct wl_interface *interface();
44
45public Q_SLOTS:
46 void closeAllPopups();
47
51};
52
53class Q_WAYLANDCOMPOSITOR_EXPORT QWaylandWlShellSurface : public QWaylandShellSurfaceTemplate<QWaylandWlShellSurface>
54{
56 Q_DECLARE_PRIVATE(QWaylandWlShellSurface)
57#if QT_CONFIG(wayland_compositor_quick)
59#endif
60 Q_PROPERTY(QWaylandSurface *surface READ surface NOTIFY surfaceChanged)
61 Q_PROPERTY(QWaylandWlShell *shell READ shell NOTIFY shellChanged)
62 Q_PROPERTY(QString title READ title NOTIFY titleChanged)
63 Q_PROPERTY(QString className READ className NOTIFY classNameChanged)
64 Q_MOC_INCLUDE("qwaylandsurface.h")
65
66public:
74
76 NoneEdge = 0,
77 TopEdge = 1,
78 BottomEdge = 2,
79 LeftEdge = 4,
80 TopLeftEdge = 5,
81 BottomLeftEdge = 6,
82 RightEdge = 8,
83 TopRightEdge = 9,
84 BottomRightEdge = 10
85 };
87
90 ~QWaylandWlShellSurface() override;
91
92 Q_INVOKABLE void initialize(QWaylandWlShell *shell, QWaylandSurface *surface, const QWaylandResource &resource);
93
94 QString title() const;
95 QString className() const;
96
97 QWaylandSurface *surface() const;
98 QWaylandWlShell *shell() const;
99
100 Qt::WindowType windowType() const override;
101
102 static const struct wl_interface *interface();
103 static QByteArray interfaceName();
104 static QWaylandSurfaceRole *role();
105
106 static QWaylandWlShellSurface *fromResource(wl_resource *res);
107
108 Q_INVOKABLE QSize sizeForResize(const QSizeF &size, const QPointF &delta, ResizeEdge edges);
109 Q_INVOKABLE void sendConfigure(const QSize &size, ResizeEdge edges);
110 Q_INVOKABLE void sendPopupDone();
111
112#if QT_CONFIG(wayland_compositor_quick)
114#endif
115
116public Q_SLOTS:
117 void ping();
118
124 void pong();
127
129 void setTransient(QWaylandSurface *parentSurface, const QPoint &relativeToParent, bool inactive);
131 void setPopup(QWaylandSeat *seat, QWaylandSurface *parentSurface, const QPoint &relativeToParent);
133
134private:
135 void initialize() override;
136};
137
139
140#endif /*QWAYLANDWLSHELL_H*/
\inmodule QtCore
Definition qbytearray.h:57
\inmodule QtCore\reentrant
Definition qpoint.h:217
\inmodule QtCore\reentrant
Definition qpoint.h:25
\inmodule QtCore
Definition qsize.h:208
\inmodule QtCore
Definition qsize.h:25
\macro QT_RESTRICTED_CAST_FROM_ASCII
Definition qstring.h:129
\qmltype WaylandClient \instantiates QWaylandClient \inqmlmodule QtWayland.Compositor
\qmltype WaylandCompositor \instantiates QWaylandCompositor \inqmlmodule QtWayland....
\qmltype WaylandOutput \instantiates QWaylandOutput \inqmlmodule QtWayland.Compositor
\qmltype ShellSurfaceItem \instantiates QWaylandQuickShellSurfaceItem \inherits WaylandQuickItem \inq...
\inmodule QtWaylandCompositor
\qmltype WaylandSeat \instantiates QWaylandSeat \inqmlmodule QtWayland.Compositor
\inmodule QtWaylandCompositor
\inmodule QtWaylandCompositor
\qmltype WaylandSurface \instantiates QWaylandSurface \inqmlmodule QtWayland.Compositor
\qmltype WlShellSurface \instantiates QWaylandWlShellSurface \inqmlmodule QtWayland....
void setPopup(QWaylandSeat *seat, QWaylandSurface *parentSurface, const QPoint &relativeToParent)
void setFullScreen(FullScreenMethod method, uint framerate, QWaylandOutput *output)
void setMaximized(QWaylandOutput *output)
void startResize(QWaylandSeat *seat, ResizeEdge edges)
void startMove(QWaylandSeat *seat)
void setTransient(QWaylandSurface *parentSurface, const QPoint &relativeToParent, bool inactive)
ResizeEdge
This enum type provides a way to specify an edge or corner of the surface.
Q_ENUM(FullScreenMethod)
\qmltype WlShell \instantiates QWaylandWlShell \inqmlmodule QtWayland.Compositor.WlShell
void wlShellSurfaceCreated(QWaylandWlShellSurface *shellSurface)
\qmlsignal void WlShell::wlShellSurfaceCreated(WlShellSurface shellSurface)
void wlShellSurfaceRequested(QWaylandSurface *surface, const QWaylandResource &resource)
\qmlsignal void WlShell::wlShellSurfaceRequested(WaylandSurface surface, WaylandResource resource)
Combined button and popup list for selecting options.
WindowType
Definition qnamespace.h:205
static bool initialize()
Definition qctf.cpp:94
DBusConnection const char DBusError DBusBusType DBusError return DBusConnection DBusHandleMessageFunction void DBusFreeFunction return DBusConnection return DBusConnection return const char DBusError return DBusConnection DBusMessage dbus_uint32_t return DBusConnection dbus_bool_t DBusConnection DBusAddWatchFunction DBusRemoveWatchFunction DBusWatchToggledFunction void DBusFreeFunction return DBusConnection DBusDispatchStatusFunction void DBusFreeFunction DBusTimeout return DBusTimeout return DBusWatch return DBusWatch unsigned int return DBusError const DBusError return const DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessageIter int const void return DBusMessageIter DBusMessageIter return DBusMessageIter void DBusMessageIter void int return DBusMessage DBusMessageIter return DBusMessageIter return DBusMessageIter DBusMessageIter const char const char const char * interface
DBusConnection const char DBusError DBusBusType DBusError return DBusConnection DBusHandleMessageFunction void DBusFreeFunction return DBusConnection return DBusConnection return const char DBusError return DBusConnection DBusMessage dbus_uint32_t return DBusConnection dbus_bool_t DBusConnection DBusAddWatchFunction DBusRemoveWatchFunction DBusWatchToggledFunction void DBusFreeFunction return DBusConnection DBusDispatchStatusFunction void DBusFreeFunction DBusTimeout return DBusTimeout return DBusWatch return DBusWatch unsigned int return DBusError const DBusError return const DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessageIter int const void return DBusMessageIter DBusMessageIter return DBusMessageIter void DBusMessageIter void int return DBusMessage DBusMessageIter return DBusMessageIter return DBusMessageIter DBusMessageIter const char const char const char const char * method
static QOpenGLCompositor * compositor
GLenum GLuint GLintptr GLsizeiptr size
[1]
GLfloat GLfloat GLfloat GLfloat h
GLuint res
QAnyStringView interfaceName(const Interface &iface)
#define Q_PROPERTY(...)
#define Q_OBJECT
#define Q_INVOKABLE
#define Q_SLOTS
#define Q_MOC_INCLUDE(...)
#define Q_SIGNALS
unsigned int uint
Definition qtypes.h:34
QT_BEGIN_NAMESPACE typedef uchar * output
#define Q_WAYLAND_COMPOSITOR_DECLARE_QUICK_CHILDREN(className)
const char className[16]
[1]
Definition qwizard.cpp:100
QString title
[35]
QGraphicsItem * item