Fixes to baseline stack alignment

1) Set the ascender/descender of an ASTextNode when the attributeString is set. Previously ascender/descender were only being computed in `setValuesFromLayoutable` and only when the attribute string was not nil. May make sense to remove the computation from `setValuesFromLayoutable` entirely.
2) Remove ability to allow different children of a stack spec to aling to different baselines. This wasn't working before and I'm not convinced it is possible to do properly/useful enough to invest the time.
3) Have all stack spec run `ASStackBaselinePositionedLayout::compute` to compute the stack's ascender and descender. Even if the stack isn't aligning its children to a baseline, the stack itself may be a child of another stack that IS aligning to a baseline.
This commit is contained in:
ricky cancro
2015-10-06 21:41:39 -07:00
parent e41f7c59c4
commit 89a216b90d
5 changed files with 56 additions and 42 deletions

View File

@@ -63,10 +63,6 @@ inline ASStackLayoutAlignItems alignment(ASStackLayoutAlignSelf childAlignment,
return ASStackLayoutAlignItemsStart;
case ASStackLayoutAlignSelfStretch:
return ASStackLayoutAlignItemsStretch;
case ASStackLayoutAlignSelfBaselineFirst:
return ASStackLayoutAlignItemsBaselineFirst;
case ASStackLayoutAlignSelfBaselineLast:
return ASStackLayoutAlignItemsBaselineLast;
case ASStackLayoutAlignSelfAuto:
default:
return stackAlignment;