summaryrefslogtreecommitdiff
path: root/examples/wayland/custom-extension/qml-client/main.qml
blob: 3b051578177dc75879bad8755cb388237aff510e (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
// Copyright (C) 2017 Erik Larsson.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause

import QtQuick
import QtQuick.Window
import io.qt.examples.customextension

Window {
    id: topLevelWindow
    visible: true
    Rectangle {
        anchors.fill: parent
        color: "#f1eece"
    }
    property alias textItem: bounceText
    Text {
        id: bounceText
        text: "press here to bounce"
    }

    MouseArea {
        anchors.fill: parent
        onClicked: {
            if (customExtension.active)
                customExtension.sendBounce(topLevelWindow, 1000)
        }
    }

    MouseArea {
        anchors.centerIn: parent
        width: 100; height: 100
        onClicked: {
            if (customExtension.active)
                customExtension.sendSpin(topLevelWindow, 500)
        }

        Rectangle {
            anchors.fill: parent
            color: "#fab1ed"
            Text {
                text: "spin"
            }
        }
    }

    CustomExtension {
        id: customExtension
        onActiveChanged: {
            console.log("Custom extension is active:", active)
            registerWindow(topLevelWindow)
        }
        onFontSize: {
            // signal arguments: window and pixelSize
            // we are free to interpret the protocol as we want, so
            // let's change the font size of just one of the text items
            window.textItem.font.pixelSize = pixelSize
        }
    }
}