Merge pull request #32 from TotoEnF5/layout

fix uninitialized variables in container layout
This commit is contained in:
Elmārs 2025-04-01 16:24:27 +03:00 committed by GitHub
commit c40b3eb953
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -1,8 +1,8 @@
local path = string.sub(..., 1, string.len(...) - string.len(".container")) local path = string.sub(..., 1, string.len(...) - string.len(".container"))
local layout = require(path..'.layout') local layout = require(path .. '.layout')
---@class Container ---@class Container
local container = {} local container = {}
container.__index = container container.__index = container
---Positions an element within a container ---Positions an element within a container
@ -23,11 +23,11 @@ local function alignLeft(x, wroot, wchild)
end end
local function alignCenter(x, wroot, wchild) local function alignCenter(x, wroot, wchild)
return x+(wroot/2-wchild/2) return x + (wroot / 2 - wchild / 2)
end end
local function alignRight(x, wroot, wchild) local function alignRight(x, wroot, wchild)
return x+(wroot-wchild) return x + (wroot - wchild)
end end
@ -53,20 +53,19 @@ end
function container:draw(x, y, width, height, children, hpad, vpad, alignX) function container:draw(x, y, width, height, children, hpad, vpad, alignX)
local w, h = children[1]:getSize() local w, h = children[1]:getSize()
local x, y
if self.halign =='stretch' then if self.halign == 'stretch' then
w = width w = width
x = x x = x
else else
x = alignHandlerX(self.halign, containerX, containerWidth, w) x = alignHandlerX(self.halign, x, width, w)
end end
if self.valign =='stretch' then if self.valign == 'stretch' then
h = h h = height
y = y y = y
else else
y = alignHandlerY(self.valign, containerY, containerHeight, h) y = alignHandlerY(self.valign, y, height, h)
end end
children[1]:draw(x, y, w, h) children[1]:draw(x, y, w, h)