Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
texturesharingextension.cpp
Go to the documentation of this file.
1// Copyright (C) 2019 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
5#include <QtWaylandClient/private/qwaylanddisplay_p.h>
6#include <QtWaylandClient/private/qwaylandintegration_p.h>
7#include <QtWaylandClient/private/qwaylandserverbufferintegration_p.h>
8#include <QtGui/QGuiApplication>
9#include <QtGui/private/qguiapplication_p.h>
10#include <QtGui/QWindow>
11#include <QtGui/QPlatformSurfaceEvent>
12#include <QtGui/qpa/qplatformnativeinterface.h>
13#include <QDebug>
14
16
17TextureSharingExtension::TextureSharingExtension()
18 : QWaylandClientExtensionTemplate(/* Supported protocol version */ 1 )
19{
20 auto *wayland_integration = static_cast<QtWaylandClient::QWaylandIntegration *>(QGuiApplicationPrivate::platformIntegration());
21 m_server_buffer_integration = wayland_integration->serverBufferIntegration();
22 if (!m_server_buffer_integration) {
23 qCritical() << "This application requires a working serverBufferIntegration";
24 QGuiApplication::quit();
25 }
26}
27
28void TextureSharingExtension::zqt_texture_sharing_v1_provide_buffer(struct ::qt_server_buffer *buffer, const QString &key)
29{
30 QtWaylandClient::QWaylandServerBuffer *serverBuffer = m_server_buffer_integration->serverBuffer(buffer);
31 emit bufferReceived(serverBuffer, key);
32}
33
34void TextureSharingExtension::zqt_texture_sharing_v1_image_failed(const QString &key, const QString &message)
35{
36 qWarning() << "TextureSharingExtension" << key << "not found" << message;
37 emit bufferReceived(nullptr, key);
38}
39void TextureSharingExtension::requestImage(const QString &key)
40{
41 request_image(key);
42}
43
44void TextureSharingExtension::abandonImage(const QString &key)
45{
46 abandon_image(key);
47}
48
49QT_END_NAMESPACE
50
51#include "moc_texturesharingextension_p.cpp"
void abandonImage(const QString &key)
void zqt_texture_sharing_v1_image_failed(const QString &key, const QString &message) override