diff options
Diffstat (limited to 'examples/wayland/texture-sharing')
16 files changed, 0 insertions, 752 deletions
diff --git a/examples/wayland/texture-sharing/.gitignore b/examples/wayland/texture-sharing/.gitignore deleted file mode 100644 index c684448d3..000000000 --- a/examples/wayland/texture-sharing/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -custom-compositor/custom-compositor -qml-client/qml-client diff --git a/examples/wayland/texture-sharing/README b/examples/wayland/texture-sharing/README deleted file mode 100644 index 27ea76745..000000000 --- a/examples/wayland/texture-sharing/README +++ /dev/null @@ -1,27 +0,0 @@ -This example shows how to use the texture sharing extension, allowing -multiple clients to share the same copy of an image in graphics memory. - -The texture sharing extension uses the server buffer extension to transport -graphics buffers. There are different server buffer plugins for different -graphics hardware. This is specified by setting an environment variable for -the compositor process. - --On a device with Mesa and Intel integrated graphics, set: - - QT_WAYLAND_SERVER_BUFFER_INTEGRATION=dmabuf-server - --On a device with NVIDIA graphics, set: - - QT_WAYLAND_SERVER_BUFFER_INTEGRATION=vulkan-server - -'custom-compositor' shows how to write a server that creates shared textures -programmatically. - -The file 'minimal-compositor.qml' shows how to add texture sharing to an -existing compositor, using only QML. It is based on the minimal-qml example, -and can be executed with qmlscene. - -'qml-client' shows how to use shared textures in a Qt Quick client. -The compositor uses the hardware integration extension to broadcast -the name of the server buffer integration to all clients, so qml-client -can be started like any normal wayland client. diff --git a/examples/wayland/texture-sharing/custom-compositor/compositor.qrc b/examples/wayland/texture-sharing/custom-compositor/compositor.qrc deleted file mode 100644 index 86a8567f7..000000000 --- a/examples/wayland/texture-sharing/custom-compositor/compositor.qrc +++ /dev/null @@ -1,9 +0,0 @@ -<RCC> - <qresource prefix="/"> - <file>images/background.png</file> - <file>images/qt_logo.png</file> - <file>images/qt4.astc</file> - <file>images/car.ktx</file> - <file>qml/main.qml</file> - </qresource> -</RCC> diff --git a/examples/wayland/texture-sharing/custom-compositor/custom-compositor.pro b/examples/wayland/texture-sharing/custom-compositor/custom-compositor.pro deleted file mode 100644 index e80e9e153..000000000 --- a/examples/wayland/texture-sharing/custom-compositor/custom-compositor.pro +++ /dev/null @@ -1,18 +0,0 @@ -QT += core gui qml - -QT += waylandcompositor-private - -SOURCES += \ - main.cpp - -OTHER_FILES = \ - qml/main.qml \ - qml/Screen.qml \ - images/background.jpg - -RESOURCES += compositor.qrc - -TARGET = custom-compositor - -target.path = $$[QT_INSTALL_EXAMPLES]/wayland/texture-sharing/custom-compositor -INSTALLS += target diff --git a/examples/wayland/texture-sharing/custom-compositor/images/background.png b/examples/wayland/texture-sharing/custom-compositor/images/background.png Binary files differdeleted file mode 100644 index 845830c59..000000000 --- a/examples/wayland/texture-sharing/custom-compositor/images/background.png +++ /dev/null diff --git a/examples/wayland/texture-sharing/custom-compositor/images/car.ktx b/examples/wayland/texture-sharing/custom-compositor/images/car.ktx Binary files differdeleted file mode 100644 index 2aefdd306..000000000 --- a/examples/wayland/texture-sharing/custom-compositor/images/car.ktx +++ /dev/null diff --git a/examples/wayland/texture-sharing/custom-compositor/images/qt4.astc b/examples/wayland/texture-sharing/custom-compositor/images/qt4.astc Binary files differdeleted file mode 100644 index 7f7a3f473..000000000 --- a/examples/wayland/texture-sharing/custom-compositor/images/qt4.astc +++ /dev/null diff --git a/examples/wayland/texture-sharing/custom-compositor/images/qt_logo.png b/examples/wayland/texture-sharing/custom-compositor/images/qt_logo.png Binary files differdeleted file mode 100644 index 5e2b355ea..000000000 --- a/examples/wayland/texture-sharing/custom-compositor/images/qt_logo.png +++ /dev/null diff --git a/examples/wayland/texture-sharing/custom-compositor/main.cpp b/examples/wayland/texture-sharing/custom-compositor/main.cpp deleted file mode 100644 index a39c8c381..000000000 --- a/examples/wayland/texture-sharing/custom-compositor/main.cpp +++ /dev/null @@ -1,143 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2019 The Qt Company Ltd. -** Contact: http://www.qt-project.org/legal -** -** This file is part of the examples of the Qt Wayland module -** -** $QT_BEGIN_LICENSE:BSD$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** BSD License Usage -** Alternatively, you may use this file under the terms of the BSD license -** as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of The Qt Company Ltd nor the names of its -** contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include <QtCore/QUrl> -#include <QtCore/QDebug> -#include <QtGui/QGuiApplication> -#include <QtQml/QQmlApplicationEngine> - -#include <QtQml/qqml.h> -#include <QtQml/QQmlEngine> - -#include <QtGui/QPainter> -#include <QtGui/QImage> - -#include <QtCore/QDateTime> - -#include "QtWaylandCompositor/private/qwltexturesharingextension_p.h" - -class CustomSharingExtension : public QWaylandTextureSharingExtension -{ - Q_OBJECT -public: - CustomSharingExtension() {qDebug("Instantiating custom texture sharing extension.");} -protected: - bool customPixelData(const QString &key, QByteArray *data, QSize *size, uint *glInternalFormat) override - { - qDebug() << "CustomSharingExtension looking for local texture data for" << key; - if (key.startsWith("unreasonably large ")) { - int w = 10000; - int h = 10000; - int numBytes = w * h * 4; - *data = QByteArray(numBytes, 0); - quint32 *pixels = reinterpret_cast<quint32*>(data->data()); - for (int i = 0; i < w*h; ++i) - pixels[i] = 0xff7f1fff; - *glInternalFormat = GL_RGBA8; - *size = QSize(w,h); - return true; - } - - QImage img; - - if (key == QLatin1String("test pattern 1")) { - img = QImage(128,128,QImage::Format_ARGB32_Premultiplied); - img.fill(QColor(0x55,0x0,0x55,0x01)); - { - QPainter p(&img); - QPen pen = p.pen(); - pen.setWidthF(3); - pen.setColor(Qt::red); - p.setPen(pen); - p.drawLine(0,0,128,128); - pen.setColor(Qt::green); - p.setPen(pen); - p.drawLine(128,0,0,128); - pen.setColor(Qt::blue); - p.setPen(pen); - p.drawLine(32,16,96,16); - pen.setColor(Qt::black); - p.setPen(pen); - p.translate(64, 64); - p.rotate(45); - p.drawText(QRect(-48, -32, 96, 64), - QDateTime::currentDateTime().toString(), - QTextOption(Qt::AlignHCenter)); - } - } - - if (!img.isNull()) { - img = img.convertToFormat(QImage::Format_RGBA8888); - *data = QByteArray(reinterpret_cast<const char*>(img.constBits()), img.sizeInBytes()); - *size = img.size(); - *glInternalFormat = GL_RGBA8; - return true; - } - return false; - } -}; - -Q_COMPOSITOR_DECLARE_QUICK_EXTENSION_CLASS(CustomSharingExtension); - -int main(int argc, char *argv[]) -{ - QCoreApplication::setAttribute(Qt::AA_ShareOpenGLContexts, true); - QGuiApplication app(argc, argv); - QQmlApplicationEngine appEngine; - - qmlRegisterType<CustomSharingExtensionQuickExtension>("com.theqtcompany.customsharingextension", 1, 0, "CustomSharingExtension"); - appEngine.addImageProvider("wlshared", new QWaylandSharedTextureProvider); - - appEngine.load(QUrl("qrc:///qml/main.qml")); - - return app.exec(); -} - -#include "main.moc" diff --git a/examples/wayland/texture-sharing/custom-compositor/qml/main.qml b/examples/wayland/texture-sharing/custom-compositor/qml/main.qml deleted file mode 100644 index 6a0b90c88..000000000 --- a/examples/wayland/texture-sharing/custom-compositor/qml/main.qml +++ /dev/null @@ -1,121 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2019 The Qt Company Ltd. -** Contact: http://www.qt-project.org/legal -** -** This file is part of the examples of the Qt Wayland module -** -** $QT_BEGIN_LICENSE:BSD$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** BSD License Usage -** Alternatively, you may use this file under the terms of the BSD license -** as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of The Qt Company Ltd nor the names of its -** contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -import QtQuick 2.6 -import QtQuick.Window 2.2 -import QtWayland.Compositor 1.3 - -import com.theqtcompany.customsharingextension 1.0 - -WaylandCompositor { - WaylandOutput { - sizeFollowsWindow: true - window: Window { - width: 1024 - height: 768 - visible: true - Image { - id: background - anchors.fill: parent - fillMode: Image.Tile - source: "qrc:/images/background.png" - smooth: true - - Rectangle { - width: 100 - height: 100 - color: "red" - anchors.bottom: parent.bottom; - anchors.right: parent.right; - MouseArea { - anchors.fill: parent - onClicked: sharedTextureImage.source = "image://wlshared/car.ktx" - } - } - Image { - id: sharedTextureImage - anchors.bottom: parent.bottom; - anchors.right: parent.right; - source: "" - } - Image { - id: topRightImage - anchors.top: parent.top; - anchors.right: parent.right; - source: "image://wlshared/qt_logo.png" - } - } - Repeater { - model: shellSurfaces - ShellSurfaceItem { - shellSurface: modelData - onSurfaceDestroyed: shellSurfaces.remove(index) - } - } - } - } - WlShell { - onWlShellSurfaceCreated: - shellSurfaces.append({shellSurface: shellSurface}); - } - XdgShellV6 { - onToplevelCreated: - shellSurfaces.append({shellSurface: xdgSurface}); - } - XdgShell { - onToplevelCreated: - shellSurfaces.append({shellSurface: xdgSurface}); - } - ListModel { id: shellSurfaces } - - CustomSharingExtension { - imageSearchPath: ":/images;." - } -} diff --git a/examples/wayland/texture-sharing/minimal-compositor.qml b/examples/wayland/texture-sharing/minimal-compositor.qml deleted file mode 100644 index 3f714dc58..000000000 --- a/examples/wayland/texture-sharing/minimal-compositor.qml +++ /dev/null @@ -1,93 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2019 The Qt Company Ltd. -** Contact: http://www.qt-project.org/legal -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** BSD License Usage -** Alternatively, you may use this file under the terms of the BSD license -** as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of The Qt Company Ltd nor the names of its -** contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -import QtQuick 2.6 -import QtQuick.Window 2.2 -import QtWayland.Compositor 1.3 - -// importing the texture sharing extension: -import QtWayland.Compositor.TextureSharingExtension 1.0 - -WaylandCompositor { - WaylandOutput { - sizeFollowsWindow: true - window: Window { - width: 1024 - height: 768 - visible: true - Repeater { - model: shellSurfaces - ShellSurfaceItem { - autoCreatePopupItems: true - shellSurface: modelData - onSurfaceDestroyed: shellSurfaces.remove(index) - } - } - } - } - WlShell { - onWlShellSurfaceCreated: - shellSurfaces.append({shellSurface: shellSurface}); - } - XdgShellV6 { - onToplevelCreated: - shellSurfaces.append({shellSurface: xdgSurface}); - } - XdgShell { - onToplevelCreated: - shellSurfaces.append({shellSurface: xdgSurface}); - } - ListModel { id: shellSurfaces } - - // instantiating the texture sharing extension: - TextureSharingExtension { - imageSearchPath: ".;/tmp;/usr/share/pixmaps" - } -} diff --git a/examples/wayland/texture-sharing/qml-client/main.cpp b/examples/wayland/texture-sharing/qml-client/main.cpp deleted file mode 100644 index 618d6701d..000000000 --- a/examples/wayland/texture-sharing/qml-client/main.cpp +++ /dev/null @@ -1,68 +0,0 @@ -/**************************************************************************** - ** - ** Copyright (C) 2019 The Qt Company Ltd. - ** Contact: https://www.qt.io/licensing/ - ** - ** This file is part of the examples of the Qt Wayland module - ** - ** $QT_BEGIN_LICENSE:BSD$ - ** Commercial License Usage - ** Licensees holding valid commercial Qt licenses may use this file in - ** accordance with the commercial license agreement provided with the - ** Software or, alternatively, in accordance with the terms contained in - ** a written agreement between you and The Qt Company. For licensing terms - ** and conditions see https://www.qt.io/terms-conditions. For further - ** information use the contact form at https://www.qt.io/contact-us. - ** - ** BSD License Usage - ** Alternatively, you may use this file under the terms of the BSD license - ** as follows: - ** - ** "Redistribution and use in source and binary forms, with or without - ** modification, are permitted provided that the following conditions are - ** met: - ** * Redistributions of source code must retain the above copyright - ** notice, this list of conditions and the following disclaimer. - ** * Redistributions in binary form must reproduce the above copyright - ** notice, this list of conditions and the following disclaimer in - ** the documentation and/or other materials provided with the - ** distribution. - ** * Neither the name of The Qt Company Ltd nor the names of its - ** contributors may be used to endorse or promote products derived - ** from this software without specific prior written permission. - ** - ** - ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." - ** - ** $QT_END_LICENSE$ - ** - ****************************************************************************/ - -#include <QGuiApplication> -#include <QtQuick/QQuickView> -#include <QStandardPaths> -#include <QFileInfo> -#include <QQmlApplicationEngine> -#include <QDebug> -#include <QDir> -#include <QTimer> - -int main(int argc, char **argv) -{ - QGuiApplication app(argc, argv); - QQmlApplicationEngine appEngine; - - appEngine.load(QUrl("qrc:///main.qml")); - - return app.exec(); -} diff --git a/examples/wayland/texture-sharing/qml-client/main.qml b/examples/wayland/texture-sharing/qml-client/main.qml deleted file mode 100644 index 371a97594..000000000 --- a/examples/wayland/texture-sharing/qml-client/main.qml +++ /dev/null @@ -1,248 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2019 The Qt Company Ltd. -** Contact: http://www.qt-project.org/legal -** -** This file is part of the examples of the Qt Wayland module -** -** $QT_BEGIN_LICENSE:BSD$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** BSD License Usage -** Alternatively, you may use this file under the terms of the BSD license -** as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of The Qt Company Ltd nor the names of its -** contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -import QtQuick 2.9 -import QtQuick.Window 2.2 - -import QtWayland.Client.TextureSharing 1.0 - -Window { - width: 800 - height: 500 - visible: true - - Rectangle { - anchors.fill: parent - color: "#C0FEFE" - - Flickable { - anchors.fill: parent - contentHeight: imageGrid.height - - Grid { - id: imageGrid - columns: 2 - width: parent.width - spacing: 25 - padding: 25 - - - // loadedImage - Text { - width: 400 - wrapMode: Text.Wrap - text: "An Image element using the shared buffer provider to load from a PNG image.<br>" + - "Source: '" + loadedImage.source + "'" + - (loadedImage.sourceSize.height <= 0 ? "<font color=\"#FF0000\"><br>[Image not loaded]</font>" : "") - } - Image { - id: loadedImage - fillMode: Image.PreserveAspectFit - source: "image://wlshared/qt_logo.png" - } - Rectangle { - visible: loadedImage.height <= 0 - width:100; height: 100 - color: "green" - } - - // paintedImage - Text { - width: 400 - wrapMode: Text.Wrap - text: "An Image element using the shared buffer provider.<br>" + - "This texture is created by the compositor using QPainter. <br>" + - "Source: '" + paintedImage.source + "'" + - (paintedImage.sourceSize.height <= 0 ? "<font color=\"#FF0000\"><br>[Image not loaded]</font>" : "") - } - Image { - id: paintedImage - fillMode: Image.PreserveAspectFit - source: "image://wlshared/test pattern 1" - } - Rectangle { - visible: paintedImage.height <= 0 - width:100; height: 100 - color: "green" - } - - // ktxImage - Text { - width: 400 - wrapMode: Text.Wrap - text: "An Image element using the shared buffer provider to load an ETC2 compressed texture." + - "<br>Source: '" + ktxImage.source + "'" + - (ktxImage.sourceSize.height <= 0 ? "<font color=\"#FF0000\"><br>[Image not loaded]</font>" : "") - } - Image { - id: ktxImage - source: "image://wlshared/car.ktx" - fillMode: Image.PreserveAspectFit - } - Rectangle { - visible: ktxImage.height <= 0 - width:100; height: 100 - color: "green" - } - - //astcImage - Text { - width: 400 - wrapMode: Text.Wrap - text: "An Image element using the shared buffer provider to load an ASTC compressed texture." + - "<br>Source: '" + astcImage.source + "'" + - (astcImage.sourceSize.height <= 0 ? "<font color=\"#FF0000\"><br>[Image not loaded]</font>" : "") - } - - Image { - id: astcImage - source: "image://wlshared/qt4.astc" - fillMode: Image.PreserveAspectFit - } - Rectangle { - visible: astcImage.height <= 0 - width:100; height: 100 - color: "green" - } - - // dynamicImage - Column { - Text { - width: 400 - wrapMode: Text.Wrap - text: "An Image element using the shared buffer provider." + - "<br>Source: '" + dynamicImage.source + "'" + - (dynamicImage.sourceSize.height <= 0 ? "<font color=\"#FF0000\"><br>[Image not loaded]</font>" : "") - } - Row { - spacing: 10 - Text { - text: "Enter filename:" - } - Rectangle { - color: "white" - width: sourceEdit.contentWidth + 30 - height: sourceEdit.contentHeight - TextInput { - id: sourceEdit - anchors.fill: parent - horizontalAlignment: TextInput.AlignHCenter - onEditingFinished: dynamicImage.source = text ? "image://wlshared/" + text : "" - } - } - } - } - Image { - id: dynamicImage - fillMode: Image.PreserveAspectFit - } - Rectangle { - visible: dynamicImage.height <= 0 - width:100; height: 100 - color: "green" - } - - // largeImage - Text { - width: 400 - wrapMode: Text.Wrap - text: "An Image element using the shared buffer provider.<br>" + - "Left click to load a very large image. " + - "Right click to unload the image, potentially freeing graphics memory on the server-side " + - "if no other client is using the image." + - "<br>Source: '" + largeImage.source + "'" + - "<br>Size: " + largeImage.sourceSize + - (largeImage.sourceSize.height <= 0 ? "<font color=\"#FF0000\"><br>[Image not loaded]</font>" : "") - } - - Rectangle { - width: 200 - height: 200 - border.color: "black" - border.width: 2 - color: "transparent" - Image { - id: largeImage - anchors.fill: parent - fillMode: Image.PreserveAspectFit - } - MouseArea { - anchors.fill: parent - acceptedButtons: Qt.LeftButton | Qt.RightButton - onClicked: { - if (mouse.button == Qt.LeftButton) - largeImage.source = "image://wlshared/unreasonably large image" - else - largeImage.source = "" - - } - } - } - - } // Grid - } - - Rectangle { - color: "gray" - width: parent.width - height: 20 - anchors.bottom: parent.bottom - - Text { - color: "white" - anchors.fill: parent - horizontalAlignment: Text.AlignHCenter - verticalAlignment: Text.AlignVCenter - text: "Scroll or drag for more" - } - } - - } -} diff --git a/examples/wayland/texture-sharing/qml-client/qml-client.pro b/examples/wayland/texture-sharing/qml-client/qml-client.pro deleted file mode 100644 index 67d5c7071..000000000 --- a/examples/wayland/texture-sharing/qml-client/qml-client.pro +++ /dev/null @@ -1,13 +0,0 @@ -QT += quick - -SOURCES += \ - main.cpp - -RESOURCES += \ - qml-client.qrc - -DISTFILES += \ - main.qml - -target.path = $$[QT_INSTALL_EXAMPLES]/wayland/texture-sharing/qml-client -INSTALLS += target diff --git a/examples/wayland/texture-sharing/qml-client/qml-client.qrc b/examples/wayland/texture-sharing/qml-client/qml-client.qrc deleted file mode 100644 index 5f6483ac3..000000000 --- a/examples/wayland/texture-sharing/qml-client/qml-client.qrc +++ /dev/null @@ -1,5 +0,0 @@ -<RCC> - <qresource prefix="/"> - <file>main.qml</file> - </qresource> -</RCC> diff --git a/examples/wayland/texture-sharing/texture-sharing.pro b/examples/wayland/texture-sharing/texture-sharing.pro deleted file mode 100644 index 3f7792828..000000000 --- a/examples/wayland/texture-sharing/texture-sharing.pro +++ /dev/null @@ -1,5 +0,0 @@ -TEMPLATE=subdirs - -SUBDIRS += \ - qml-client \ - custom-compositor |