[Layout] Rename ASLayoutable to ASLayoutElement (#2290)

* [Layout API] Rename ASLayoutable to ASLayoutElement

* arg

* fix wrapperWithLayoutElement

* [Layout API] Rename ASLayoutable to ASLayoutElement

* arg

* address Michael's comments

* Remove ASLayoutValidation files that were deleted on master since this diff was created.
This commit is contained in:
Hannah Troisi
2016-09-29 00:02:47 -07:00
committed by appleguy
parent 1abc1a833c
commit 7551627b58
50 changed files with 719 additions and 723 deletions

View File

@@ -15,7 +15,7 @@
static CGFloat baselineForItem(const ASStackLayoutSpecStyle &style,
const ASLayout *layout) {
__weak id<ASLayoutable> child = layout.layoutable;
__weak id<ASLayoutElement> child = layout.layoutElement;
switch (style.alignItems) {
case ASStackLayoutAlignItemsBaselineFirst:
return child.style.ascender;
@@ -33,7 +33,7 @@ static CGFloat baselineOffset(const ASStackLayoutSpecStyle &style,
const CGFloat maxBaseline)
{
if (style.direction == ASStackLayoutDirectionHorizontal) {
__weak id<ASLayoutable> child = l.layoutable;
__weak id<ASLayoutElement> child = l.layoutElement;
switch (style.alignItems) {
case ASStackLayoutAlignItemsBaselineFirst:
return maxAscender - child.style.ascender;
@@ -89,9 +89,9 @@ ASStackBaselinePositionedLayout ASStackBaselinePositionedLayout::compute(const A
our layoutSpec to have it so that it can be baseline aligned with another text node or baseline layout spec.
*/
const auto ascenderIt = std::max_element(positionedLayout.sublayouts.begin(), positionedLayout.sublayouts.end(), [&](const ASLayout *a, const ASLayout *b){
return a.layoutable.style.ascender < b.layoutable.style.ascender;
return a.layoutElement.style.ascender < b.layoutElement.style.ascender;
});
const CGFloat maxAscender = ascenderIt == positionedLayout.sublayouts.end() ? 0 : (*ascenderIt).layoutable.style.ascender;
const CGFloat maxAscender = ascenderIt == positionedLayout.sublayouts.end() ? 0 : (*ascenderIt).layoutElement.style.ascender;
/*
Step 3: Take each child and update its layout position based on the baseline offset.
@@ -108,7 +108,7 @@ ASStackBaselinePositionedLayout ASStackBaselinePositionedLayout::compute(const A
CGPoint p = CGPointZero;
BOOL first = YES;
stackedChildren = AS::map(positionedLayout.sublayouts, [&](ASLayout *l) -> ASLayout *{
__weak id<ASLayoutable> child = l.layoutable;
__weak id<ASLayoutElement> child = l.layoutElement;
p = p + directionPoint(style.direction, child.style.spacingBefore, 0);
if (first) {
// if this is the first item use the previously computed start point
@@ -156,12 +156,12 @@ ASStackBaselinePositionedLayout ASStackBaselinePositionedLayout::compute(const A
/*
Step 5: finally, we must find the smallest descender (descender is negative). This is since ASBaselineLayoutSpec implements
ASLayoutable and needs an ascender and descender to lay itself out properly.
ASLayoutElement and needs an ascender and descender to lay itself out properly.
*/
const auto descenderIt = std::max_element(stackedChildren.begin(), stackedChildren.end(), [&](const ASLayout *a, const ASLayout *b){
return a.position.y + a.size.height < b.position.y + b.size.height;
});
const CGFloat minDescender = descenderIt == stackedChildren.end() ? 0 : (*descenderIt).layoutable.style.descender;
const CGFloat minDescender = descenderIt == stackedChildren.end() ? 0 : (*descenderIt).layoutElement.style.descender;
return {stackedChildren, crossSize, maxAscender, minDescender};
}