C++ style enums 2/N: NodeType
Differential Revision: D49269117 fbshipit-source-id: 0a1dd2c4359c4871b01b21e61d636fbc7f239f2a
This commit is contained in:
committed by
Facebook GitHub Bot
parent
1f4c524b0e
commit
f8331b5a48
@@ -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) {
|
||||
|
@@ -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),
|
||||
|
@@ -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;
|
||||
|
@@ -14,6 +14,7 @@
|
||||
#include <yoga/Yoga.h>
|
||||
|
||||
#include <yoga/config/Config.h>
|
||||
#include <yoga/enums/NodeType.h>
|
||||
#include <yoga/node/LayoutResults.h>
|
||||
#include <yoga/style/CompactValue.h>
|
||||
#include <yoga/style/Style.h>
|
||||
@@ -29,7 +30,7 @@ struct NodeFlags {
|
||||
bool hasNewLayout : 1;
|
||||
bool isReferenceBaseline : 1;
|
||||
bool isDirty : 1;
|
||||
uint32_t nodeType : 1;
|
||||
NodeType nodeType : bitCount<NodeType>();
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
@@ -92,8 +93,8 @@ class YG_EXPORT Node : public ::YGNode {
|
||||
return flags_.hasNewLayout;
|
||||
}
|
||||
|
||||
YGNodeType getNodeType() const {
|
||||
return static_cast<YGNodeType>(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<uint32_t>(nodeType) & 0x01;
|
||||
void setNodeType(NodeType nodeType) {
|
||||
flags_.nodeType = nodeType;
|
||||
}
|
||||
|
||||
void setMeasureFunc(YGMeasureFunc measureFunc);
|
||||
|
Reference in New Issue
Block a user