diff --git a/basis/ui/baseline-alignment/baseline-alignment.factor b/basis/ui/baseline-alignment/baseline-alignment.factor index 37fcbf1c63..e65d4c64fb 100644 --- a/basis/ui/baseline-alignment/baseline-alignment.factor +++ b/basis/ui/baseline-alignment/baseline-alignment.factor @@ -99,3 +99,7 @@ PRIVATE> : measure-height ( children sizes -- height ) (measure-metrics) [ combine-metrics + ] [ 2drop ] if* ; + +: measure-height-metrics ( children sizes -- height ascent descent ) + (measure-metrics) [ dup ] 3dip + [ combine-metrics ] keep [ [ + nip ] 2keep ] when ; diff --git a/basis/ui/gadgets/paragraphs/paragraphs.factor b/basis/ui/gadgets/paragraphs/paragraphs.factor index 6ed04ceae1..8483ac40a7 100644 --- a/basis/ui/gadgets/paragraphs/paragraphs.factor +++ b/basis/ui/gadgets/paragraphs/paragraphs.factor @@ -37,7 +37,7 @@ TUPLE: line words width height baseline ; : ( words -- line ) [ ] [ line-width ] [ [ key>> ] map dup pref-dims ] tri - measure-metrics [ + ] 2keep drop line boa ; + measure-height-metrics drop line boa ; : wrap-paragraph ( paragraph -- wrapped-paragraph ) [ children>> [ gadget>word ] map ] [ margin>> ] bi