diff --git a/packages/react-native/ReactCommon/yoga/yoga/Yoga.cpp b/packages/react-native/ReactCommon/yoga/yoga/Yoga.cpp index 34ef7f9f304..80d7b257d20 100644 --- a/packages/react-native/ReactCommon/yoga/yoga/Yoga.cpp +++ b/packages/react-native/ReactCommon/yoga/yoga/Yoga.cpp @@ -81,11 +81,11 @@ void YGNodeSetHasNewLayout(YGNodeRef node, bool hasNewLayout) { } YGNodeType YGNodeGetNodeType(YGNodeConstRef node) { - return resolveRef(node)->getNodeType(); + return unscopedEnum(resolveRef(node)->getNodeType()); } void YGNodeSetNodeType(YGNodeRef node, YGNodeType nodeType) { - return resolveRef(node)->setNodeType(nodeType); + return resolveRef(node)->setNodeType(scopedEnum(nodeType)); } bool YGNodeIsDirty(YGNodeConstRef node) { diff --git a/packages/react-native/ReactCommon/yoga/yoga/algorithm/PixelGrid.cpp b/packages/react-native/ReactCommon/yoga/yoga/algorithm/PixelGrid.cpp index a9594b24d19..dce87347f5f 100644 --- a/packages/react-native/ReactCommon/yoga/yoga/algorithm/PixelGrid.cpp +++ b/packages/react-native/ReactCommon/yoga/yoga/algorithm/PixelGrid.cpp @@ -83,7 +83,7 @@ void roundLayoutResultsToPixelGrid( if (pointScaleFactor != 0.0f) { // If a node has a custom measure function we never want to round down its // size as this could lead to unwanted text truncation. - const bool textRounding = node->getNodeType() == YGNodeTypeText; + const bool textRounding = node->getNodeType() == NodeType::Text; node->setLayoutPosition( roundValueToPixelGrid(nodeLeft, pointScaleFactor, false, textRounding), diff --git a/packages/react-native/ReactCommon/yoga/yoga/node/Node.cpp b/packages/react-native/ReactCommon/yoga/yoga/node/Node.cpp index da3438d2f3f..e2b022e0240 100644 --- a/packages/react-native/ReactCommon/yoga/yoga/node/Node.cpp +++ b/packages/react-native/ReactCommon/yoga/yoga/node/Node.cpp @@ -227,7 +227,7 @@ void Node::setMeasureFunc(YGMeasureFunc measureFunc) { if (measureFunc == nullptr) { // TODO: t18095186 Move nodeType to opt-in function and mark appropriate // places in Litho - setNodeType(YGNodeTypeDefault); + setNodeType(NodeType::Default); } else { yoga::assertFatalWithNode( this, @@ -236,7 +236,7 @@ void Node::setMeasureFunc(YGMeasureFunc measureFunc) { "children."); // TODO: t18095186 Move nodeType to opt-in function and mark appropriate // places in Litho - setNodeType(YGNodeTypeText); + setNodeType(NodeType::Text); } measureFunc_ = measureFunc; diff --git a/packages/react-native/ReactCommon/yoga/yoga/node/Node.h b/packages/react-native/ReactCommon/yoga/yoga/node/Node.h index 17df371c000..e088ab9946f 100644 --- a/packages/react-native/ReactCommon/yoga/yoga/node/Node.h +++ b/packages/react-native/ReactCommon/yoga/yoga/node/Node.h @@ -14,6 +14,7 @@ #include #include +#include #include #include #include @@ -29,7 +30,7 @@ struct NodeFlags { bool hasNewLayout : 1; bool isReferenceBaseline : 1; bool isDirty : 1; - uint32_t nodeType : 1; + NodeType nodeType : bitCount(); }; #pragma pack(pop) @@ -92,8 +93,8 @@ class YG_EXPORT Node : public ::YGNode { return flags_.hasNewLayout; } - YGNodeType getNodeType() const { - return static_cast(flags_.nodeType); + NodeType getNodeType() const { + return flags_.nodeType; } bool hasMeasureFunc() const noexcept { @@ -250,8 +251,8 @@ class YG_EXPORT Node : public ::YGNode { flags_.hasNewLayout = hasNewLayout; } - void setNodeType(YGNodeType nodeType) { - flags_.nodeType = static_cast(nodeType) & 0x01; + void setNodeType(NodeType nodeType) { + flags_.nodeType = nodeType; } void setMeasureFunc(YGMeasureFunc measureFunc);