5#include <QWaylandCompositor>
6#include <QtWaylandCompositor/private/qwaylandcompositor_p.h>
7#include <QtWaylandCompositor/private/qwlclientbufferintegration_p.h>
25 notify = BufferManager::destroy_listener_callback;
26 wl_list_init(&this->link);
37 destroy_listener->d =
this;
38 wl_resource_add_destroy_listener(buffer_resource, destroy_listener);
47 auto it = m_buffers.find(buffer_resource);
48 if (
it != m_buffers.end())
54 newBuffer = integration->createBufferFor(buffer_resource);
62 qCWarning(qLcWaylandCompositorHardwareIntegration) <<
"Could not create buffer for resource.";
68void BufferManager::destroy_listener_callback(wl_listener *listener,
void *
data)
72 struct ::wl_resource *
buffer =
static_cast<struct ::wl_resource *
>(
data);
74 wl_list_remove(&destroy_listener->link);
75 delete destroy_listener;
static QWaylandCompositorPrivate * get(QWaylandCompositor *compositor)
const QList< QtWayland::ClientBufferIntegration * > clientBufferIntegrations() const
\qmltype WaylandCompositor \instantiates QWaylandCompositor \inqmlmodule QtWayland....
friend struct buffer_manager_destroy_listener
ClientBuffer * getBuffer(struct ::wl_resource *buffer_resource)
void registerBuffer(struct ::wl_resource *buffer_resource, ClientBuffer *clientBuffer)
BufferManager(QWaylandCompositor *compositor)
QSet< QString >::iterator it
Combined button and popup list for selecting options.
#define qCWarning(category,...)
static QOpenGLCompositor * compositor
GLintptr GLsizeiptr GLeglClientBufferEXT clientBuffer
GLint GLsizei GLsizei GLenum GLenum GLsizei void * data
buffer_manager_destroy_listener()