/* * Copyright (c) 2014-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * */ #import "ASLayoutNode.h" #import "ASAssert.h" #import "ASBaseDefines.h" #import "ASInternalHelpers.h" #import "ASLayout.h" @implementation ASLayoutNode @synthesize spacingBefore = _spacingBefore; @synthesize spacingAfter = _spacingAfter; @synthesize flexGrow = _flexGrow; @synthesize flexShrink = _flexShrink; @synthesize flexBasis = _flexBasis; @synthesize alignSelf = _alignSelf; + (instancetype)new { ASLayoutNode *n = [super new]; if (n) { n->_flexBasis = ASRelativeDimensionUnconstrained; } return n; } #pragma mark - Layout - (ASLayout *)calculateLayoutThatFits:(ASSizeRange)constrainedSize { return [ASLayout newWithLayoutableObject:self size:constrainedSize.min]; } @end