simplify enum structure

This commit is contained in:
Michael Freno
2025-09-22 00:50:16 -04:00
parent 91947676dd
commit d16cbb98ae

View File

@@ -27,85 +27,72 @@ function Color:toRGBA()
return self.r, self.g, self.b, self.a return self.r, self.g, self.b, self.a
end end
local enums = {} local enums = {
---@enum TextAlign
--- @enum TextAlign TextAlign = { START = "start", CENTER = "center", END = "end", JUSTIFY = "justify" },
enums.TextAlign = { ---@enum Positioning
START = "start", Positioning = { ABSOLUTE = "absolute", RELATIVE = "relative", FLEX = "flex" },
CENTER = "center", ---@enum FlexDirection
END = "end", FlexDirection = { HORIZONTAL = "horizontal", VERTICAL = "vertical" },
JUSTIFY = "justify", ---@enum JustifyContent
JustifyContent = {
FLEX_START = "flex-start",
CENTER = "center",
SPACE_AROUND = "space-around",
FLEX_END = "flex-end",
SPACE_EVENLY = "space-evenly",
SPACE_BETWEEN = "space-between",
},
---@enum JustifySelf
JustifySelf = {
AUTO = "auto",
FLEX_START = "flex-start",
CENTER = "center",
FLEX_END = "flex-end",
SPACE_AROUND = "space-around",
SPACE_EVENLY = "space-evenly",
SPACE_BETWEEN = "space-between",
},
---@enum AlignItems
AlignItems = {
STRETCH = "stretch",
FLEX_START = "flex-start",
FLEX_END = "flex-end",
CENTER = "center",
BASELINE = "baseline",
},
---@enum AlignSelf
AlignSelf = {
AUTO = "auto",
STRETCH = "stretch",
FLEX_START = "flex-start",
FLEX_END = "flex-end",
CENTER = "center",
BASELINE = "baseline",
},
---@enum AlignContent
AlignContent = {
STRETCH = "stretch",
FLEX_START = "flex-start",
FLEX_END = "flex-end",
CENTER = "center",
SPACE_BETWEEN = "space-between",
SPACE_AROUND = "space-around",
},
---@enum FlexWrap
FlexWrap = { NOWRAP = "nowrap", WRAP = "wrap", WRAP_REVERSE = "wrap-reverse" },
} }
--- @enum Positioning local Positioning, FlexDirection, JustifyContent, AlignContent, AlignItems, TextAlign, AlignSelf, JustifySelf, FlexWrap =
enums.Positioning = { enums.Positioning,
ABSOLUTE = "absolute", enums.FlexDirection,
RELATIVE = "relative", enums.JustifyContent,
FLEX = "flex", enums.AlignContent,
} enums.AlignItems,
enums.TextAlign,
--- @enum FlexDirection enums.AlignSelf,
enums.FlexDirection = { enums.JustifySelf,
HORIZONTAL = "horizontal", enums.FlexWrap
VERTICAL = "vertical",
}
--- @enum JustifyContent
enums.JustifyContent = {
FLEX_START = "flex-start",
CENTER = "center",
SPACE_AROUND = "space-around",
FLEX_END = "flex-end",
SPACE_EVENLY = "space-evenly",
SPACE_BETWEEN = "space-between",
}
--- @enum JustifySelf
enums.JustifySelf = {
AUTO = "auto",
FLEX_START = "flex-start",
CENTER = "center",
FLEX_END = "flex-end",
SPACE_AROUND = "space-around",
SPACE_EVENLY = "space-evenly",
SPACE_BETWEEN = "space-between",
}
--- @enum AlignItems
enums.AlignItems = {
STRETCH = "stretch",
FLEX_START = "flex-start",
FLEX_END = "flex-end",
CENTER = "center",
BASELINE = "baseline",
}
--- @enum AlignSelf
enums.AlignSelf = {
AUTO = "auto",
STRETCH = "stretch",
FLEX_START = "flex-start",
FLEX_END = "flex-end",
CENTER = "center",
BASELINE = "baseline",
}
--- @enum AlignContent
enums.AlignContent = {
STRETCH = "stretch",
FLEX_START = "flex-start",
FLEX_END = "flex-end",
CENTER = "center",
SPACE_BETWEEN = "space-between",
SPACE_AROUND = "space-around",
}
--- @enum FlexWrap
enums.FlexWrap = {
NOWRAP = "nowrap",
WRAP = "wrap",
WRAP_REVERSE = "wrap-reverse",
}
local Positioning, FlexDirection, JustifyContent, AlignContent, AlignItems, TextAlign, AlignSelf, JustifySelf, FlexWrap = local Positioning, FlexDirection, JustifyContent, AlignContent, AlignItems, TextAlign, AlignSelf, JustifySelf, FlexWrap =
enums.Positioning, enums.Positioning,
@@ -1061,8 +1048,8 @@ function Element:layoutChildren()
for _, child in ipairs(self.children) do for _, child in ipairs(self.children) do
-- Only flex positioned children or non-explicitly absolute children participate in flex layout -- Only flex positioned children or non-explicitly absolute children participate in flex layout
-- Relative positioned children maintain their own positioning -- Relative positioned children maintain their own positioning
local isFlexChild = not (child.positioning == Positioning.ABSOLUTE and child._explicitlyAbsolute) local isFlexChild = not (child.positioning == Positioning.ABSOLUTE and child._explicitlyAbsolute)
and child.positioning ~= Positioning.RELATIVE and child.positioning ~= Positioning.RELATIVE
if isFlexChild then if isFlexChild then
table.insert(flexChildren, child) table.insert(flexChildren, child)
end end