summaryrefslogtreecommitdiffstats
path: root/tests/manual/texture-sharing-2/qml-client/main.qml
diff options
context:
space:
mode:
Diffstat (limited to 'tests/manual/texture-sharing-2/qml-client/main.qml')
-rw-r--r--tests/manual/texture-sharing-2/qml-client/main.qml201
1 files changed, 201 insertions, 0 deletions
diff --git a/tests/manual/texture-sharing-2/qml-client/main.qml b/tests/manual/texture-sharing-2/qml-client/main.qml
new file mode 100644
index 000000000..819a93bcf
--- /dev/null
+++ b/tests/manual/texture-sharing-2/qml-client/main.qml
@@ -0,0 +1,201 @@
+// Copyright (C) 2019 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
+
+import QtQuick
+import QtQuick.Window
+
+import QtWayland.Client.TextureSharing
+
+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"
+ }
+ }
+
+ }
+}