] if ;
M: editor pref-dim*
+ [ call-next-method ] keep ! at least as big as our min-rows/min-cols
! Add some space for the caret.
[ font>> ] keep dup draw-default-text?
[ default-text>> ] [ control-value ] if
- text-dim { 1 0 } v+ ;
+ text-dim { 1 0 } v+ vmax ;
M: editor baseline font>> font-metrics ascent>> ;
<PRIVATE
: clamp ( dim unit min max -- dim' )
- [ -1/0. or * ] [ 1/0. or * ] bi-curry* bi
+ [ -1/0. or 1 max * ] [ 1/0. or 1 max * ] bi-curry* bi
[ max ] [ min ] bi* ;
: em ( font -- x ) "m" text-width ;
[ drop ] [ dupd pref-viewport-dim<< ] if
] ?if ;
+M: line-gadget pref-dim* pref-viewport-dim ;
+
: visible-lines ( gadget -- n )
[ visible-dim second ] [ line-height ] bi /i ;