Merge luaML.love

This commit is contained in:
Kartik K. Agaram 2023-06-20 22:15:51 -07:00
commit e6ec2dc588
2 changed files with 14 additions and 7 deletions

View File

@ -6,10 +6,17 @@ compute_layout = function(node, x,y, nodes_to_render, preserve_screen_top_of_cur
node.x = x
node.y = y
-- render background if necessary
local node_to_render
local pending_nodes = {}
if node.bg then
node_to_render = {type='rectangle', r=node.bg.r, g=node.bg.g, b=node.bg.b, x=node.x, y=node.y, key=node.key}
table.insert(nodes_to_render, node_to_render)
local n = {type='rectangle', drawmode='fill', r=node.bg.r, g=node.bg.g, b=node.bg.b, x=node.x, y=node.y, rx=node.rx, ry=node.ry, key=node.key}
table.insert(pending_nodes, n)
table.insert(nodes_to_render, n)
end
-- render border if necessary
if node.border then
local n = {type='rectangle', drawmode='line', r=node.border.r, g=node.border.g, b=node.border.b, x=node.x, y=node.y, rx=node.rx, ry=node.ry, key=node.key}
table.insert(pending_nodes, n)
table.insert(nodes_to_render, n)
end
-- render contents
if node.width then
@ -28,9 +35,9 @@ compute_layout = function(node, x,y, nodes_to_render, preserve_screen_top_of_cur
end
node.h = box_height(node)
table.insert(nodes_to_render, node)
if node_to_render then
node_to_render.w = node.w
node_to_render.h = node.h
for _,n in ipairs(pending_nodes) do
n.w = node.w
n.h = node.h
end
elseif node.type == 'rows' then
node.x = x

View File

@ -8,7 +8,7 @@ on.draw = function()
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))
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