frame layout fixes
parent
b4c8ef9df4
commit
97de5ac682
|
|
@ -15,7 +15,6 @@
|
||||||
- gaps in pack layout
|
- gaps in pack layout
|
||||||
- find out why so many small bignums get consed
|
- find out why so many small bignums get consed
|
||||||
- faster mouse tracking
|
- faster mouse tracking
|
||||||
- rewrite frame layout for new style
|
|
||||||
- an interior paint that is only painted on rollover and mouse press;
|
- an interior paint that is only painted on rollover and mouse press;
|
||||||
use it for menu items. give menus a gradient background
|
use it for menu items. give menus a gradient background
|
||||||
- scroll bar: more intuitive behavior when clicking inside the elevator
|
- scroll bar: more intuitive behavior when clicking inside the elevator
|
||||||
|
|
|
||||||
|
|
@ -44,7 +44,9 @@ M: frame pref-dim ( frame -- dim )
|
||||||
[ swap [ swap 0 3vector ] map-with ] map-with ;
|
[ swap [ swap 0 3vector ] map-with ] map-with ;
|
||||||
|
|
||||||
: do-grid ( dim-grid gadget-grid quot -- )
|
: do-grid ( dim-grid gadget-grid quot -- )
|
||||||
-rot [ [ pick call ] 2each ] 2each drop ;
|
-rot [
|
||||||
|
[ dup [ pick call ] [ 2drop ] ifte ] 2each
|
||||||
|
] 2each drop ; inline
|
||||||
|
|
||||||
: position-grid ( gadgets horiz vert -- )
|
: position-grid ( gadgets horiz vert -- )
|
||||||
>r 0 [ + ] accumulate r> 0 [ + ] accumulate
|
>r 0 [ + ] accumulate r> 0 [ + ] accumulate
|
||||||
|
|
@ -53,8 +55,16 @@ M: frame pref-dim ( frame -- dim )
|
||||||
: resize-grid ( gadgets horiz vert -- )
|
: resize-grid ( gadgets horiz vert -- )
|
||||||
frame-layout swap [ set-gadget-dim ] do-grid ;
|
frame-layout swap [ set-gadget-dim ] do-grid ;
|
||||||
|
|
||||||
|
: (fill-center) ( vec n -- )
|
||||||
|
over first pick third + - 0 max 1 rot set-nth ;
|
||||||
|
|
||||||
|
: fill-center ( horiz vert dim -- )
|
||||||
|
tuck second (fill-center) first (fill-center) ;
|
||||||
|
|
||||||
M: frame layout* ( frame -- dim )
|
M: frame layout* ( frame -- dim )
|
||||||
|
[
|
||||||
frame-grid dup pref-dim-grid
|
frame-grid dup pref-dim-grid
|
||||||
dup reduce-grid [ first ] map
|
dup reduce-grid [ first ] map
|
||||||
swap flip reduce-grid [ second ] map
|
swap flip reduce-grid [ second ] map
|
||||||
3dup position-grid resize-grid ;
|
2dup
|
||||||
|
] keep rect-dim fill-center 3dup position-grid resize-grid ;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue