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// Qt-Security score:critical reason:network-protocol
4
6#include <QtWaylandClient/private/qwaylanddisplay_p.h>
7#include <QtWaylandClient/private/qwaylandintegration_p.h>
8#include <QtWaylandClient/private/qwaylandserverbufferintegration_p.h>
9#include <QtGui/QGuiApplication>
10#include <QtGui/private/qguiapplication_p.h>
11#include <QtGui/QWindow>
12#include <QtGui/QPlatformSurfaceEvent>
13#include <QtGui/qpa/qplatformnativeinterface.h>
14#include <QDebug>
15
17
18TextureSharingExtension::TextureSharingExtension()
19 : QWaylandClientExtensionTemplate(/* Supported protocol version */ 1 )
20{
21 auto *wayland_integration = static_cast<QtWaylandClient::QWaylandIntegration *>(QGuiApplicationPrivate::platformIntegration());
22 m_server_buffer_integration = wayland_integration->serverBufferIntegration();
23 if (!m_server_buffer_integration) {
24 qCritical() << "This application requires a working serverBufferIntegration";
25 QGuiApplication::quit();
26 }
27}
28
29void TextureSharingExtension::zqt_texture_sharing_v1_provide_buffer(struct ::qt_server_buffer *buffer, const QString &key)
30{
31 QtWaylandClient::QWaylandServerBuffer *serverBuffer = m_server_buffer_integration->serverBuffer(buffer);
32 emit bufferReceived(serverBuffer, key);
33}
34
35void TextureSharingExtension::zqt_texture_sharing_v1_image_failed(const QString &key, const QString &message)
36{
37 qWarning() << "TextureSharingExtension" << key << "not found" << message;
38 emit bufferReceived(nullptr, key);
39}
40void TextureSharingExtension::requestImage(const QString &key)
41{
42 request_image(key);
43}
44
45void TextureSharingExtension::abandonImage(const QString &key)
46{
47 abandon_image(key);
48}
49
50QT_END_NAMESPACE
51
52#include "moc_texturesharingextension_p.cpp"
void abandonImage(const QString &key)
void zqt_texture_sharing_v1_image_failed(const QString &key, const QString &message) override
Combined button and popup list for selecting options.