ui.gadgets.tracks: rewrite pref-dim* method
parent
1a04f30c7c
commit
43b2022176
|
@ -16,8 +16,7 @@ TUPLE: track < pack sizes ;
|
||||||
V{ } clone >>sizes
|
V{ } clone >>sizes
|
||||||
1 >>fill ; inline
|
1 >>fill ; inline
|
||||||
|
|
||||||
: <track> ( orientation -- track )
|
: <track> ( orientation -- track ) track new-track ;
|
||||||
track new-track ;
|
|
||||||
|
|
||||||
: alloted-dim ( track -- dim )
|
: alloted-dim ( track -- dim )
|
||||||
dup gadget-children swap track-sizes { 0 0 }
|
dup gadget-children swap track-sizes { 0 0 }
|
||||||
|
@ -29,21 +28,20 @@ TUPLE: track < pack sizes ;
|
||||||
dup available-dim over gadget-children rot normalized-sizes
|
dup available-dim over gadget-children rot normalized-sizes
|
||||||
[ [ over n*v ] [ pref-dim ] ?if ] 2map nip ;
|
[ [ over n*v ] [ pref-dim ] ?if ] 2map nip ;
|
||||||
|
|
||||||
M: track layout*
|
M: track layout* ( track -- ) dup track-layout pack-layout ;
|
||||||
dup track-layout pack-layout ;
|
|
||||||
|
|
||||||
: track-pref-dims-1 ( track -- dim )
|
: track-pref-dims-1 ( track -- dim ) children>> pref-dims max-dim ;
|
||||||
gadget-children pref-dims max-dim ;
|
|
||||||
|
|
||||||
: track-pref-dims-2 ( track -- dim )
|
: track-pref-dims-2 ( track -- dim )
|
||||||
dup gadget-children pref-dims swap normalized-sizes
|
dup gadget-children pref-dims swap normalized-sizes
|
||||||
[ [ v/n ] when* ] 2map max-dim [ >fixnum ] map ;
|
[ [ v/n ] when* ] 2map max-dim [ >fixnum ] map ;
|
||||||
|
|
||||||
M: track pref-dim*
|
M: track pref-dim* ( gadget -- dim )
|
||||||
dup track-pref-dims-1
|
[ track-pref-dims-1 ]
|
||||||
over alloted-dim
|
[ [ alloted-dim ] [ track-pref-dims-1 ] bi v+ ]
|
||||||
pick track-pref-dims-2 v+
|
[ orientation>> ]
|
||||||
rot gadget-orientation set-axis ;
|
tri
|
||||||
|
set-axis ;
|
||||||
|
|
||||||
: track-add ( gadget track constraint -- )
|
: track-add ( gadget track constraint -- )
|
||||||
over track-sizes push swap add-gadget drop ;
|
over track-sizes push swap add-gadget drop ;
|
||||||
|
|
Loading…
Reference in New Issue