34 lines
805 B
Lua
34 lines
805 B
Lua
return function(draw)
|
|
|
|
function draw:rcorn(x, y, d, p)
|
|
p = p or 1
|
|
if p == 1 then self -- bot-right
|
|
|
|
:arc(LINE, x - d, y - d, d, 0, math.pi / 2)
|
|
:triang(FILL, x, y - d, 0, d, -d/2, d)
|
|
:triang(FILL, x - d, y, d / 1.5, -d / 4, d, 0)
|
|
|
|
elseif p == 2 then self -- bot-left
|
|
|
|
:arc(LINE, x + d, y - d, d, math.pi / 2, math.pi)
|
|
:triang(FILL, x, y - d, 0, d, d/2, d)
|
|
:triang(FILL, x, y, d / 1.5, -d / 4, d, 0)
|
|
|
|
elseif p == 3 then self -- top-right
|
|
|
|
:arc(LINE, x - d, y + d, d, math.pi * 1.5, math.pi * 2)
|
|
:triang(FILL, x, y, 0, d, -d/2, 0)
|
|
:triang(FILL, x - d, y, d / 1.5, d / 4, d, 0)
|
|
|
|
elseif p == 4 then self -- top-left
|
|
|
|
:arc(LINE, x + d, y + d, d, math.pi, math.pi * 1.5)
|
|
:triang(FILL, x, y, 0, d, d/2, 0)
|
|
:triang(FILL, x, y, d / 1.5, d / 4, d, 0)
|
|
|
|
end
|
|
return self
|
|
end
|
|
|
|
end
|