added margin and padding support, some fixes: yoga needs many values to be initialized properly

This commit is contained in:
2017-01-23 22:13:36 +00:00
parent e556cf4c61
commit 5268f65777
5 changed files with 189 additions and 75 deletions

View File

@@ -6,7 +6,8 @@ namespace att
Width, MinWidth, MaxWidth,
Height, MinHeight, MaxHeight,
Divisions, InnerRadius, OuterRadius,
Grow, Shrink, FlexDir, FlexWrap
Grow, Shrink, FlexDir, FlexWrap,
Padding, Margin
};
struct AttributeBase
@@ -45,6 +46,8 @@ namespace att
{ "shrink", kAttribute::Shrink },
{ "dir", kAttribute::FlexDir },
{ "wrap", kAttribute::FlexWrap },
{ "pad", kAttribute::Padding },
{ "margin", kAttribute::Margin},
};
constexpr int map_size = sizeof(map) / sizeof(typemap) - 1;
constexpr bool same(const char* a, const char* b)
@@ -83,6 +86,8 @@ namespace att
DECLARE_ATTRIBUTE(Shrink, float);
DECLARE_ATTRIBUTE(FlexDir, int);
DECLARE_ATTRIBUTE(FlexWrap, int);
DECLARE_ATTRIBUTE(Padding, glm::vec4);
DECLARE_ATTRIBUTE(Margin, glm::vec4);
#undef DECLARE_ATTRIBUTE
}