simplify enum structure
This commit is contained in:
143
FlexLove.lua
143
FlexLove.lua
@@ -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,
|
||||||
@@ -1062,7 +1049,7 @@ function Element:layoutChildren()
|
|||||||
-- 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
|
||||||
|
|||||||
Reference in New Issue
Block a user