C++ Style enums 12/N: PositionType (#1399)
Summary: X-link: https://github.com/facebook/react-native/pull/39538 Pull Request resolved: https://github.com/facebook/yoga/pull/1399 Moves internal usages of YGPositionType to PositionType bypass-github-export-checks Changelog: [Internal] Reviewed By: rshest Differential Revision: D49361677 fbshipit-source-id: 526222d6cf9f3dc26eddfbfb8a04de4ba28e14a9
This commit is contained in:
committed by
Facebook GitHub Bot
parent
5bf81b1ef8
commit
4ea6b4c4f9
@@ -131,10 +131,9 @@ ACCESSOR_TEST(
|
||||
|
||||
ACCESSOR_TEST(
|
||||
positionType,
|
||||
YGPositionTypeStatic,
|
||||
YGPositionTypeAbsolute,
|
||||
YGPositionTypeRelative,
|
||||
YGPositionTypeStatic)
|
||||
PositionType::Static,
|
||||
PositionType::Absolute,
|
||||
PositionType::Relative)
|
||||
|
||||
ACCESSOR_TEST(
|
||||
flexWrap,
|
||||
|
@@ -485,10 +485,10 @@ void YGNodeStyleSetPositionType(
|
||||
const YGNodeRef node,
|
||||
const YGPositionType positionType) {
|
||||
updateStyle<MSVC_HINT(positionType)>(
|
||||
node, &Style::positionType, positionType);
|
||||
node, &Style::positionType, scopedEnum(positionType));
|
||||
}
|
||||
YGPositionType YGNodeStyleGetPositionType(const YGNodeConstRef node) {
|
||||
return resolveRef(node)->getStyle().positionType();
|
||||
return unscopedEnum(resolveRef(node)->getStyle().positionType());
|
||||
}
|
||||
|
||||
void YGNodeStyleSetFlexWrap(const YGNodeRef node, const YGWrap flexWrap) {
|
||||
|
@@ -38,7 +38,7 @@ float calculateBaseline(const yoga::Node* node) {
|
||||
if (child->getLineIndex() > 0) {
|
||||
break;
|
||||
}
|
||||
if (child->getStyle().positionType() == YGPositionTypeAbsolute) {
|
||||
if (child->getStyle().positionType() == PositionType::Absolute) {
|
||||
continue;
|
||||
}
|
||||
if (resolveChildAlignment(node, child) == Align::Baseline ||
|
||||
@@ -70,7 +70,7 @@ bool isBaselineLayout(const yoga::Node* node) {
|
||||
const auto childCount = node->getChildCount();
|
||||
for (size_t i = 0; i < childCount; i++) {
|
||||
auto child = node->getChild(i);
|
||||
if (child->getStyle().positionType() != YGPositionTypeAbsolute &&
|
||||
if (child->getStyle().positionType() != PositionType::Absolute &&
|
||||
child->getStyle().alignSelf() == Align::Baseline) {
|
||||
return true;
|
||||
}
|
||||
|
@@ -821,7 +821,7 @@ static float computeFlexBasisForChildren(
|
||||
childDirection, mainDim, crossDim, availableInnerWidth);
|
||||
}
|
||||
|
||||
if (child->getStyle().positionType() == YGPositionTypeAbsolute) {
|
||||
if (child->getStyle().positionType() == PositionType::Absolute) {
|
||||
continue;
|
||||
}
|
||||
if (child == singleFlexChild) {
|
||||
@@ -1248,7 +1248,7 @@ static void justifyMainAxis(
|
||||
int numberOfAutoMarginsOnCurrentLine = 0;
|
||||
for (size_t i = startOfLineIndex; i < flexLine.endOfLineIndex; i++) {
|
||||
auto child = node->getChild(i);
|
||||
if (child->getStyle().positionType() != YGPositionTypeAbsolute) {
|
||||
if (child->getStyle().positionType() != PositionType::Absolute) {
|
||||
if (child->marginLeadingValue(mainAxis).unit == YGUnitAuto) {
|
||||
numberOfAutoMarginsOnCurrentLine++;
|
||||
}
|
||||
@@ -1310,7 +1310,7 @@ static void justifyMainAxis(
|
||||
if (childStyle.display() == YGDisplayNone) {
|
||||
continue;
|
||||
}
|
||||
if (childStyle.positionType() == YGPositionTypeAbsolute &&
|
||||
if (childStyle.positionType() == PositionType::Absolute &&
|
||||
child->isLeadingPositionDefined(mainAxis)) {
|
||||
if (performLayout) {
|
||||
// In case the child is position absolute and has left/top being
|
||||
@@ -1327,7 +1327,7 @@ static void justifyMainAxis(
|
||||
// Now that we placed the element, we need to update the variables.
|
||||
// We need to do that only for relative elements. Absolute elements do not
|
||||
// take part in that phase.
|
||||
if (childStyle.positionType() != YGPositionTypeAbsolute) {
|
||||
if (childStyle.positionType() != PositionType::Absolute) {
|
||||
if (child->marginLeadingValue(mainAxis).unit == YGUnitAuto) {
|
||||
flexLine.layout.mainDim += flexLine.layout.remainingFreeSpace /
|
||||
static_cast<float>(numberOfAutoMarginsOnCurrentLine);
|
||||
@@ -1866,7 +1866,7 @@ static void calculateLayoutImpl(
|
||||
if (child->getStyle().display() == YGDisplayNone) {
|
||||
continue;
|
||||
}
|
||||
if (child->getStyle().positionType() == YGPositionTypeAbsolute) {
|
||||
if (child->getStyle().positionType() == PositionType::Absolute) {
|
||||
// If the child is absolutely positioned and has a
|
||||
// top/left/bottom/right set, override all the previously computed
|
||||
// positions to set it correctly.
|
||||
@@ -2072,7 +2072,7 @@ static void calculateLayoutImpl(
|
||||
if (child->getStyle().display() == YGDisplayNone) {
|
||||
continue;
|
||||
}
|
||||
if (child->getStyle().positionType() != YGPositionTypeAbsolute) {
|
||||
if (child->getStyle().positionType() != PositionType::Absolute) {
|
||||
if (child->getLineIndex() != i) {
|
||||
break;
|
||||
}
|
||||
@@ -2115,7 +2115,7 @@ static void calculateLayoutImpl(
|
||||
if (child->getStyle().display() == YGDisplayNone) {
|
||||
continue;
|
||||
}
|
||||
if (child->getStyle().positionType() != YGPositionTypeAbsolute) {
|
||||
if (child->getStyle().positionType() != PositionType::Absolute) {
|
||||
switch (resolveChildAlignment(node, child)) {
|
||||
case Align::FlexStart: {
|
||||
child->setLayoutPosition(
|
||||
@@ -2305,7 +2305,7 @@ static void calculateLayoutImpl(
|
||||
if (performLayout && node->getStyle().flexWrap() == YGWrapWrapReverse) {
|
||||
for (size_t i = 0; i < childCount; i++) {
|
||||
const auto child = node->getChild(i);
|
||||
if (child->getStyle().positionType() != YGPositionTypeAbsolute) {
|
||||
if (child->getStyle().positionType() != PositionType::Absolute) {
|
||||
child->setLayoutPosition(
|
||||
node->getLayout().measuredDimensions[dimension(crossAxis)] -
|
||||
child->getLayout().position[leadingEdge(crossAxis)] -
|
||||
@@ -2319,7 +2319,7 @@ static void calculateLayoutImpl(
|
||||
// STEP 10: SIZING AND POSITIONING ABSOLUTE CHILDREN
|
||||
for (auto child : node->getChildren()) {
|
||||
if (child->getStyle().display() == YGDisplayNone ||
|
||||
child->getStyle().positionType() != YGPositionTypeAbsolute) {
|
||||
child->getStyle().positionType() != PositionType::Absolute) {
|
||||
continue;
|
||||
}
|
||||
const bool absolutePercentageAgainstPaddingEdge =
|
||||
|
@@ -39,7 +39,7 @@ FlexLine calculateFlexLine(
|
||||
for (; endOfLineIndex < node->getChildren().size(); endOfLineIndex++) {
|
||||
auto child = node->getChild(endOfLineIndex);
|
||||
if (child->getStyle().display() == YGDisplayNone ||
|
||||
child->getStyle().positionType() == YGPositionTypeAbsolute) {
|
||||
child->getStyle().positionType() == PositionType::Absolute) {
|
||||
continue;
|
||||
}
|
||||
|
||||
|
@@ -209,7 +209,7 @@ void nodeToString(
|
||||
|
||||
if (style.positionType() != yoga::Node{}.getStyle().positionType()) {
|
||||
appendFormattedString(
|
||||
str, "position: %s; ", YGPositionTypeToString(style.positionType()));
|
||||
str, "position: %s; ", toString(style.positionType()));
|
||||
}
|
||||
|
||||
appendEdgeIfNotUndefined(str, "left", style.position(), YGEdgeLeft);
|
||||
|
@@ -382,7 +382,7 @@ void Node::setPosition(
|
||||
const FlexDirection crossAxis =
|
||||
yoga::resolveCrossDirection(mainAxis, directionRespectingRoot);
|
||||
|
||||
// Here we should check for `YGPositionTypeStatic` and in this case zero inset
|
||||
// Here we should check for `PositionType::Static` and in this case zero inset
|
||||
// properties (left, right, top, bottom, begin, end).
|
||||
// https://www.w3.org/TR/css-position-3/#valdef-position-static
|
||||
const FloatOptional relativePositionMain =
|
||||
@@ -522,7 +522,7 @@ float Node::resolveFlexShrink() const {
|
||||
|
||||
bool Node::isNodeFlexible() {
|
||||
return (
|
||||
(style_.positionType() != YGPositionTypeAbsolute) &&
|
||||
(style_.positionType() != PositionType::Absolute) &&
|
||||
(resolveFlexGrow() != 0 || resolveFlexShrink() != 0));
|
||||
}
|
||||
|
||||
|
@@ -19,6 +19,7 @@
|
||||
#include <yoga/enums/Direction.h>
|
||||
#include <yoga/enums/FlexDirection.h>
|
||||
#include <yoga/enums/Justify.h>
|
||||
#include <yoga/enums/PositionType.h>
|
||||
#include <yoga/numeric/FloatOptional.h>
|
||||
#include <yoga/style/CompactValue.h>
|
||||
|
||||
@@ -116,7 +117,7 @@ class YG_EXPORT Style {
|
||||
static constexpr uint8_t positionTypeOffset =
|
||||
alignSelfOffset + minimumBitCount<Align>();
|
||||
static constexpr uint8_t flexWrapOffset =
|
||||
positionTypeOffset + minimumBitCount<YGPositionType>();
|
||||
positionTypeOffset + minimumBitCount<PositionType>();
|
||||
static constexpr uint8_t overflowOffset =
|
||||
flexWrapOffset + minimumBitCount<YGWrap>();
|
||||
static constexpr uint8_t displayOffset =
|
||||
@@ -185,10 +186,10 @@ class YG_EXPORT Style {
|
||||
return {*this, alignSelfOffset};
|
||||
}
|
||||
|
||||
YGPositionType positionType() const {
|
||||
return getEnumData<YGPositionType>(flags, positionTypeOffset);
|
||||
PositionType positionType() const {
|
||||
return getEnumData<PositionType>(flags, positionTypeOffset);
|
||||
}
|
||||
BitfieldRef<YGPositionType> positionType() {
|
||||
BitfieldRef<PositionType> positionType() {
|
||||
return {*this, positionTypeOffset};
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user