diff --git a/tests/YGStyleAccessorsTest.cpp b/tests/YGStyleAccessorsTest.cpp index 2b935e7b..98862a17 100644 --- a/tests/YGStyleAccessorsTest.cpp +++ b/tests/YGStyleAccessorsTest.cpp @@ -139,7 +139,7 @@ ACCESSOR_TEST(flexWrap, Wrap::NoWrap, Wrap::Wrap, Wrap::WrapReverse) ACCESSOR_TEST(overflow, Overflow::Visible, Overflow::Hidden, Overflow::Scroll) -ACCESSOR_TEST(display, YGDisplayFlex, YGDisplayNone, YGDisplayFlex) +ACCESSOR_TEST(display, Display::Flex, Display::None, Display::Flex) ACCESSOR_TEST( flex, diff --git a/yoga/Yoga.cpp b/yoga/Yoga.cpp index 039dc3fb..42fd5821 100644 --- a/yoga/Yoga.cpp +++ b/yoga/Yoga.cpp @@ -508,10 +508,10 @@ YGOverflow YGNodeStyleGetOverflow(const YGNodeConstRef node) { } void YGNodeStyleSetDisplay(const YGNodeRef node, const YGDisplay display) { - updateStyle(node, &Style::display, display); + updateStyle(node, &Style::display, scopedEnum(display)); } YGDisplay YGNodeStyleGetDisplay(const YGNodeConstRef node) { - return resolveRef(node)->getStyle().display(); + return unscopedEnum(resolveRef(node)->getStyle().display()); } // TODO(T26792433): Change the API to accept FloatOptional. diff --git a/yoga/algorithm/CalculateLayout.cpp b/yoga/algorithm/CalculateLayout.cpp index 6b303b61..d0f2eb81 100644 --- a/yoga/algorithm/CalculateLayout.cpp +++ b/yoga/algorithm/CalculateLayout.cpp @@ -804,7 +804,7 @@ static float computeFlexBasisForChildren( for (auto child : children) { child->resolveDimension(); - if (child->getStyle().display() == YGDisplayNone) { + if (child->getStyle().display() == Display::None) { zeroOutLayoutRecursively(child); child->setHasNewLayout(true); child->setDirty(false); @@ -1307,7 +1307,7 @@ static void justifyMainAxis( const auto child = node->getChild(i); const Style& childStyle = child->getStyle(); const LayoutResults& childLayout = child->getLayout(); - if (childStyle.display() == YGDisplayNone) { + if (childStyle.display() == Display::None) { continue; } if (childStyle.positionType() == PositionType::Absolute && @@ -1863,7 +1863,7 @@ static void calculateLayoutImpl( if (performLayout) { for (size_t i = startOfLineIndex; i < endOfLineIndex; i++) { const auto child = node->getChild(i); - if (child->getStyle().display() == YGDisplayNone) { + if (child->getStyle().display() == Display::None) { continue; } if (child->getStyle().positionType() == PositionType::Absolute) { @@ -2069,7 +2069,7 @@ static void calculateLayoutImpl( float maxDescentForCurrentLine = 0; for (ii = startIndex; ii < childCount; ii++) { const auto child = node->getChild(ii); - if (child->getStyle().display() == YGDisplayNone) { + if (child->getStyle().display() == Display::None) { continue; } if (child->getStyle().positionType() != PositionType::Absolute) { @@ -2112,7 +2112,7 @@ static void calculateLayoutImpl( if (performLayout) { for (ii = startIndex; ii < endIndex; ii++) { const auto child = node->getChild(ii); - if (child->getStyle().display() == YGDisplayNone) { + if (child->getStyle().display() == Display::None) { continue; } if (child->getStyle().positionType() != PositionType::Absolute) { @@ -2318,7 +2318,7 @@ static void calculateLayoutImpl( if (performLayout) { // STEP 10: SIZING AND POSITIONING ABSOLUTE CHILDREN for (auto child : node->getChildren()) { - if (child->getStyle().display() == YGDisplayNone || + if (child->getStyle().display() == Display::None || child->getStyle().positionType() != PositionType::Absolute) { continue; } @@ -2352,7 +2352,7 @@ static void calculateLayoutImpl( if (needsMainTrailingPos || needsCrossTrailingPos) { for (size_t i = 0; i < childCount; i++) { const auto child = node->getChild(i); - if (child->getStyle().display() == YGDisplayNone) { + if (child->getStyle().display() == Display::None) { continue; } if (needsMainTrailingPos) { diff --git a/yoga/algorithm/FlexLine.cpp b/yoga/algorithm/FlexLine.cpp index 07219419..f254a7a5 100644 --- a/yoga/algorithm/FlexLine.cpp +++ b/yoga/algorithm/FlexLine.cpp @@ -38,7 +38,7 @@ FlexLine calculateFlexLine( // Add items to the current line until it's full or we run out of items. for (; endOfLineIndex < node->getChildren().size(); endOfLineIndex++) { auto child = node->getChild(endOfLineIndex); - if (child->getStyle().display() == YGDisplayNone || + if (child->getStyle().display() == Display::None || child->getStyle().positionType() == PositionType::Absolute) { continue; } diff --git a/yoga/debug/NodeToString.cpp b/yoga/debug/NodeToString.cpp index 225be915..17a28b40 100644 --- a/yoga/debug/NodeToString.cpp +++ b/yoga/debug/NodeToString.cpp @@ -174,8 +174,7 @@ void nodeToString( } if (style.display() != yoga::Node{}.getStyle().display()) { - appendFormattedString( - str, "display: %s; ", YGDisplayToString(style.display())); + appendFormattedString(str, "display: %s; ", toString(style.display())); } appendEdges(str, "margin", style.margin()); appendEdges(str, "padding", style.padding()); diff --git a/yoga/style/Style.h b/yoga/style/Style.h index 6a382823..01a572d0 100644 --- a/yoga/style/Style.h +++ b/yoga/style/Style.h @@ -17,6 +17,7 @@ #include #include #include +#include #include #include #include @@ -209,10 +210,10 @@ class YG_EXPORT Style { return {*this, overflowOffset}; } - YGDisplay display() const { - return getEnumData(flags, displayOffset); + Display display() const { + return getEnumData(flags, displayOffset); } - BitfieldRef display() { + BitfieldRef display() { return {*this, displayOffset}; }