6#include <QtWaylandCompositor/QWaylandXdgToplevel>
7#include <QtWaylandCompositor/private/qwaylandxdgshell_p.h>
9#include <QtWaylandCompositor/QWaylandCompositor>
10#include <QtCore/QObject>
82 qWarning() <<
"Failed to find QWaylandCompositor when initializing QWaylandXdgDecorationV1";
107 return d->m_preferredMode;
125 return QWaylandXdgDecorationManagerV1Private::interface();
129 Resource *resource,
uint id, wl_resource *toplevelResource)
135 qWarning() <<
"Couldn't find toplevel for decoration";
143 if (toplevelPrivate->m_decoration) {
144 qWarning() <<
"zxdg_decoration_manager_v1.get_toplevel_decoration:"
145 << toplevel <<
"already has a decoration object, ignoring";
155 wl_client *client,
int id)
156 : QtWaylandServer::zxdg_toplevel_decoration_v1(client,
id, 1)
157 , m_toplevel(toplevel)
162 Q_ASSERT(!toplevelPrivate->m_decoration);
163 toplevelPrivate->m_decoration =
this;
178 case DecorationMode::ClientSideDecoration:
179 send_configure(mode_client_side);
181 case DecorationMode::ServerSideDecoration:
182 send_configure(mode_server_side);
185 qWarning() <<
"Illegal mode in QWaylandXdgToplevelDecorationV1::sendConfigure" <<
mode;
189 m_configuredMode =
mode;
201 wl_resource_destroy(resource->handle);
207 m_clientPreferredMode =
mode;
208 handleClientPreferredModeChanged();
214 m_clientPreferredMode = 0;
215 handleClientPreferredModeChanged();
218void QWaylandXdgToplevelDecorationV1::handleClientPreferredModeChanged()
220 if (m_clientPreferredMode != m_configuredMode) {
221 if (m_clientPreferredMode == 0)
230#include "moc_qwaylandxdgdecorationv1.cpp"
\inmodule QtWaylandCompositor
virtual void initialize()
Initializes the QWaylandCompositorExtension.
QWaylandObject * extensionContainer() const
\qmltype WaylandCompositor \instantiates QWaylandCompositor \inqmlmodule QtWayland....
void zxdg_decoration_manager_v1_get_toplevel_decoration(Resource *resource, uint id, ::wl_resource *toplevelResource) override
\inmodule QtWaylandCompositor
void preferredModeChanged()
static const struct wl_interface * interface()
Returns the Wayland interface for the QWaylandXdgDecorationManagerV1.
QWaylandXdgToplevel::DecorationMode preferredMode
\qmlproperty string XdgDecorationManagerV1::preferredMode
void setPreferredMode(QWaylandXdgToplevel::DecorationMode preferredMode)
void initialize() override
Initializes the extension.
QWaylandXdgDecorationManagerV1()
Constructs a QWaylandXdgDecorationManagerV1 object.
DecorationMode configuredMode() const
~QWaylandXdgToplevelDecorationV1() override
QWaylandXdgToplevel::DecorationMode DecorationMode
void zxdg_toplevel_decoration_v1_unset_mode(Resource *resource) override
void zxdg_toplevel_decoration_v1_destroy_resource(Resource *resource) override
void sendConfigure(DecorationMode mode)
void zxdg_toplevel_decoration_v1_destroy(Resource *resource) override
QWaylandXdgToplevelDecorationV1(QWaylandXdgToplevel *toplevel, QWaylandXdgDecorationManagerV1 *manager, wl_client *client, int id)
void zxdg_toplevel_decoration_v1_set_mode(Resource *resource, uint32_t mode) override
QWaylandXdgToplevelDecorationV1 * m_decoration
static QWaylandXdgToplevelPrivate * get(QWaylandXdgToplevel *toplevel)
\qmltype XdgToplevel \instantiates QWaylandXdgToplevel \inqmlmodule QtWayland.Compositor....
static QWaylandXdgToplevel * fromResource(::wl_resource *resource)
Returns the QWaylandXdgToplevel corresponding to the resource.
DecorationMode
This enum type is used to specify the window decoration mode for toplevel windows.
void decorationModeChanged()
Combined button and popup list for selecting options.
static QOpenGLCompositor * compositor
GLdouble GLdouble GLdouble GLdouble q
QNetworkAccessManager manager