pothi.love/0026-on.draw

36 lines
1.4 KiB
Plaintext
Raw Normal View History

on.draw = function()
-- vx = x, vy = y
love.graphics.translate(-Viewport.x, -Viewport.y)
-- vx = x-Viewport.x, vy = y-Viewport.y
love.graphics.scale(Viewport.zoom)
-- vx = (x-Viewport.x)*Viewport.zoom, vy = (y-Viewport.y)*Viewport.zoom
love.graphics.setColor(0,0,0)
love.graphics.line(0, 0, 0, 1000000)
love.graphics.line(0, 0, 1000000, 0)
for i=1,100 do
love.graphics.print(tostring(i), 0, i*1000)
end
for _,obj in ipairs(Surface) do
love.graphics.setColor(obj.r or 0, obj.g or 0, obj.b or 0)
if obj.type == 'rectangle' then
love.graphics.rectangle(obj.drawmode or 'fill', obj.x,obj.y, obj.w,obj.h, obj.rx or 0,obj.ry or obj.rx or 0)
elseif obj.type == 'line' then
love.graphics.line(unpack(obj.data))
elseif obj.type == 'circle' then
love.graphics.circle(obj.drawmode or 'fill', obj.x, obj.y, obj.radius)
elseif obj.type == 'arc' then
love.graphics.arc(obj.drawmode or 'line', obj.arctype or 'open', obj.x, obj.y, obj.radius, obj.angle1, obj.angle2, obj.segments)
elseif obj.type == 'ellipse' then
love.graphics.ellipse(obj.drawmode or 'fill', obj.x, obj.y, obj.radiusx, obj.radiusy)
elseif obj.type == 'bezier' then
love.graphics.line(unpack(obj.data))
2023-04-16 19:30:56 +01:00
elseif obj.type == 'text' then
if obj.w == nil then
love.graphics.draw(obj.text, obj.x, obj.y)
2023-04-16 19:30:56 +01:00
else
edit.draw(obj.editor, obj.fg or {r=0,g=0,b=0}, not obj.show_cursor)
end
end
end
2023-06-21 05:53:27 +01:00
end