5#include <QtWaylandClient/private/qwaylanddisplay_p.h>
7#include <QtOpenGL/QOpenGLTexture>
8#include <QtGui/QOpenGLContext>
10#include <QtCore/QSharedMemory>
18 ok = shm.attach(QSharedMemory::ReadOnly);
25 qWarning() <<
"Could not lock" <<
key <<
"for reading";
31 case QtWayland::qt_shm_emulation_server_buffer::format_RGBA32:
34 case QtWayland::qt_shm_emulation_server_buffer::format_A8:
46 qWarning(
"ShmServerBuffer: creating texture with no current context");
79 display->addRegistryListener(&wlDisplayHandleGlobal,
this);
87void ShmServerBufferIntegration::wlDisplayHandleGlobal(
void *
data, ::wl_registry *registry, uint32_t
id,
const QString &
interface, uint32_t version)
90 if (
interface ==
"qt_shm_emulation_server_buffer") {
92 integration->QtWayland::qt_shm_emulation_server_buffer::init(registry,
id, 1);
102 qt_server_buffer_set_user_data(
id, server_buffer);
Format
The following image formats are available in Qt.
static QOpenGLContext * currentContext()
Returns the last context which called makeCurrent in the current thread, or \nullptr,...
constexpr int height() const noexcept
Returns the height.
constexpr int width() const noexcept
Returns the width.
\macro QT_RESTRICTED_CAST_FROM_ASCII
void shm_emulation_server_buffer_server_buffer_created(qt_server_buffer *id, const QString &key, int32_t width, int32_t height, int32_t bytes_per_line, int32_t format) override
QWaylandServerBuffer * serverBuffer(struct qt_server_buffer *buffer) override
void initialize(QWaylandDisplay *display) override
~ShmServerBuffer() override
QOpenGLTexture * toOpenGlTexture() override
ShmServerBuffer(const QString &key, const QSize &size, int bytesPerLine, QWaylandServerBuffer::Format format)
static QT_BEGIN_NAMESPACE QOpenGLTexture * createTextureFromShm(const QString &key, int w, int h, int bpl, int format)
struct wl_display * display
Combined button and popup list for selecting options.
#define QT_IGNORE_DEPRECATIONS(statement)
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
GLfloat GLfloat GLfloat w
[0]
GLint GLsizei GLsizei height
GLenum GLuint GLintptr GLsizeiptr size
[1]
GLint GLsizei GLsizei GLenum GLenum GLsizei void * data
GLint GLsizei GLsizei GLenum format
GLfloat GLfloat GLfloat GLfloat h
QVideoFrameFormat::PixelFormat fmt