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