From dc8e6e679918b5a8ec0b9d89612748fb3312a499 Mon Sep 17 00:00:00 2001 From: John Benediktsson Date: Thu, 27 Feb 2020 21:53:39 -0800 Subject: [PATCH] ui.gadgets.paragraphs: need to merge height/metrics. Sometimes cap-height is false and we handle that differently. --- basis/ui/baseline-alignment/baseline-alignment.factor | 4 ++++ basis/ui/gadgets/paragraphs/paragraphs.factor | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) 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