padding with a child

This commit is contained in:
Christopher Chedeau
2014-04-16 12:49:31 -07:00
parent 36d6108e8d
commit d607b8bb7a
2 changed files with 18 additions and 5 deletions

View File

@@ -479,6 +479,17 @@ describe('Layout', function() {
); );
}); });
it('should layout node with padding and a child', function() {
testLayout(
{style: {padding: 5}, children: [
{style: {}}
]},
{width: 10, height: 10, top: 0, left: 0, children: [
{width: 0, height: 0, top: 5, left: 5}
]}
);
});
it('should layout randomly', function() { it('should layout randomly', function() {
function RNG(seed) { function RNG(seed) {
this.state = seed; this.state = seed;

View File

@@ -190,16 +190,18 @@ function computeLayout(node) {
children.forEach(function(child) { children.forEach(function(child) {
var alignItem = getAlignItem(node, child); var alignItem = getAlignItem(node, child);
var remainingCrossDim = node.layout[dim[crossAxis]] - var remainingCrossDim = node.layout[dim[crossAxis]] -
getDimWithMargin(child, crossAxis); getDimWithMargin(child, crossAxis) -
var leadingCrossDim = 0; getPadding(leading[crossAxis], node) -
getPadding(trailing[crossAxis], node);
var leadingCrossDim = getPadding(leading[crossAxis], node);
if (alignItem === 'flex-start') { if (alignItem === 'flex-start') {
// Do nothing // Do nothing
} else if (alignItem === 'center') { } else if (alignItem === 'center') {
leadingCrossDim = remainingCrossDim / 2; leadingCrossDim += remainingCrossDim / 2;
} else if (alignItem === 'flex-end') { } else if (alignItem === 'flex-end') {
leadingCrossDim = remainingCrossDim; leadingCrossDim += remainingCrossDim;
} else if (alignItem === 'stretch') { } else if (alignItem === 'stretch') {
child.layout[dim[crossAxis]] = node.layout[dim[crossAxis]] - child.layout[dim[crossAxis]] += node.layout[dim[crossAxis]] -
getMargin(leading[crossAxis], child) - getMargin(leading[crossAxis], child) -
getMargin(trailing[crossAxis], child); getMargin(trailing[crossAxis], child);
} }