From 608f8105b3df0b3fed129feb321a4f4174737626 Mon Sep 17 00:00:00 2001 From: Michael Freno Date: Sun, 21 Sep 2025 13:49:41 -0400 Subject: [PATCH] almost fixed --- FlexLove.lua | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/FlexLove.lua b/FlexLove.lua index a5e1916..3662335 100644 --- a/FlexLove.lua +++ b/FlexLove.lua @@ -1116,7 +1116,11 @@ function Element:layoutChildren() -- For single line layouts, CENTER, FLEX_END and STRETCH should use full cross size if #lines == 1 then - if self.alignItems == AlignItems.STRETCH or self.alignItems == AlignItems.CENTER or self.alignItems == AlignItems.FLEX_END then + if + self.alignItems == AlignItems.STRETCH + or self.alignItems == AlignItems.CENTER + or self.alignItems == AlignItems.FLEX_END + then -- STRETCH, CENTER, and FLEX_END should use full available cross size lineHeights[1] = availableCrossSize totalLinesHeight = availableCrossSize @@ -1506,6 +1510,12 @@ function Element:recalculateUnits(newViewportWidth, newViewportHeight) local offsetX = Units.resolve(self.units.x.value, self.units.x.unit, newViewportWidth, newViewportHeight, parentWidth) self.x = baseX + offsetX + else + -- For pixel units, update position relative to parent's new position + if self.parent then + local baseX = self.parent.x + self.x = baseX + self.units.x.value + end end if self.units.y.unit ~= "px" then @@ -1514,6 +1524,12 @@ function Element:recalculateUnits(newViewportWidth, newViewportHeight) local offsetY = Units.resolve(self.units.y.value, self.units.y.unit, newViewportWidth, newViewportHeight, parentHeight) self.y = baseY + offsetY + else + -- For pixel units, update position relative to parent's new position + if self.parent then + local baseY = self.parent.y + self.y = baseY + self.units.y.value + end end -- Recalculate textSize if using viewport units