Moved trailingmargin function as a method on YGNode
Summary: Moved trailingmargin function as a method on YGNode Reviewed By: emilsjolander Differential Revision: D6683313 fbshipit-source-id: 5ee458c2f4698768724901df0e3f5d8805c7c8f5
This commit is contained in:
committed by
Facebook Github Bot
parent
a65b79a944
commit
f2ba14c309
@@ -150,6 +150,19 @@ float YGNode::getLeadingMargin(
|
|||||||
widthSize);
|
widthSize);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
float YGNode::getTrailingMargin(
|
||||||
|
const YGFlexDirection axis,
|
||||||
|
const float widthSize) {
|
||||||
|
if (YGFlexDirectionIsRow(axis) &&
|
||||||
|
style_.margin[YGEdgeEnd].unit != YGUnitUndefined) {
|
||||||
|
return YGResolveValueMargin(style_.margin[YGEdgeEnd], widthSize);
|
||||||
|
}
|
||||||
|
|
||||||
|
return YGResolveValueMargin(
|
||||||
|
*YGComputedEdgeValue(style_.margin, trailing[axis], &YGValueZero),
|
||||||
|
widthSize);
|
||||||
|
}
|
||||||
|
|
||||||
// Setters
|
// Setters
|
||||||
|
|
||||||
void YGNode::setContext(void* context) {
|
void YGNode::setContext(void* context) {
|
||||||
|
@@ -82,7 +82,7 @@ struct YGNode {
|
|||||||
bool isTrailingPosDefined(const YGFlexDirection axis);
|
bool isTrailingPosDefined(const YGFlexDirection axis);
|
||||||
float getTrailingPosition(const YGFlexDirection axis, const float axisSize);
|
float getTrailingPosition(const YGFlexDirection axis, const float axisSize);
|
||||||
float getLeadingMargin(const YGFlexDirection axis, const float widthSize);
|
float getLeadingMargin(const YGFlexDirection axis, const float widthSize);
|
||||||
|
float getTrailingMargin(const YGFlexDirection axis, const float widthSize);
|
||||||
// Setters
|
// Setters
|
||||||
|
|
||||||
void setContext(void* context);
|
void setContext(void* context);
|
||||||
|
@@ -762,20 +762,6 @@ static const std::array<YGEdge, 4> pos = {{
|
|||||||
static const std::array<YGDimension, 4> dim = {
|
static const std::array<YGDimension, 4> dim = {
|
||||||
{YGDimensionHeight, YGDimensionHeight, YGDimensionWidth, YGDimensionWidth}};
|
{YGDimensionHeight, YGDimensionHeight, YGDimensionWidth, YGDimensionWidth}};
|
||||||
|
|
||||||
static float YGNodeTrailingMargin(const YGNodeRef node,
|
|
||||||
const YGFlexDirection axis,
|
|
||||||
const float widthSize) {
|
|
||||||
if (YGFlexDirectionIsRow(axis) &&
|
|
||||||
node->getStyle().margin[YGEdgeEnd].unit != YGUnitUndefined) {
|
|
||||||
return YGResolveValueMargin(node->getStyle().margin[YGEdgeEnd], widthSize);
|
|
||||||
}
|
|
||||||
|
|
||||||
return YGResolveValueMargin(
|
|
||||||
*YGComputedEdgeValue(
|
|
||||||
node->getStyle().margin, trailing[axis], &YGValueZero),
|
|
||||||
widthSize);
|
|
||||||
}
|
|
||||||
|
|
||||||
static float YGNodeLeadingPadding(const YGNodeRef node,
|
static float YGNodeLeadingPadding(const YGNodeRef node,
|
||||||
const YGFlexDirection axis,
|
const YGFlexDirection axis,
|
||||||
const float widthSize) {
|
const float widthSize) {
|
||||||
@@ -859,7 +845,7 @@ static inline float YGNodeMarginForAxis(const YGNodeRef node,
|
|||||||
const YGFlexDirection axis,
|
const YGFlexDirection axis,
|
||||||
const float widthSize) {
|
const float widthSize) {
|
||||||
return node->getLeadingMargin(axis, widthSize) +
|
return node->getLeadingMargin(axis, widthSize) +
|
||||||
YGNodeTrailingMargin(node, axis, widthSize);
|
node->getTrailingMargin(axis, widthSize);
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline float YGNodePaddingAndBorderForAxis(const YGNodeRef node,
|
static inline float YGNodePaddingAndBorderForAxis(const YGNodeRef node,
|
||||||
@@ -959,7 +945,7 @@ static inline float YGNodeDimWithMargin(const YGNodeRef node,
|
|||||||
const float widthSize) {
|
const float widthSize) {
|
||||||
return node->getLayout().measuredDimensions[dim[axis]] +
|
return node->getLayout().measuredDimensions[dim[axis]] +
|
||||||
node->getLeadingMargin(axis, widthSize) +
|
node->getLeadingMargin(axis, widthSize) +
|
||||||
YGNodeTrailingMargin(node, axis, widthSize);
|
node->getTrailingMargin(axis, widthSize);
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline bool YGNodeIsStyleDimDefined(const YGNodeRef node,
|
static inline bool YGNodeIsStyleDimDefined(const YGNodeRef node,
|
||||||
@@ -1087,14 +1073,13 @@ static void YGNodeSetPosition(const YGNodeRef node,
|
|||||||
node->getLeadingMargin(mainAxis, parentWidth) + relativePositionMain,
|
node->getLeadingMargin(mainAxis, parentWidth) + relativePositionMain,
|
||||||
leading[mainAxis]);
|
leading[mainAxis]);
|
||||||
node->setLayoutPosition(
|
node->setLayoutPosition(
|
||||||
YGNodeTrailingMargin(node, mainAxis, parentWidth) + relativePositionMain,
|
node->getTrailingMargin(mainAxis, parentWidth) + relativePositionMain,
|
||||||
trailing[mainAxis]);
|
trailing[mainAxis]);
|
||||||
node->setLayoutPosition(
|
node->setLayoutPosition(
|
||||||
node->getLeadingMargin(crossAxis, parentWidth) + relativePositionCross,
|
node->getLeadingMargin(crossAxis, parentWidth) + relativePositionCross,
|
||||||
leading[crossAxis]);
|
leading[crossAxis]);
|
||||||
node->setLayoutPosition(
|
node->setLayoutPosition(
|
||||||
YGNodeTrailingMargin(node, crossAxis, parentWidth) +
|
node->getTrailingMargin(crossAxis, parentWidth) + relativePositionCross,
|
||||||
relativePositionCross,
|
|
||||||
trailing[crossAxis]);
|
trailing[crossAxis]);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1387,7 +1372,7 @@ static void YGNodeAbsoluteLayoutChild(const YGNodeRef node,
|
|||||||
node->getLayout().measuredDimensions[dim[mainAxis]] -
|
node->getLayout().measuredDimensions[dim[mainAxis]] -
|
||||||
child->getLayout().measuredDimensions[dim[mainAxis]] -
|
child->getLayout().measuredDimensions[dim[mainAxis]] -
|
||||||
YGNodeTrailingBorder(node, mainAxis) -
|
YGNodeTrailingBorder(node, mainAxis) -
|
||||||
YGNodeTrailingMargin(child, mainAxis, width) -
|
child->getTrailingMargin(mainAxis, width) -
|
||||||
child->getTrailingPosition(
|
child->getTrailingPosition(
|
||||||
mainAxis, isMainAxisRow ? width : height),
|
mainAxis, isMainAxisRow ? width : height),
|
||||||
leading[mainAxis]);
|
leading[mainAxis]);
|
||||||
@@ -1414,7 +1399,7 @@ static void YGNodeAbsoluteLayoutChild(const YGNodeRef node,
|
|||||||
node->getLayout().measuredDimensions[dim[crossAxis]] -
|
node->getLayout().measuredDimensions[dim[crossAxis]] -
|
||||||
child->getLayout().measuredDimensions[dim[crossAxis]] -
|
child->getLayout().measuredDimensions[dim[crossAxis]] -
|
||||||
YGNodeTrailingBorder(node, crossAxis) -
|
YGNodeTrailingBorder(node, crossAxis) -
|
||||||
YGNodeTrailingMargin(child, crossAxis, width) -
|
child->getTrailingMargin(crossAxis, width) -
|
||||||
child->getTrailingPosition(
|
child->getTrailingPosition(
|
||||||
crossAxis, isMainAxisRow ? height : width),
|
crossAxis, isMainAxisRow ? height : width),
|
||||||
leading[crossAxis]);
|
leading[crossAxis]);
|
||||||
@@ -1729,12 +1714,11 @@ static void YGNodelayoutImpl(const YGNodeRef node,
|
|||||||
node->setLayoutMargin(
|
node->setLayoutMargin(
|
||||||
node->getLeadingMargin(flexRowDirection, parentWidth), YGEdgeStart);
|
node->getLeadingMargin(flexRowDirection, parentWidth), YGEdgeStart);
|
||||||
node->setLayoutMargin(
|
node->setLayoutMargin(
|
||||||
YGNodeTrailingMargin(node, flexRowDirection, parentWidth), YGEdgeEnd);
|
node->getTrailingMargin(flexRowDirection, parentWidth), YGEdgeEnd);
|
||||||
node->setLayoutMargin(
|
node->setLayoutMargin(
|
||||||
node->getLeadingMargin(flexColumnDirection, parentWidth), YGEdgeTop);
|
node->getLeadingMargin(flexColumnDirection, parentWidth), YGEdgeTop);
|
||||||
node->setLayoutMargin(
|
node->setLayoutMargin(
|
||||||
YGNodeTrailingMargin(node, flexColumnDirection, parentWidth),
|
node->getTrailingMargin(flexColumnDirection, parentWidth), YGEdgeBottom);
|
||||||
YGEdgeBottom);
|
|
||||||
|
|
||||||
node->setLayoutBorder(
|
node->setLayoutBorder(
|
||||||
YGNodeLeadingBorder(node, flexRowDirection), YGEdgeStart);
|
YGNodeLeadingBorder(node, flexRowDirection), YGEdgeStart);
|
||||||
@@ -2767,8 +2751,8 @@ static void YGNodelayoutImpl(const YGNodeRef node,
|
|||||||
case YGAlignFlexEnd: {
|
case YGAlignFlexEnd: {
|
||||||
child->setLayoutPosition(
|
child->setLayoutPosition(
|
||||||
currentLead + lineHeight -
|
currentLead + lineHeight -
|
||||||
YGNodeTrailingMargin(
|
child->getTrailingMargin(
|
||||||
child, crossAxis, availableInnerWidth) -
|
crossAxis, availableInnerWidth) -
|
||||||
child->getLayout().measuredDimensions[dim[crossAxis]],
|
child->getLayout().measuredDimensions[dim[crossAxis]],
|
||||||
pos[crossAxis]);
|
pos[crossAxis]);
|
||||||
break;
|
break;
|
||||||
|
Reference in New Issue
Block a user