YGNodeBoundAxisWithinMinAndMax
accepts YGFloatOptional
Summary: @public Saves some calls to `.unwrap()` Reviewed By: SidharthGuglani Differential Revision: D13209153 fbshipit-source-id: 5658586e91496085f39b3522db6364aaeafcfe2f
This commit is contained in:
committed by
Facebook Github Bot
parent
10b316f315
commit
5719132f58
@@ -1209,7 +1209,7 @@ static inline bool YGNodeIsLayoutDimDefined(
|
|||||||
static YGFloatOptional YGNodeBoundAxisWithinMinAndMax(
|
static YGFloatOptional YGNodeBoundAxisWithinMinAndMax(
|
||||||
const YGNodeRef node,
|
const YGNodeRef node,
|
||||||
const YGFlexDirection axis,
|
const YGFlexDirection axis,
|
||||||
const float value,
|
const YGFloatOptional value,
|
||||||
const float axisSize) {
|
const float axisSize) {
|
||||||
YGFloatOptional min;
|
YGFloatOptional min;
|
||||||
YGFloatOptional max;
|
YGFloatOptional max;
|
||||||
@@ -1226,15 +1226,15 @@ static YGFloatOptional YGNodeBoundAxisWithinMinAndMax(
|
|||||||
node->getStyle().maxDimensions[YGDimensionWidth], axisSize);
|
node->getStyle().maxDimensions[YGDimensionWidth], axisSize);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (max >= YGFloatOptional{0} && YGFloatOptional{value} > max) {
|
if (max >= YGFloatOptional{0} && value > max) {
|
||||||
return max;
|
return max;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (min >= YGFloatOptional{0} && YGFloatOptional{value} < min) {
|
if (min >= YGFloatOptional{0} && value < min) {
|
||||||
return min;
|
return min;
|
||||||
}
|
}
|
||||||
|
|
||||||
return YGFloatOptional{value};
|
return value;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Like YGNodeBoundAxisWithinMinAndMax but also ensures that the value doesn't
|
// Like YGNodeBoundAxisWithinMinAndMax but also ensures that the value doesn't
|
||||||
@@ -1246,7 +1246,9 @@ static inline float YGNodeBoundAxis(
|
|||||||
const float axisSize,
|
const float axisSize,
|
||||||
const float widthSize) {
|
const float widthSize) {
|
||||||
return YGFloatMax(
|
return YGFloatMax(
|
||||||
(YGNodeBoundAxisWithinMinAndMax(node, axis, value, axisSize)).unwrap(),
|
(YGNodeBoundAxisWithinMinAndMax(
|
||||||
|
node, axis, YGFloatOptional{value}, axisSize))
|
||||||
|
.unwrap(),
|
||||||
YGNodePaddingAndBorderForAxis(node, axis, widthSize));
|
YGNodePaddingAndBorderForAxis(node, axis, widthSize));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2014,7 +2016,7 @@ static YGCollectFlexItemsRowValues YGCalculateCollectFlexItemsRowValues(
|
|||||||
(YGNodeBoundAxisWithinMinAndMax(
|
(YGNodeBoundAxisWithinMinAndMax(
|
||||||
child,
|
child,
|
||||||
mainAxis,
|
mainAxis,
|
||||||
(child->getLayout().computedFlexBasis).unwrap(),
|
child->getLayout().computedFlexBasis,
|
||||||
mainAxisownerSize))
|
mainAxisownerSize))
|
||||||
.unwrap();
|
.unwrap();
|
||||||
|
|
||||||
@@ -2089,13 +2091,12 @@ static float YGDistributeFreeSpaceSecondPass(
|
|||||||
const bool isNodeFlexWrap = node->getStyle().flexWrap != YGWrapNoWrap;
|
const bool isNodeFlexWrap = node->getStyle().flexWrap != YGWrapNoWrap;
|
||||||
|
|
||||||
for (auto currentRelativeChild : collectedFlexItemsValues.relativeChildren) {
|
for (auto currentRelativeChild : collectedFlexItemsValues.relativeChildren) {
|
||||||
childFlexBasis =
|
childFlexBasis = (YGNodeBoundAxisWithinMinAndMax(
|
||||||
(YGNodeBoundAxisWithinMinAndMax(
|
currentRelativeChild,
|
||||||
currentRelativeChild,
|
mainAxis,
|
||||||
mainAxis,
|
currentRelativeChild->getLayout().computedFlexBasis,
|
||||||
(currentRelativeChild->getLayout().computedFlexBasis).unwrap(),
|
mainAxisownerSize))
|
||||||
mainAxisownerSize))
|
.unwrap();
|
||||||
.unwrap();
|
|
||||||
float updatedMainSize = childFlexBasis;
|
float updatedMainSize = childFlexBasis;
|
||||||
|
|
||||||
if (!YGFloatIsUndefined(collectedFlexItemsValues.remainingFreeSpace) &&
|
if (!YGFloatIsUndefined(collectedFlexItemsValues.remainingFreeSpace) &&
|
||||||
@@ -2273,7 +2274,7 @@ static void YGDistributeFreeSpaceFirstPass(
|
|||||||
(YGNodeBoundAxisWithinMinAndMax(
|
(YGNodeBoundAxisWithinMinAndMax(
|
||||||
currentRelativeChild,
|
currentRelativeChild,
|
||||||
mainAxis,
|
mainAxis,
|
||||||
(currentRelativeChild->getLayout().computedFlexBasis).unwrap(),
|
currentRelativeChild->getLayout().computedFlexBasis,
|
||||||
mainAxisownerSize))
|
mainAxisownerSize))
|
||||||
.unwrap();
|
.unwrap();
|
||||||
|
|
||||||
@@ -3454,7 +3455,10 @@ static void YGNodelayoutImpl(
|
|||||||
YGFloatMin(
|
YGFloatMin(
|
||||||
availableInnerMainDim + paddingAndBorderAxisMain,
|
availableInnerMainDim + paddingAndBorderAxisMain,
|
||||||
(YGNodeBoundAxisWithinMinAndMax(
|
(YGNodeBoundAxisWithinMinAndMax(
|
||||||
node, mainAxis, maxLineMainDim, mainAxisownerSize))
|
node,
|
||||||
|
mainAxis,
|
||||||
|
YGFloatOptional{maxLineMainDim},
|
||||||
|
mainAxisownerSize))
|
||||||
.unwrap()),
|
.unwrap()),
|
||||||
paddingAndBorderAxisMain),
|
paddingAndBorderAxisMain),
|
||||||
dim[mainAxis]);
|
dim[mainAxis]);
|
||||||
@@ -3484,7 +3488,8 @@ static void YGNodelayoutImpl(
|
|||||||
(YGNodeBoundAxisWithinMinAndMax(
|
(YGNodeBoundAxisWithinMinAndMax(
|
||||||
node,
|
node,
|
||||||
crossAxis,
|
crossAxis,
|
||||||
totalLineCrossDim + paddingAndBorderAxisCross,
|
YGFloatOptional{totalLineCrossDim +
|
||||||
|
paddingAndBorderAxisCross},
|
||||||
crossAxisownerSize))
|
crossAxisownerSize))
|
||||||
.unwrap()),
|
.unwrap()),
|
||||||
paddingAndBorderAxisCross),
|
paddingAndBorderAxisCross),
|
||||||
|
Reference in New Issue
Block a user