regen unittests and small fixes after merge
This commit is contained in:
@@ -459,15 +459,15 @@ namespace Facebook.Yoga
|
|||||||
{
|
{
|
||||||
YogaNode root = new YogaNode();
|
YogaNode root = new YogaNode();
|
||||||
root.FlexDirection = YogaFlexDirection.Row;
|
root.FlexDirection = YogaFlexDirection.Row;
|
||||||
root.MinWidth = 100f;
|
root.MinWidth = 100.Px();
|
||||||
root.Height = 100f;
|
root.Height = 100.Px();
|
||||||
|
|
||||||
YogaNode root_child0 = new YogaNode();
|
YogaNode root_child0 = new YogaNode();
|
||||||
root_child0.FlexGrow = 1f;
|
root_child0.FlexGrow = 1;
|
||||||
root.Insert(0, root_child0);
|
root.Insert(0, root_child0);
|
||||||
|
|
||||||
YogaNode root_child1 = new YogaNode();
|
YogaNode root_child1 = new YogaNode();
|
||||||
root_child1.Width = 50f;
|
root_child1.Width = 50.Px();
|
||||||
root.Insert(1, root_child1);
|
root.Insert(1, root_child1);
|
||||||
root.StyleDirection = YogaDirection.LTR;
|
root.StyleDirection = YogaDirection.LTR;
|
||||||
root.CalculateLayout();
|
root.CalculateLayout();
|
||||||
@@ -510,14 +510,14 @@ namespace Facebook.Yoga
|
|||||||
public void Test_flex_grow_within_constrained_min_column()
|
public void Test_flex_grow_within_constrained_min_column()
|
||||||
{
|
{
|
||||||
YogaNode root = new YogaNode();
|
YogaNode root = new YogaNode();
|
||||||
root.MinHeight = 100f;
|
root.MinHeight = 100.Px();
|
||||||
|
|
||||||
YogaNode root_child0 = new YogaNode();
|
YogaNode root_child0 = new YogaNode();
|
||||||
root_child0.FlexGrow = 1f;
|
root_child0.FlexGrow = 1;
|
||||||
root.Insert(0, root_child0);
|
root.Insert(0, root_child0);
|
||||||
|
|
||||||
YogaNode root_child1 = new YogaNode();
|
YogaNode root_child1 = new YogaNode();
|
||||||
root_child1.Height = 50f;
|
root_child1.Height = 50.Px();
|
||||||
root.Insert(1, root_child1);
|
root.Insert(1, root_child1);
|
||||||
root.StyleDirection = YogaDirection.LTR;
|
root.StyleDirection = YogaDirection.LTR;
|
||||||
root.CalculateLayout();
|
root.CalculateLayout();
|
||||||
@@ -560,21 +560,21 @@ namespace Facebook.Yoga
|
|||||||
public void Test_flex_grow_within_constrained_max_row()
|
public void Test_flex_grow_within_constrained_max_row()
|
||||||
{
|
{
|
||||||
YogaNode root = new YogaNode();
|
YogaNode root = new YogaNode();
|
||||||
root.Width = 200f;
|
root.Width = 200.Px();
|
||||||
|
|
||||||
YogaNode root_child0 = new YogaNode();
|
YogaNode root_child0 = new YogaNode();
|
||||||
root_child0.FlexDirection = YogaFlexDirection.Row;
|
root_child0.FlexDirection = YogaFlexDirection.Row;
|
||||||
root_child0.MaxWidth = 100f;
|
root_child0.MaxWidth = 100.Px();
|
||||||
root_child0.Height = 100f;
|
root_child0.Height = 100.Px();
|
||||||
root.Insert(0, root_child0);
|
root.Insert(0, root_child0);
|
||||||
|
|
||||||
YogaNode root_child0_child0 = new YogaNode();
|
YogaNode root_child0_child0 = new YogaNode();
|
||||||
root_child0_child0.FlexShrink = 1f;
|
root_child0_child0.FlexShrink = 1;
|
||||||
root_child0_child0.FlexBasis = 100f;
|
root_child0_child0.FlexBasis = 100.Px();
|
||||||
root_child0.Insert(0, root_child0_child0);
|
root_child0.Insert(0, root_child0_child0);
|
||||||
|
|
||||||
YogaNode root_child0_child1 = new YogaNode();
|
YogaNode root_child0_child1 = new YogaNode();
|
||||||
root_child0_child1.Width = 50f;
|
root_child0_child1.Width = 50.Px();
|
||||||
root_child0.Insert(1, root_child0_child1);
|
root_child0.Insert(1, root_child0_child1);
|
||||||
root.StyleDirection = YogaDirection.LTR;
|
root.StyleDirection = YogaDirection.LTR;
|
||||||
root.CalculateLayout();
|
root.CalculateLayout();
|
||||||
@@ -627,16 +627,16 @@ namespace Facebook.Yoga
|
|||||||
public void Test_flex_grow_within_constrained_max_column()
|
public void Test_flex_grow_within_constrained_max_column()
|
||||||
{
|
{
|
||||||
YogaNode root = new YogaNode();
|
YogaNode root = new YogaNode();
|
||||||
root.Width = 100f;
|
root.Width = 100.Px();
|
||||||
root.MaxHeight = 100f;
|
root.MaxHeight = 100.Px();
|
||||||
|
|
||||||
YogaNode root_child0 = new YogaNode();
|
YogaNode root_child0 = new YogaNode();
|
||||||
root_child0.FlexShrink = 1f;
|
root_child0.FlexShrink = 1;
|
||||||
root_child0.FlexBasis = 100f;
|
root_child0.FlexBasis = 100.Px();
|
||||||
root.Insert(0, root_child0);
|
root.Insert(0, root_child0);
|
||||||
|
|
||||||
YogaNode root_child1 = new YogaNode();
|
YogaNode root_child1 = new YogaNode();
|
||||||
root_child1.Height = 50f;
|
root_child1.Height = 50.Px();
|
||||||
root.Insert(1, root_child1);
|
root.Insert(1, root_child1);
|
||||||
root.StyleDirection = YogaDirection.LTR;
|
root.StyleDirection = YogaDirection.LTR;
|
||||||
root.CalculateLayout();
|
root.CalculateLayout();
|
||||||
|
@@ -434,15 +434,15 @@ TEST(YogaTest, flex_grow_within_constrained_max_width) {
|
|||||||
TEST(YogaTest, flex_grow_within_constrained_min_row) {
|
TEST(YogaTest, flex_grow_within_constrained_min_row) {
|
||||||
const YGNodeRef root = YGNodeNew();
|
const YGNodeRef root = YGNodeNew();
|
||||||
YGNodeStyleSetFlexDirection(root, YGFlexDirectionRow);
|
YGNodeStyleSetFlexDirection(root, YGFlexDirectionRow);
|
||||||
YGNodeStyleSetMinWidth(root, 100);
|
YGNodeStyleSetMinWidth(root, YGPx(100));
|
||||||
YGNodeStyleSetHeight(root, 100);
|
YGNodeStyleSetHeight(root, YGPx(100));
|
||||||
|
|
||||||
const YGNodeRef root_child0 = YGNodeNew();
|
const YGNodeRef root_child0 = YGNodeNew();
|
||||||
YGNodeStyleSetFlexGrow(root_child0, 1);
|
YGNodeStyleSetFlexGrow(root_child0, 1);
|
||||||
YGNodeInsertChild(root, root_child0, 0);
|
YGNodeInsertChild(root, root_child0, 0);
|
||||||
|
|
||||||
const YGNodeRef root_child1 = YGNodeNew();
|
const YGNodeRef root_child1 = YGNodeNew();
|
||||||
YGNodeStyleSetWidth(root_child1, 50);
|
YGNodeStyleSetWidth(root_child1, YGPx(50));
|
||||||
YGNodeInsertChild(root, root_child1, 1);
|
YGNodeInsertChild(root, root_child1, 1);
|
||||||
YGNodeCalculateLayout(root, YGUndefined, YGUndefined, YGDirectionLTR);
|
YGNodeCalculateLayout(root, YGUndefined, YGUndefined, YGDirectionLTR);
|
||||||
|
|
||||||
@@ -483,14 +483,14 @@ TEST(YogaTest, flex_grow_within_constrained_min_row) {
|
|||||||
|
|
||||||
TEST(YogaTest, flex_grow_within_constrained_min_column) {
|
TEST(YogaTest, flex_grow_within_constrained_min_column) {
|
||||||
const YGNodeRef root = YGNodeNew();
|
const YGNodeRef root = YGNodeNew();
|
||||||
YGNodeStyleSetMinHeight(root, 100);
|
YGNodeStyleSetMinHeight(root, YGPx(100));
|
||||||
|
|
||||||
const YGNodeRef root_child0 = YGNodeNew();
|
const YGNodeRef root_child0 = YGNodeNew();
|
||||||
YGNodeStyleSetFlexGrow(root_child0, 1);
|
YGNodeStyleSetFlexGrow(root_child0, 1);
|
||||||
YGNodeInsertChild(root, root_child0, 0);
|
YGNodeInsertChild(root, root_child0, 0);
|
||||||
|
|
||||||
const YGNodeRef root_child1 = YGNodeNew();
|
const YGNodeRef root_child1 = YGNodeNew();
|
||||||
YGNodeStyleSetHeight(root_child1, 50);
|
YGNodeStyleSetHeight(root_child1, YGPx(50));
|
||||||
YGNodeInsertChild(root, root_child1, 1);
|
YGNodeInsertChild(root, root_child1, 1);
|
||||||
YGNodeCalculateLayout(root, YGUndefined, YGUndefined, YGDirectionLTR);
|
YGNodeCalculateLayout(root, YGUndefined, YGUndefined, YGDirectionLTR);
|
||||||
|
|
||||||
@@ -531,21 +531,21 @@ TEST(YogaTest, flex_grow_within_constrained_min_column) {
|
|||||||
|
|
||||||
TEST(YogaTest, flex_grow_within_constrained_max_row) {
|
TEST(YogaTest, flex_grow_within_constrained_max_row) {
|
||||||
const YGNodeRef root = YGNodeNew();
|
const YGNodeRef root = YGNodeNew();
|
||||||
YGNodeStyleSetWidth(root, 200);
|
YGNodeStyleSetWidth(root, YGPx(200));
|
||||||
|
|
||||||
const YGNodeRef root_child0 = YGNodeNew();
|
const YGNodeRef root_child0 = YGNodeNew();
|
||||||
YGNodeStyleSetFlexDirection(root_child0, YGFlexDirectionRow);
|
YGNodeStyleSetFlexDirection(root_child0, YGFlexDirectionRow);
|
||||||
YGNodeStyleSetMaxWidth(root_child0, 100);
|
YGNodeStyleSetMaxWidth(root_child0, YGPx(100));
|
||||||
YGNodeStyleSetHeight(root_child0, 100);
|
YGNodeStyleSetHeight(root_child0, YGPx(100));
|
||||||
YGNodeInsertChild(root, root_child0, 0);
|
YGNodeInsertChild(root, root_child0, 0);
|
||||||
|
|
||||||
const YGNodeRef root_child0_child0 = YGNodeNew();
|
const YGNodeRef root_child0_child0 = YGNodeNew();
|
||||||
YGNodeStyleSetFlexShrink(root_child0_child0, 1);
|
YGNodeStyleSetFlexShrink(root_child0_child0, 1);
|
||||||
YGNodeStyleSetFlexBasis(root_child0_child0, 100);
|
YGNodeStyleSetFlexBasis(root_child0_child0, YGPx(100));
|
||||||
YGNodeInsertChild(root_child0, root_child0_child0, 0);
|
YGNodeInsertChild(root_child0, root_child0_child0, 0);
|
||||||
|
|
||||||
const YGNodeRef root_child0_child1 = YGNodeNew();
|
const YGNodeRef root_child0_child1 = YGNodeNew();
|
||||||
YGNodeStyleSetWidth(root_child0_child1, 50);
|
YGNodeStyleSetWidth(root_child0_child1, YGPx(50));
|
||||||
YGNodeInsertChild(root_child0, root_child0_child1, 1);
|
YGNodeInsertChild(root_child0, root_child0_child1, 1);
|
||||||
YGNodeCalculateLayout(root, YGUndefined, YGUndefined, YGDirectionLTR);
|
YGNodeCalculateLayout(root, YGUndefined, YGUndefined, YGDirectionLTR);
|
||||||
|
|
||||||
@@ -596,16 +596,16 @@ TEST(YogaTest, flex_grow_within_constrained_max_row) {
|
|||||||
|
|
||||||
TEST(YogaTest, flex_grow_within_constrained_max_column) {
|
TEST(YogaTest, flex_grow_within_constrained_max_column) {
|
||||||
const YGNodeRef root = YGNodeNew();
|
const YGNodeRef root = YGNodeNew();
|
||||||
YGNodeStyleSetWidth(root, 100);
|
YGNodeStyleSetWidth(root, YGPx(100));
|
||||||
YGNodeStyleSetMaxHeight(root, 100);
|
YGNodeStyleSetMaxHeight(root, YGPx(100));
|
||||||
|
|
||||||
const YGNodeRef root_child0 = YGNodeNew();
|
const YGNodeRef root_child0 = YGNodeNew();
|
||||||
YGNodeStyleSetFlexShrink(root_child0, 1);
|
YGNodeStyleSetFlexShrink(root_child0, 1);
|
||||||
YGNodeStyleSetFlexBasis(root_child0, 100);
|
YGNodeStyleSetFlexBasis(root_child0, YGPx(100));
|
||||||
YGNodeInsertChild(root, root_child0, 0);
|
YGNodeInsertChild(root, root_child0, 0);
|
||||||
|
|
||||||
const YGNodeRef root_child1 = YGNodeNew();
|
const YGNodeRef root_child1 = YGNodeNew();
|
||||||
YGNodeStyleSetHeight(root_child1, 50);
|
YGNodeStyleSetHeight(root_child1, YGPx(50));
|
||||||
YGNodeInsertChild(root, root_child1, 1);
|
YGNodeInsertChild(root, root_child1, 1);
|
||||||
YGNodeCalculateLayout(root, YGUndefined, YGUndefined, YGDirectionLTR);
|
YGNodeCalculateLayout(root, YGUndefined, YGUndefined, YGDirectionLTR);
|
||||||
|
|
||||||
|
18
yoga/Yoga.c
18
yoga/Yoga.c
@@ -1597,8 +1597,6 @@ static void YGNodelayoutImpl(const YGNodeRef node,
|
|||||||
const float marginAxisColumn = YGNodeMarginForAxis(node, YGFlexDirectionColumn, parentWidth);
|
const float marginAxisColumn = YGNodeMarginForAxis(node, YGFlexDirectionColumn, parentWidth);
|
||||||
|
|
||||||
// STEP 2: DETERMINE AVAILABLE SIZE IN MAIN AND CROSS DIRECTIONS
|
// STEP 2: DETERMINE AVAILABLE SIZE IN MAIN AND CROSS DIRECTIONS
|
||||||
float availableInnerWidth = availableWidth - marginAxisRow - paddingAndBorderAxisRow;
|
|
||||||
float availableInnerHeight = availableHeight - marginAxisColumn - paddingAndBorderAxisColumn;
|
|
||||||
const float minInnerWidth = YGValueResolve(&node->style.minDimensions[YGDimensionWidth], parentWidth) - marginAxisRow - paddingAndBorderAxisRow;
|
const float minInnerWidth = YGValueResolve(&node->style.minDimensions[YGDimensionWidth], parentWidth) - marginAxisRow - paddingAndBorderAxisRow;
|
||||||
const float maxInnerWidth = YGValueResolve(&node->style.maxDimensions[YGDimensionWidth], parentWidth) - marginAxisRow - paddingAndBorderAxisRow;
|
const float maxInnerWidth = YGValueResolve(&node->style.maxDimensions[YGDimensionWidth], parentWidth) - marginAxisRow - paddingAndBorderAxisRow;
|
||||||
const float minInnerHeight = YGValueResolve(&node->style.minDimensions[YGDimensionHeight], parentHeight) - marginAxisColumn - paddingAndBorderAxisColumn;
|
const float minInnerHeight = YGValueResolve(&node->style.minDimensions[YGDimensionHeight], parentHeight) - marginAxisColumn - paddingAndBorderAxisColumn;
|
||||||
@@ -1607,15 +1605,11 @@ static void YGNodelayoutImpl(const YGNodeRef node,
|
|||||||
const float maxInnerMainDim = isMainAxisRow ? maxInnerWidth : maxInnerHeight;
|
const float maxInnerMainDim = isMainAxisRow ? maxInnerWidth : maxInnerHeight;
|
||||||
|
|
||||||
// Max dimension overrides predefined dimension value; Min dimension in turn overrides both of the above
|
// Max dimension overrides predefined dimension value; Min dimension in turn overrides both of the above
|
||||||
if (!YGFloatIsUndefined(availableInnerWidth)) {
|
const float availableInnerWidth = fmaxf(fminf(availableWidth - marginAxisRow - paddingAndBorderAxisRow, maxInnerWidth), minInnerWidth);
|
||||||
availableInnerWidth = fmaxf(fminf(availableInnerWidth, maxInnerWidth), minInnerWidth);
|
const float availableInnerHeight = fmaxf(fminf(availableHeight - marginAxisColumn - paddingAndBorderAxisColumn, maxInnerHeight), minInnerHeight);
|
||||||
}
|
|
||||||
if (!YGFloatIsUndefined(availableInnerHeight)) {
|
|
||||||
availableInnerHeight = fmaxf(fminf(availableInnerHeight, maxInnerHeight), minInnerHeight);
|
|
||||||
}
|
|
||||||
|
|
||||||
float availableInnerMainDim = isMainAxisRow ? availableInnerWidth : availableInnerHeight;
|
float availableInnerMainDim = isMainAxisRow ? availableInnerWidth : availableInnerHeight;
|
||||||
const float availableInnerCrossDim = isMainAxisRow ? availableInnerHeight : availableInnerWidth;
|
float availableInnerCrossDim = isMainAxisRow ? availableInnerHeight : availableInnerWidth;
|
||||||
|
|
||||||
// If there is only one child with flexGrow + flexShrink it means we can set the
|
// If there is only one child with flexGrow + flexShrink it means we can set the
|
||||||
// computedFlexBasis to 0 instead of measuring and shrinking / flexing the child to exactly
|
// computedFlexBasis to 0 instead of measuring and shrinking / flexing the child to exactly
|
||||||
@@ -1772,11 +1766,11 @@ static void YGNodelayoutImpl(const YGNodeRef node,
|
|||||||
// the line length, so there's no more space left to distribute.
|
// the line length, so there's no more space left to distribute.
|
||||||
|
|
||||||
// We resolve main dimension to fit minimum and maximum values
|
// We resolve main dimension to fit minimum and maximum values
|
||||||
if (YGValueIsUndefined(availableInnerMainDim)) {
|
if (YGFloatIsUndefined(availableInnerMainDim)) {
|
||||||
if (!YGValueIsUndefined(minInnerMainDim) &&
|
if (!YGFloatIsUndefined(minInnerMainDim) &&
|
||||||
sizeConsumedOnCurrentLine < minInnerMainDim) {
|
sizeConsumedOnCurrentLine < minInnerMainDim) {
|
||||||
availableInnerMainDim = minInnerMainDim;
|
availableInnerMainDim = minInnerMainDim;
|
||||||
} else if (!YGValueIsUndefined(maxInnerMainDim) &&
|
} else if (!YGFloatIsUndefined(maxInnerMainDim) &&
|
||||||
sizeConsumedOnCurrentLine > maxInnerMainDim) {
|
sizeConsumedOnCurrentLine > maxInnerMainDim) {
|
||||||
availableInnerMainDim = maxInnerMainDim;
|
availableInnerMainDim = maxInnerMainDim;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user