43 lines
1.8 KiB
Plaintext
43 lines
1.8 KiB
Plaintext
on.draw = function()
|
|
if Animating then
|
|
local q = love.graphics.newQuad((Viewport.x-Global_viewport.x)*Viewport.zoom,(Viewport.y-Global_viewport.y)*Viewport.zoom, App.screen.width, App.screen.height, Global_viewport.w*Viewport.zoom, Global_viewport.h*Viewport.zoom)
|
|
App.color{r=1,g=1,b=1}
|
|
love.graphics.draw(Canvas, q, 0,0)
|
|
return
|
|
end
|
|
-- some hacky stuff outside of LuaML
|
|
if Move then
|
|
draw_move_node_shadow()
|
|
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', vx(obj.x),vy(obj.y), scale(obj.w),scale(obj.h), scale(obj.rx or 0),scale(obj.ry or obj.rx or 0))
|
|
elseif obj.type == 'line' then
|
|
love.graphics.line(unpack(obj.zdata))
|
|
elseif obj.type == 'circle' then
|
|
love.graphics.circle(obj.drawmode or 'fill', vx(obj.x), vy(obj.y), scale(obj.radius))
|
|
elseif obj.type == 'arc' then
|
|
love.graphics.arc(obj.drawmode or 'line', obj.arctype or 'open', vx(obj.x), vy(obj.y), scale(obj.radius), obj.angle1, obj.angle2, obj.segments)
|
|
elseif obj.type == 'ellipse' then
|
|
love.graphics.ellipse(obj.drawmode or 'fill', vx(obj.x), vy(obj.y), scale(obj.radiusx), scale(obj.radiusy))
|
|
elseif obj.type == 'bezier' then
|
|
love.graphics.line(unpack(obj.zdata))
|
|
elseif obj.type == 'text' then
|
|
if obj.w == nil then
|
|
love.graphics.draw(obj.text, vx(obj.x), vy(obj.y))
|
|
else
|
|
-- hack: toss in a move affordance for every bit of text
|
|
love.graphics.setColor(0.5,0.5,0.5)
|
|
love.graphics.rectangle('fill', vx(obj.x),vy(obj.y-30), scale(obj.w/2-5), scale(20))
|
|
edit.draw(obj.editor, obj.fg, not obj.show_cursor)
|
|
draw_load_time_error(obj)
|
|
end
|
|
end
|
|
end
|
|
draw_run_time_error()
|
|
draw_test_failure_indicator()
|
|
draw_ticks()
|
|
if Show_debug then draw_debug() end
|
|
draw_menu_bar()
|
|
end |