Moved leading padding function as a method on YGNode
Summary: Moved leading padding function as a method on YGNode Reviewed By: emilsjolander Differential Revision: D6711830 fbshipit-source-id: d2f6f55ec23b007bb51f8a91385e02236f46dc7b
This commit is contained in:
committed by
Facebook Github Bot
parent
0a04bd7f2f
commit
adb2e0fdd6
@@ -630,3 +630,18 @@ float YGNode::getTrailingBorder(const YGFlexDirection flexDirection) {
|
|||||||
->value,
|
->value,
|
||||||
0.0f);
|
0.0f);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
float YGNode::getLeadingPadding(
|
||||||
|
const YGFlexDirection axis,
|
||||||
|
const float widthSize) {
|
||||||
|
if (YGFlexDirectionIsRow(axis) &&
|
||||||
|
style_.padding[YGEdgeStart].unit != YGUnitUndefined &&
|
||||||
|
YGResolveValue(style_.padding[YGEdgeStart], widthSize) >= 0.0f) {
|
||||||
|
return YGResolveValue(style_.padding[YGEdgeStart], widthSize);
|
||||||
|
}
|
||||||
|
return fmaxf(
|
||||||
|
YGResolveValue(
|
||||||
|
*YGComputedEdgeValue(style_.padding, leading[axis], &YGValueZero),
|
||||||
|
widthSize),
|
||||||
|
0.0f);
|
||||||
|
}
|
||||||
|
@@ -79,6 +79,7 @@ struct YGNode {
|
|||||||
std::array<YGValue, 2> getResolvedDimensions() const;
|
std::array<YGValue, 2> getResolvedDimensions() const;
|
||||||
YGValue getResolvedDimension(int index);
|
YGValue getResolvedDimension(int index);
|
||||||
|
|
||||||
|
// Methods related to positions, margin, padding and border
|
||||||
float getLeadingPosition(const YGFlexDirection axis, const float axisSize);
|
float getLeadingPosition(const YGFlexDirection axis, const float axisSize);
|
||||||
bool isLeadingPositionDefined(const YGFlexDirection axis);
|
bool isLeadingPositionDefined(const YGFlexDirection axis);
|
||||||
bool isTrailingPosDefined(const YGFlexDirection axis);
|
bool isTrailingPosDefined(const YGFlexDirection axis);
|
||||||
@@ -87,6 +88,7 @@ struct YGNode {
|
|||||||
float getTrailingMargin(const YGFlexDirection axis, const float widthSize);
|
float getTrailingMargin(const YGFlexDirection axis, const float widthSize);
|
||||||
float getLeadingBorder(const YGFlexDirection flexDirection);
|
float getLeadingBorder(const YGFlexDirection flexDirection);
|
||||||
float getTrailingBorder(const YGFlexDirection flexDirection);
|
float getTrailingBorder(const YGFlexDirection flexDirection);
|
||||||
|
float getLeadingPadding(const YGFlexDirection axis, const float widthSize);
|
||||||
// Setters
|
// Setters
|
||||||
|
|
||||||
void setContext(void* context);
|
void setContext(void* context);
|
||||||
|
@@ -762,24 +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 YGNodeLeadingPadding(const YGNodeRef node,
|
|
||||||
const YGFlexDirection axis,
|
|
||||||
const float widthSize) {
|
|
||||||
if (YGFlexDirectionIsRow(axis) &&
|
|
||||||
node->getStyle().padding[YGEdgeStart].unit != YGUnitUndefined &&
|
|
||||||
YGResolveValue(node->getStyle().padding[YGEdgeStart], widthSize) >=
|
|
||||||
0.0f) {
|
|
||||||
return YGResolveValue(node->getStyle().padding[YGEdgeStart], widthSize);
|
|
||||||
}
|
|
||||||
|
|
||||||
return fmaxf(
|
|
||||||
YGResolveValue(
|
|
||||||
*YGComputedEdgeValue(
|
|
||||||
node->getStyle().padding, leading[axis], &YGValueZero),
|
|
||||||
widthSize),
|
|
||||||
0.0f);
|
|
||||||
}
|
|
||||||
|
|
||||||
static float YGNodeTrailingPadding(const YGNodeRef node,
|
static float YGNodeTrailingPadding(const YGNodeRef node,
|
||||||
const YGFlexDirection axis,
|
const YGFlexDirection axis,
|
||||||
const float widthSize) {
|
const float widthSize) {
|
||||||
@@ -801,7 +783,7 @@ static inline float YGNodeLeadingPaddingAndBorder(
|
|||||||
const YGNodeRef node,
|
const YGNodeRef node,
|
||||||
const YGFlexDirection axis,
|
const YGFlexDirection axis,
|
||||||
const float widthSize) {
|
const float widthSize) {
|
||||||
return YGNodeLeadingPadding(node, axis, widthSize) +
|
return node->getLeadingPadding(axis, widthSize) +
|
||||||
node->getLeadingBorder(axis);
|
node->getLeadingBorder(axis);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1757,11 +1739,11 @@ static void YGNodelayoutImpl(const YGNodeRef node,
|
|||||||
node->getTrailingBorder(flexColumnDirection), YGEdgeBottom);
|
node->getTrailingBorder(flexColumnDirection), YGEdgeBottom);
|
||||||
|
|
||||||
node->setLayoutPadding(
|
node->setLayoutPadding(
|
||||||
YGNodeLeadingPadding(node, flexRowDirection, parentWidth), YGEdgeStart);
|
node->getLeadingPadding(flexRowDirection, parentWidth), YGEdgeStart);
|
||||||
node->setLayoutPadding(
|
node->setLayoutPadding(
|
||||||
YGNodeTrailingPadding(node, flexRowDirection, parentWidth), YGEdgeEnd);
|
YGNodeTrailingPadding(node, flexRowDirection, parentWidth), YGEdgeEnd);
|
||||||
node->setLayoutPadding(
|
node->setLayoutPadding(
|
||||||
YGNodeLeadingPadding(node, flexColumnDirection, parentWidth), YGEdgeTop);
|
node->getLeadingPadding(flexColumnDirection, parentWidth), YGEdgeTop);
|
||||||
node->setLayoutPadding(
|
node->setLayoutPadding(
|
||||||
YGNodeTrailingPadding(node, flexColumnDirection, parentWidth),
|
YGNodeTrailingPadding(node, flexColumnDirection, parentWidth),
|
||||||
YGEdgeBottom);
|
YGEdgeBottom);
|
||||||
|
Reference in New Issue
Block a user