Move condition to the non-redundant block

No need to check for RELATIVE position when position type is ABSOLUTE
and dimension is set.
This commit is contained in:
Lucas Rocha
2015-09-07 17:08:12 +01:00
parent d1a49a4f0b
commit 2321165d53
3 changed files with 36 additions and 33 deletions

View File

@@ -885,7 +885,6 @@ static void layoutNodeImpl(css_node_t *node, float parentMaxWidth, css_direction
if (isMainDimDefined) {
setTrailingPosition(node, child, mainAxis);
}
}
// Now that we placed the element, we need to update the variables
// We only need to do that for relative elements. Absolute elements
@@ -899,6 +898,7 @@ static void layoutNodeImpl(css_node_t *node, float parentMaxWidth, css_direction
crossDim = fmaxf(crossDim, boundAxis(child, crossAxis, getDimWithMargin(child, crossAxis)));
}
}
}
float containerCrossAxis = node->layout.dimensions[dim[crossAxis]];
if (!isCrossDimDefined) {
@@ -1110,6 +1110,7 @@ static void layoutNodeImpl(css_node_t *node, float parentMaxWidth, css_direction
// the axis are defined (either both left and right or top and bottom).
for (ii = 0; ii < 2; ii++) {
axis = (ii != 0) ? CSS_FLEX_DIRECTION_ROW : CSS_FLEX_DIRECTION_COLUMN;
if (!isUndefined(node->layout.dimensions[dim[axis]]) &&
!isDimDefined(currentAbsoluteChild, axis) &&
isPosDefined(currentAbsoluteChild, leading[axis]) &&

View File

@@ -753,7 +753,6 @@ var computeLayout = (function() {
if (isMainDimDefined) {
setTrailingPosition(node, child, mainAxis);
}
}
// Now that we placed the element, we need to update the variables
// We only need to do that for relative elements. Absolute elements
@@ -767,6 +766,7 @@ var computeLayout = (function() {
crossDim = fmaxf(crossDim, boundAxis(child, crossAxis, getDimWithMargin(child, crossAxis)));
}
}
}
var/*float*/ containerCrossAxis = node.layout[dim[crossAxis]];
if (!isCrossDimDefined) {
@@ -978,6 +978,7 @@ var computeLayout = (function() {
// the axis are defined (either both left and right or top and bottom).
for (ii = 0; ii < 2; ii++) {
axis = (ii !== 0) ? CSS_FLEX_DIRECTION_ROW : CSS_FLEX_DIRECTION_COLUMN;
if (!isUndefined(node.layout[dim[axis]]) &&
!isDimDefined(currentAbsoluteChild, axis) &&
isPosDefined(currentAbsoluteChild, leading[axis]) &&

View File

@@ -702,7 +702,6 @@ public class LayoutEngine {
if (isMainDimDefined) {
setTrailingPosition(node, child, mainAxis);
}
}
// Now that we placed the element, we need to update the variables
// We only need to do that for relative elements. Absolute elements
@@ -716,6 +715,7 @@ public class LayoutEngine {
crossDim = Math.max(crossDim, boundAxis(child, crossAxis, getDimWithMargin(child, crossAxis)));
}
}
}
float containerCrossAxis = node.layout.dimensions[dim[crossAxis]];
if (!isCrossDimDefined) {
@@ -927,6 +927,7 @@ public class LayoutEngine {
// the axis are defined (either both left and right or top and bottom).
for (ii = 0; ii < 2; ii++) {
axis = (ii != 0) ? CSS_FLEX_DIRECTION_ROW : CSS_FLEX_DIRECTION_COLUMN;
if (!isUndefined(node.layout.dimensions[dim[axis]]) &&
!isDimDefined(currentAbsoluteChild, axis) &&
isPosDefined(currentAbsoluteChild, leading[axis]) &&