ui.gadgets: Add '(>>dim)' method for 'gadget'. Add 'do-invalidate'.
parent
c13e36e216
commit
22fb3f329c
|
@ -170,11 +170,21 @@ DEFER: relayout
|
||||||
[ [ 2drop ] [ set-rect-dim ] if ] 2keep
|
[ [ 2drop ] [ set-rect-dim ] if ] 2keep
|
||||||
[ drop ] r> if ; inline
|
[ drop ] r> if ; inline
|
||||||
|
|
||||||
: set-layout-dim ( dim gadget -- )
|
! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||||
[ invalidate ] (set-rect-dim) ;
|
|
||||||
|
|
||||||
: set-gadget-dim ( dim gadget -- )
|
DEFER: in-layout?
|
||||||
[ invalidate* ] (set-rect-dim) ;
|
|
||||||
|
: do-invalidate ( gadget -- gadget )
|
||||||
|
in-layout? get [ dup invalidate ] [ dup invalidate* ] if ;
|
||||||
|
|
||||||
|
M: gadget (>>dim) ( dim gadget -- )
|
||||||
|
2dup dim>> =
|
||||||
|
[ 2drop ]
|
||||||
|
[ tuck call-next-method do-invalidate drop ]
|
||||||
|
if ;
|
||||||
|
|
||||||
|
: set-layout-dim ( dim gadget -- ) (>>dim) ;
|
||||||
|
: set-gadget-dim ( dim gadget -- ) (>>dim) ;
|
||||||
|
|
||||||
GENERIC: pref-dim* ( gadget -- dim )
|
GENERIC: pref-dim* ( gadget -- dim )
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue