4#ifndef QWAYLANDSHELLINTEGRATION_H
5#define QWAYLANDSHELLINTEGRATION_H
18#include <QtWaylandClient/qtwaylandclientglobal.h>
19#include <QtWaylandClient/qwaylandclientextension.h>
24#include <private/qglobal_p.h>
74 return T::interface();
77 void bind(struct ::wl_registry *registry,
int id,
int ver)
override
79 T* instance =
static_cast<T *
>(
this);
83 if (this->version() > T::interface()->version) {
84 qWarning(
"Supplied protocol version to QWaylandClientExtensionTemplate is higher than the version of the protocol, using protocol version instead.");
86 int minVersion =
qMin(ver,
qMin(T::interface()->version, this->version()));
88 instance->init(registry,
id, minVersion);
\qmltype ShellSurface \instantiates QWaylandShellSurface \inqmlmodule QtWayland.Compositor
const struct wl_interface * extensionInterface() const override
bool initialize(QWaylandDisplay *) override
void bind(struct ::wl_registry *registry, int id, int ver) override
QWaylandShellIntegrationTemplate(const int ver)
virtual bool initialize(QWaylandDisplay *display)=0
virtual ~QWaylandShellIntegration()
virtual QWaylandShellSurface * createShellSurface(QWaylandWindow *window)=0
virtual void * nativeResourceForWindow(const QByteArray &resource, QWindow *window)
QWaylandShellIntegration()
struct wl_display * display
Combined button and popup list for selecting options.
constexpr const T & qMin(const T &a, const T &b)