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