summaryrefslogtreecommitdiffstats
path: root/examples/declarative/easing/easing.qml
blob: 23d7b29740868d4377897efd8aad59cac127f399 (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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
import Qt 4.6

Rectangle {
    id: window
    width: 640
    height: layout.height
    color: "white"

    ListModel {
        id: easingTypes
        ListElement { type: "easeLinear" }
        ListElement { type: "easeInQuad" }
        ListElement { type: "easeOutQuad" }
        ListElement { type: "easeInOutQuad" }
        ListElement { type: "easeOutInQuad" }
        ListElement { type: "easeInCubic" }
        ListElement { type: "easeOutCubic" }
        ListElement { type: "easeInOutCubic" }
        ListElement { type: "easeOutInCubic" }
        ListElement { type: "easeInQuart" }
        ListElement { type: "easeOutQuart" }
        ListElement { type: "easeInOutQuart" }
        ListElement { type: "easeOutInQuart" }
        ListElement { type: "easeInQuint" }
        ListElement { type: "easeOutQuint" }
        ListElement { type: "easeInOutQuint" }
        ListElement { type: "easeOutInQuint" }
        ListElement { type: "easeInSine" }
        ListElement { type: "easeOutSine" }
        ListElement { type: "easeInOutSine" }
        ListElement { type: "easeOutInSine" }
        ListElement { type: "easeInExpo" }
        ListElement { type: "easeOutExpo" }
        ListElement { type: "easeInOutExpo" }
        ListElement { type: "easeOutInExpo" }
        ListElement { type: "easeInCirc" }
        ListElement { type: "easeOutCirc" }
        ListElement { type: "easeInOutCirc" }
        ListElement { type: "easeOutInCirc" }
        ListElement { type: "easeInElastic" }
        ListElement { type: "easeOutElastic" }
        ListElement { type: "easeInOutElastic" }
        ListElement { type: "easeOutInElastic" }
        ListElement { type: "easeInBack" }
        ListElement { type: "easeOutBack" }
        ListElement { type: "easeInOutBack" }
        ListElement { type: "easeOutInBack" }
        ListElement { type: "easeOutBounce" }
        ListElement { type: "easeInBounce" }
        ListElement { type: "easeInOutBounce" }
        ListElement { type: "easeOutInBounce" }
    }

    Column {
        id: layout
        anchors.left: window.left
        anchors.right: window.right
        Repeater {
            model: easingTypes
            Component {
                Text {
                    text: type
                    height: 18
                    font.italic: true
                    x: SequentialAnimation {
                        id: anim
                        NumberAnimation {
                            from: 0
                            to: window.width / 2
                            easing: type
                            duration: 1000
                        }
                        PauseAnimation {
                            duration: 300
                        }
                        NumberAnimation {
                            to: 0
                            from: window.width / 2
                            easing: type
                            duration: 1000
                        }
                    }
                    children: [
                        MouseRegion {
                            onClicked: { anim.running=true }
                            anchors.fill: parent
                        }
                    ]
                }
            }
        }
    }
}