: nth-gadget gadget-children nth ;
+: <zero-rect> { 0 0 } dup <rect> ;
+
C: gadget ( -- gadget )
- { 0 0 } dup <rect> over set-delegate
+ <zero-rect> over set-delegate
{ 0 1 } over set-gadget-orientation
t over set-gadget-visible? ;
: with-pane ( pane quot -- )
#! Clear the pane and run the quotation in a scope with
#! stdio set to the pane.
+ over scroll>top
over pane-clear >r <pane-stream> r>
over >r with-stream r> ?terpri ; inline
: (scroll>bottom) ( scroller -- )
dup scroller-viewport viewport-dim { 0 1 } v* scroll ;
+: scroll>top ( gadget -- )
+ <zero-rect> swap scroll>rect ;
+
: update-scroller ( scroller -- )
dup scroller-follows [
dup scroller-follows t eq? [