summaryrefslogtreecommitdiffstats
path: root/tests/manual/texture-sharing-2/custom-compositor/qml/main.qml
blob: 61237a0a666d4fe7d82d6d53e729d3016242e375 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
// Copyright (C) 2019 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause

import QtQuick
import QtQuick.Window
import QtWayland.Compositor
import QtWayland.Compositor.XdgShell
import QtWayland.Compositor.WlShell

import io.qt.tests.customsharingextension

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});
    }
    XdgShell {
        onToplevelCreated:
            shellSurfaces.append({shellSurface: xdgSurface});
    }
    ListModel { id: shellSurfaces }

    CustomSharingExtension {
        imageSearchPath: ":/images;."
    }
}