File: draggablePinchArea.qml

package info (click to toggle)
qtdeclarative-opensource-src 5.15.8%2Bdfsg-3
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 259,256 kB
  • sloc: javascript: 512,396; cpp: 495,775; xml: 8,892; python: 3,304; ansic: 2,764; sh: 206; makefile: 62; php: 27
file content (70 lines) | stat: -rw-r--r-- 1,814 bytes parent folder | download | duplicates (9)
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
import QtQuick 2.12

Rectangle {
    id: root
    width: 600
    height: 600

    Rectangle {
        objectName: "paContainer"
        width: parent.width -100
        height: parent.height - 100
        border.color: "black"
        anchors.centerIn: parent
        transformOrigin: Item.Center

        Rectangle {
            width: 300
            height: 300
            color: "tomato"
            PinchArea {
                id: pa
                anchors.fill: parent
                pinch.target: parent
                pinch.minimumScale: 0.5
                pinch.maximumScale: 2
                pinch.minimumRotation: -360
                pinch.maximumRotation: 360
                pinch.dragAxis: Pinch.XAndYAxis
                pinch.minimumX: -100
                pinch.maximumX: 300
                pinch.minimumY: -100
                pinch.maximumY: 300
            }


            Text { text: "this way up" }
        }
    }

    // only for touch feedback / troubleshooting
    Item {
        id: glassPane
        z: 10000
        anchors.fill: parent

        PointHandler {
            id: ph1
            target: Rectangle {
                parent: glassPane
                color: "green"
                visible: ph1.active
                x: ph1.point.position.x - width / 2
                y: ph1.point.position.y - height / 2
                width: 20; height: width; radius: width / 2
            }
        }

        PointHandler {
            id: ph2
            target: Rectangle {
                parent: glassPane
                color: "blue"
                visible: ph2.active
                x: ph2.point.position.x - width / 2
                y: ph2.point.position.y - height / 2
                width: 20; height: width; radius: width / 2
            }
        }
    }
}