render a single node
Give it a border, rounded corners, 10px padding on all sides.
This commit is contained in:
parent
30f61face5
commit
34e180836d
|
@ -1,3 +1,4 @@
|
|||
scale = function(d)
|
||||
if d == nil then return nil end
|
||||
return d*Viewport.zoom
|
||||
end
|
|
@ -1,10 +1,8 @@
|
|||
initialize_editor = function(obj)
|
||||
if obj.w then
|
||||
-- use an editor to wrap the text
|
||||
local scaled_fontsize = scale(20)
|
||||
local scaled_lineheight = math.floor(scaled_fontsize*1.3)
|
||||
obj.editor = edit.initialize_state(vy(obj.y), math.floor(vx(obj.x)), math.ceil(vx(obj.x+obj.w)), scaled_fontsize, scaled_lineheight)
|
||||
obj.editor.lines = load_array(obj.data)
|
||||
Text.redraw_all(obj.editor)
|
||||
end
|
||||
end
|
|
@ -8,7 +8,7 @@ compute_layout = function(node, x,y, nodes_to_render, preserve_screen_top_of_cur
|
|||
-- render background if necessary
|
||||
local node_to_render
|
||||
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}
|
||||
node_to_render = {type='rectangle', drawmode='line', r=0.5, g=0.5, b=0.5, x=node.x-10, y=node.y-10, corner_radius=5}
|
||||
table.insert(nodes_to_render, node_to_render)
|
||||
end
|
||||
-- render contents
|
||||
|
@ -30,8 +30,8 @@ compute_layout = function(node, x,y, nodes_to_render, preserve_screen_top_of_cur
|
|||
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
|
||||
node_to_render.w = node.w+20
|
||||
node_to_render.h = math.max(node.h, 3*node.editor.line_height)+20
|
||||
end
|
||||
elseif node.type == 'rows' then
|
||||
node.x = x
|
||||
|
|
|
@ -3,7 +3,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.corner_radius))
|
||||
elseif obj.type == 'line' then
|
||||
love.graphics.line(unpack(obj.zdata))
|
||||
elseif obj.type == 'circle' then
|
||||
|
@ -22,4 +22,4 @@ on.draw = function()
|
|||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -1 +1,3 @@
|
|||
Nodes = {}
|
||||
Nodes = {
|
||||
{type='text', x=0,y=0, margin=0, width=400, bg={r=0,g=1,b=1}},
|
||||
}
|
Loading…
Reference in New Issue