-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathDU Layouts - Shapes.lua
172 lines (121 loc) · 6.03 KB
/
DU Layouts - Shapes.lua
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
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
-- Initialize --
local rx, ry = getResolution()
local vw = rx/100
local vh = ry/100
local layer = createLayer()
local font = loadFont(getAvailableFontName(1), 5.9*vh)
--- Render Order ---
OrderCX = 75*vw
OrderCY = 25*vh + 75*vh/2
Margin = 25*vh
setNextFillColor(layer, 0, 1, 1, 1)
addQuad(layer, OrderCX - 0.2*Margin, OrderCY - 0.3*Margin, OrderCX - 0.4*Margin, OrderCY + 0.2*Margin, OrderCX + 0.4*Margin, OrderCY + 0.3*Margin, OrderCX + 0.4*Margin, OrderCY - 0.4*Margin)
setNextFillColor(layer, 1, 0, 1, 1)
addTriangle(layer, OrderCX - 0.6*Margin, OrderCY + 0.6*Margin, OrderCX + 0.6*Margin, OrderCY + 0.6*Margin, OrderCX, OrderCY - 0.6*Margin)
addLine(layer, OrderCX, OrderCY - Margin, OrderCX, OrderCY + Margin)
setNextFillColor(layer, 0, 0, 1, 1)
addCircle(layer, OrderCX, OrderCY, 0.8*Margin)
setNextFillColor(layer, 0, 1, 0, 1)
addBoxRounded(layer, OrderCX - 0.8*Margin, OrderCY - 0.8*Margin, 2*0.8*Margin, 2*0.8*Margin, 2*vh)
setNextFillColor(layer, 1, 0, 0, 1)
addBox(layer, OrderCX - Margin, OrderCY - Margin, 2*Margin, 2*Margin)
addBezier(layer, OrderCX - Margin - 5*vh, OrderCY, OrderCX, OrderCY, OrderCX, OrderCY - Margin)
--- Stroke Ingress Margin ---
IngressMargin = 1
setNextFillColor(layer, 1, 0, 0, 1)
addQuad(layer, 5*vw + IngressMargin, 15*vh, 5*vw + IngressMargin, 25*vh - IngressMargin, 10*vw - IngressMargin, 25*vh - IngressMargin, 10*vw - IngressMargin, 15*vh)
setNextFillColor(layer, 0, 1, 1, 1)
addQuad(layer, 5*vw + IngressMargin, 5*vh + IngressMargin, 5*vw + IngressMargin, 15*vh + IngressMargin, 10*vw - IngressMargin, 15*vh + IngressMargin, 10*vw - IngressMargin, 5*vh + IngressMargin)
--- Stroke Ingress Margin ---
IngressMargin = 1
setNextFillColor(layer, 1, 1, 1, 1)
addQuad(layer, 15*vw + IngressMargin, 15*vh + IngressMargin, 15*vw + IngressMargin, 25*vh - IngressMargin, 20*vw - IngressMargin, 25*vh - IngressMargin, 20*vw - IngressMargin, 15*vh + IngressMargin)
setNextFillColor(layer, 1, 1, 1, 1)
addQuad(layer, 15*vw + IngressMargin, 5*vh + IngressMargin, 15*vw + IngressMargin, 15*vh - IngressMargin, 20*vw - IngressMargin, 15*vh - IngressMargin, 20*vw - IngressMargin, 5*vh + IngressMargin)
--- Stroke Ingress Margin ---
IngressMargin = 1
setNextStrokeWidth(layer,0*vh)
setNextStrokeColor(layer,0, 0, 1, 1)
setNextFillColor(layer, 1, 1, 1, 1)
addQuad(layer, 25*vw, 15*vh, 25*vw, 25*vh, 35*vw, 25*vh, 35*vw, 15*vh)
setNextFillColor(layer, 1, 1, 1, 1)
addQuad(layer, 25*vw + IngressMargin, 5*vh, 25*vw + IngressMargin, 15*vh + IngressMargin, 35*vw - IngressMargin, 15*vh + IngressMargin, 35*vw - IngressMargin, 5*vh)
--- Stroke Ingress Margin ---
IngressMargin = 1
setNextStrokeWidth(layer,1*vh)
setNextStrokeColor(layer,0, 0, 1, 1)
setNextFillColor(layer, 1, 1, 1, 1)
addQuad(layer, 40*vw, 15*vh, 40*vw, 25*vh, 50*vw, 25*vh, 50*vw, 15*vh)
setNextFillColor(layer, 1, 1, 1, 1)
addQuad(layer, 40*vw + IngressMargin, 5*vh, 40*vw + IngressMargin, 15*vh + IngressMargin, 50*vw - IngressMargin, 15*vh + IngressMargin, 50*vw - IngressMargin, 5*vh)
--- Stroke Margin ---
setNextStrokeWidth(layer,1*vh)
setNextStrokeColor(layer,0, 0, 1, 1)
setNextFillColor(layer, 1, 1, 1, 1)
addQuad(layer, 55*vw, 15*vh, 55*vw, 25*vh, 65*vw, 25*vh, 65*vw, 15*vh)
setNextFillColor(layer, 1, 1, 1, 1)
addQuad(layer, 55*vw, 5*vh, 55*vw, 15*vh, 65*vw, 15*vh, 65*vw, 5*vh)
--- Margin Overlap ---
setNextStrokeWidth(layer,1*vh)
setNextStrokeColor(layer,0, 0, 1, 0.5)
setNextFillColor(layer, 1, 1, 1, 1)
addQuad(layer, 70*vw, 15*vh, 70*vw, 25*vh, 80*vw, 25*vh, 80*vw, 15*vh)
setNextStrokeWidth(layer,1*vh)
setNextStrokeColor(layer,1, 0, 0, 0.5)
setNextFillColor(layer, 1, 1, 1, 1)
addQuad(layer, 70.5*vw, 5*vh, 70.5*vw, 15*vh, 79.5*vw, 15*vh, 79.5*vw, 5*vh)
--- Boundary Overlap ---
setNextStrokeWidth(layer,1*vh)
setNextStrokeColor(layer,0, 0, 1, 0.5)
setNextFillColor(layer, 1, 1, 1, 1)
addQuad(layer, 85*vw, 15*vh, 85*vw, 25*vh, 95*vw, 25*vh, 95*vw, 15*vh)
setNextStrokeWidth(layer,1*vh)
setNextStrokeColor(layer,1, 0, 0, 0.5)
setNextFillColor(layer, 1, 1, 1, 1)
addQuad(layer, 85*vw, 5*vh, 85*vw, 15*vh, 95*vw, 15*vh, 95*vw, 5*vh)
--- Rotations ---
local Pie = createLayer()
x1 = 0.5
x2 = 0.6
y1 = 25
y2 = 30
Data = 100
for ii = 0,360*Data/100,3 do
theta = 180 + ii
setNextFillColor(Pie,1,1,1,1)
addQuad(Pie,
50*vw - (-x2*vw*math.cos(math.rad(theta))+y2*vh*math.sin(math.rad(theta))),
50*vh - (-x2*vw*math.sin(math.rad(theta))-y2*vh*math.cos(math.rad(theta))),
50*vw - (x2*vw*math.cos(math.rad(theta))+y2*vh*math.sin(math.rad(theta))),
50*vh - (x2*vw*math.sin(math.rad(theta))-y2*vh*math.cos(math.rad(theta))),
50*vw - (x1*vw*math.cos(math.rad(theta))+y1*vh*math.sin(math.rad(theta))),
50*vh - (x1*vw*math.sin(math.rad(theta))-y1*vh*math.cos(math.rad(theta))),
50*vw - (-x1*vw*math.cos(math.rad(theta))+y1*vh*math.sin(math.rad(theta))),
50*vh - (-x1*vw*math.sin(math.rad(theta))-y1*vh*math.cos(math.rad(theta)))
)
end
for ii = math.floor(360*Data/(7.2*100))*7.2,359,7.2 do
theta = 180 + ii
setNextFillColor(Pie,0.2,0.7,1,0.1)
addQuad(Pie,
50*vw - (-x2*vw*math.cos(math.rad(theta))+y2*vh*math.sin(math.rad(theta))),
50*vh - (-x2*vw*math.sin(math.rad(theta))-y2*vh*math.cos(math.rad(theta))),
50*vw - (x2*vw*math.cos(math.rad(theta))+y2*vh*math.sin(math.rad(theta))),
50*vh - (x2*vw*math.sin(math.rad(theta))-y2*vh*math.cos(math.rad(theta))),
50*vw - (x1*vw*math.cos(math.rad(theta))+y1*vh*math.sin(math.rad(theta))),
50*vh - (x1*vw*math.sin(math.rad(theta))-y1*vh*math.cos(math.rad(theta))),
50*vw - (-x1*vw*math.cos(math.rad(theta))+y1*vh*math.sin(math.rad(theta))),
50*vh - (-x1*vw*math.sin(math.rad(theta))-y1*vh*math.cos(math.rad(theta)))
)
end
setNextFillColor(Pie,0,0,0,0)
setNextStrokeColor(Pie,0.2,0.7,1,1)
setNextStrokeWidth(Pie,0.5*vh)
addCircle(Pie,50*vw,50*vh,23*vh)
setNextFillColor(Pie,0,0,0,0)
setNextStrokeColor(Pie,0.2,0.7,1,1)
setNextStrokeWidth(Pie,0.5*vh)
addCircle(Pie,50*vw,50*vh,31.5*vh)
setLayerOrigin(Pie,0.5*rx,0.5*ry)
setLayerScale(Pie,0.75,0.75)
setLayerTranslation(Pie,-0.25*rx, 0.125*ry)