Change the type of getTrailingPosition to YGFloatOptional

Summary: Change the type of getTrailingPosition to YGFloatOptional

Reviewed By: emilsjolander

Differential Revision: D7344710

fbshipit-source-id: eb4c422b6e0f55d90b083221aa8ff1ab797d58a8
This commit is contained in:
Pritesh Nandgaonkar
2018-04-04 07:55:44 -07:00
committed by Facebook Github Bot
parent 572546088f
commit 2b714a5b5d
3 changed files with 22 additions and 19 deletions

View File

@@ -104,14 +104,14 @@ YGFloatOptional YGNode::getLeadingPosition(
: YGResolveValue(*leadingPosition, axisSize); : YGResolveValue(*leadingPosition, axisSize);
} }
float YGNode::getTrailingPosition( YGFloatOptional YGNode::getTrailingPosition(
const YGFlexDirection axis, const YGFlexDirection& axis,
const float axisSize) const { const float& axisSize) const {
if (YGFlexDirectionIsRow(axis)) { if (YGFlexDirectionIsRow(axis)) {
const YGValue* trailingPosition = const YGValue* trailingPosition =
YGComputedEdgeValue(style_.position, YGEdgeEnd, &YGValueUndefined); YGComputedEdgeValue(style_.position, YGEdgeEnd, &YGValueUndefined);
if (trailingPosition->unit != YGUnitUndefined) { if (trailingPosition->unit != YGUnitUndefined) {
return YGUnwrapFloatOptional(YGResolveValue(*trailingPosition, axisSize)); return YGResolveValue(*trailingPosition, axisSize);
} }
} }
@@ -119,8 +119,8 @@ float YGNode::getTrailingPosition(
YGComputedEdgeValue(style_.position, trailing[axis], &YGValueUndefined); YGComputedEdgeValue(style_.position, trailing[axis], &YGValueUndefined);
return trailingPosition->unit == YGUnitUndefined return trailingPosition->unit == YGUnitUndefined
? 0.0f ? YGFloatOptional(0)
: YGUnwrapFloatOptional(YGResolveValue(*trailingPosition, axisSize)); : YGResolveValue(*trailingPosition, axisSize);
} }
bool YGNode::isLeadingPositionDefined(const YGFlexDirection axis) const { bool YGNode::isLeadingPositionDefined(const YGFlexDirection axis) const {
@@ -345,7 +345,7 @@ float YGNode::relativePosition(
const float axisSize) { const float axisSize) {
return isLeadingPositionDefined(axis) return isLeadingPositionDefined(axis)
? YGUnwrapFloatOptional(getLeadingPosition(axis, axisSize)) ? YGUnwrapFloatOptional(getLeadingPosition(axis, axisSize))
: -getTrailingPosition(axis, axisSize); : -YGUnwrapFloatOptional(getTrailingPosition(axis, axisSize));
} }
void YGNode::setPosition( void YGNode::setPosition(

View File

@@ -89,7 +89,9 @@ struct YGNode {
const float& axisSize) const; const float& axisSize) const;
bool isLeadingPositionDefined(const YGFlexDirection axis) const; bool isLeadingPositionDefined(const YGFlexDirection axis) const;
bool isTrailingPosDefined(const YGFlexDirection axis) const; bool isTrailingPosDefined(const YGFlexDirection axis) const;
float getTrailingPosition(const YGFlexDirection axis, const float axisSize) const; YGFloatOptional getTrailingPosition(
const YGFlexDirection& axis,
const float& axisSize) const;
float getLeadingMargin(const YGFlexDirection axis, const float widthSize) const; float getLeadingMargin(const YGFlexDirection axis, const float widthSize) const;
float getTrailingMargin(const YGFlexDirection axis, const float widthSize) const; float getTrailingMargin(const YGFlexDirection axis, const float widthSize) const;
float getLeadingBorder(const YGFlexDirection& flexDirection) const; float getLeadingBorder(const YGFlexDirection& flexDirection) const;

View File

@@ -1408,9 +1408,9 @@ static void YGNodeAbsoluteLayoutChild(const YGNodeRef node,
childWidth = node->getLayout().measuredDimensions[YGDimensionWidth] - childWidth = node->getLayout().measuredDimensions[YGDimensionWidth] -
(node->getLeadingBorder(YGFlexDirectionRow) + (node->getLeadingBorder(YGFlexDirectionRow) +
node->getTrailingBorder(YGFlexDirectionRow)) - node->getTrailingBorder(YGFlexDirectionRow)) -
(YGUnwrapFloatOptional( YGUnwrapFloatOptional(
child->getLeadingPosition(YGFlexDirectionRow, width)) + child->getLeadingPosition(YGFlexDirectionRow, width) +
child->getTrailingPosition(YGFlexDirectionRow, width)); child->getTrailingPosition(YGFlexDirectionRow, width));
childWidth = YGNodeBoundAxis(child, YGFlexDirectionRow, childWidth, width, width); childWidth = YGNodeBoundAxis(child, YGFlexDirectionRow, childWidth, width, width);
} }
} }
@@ -1425,12 +1425,13 @@ static void YGNodeAbsoluteLayoutChild(const YGNodeRef node,
// offsets if they're defined. // offsets if they're defined.
if (child->isLeadingPositionDefined(YGFlexDirectionColumn) && if (child->isLeadingPositionDefined(YGFlexDirectionColumn) &&
child->isTrailingPosDefined(YGFlexDirectionColumn)) { child->isTrailingPosDefined(YGFlexDirectionColumn)) {
childHeight = node->getLayout().measuredDimensions[YGDimensionHeight] - childHeight =
node->getLayout().measuredDimensions[YGDimensionHeight] -
(node->getLeadingBorder(YGFlexDirectionColumn) + (node->getLeadingBorder(YGFlexDirectionColumn) +
node->getTrailingBorder(YGFlexDirectionColumn)) - node->getTrailingBorder(YGFlexDirectionColumn)) -
(YGUnwrapFloatOptional( YGUnwrapFloatOptional(
child->getLeadingPosition(YGFlexDirectionColumn, height)) + child->getLeadingPosition(YGFlexDirectionColumn, height) +
child->getTrailingPosition(YGFlexDirectionColumn, height)); child->getTrailingPosition(YGFlexDirectionColumn, height));
childHeight = YGNodeBoundAxis(child, YGFlexDirectionColumn, childHeight, height, width); childHeight = YGNodeBoundAxis(child, YGFlexDirectionColumn, childHeight, height, width);
} }
} }
@@ -1503,8 +1504,8 @@ static void YGNodeAbsoluteLayoutChild(const YGNodeRef node,
child->getLayout().measuredDimensions[dim[mainAxis]] - child->getLayout().measuredDimensions[dim[mainAxis]] -
node->getTrailingBorder(mainAxis) - node->getTrailingBorder(mainAxis) -
child->getTrailingMargin(mainAxis, width) - child->getTrailingMargin(mainAxis, width) -
child->getTrailingPosition( YGUnwrapFloatOptional(child->getTrailingPosition(
mainAxis, isMainAxisRow ? width : height), mainAxis, isMainAxisRow ? width : height)),
leading[mainAxis]); leading[mainAxis]);
} else if ( } else if (
!child->isLeadingPositionDefined(mainAxis) && !child->isLeadingPositionDefined(mainAxis) &&
@@ -1530,8 +1531,8 @@ static void YGNodeAbsoluteLayoutChild(const YGNodeRef node,
child->getLayout().measuredDimensions[dim[crossAxis]] - child->getLayout().measuredDimensions[dim[crossAxis]] -
node->getTrailingBorder(crossAxis) - node->getTrailingBorder(crossAxis) -
child->getTrailingMargin(crossAxis, width) - child->getTrailingMargin(crossAxis, width) -
child->getTrailingPosition( YGUnwrapFloatOptional(child->getTrailingPosition(
crossAxis, isMainAxisRow ? height : width), crossAxis, isMainAxisRow ? height : width)),
leading[crossAxis]); leading[crossAxis]);
} else if ( } else if (