aboutsummaryrefslogtreecommitdiffstats
path: root/examples/quick/shapes/radialGradient.qml
blob: 87db319c9a1e484cef0a73d7d96a0841a0f6aab1 (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
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
// Copyright (C) 2021 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause

import QtQuick
import QtQuick.Shapes

Rectangle {
    color: "lightGray"
    width: 256
    height: 256
    Shape {
        width: 200
        height: 150
        anchors.centerIn: parent
        ShapePath {
            strokeWidth: 4
            strokeColor: "red"
            fillGradient: RadialGradient {
                centerX: 100
                centerY: 100
                centerRadius: 100
                SequentialAnimation on focalRadius {
                    loops: Animation.Infinite
                    NumberAnimation {
                        from: 1
                        to: 20
                        duration: 2000
                    }
                    NumberAnimation {
                        from: 20
                        to: 1
                        duration: 2000
                    }
                }
                SequentialAnimation on focalX {
                    loops: Animation.Infinite
                    NumberAnimation {
                        from: 50
                        to: 150
                        duration: 3000
                    }
                    NumberAnimation {
                        from: 150
                        to: 50
                        duration: 3000
                    }
                }
                SequentialAnimation on focalY {
                    loops: Animation.Infinite
                    NumberAnimation {
                        from: 50
                        to: 150
                        duration: 1000
                    }
                    NumberAnimation {
                        from: 150
                        to: 50
                        duration: 1000
                    }
                }
                GradientStop {
                    position: 0
                    color: "#ffffff"
                }
                GradientStop {
                    position: 0.11
                    color: "#f9ffa0"
                }
                GradientStop {
                    position: 0.13
                    color: "#f9ff99"
                }
                GradientStop {
                    position: 0.14
                    color: "#f3ff86"
                }
                GradientStop {
                    position: 0.49
                    color: "#93b353"
                }
                GradientStop {
                    position: 0.87
                    color: "#264619"
                }
                GradientStop {
                    position: 0.96
                    color: "#0c1306"
                }
                GradientStop {
                    position: 1
                    color: "#000000"
                }
            }
            fillColor: "blue" // ignored with the gradient set
            strokeStyle: ShapePath.DashLine
            dashPattern: [ 1, 4 ]
            startX: 20
            startY: 20
            PathLine {
                x: 180
                y: 130
            }
            PathLine {
                x: 20
                y: 130
            }
            PathLine {
                x: 20
                y: 20
            }
        }
    }
}