forked from your-land-mirror/minetest-flow
Fix label offset when using a fixed field size
This commit is contained in:
parent
49fd7ec541
commit
d0b1825281
10
init.lua
10
init.lua
@ -95,6 +95,9 @@ size_getters.item_image_button = size_getters.button
|
|||||||
|
|
||||||
function size_getters.field(node)
|
function size_getters.field(node)
|
||||||
local label_w, label_h = get_label_size(node.label)
|
local label_w, label_h = get_label_size(node.label)
|
||||||
|
|
||||||
|
-- This is done in apply_padding as well but the label size has already
|
||||||
|
-- been calculated here
|
||||||
if not node._padding_top and node.label and #node.label > 0 then
|
if not node._padding_top and node.label and #node.label > 0 then
|
||||||
node._padding_top = label_h
|
node._padding_top = label_h
|
||||||
end
|
end
|
||||||
@ -123,6 +126,8 @@ function size_getters.checkbox(node)
|
|||||||
return w + 0.4, h
|
return w + 0.4, h
|
||||||
end
|
end
|
||||||
|
|
||||||
|
local field_elems = {field = true, pwdfield = true, textarea = true}
|
||||||
|
|
||||||
local function apply_padding(node, x, y)
|
local function apply_padding(node, x, y)
|
||||||
local w, h = get_and_fill_in_sizes(node)
|
local w, h = get_and_fill_in_sizes(node)
|
||||||
|
|
||||||
@ -132,6 +137,11 @@ local function apply_padding(node, x, y)
|
|||||||
y = y + LABEL_OFFSET
|
y = y + LABEL_OFFSET
|
||||||
elseif node.type == "checkbox" then
|
elseif node.type == "checkbox" then
|
||||||
y = y + h / 2
|
y = y + h / 2
|
||||||
|
elseif field_elems[node.type] and not node._padding_top and node.label and
|
||||||
|
#node.label > 0 then
|
||||||
|
-- Add _padding_top to fields with labels that have a fixed size set
|
||||||
|
local _, label_h = get_label_size(node.label)
|
||||||
|
node._padding_top = label_h
|
||||||
end
|
end
|
||||||
|
|
||||||
if node._padding_top then
|
if node._padding_top then
|
||||||
|
Loading…
Reference in New Issue
Block a user