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
|
import QtQuick
import QtQuick.Shapes
Item {
width: 320
height: 800
ListModel {
id: renderers
ListElement { renderer: Shape.GeometryRenderer }
ListElement { renderer: Shape.CurveRenderer }
}
RadialGradient {
id: radialGradient
centerX: 80
centerY: 75
centerRadius: centerY
focalX: centerX
focalY: centerY
GradientStop { position: 0; color: "black" }
GradientStop { position: .5; color: "cyan" }
GradientStop { position: 1; color: "black" }
}
Row {
Repeater {
model: renderers
Column {
Shape {
preferredRendererType: renderer
width: 160
height: 150
ShapePath {
strokeColor: "transparent"
fillGradient: LinearGradient {
y1: 50; y2: 80
GradientStop { position: 0; color: "black" }
GradientStop { position: 1; color: "cyan" }
}
fillTransform: PlanarTransform.fromAffineMatrix(0.8, 0.2, 0.3, 1.5, 20, -50 + startY)
startX: 10; startY: 10
PathLine { relativeX: 140; relativeY: 0 }
PathLine { relativeX: 0; relativeY: 100 }
PathLine { relativeX: -140; relativeY: 0 }
PathLine { relativeX: 0; relativeY: -100 }
}
}
Shape {
preferredRendererType: renderer
width: 160
height: 150
ShapePath {
strokeColor: "transparent"
fillGradient: LinearGradient {
y1: 50; y2: 80
GradientStop { position: 0; color: "black" }
GradientStop { position: 1; color: "cyan" }
}
fillTransform: PlanarTransform.fromAffineMatrix(0.8, 0.2, 0.3, 1.5, 20, -50 + startY)
startX: 10; startY: 10 + 1 * 140
PathLine { relativeX: 140; relativeY: 0 }
PathLine { relativeX: 0; relativeY: 100 }
PathLine { relativeX: -140; relativeY: 0 }
PathLine { relativeX: 0; relativeY: -100 }
}
}
Shape {
preferredRendererType: renderer
width: 160
height: 150
Timer {
interval: 100
running: true
onTriggered: s.fillGradient = radialGradient
}
ShapePath {
id: s
strokeColor: "transparent"
fillGradient: LinearGradient {
y1: 50; y2: 80
GradientStop { position: 0; color: "black" }
GradientStop { position: 1; color: "cyan" }
}
fillTransform: PlanarTransform.fromAffineMatrix(0.8, 0.2, 0.3, 1.5, 20, -50 + startY)
startX: 10; startY: 10 + 2 * 140
PathLine { relativeX: 140; relativeY: 0 }
PathLine { relativeX: 0; relativeY: 100 }
PathLine { relativeX: -140; relativeY: 0 }
PathLine { relativeX: 0; relativeY: -100 }
}
}
}
}
}
}
|