fix incremental layout regression
parent
914e81e16a
commit
a877fd5c3b
|
@ -1,4 +1,3 @@
|
||||||
- finish scrollbars
|
|
||||||
- fix up the min thumb size hack
|
- fix up the min thumb size hack
|
||||||
|
|
||||||
+ ui:
|
+ ui:
|
||||||
|
|
|
@ -60,27 +60,14 @@ DEFER: add-invalid
|
||||||
[ gadget-parent [ relayout ] when* ] ifte
|
[ gadget-parent [ relayout ] when* ] ifte
|
||||||
] ifte ;
|
] ifte ;
|
||||||
|
|
||||||
: (relayout-down)
|
|
||||||
dup invalidate gadget-children [ (relayout-down) ] each ;
|
|
||||||
|
|
||||||
: relayout-down ( gadget -- )
|
: relayout-down ( gadget -- )
|
||||||
#! Relayout a gadget and its children.
|
#! Relayout a gadget and its children.
|
||||||
dup add-invalid (relayout-down) ;
|
dup add-invalid invalidate ;
|
||||||
|
|
||||||
: set-gadget-dim ( dim gadget -- )
|
: set-gadget-dim ( dim gadget -- )
|
||||||
2dup rect-dim =
|
2dup rect-dim =
|
||||||
[ 2drop ] [ [ set-rect-dim ] keep relayout-down ] ifte ;
|
[ 2drop ] [ [ set-rect-dim ] keep relayout-down ] ifte ;
|
||||||
|
|
||||||
GENERIC: pref-dim ( gadget -- dim )
|
|
||||||
|
|
||||||
M: gadget pref-dim rect-dim ;
|
|
||||||
|
|
||||||
GENERIC: layout* ( gadget -- )
|
|
||||||
|
|
||||||
: prefer ( gadget -- ) dup pref-dim swap set-gadget-dim ;
|
|
||||||
|
|
||||||
M: gadget layout* drop ;
|
|
||||||
|
|
||||||
GENERIC: user-input* ( ch gadget -- ? )
|
GENERIC: user-input* ( ch gadget -- ? )
|
||||||
|
|
||||||
M: gadget user-input* 2drop t ;
|
M: gadget user-input* 2drop t ;
|
||||||
|
|
|
@ -4,6 +4,16 @@ IN: gadgets-layouts
|
||||||
USING: errors gadgets generic hashtables kernel lists math
|
USING: errors gadgets generic hashtables kernel lists math
|
||||||
matrices namespaces sdl sequences ;
|
matrices namespaces sdl sequences ;
|
||||||
|
|
||||||
|
GENERIC: pref-dim ( gadget -- dim )
|
||||||
|
|
||||||
|
M: gadget pref-dim rect-dim ;
|
||||||
|
|
||||||
|
GENERIC: layout* ( gadget -- )
|
||||||
|
|
||||||
|
M: gadget layout* drop ;
|
||||||
|
|
||||||
|
: prefer ( gadget -- ) dup pref-dim swap set-gadget-dim ;
|
||||||
|
|
||||||
: layout ( gadget -- )
|
: layout ( gadget -- )
|
||||||
#! Set the gadget's width and height to its preferred width
|
#! Set the gadget's width and height to its preferred width
|
||||||
#! and height. The gadget's children are laid out first.
|
#! and height. The gadget's children are laid out first.
|
||||||
|
|
Loading…
Reference in New Issue