1.3 KiB
T is max height in row S(T) is all widgets with height T R(T) is all widgets with height < T X is len(R) > 0 ? 1 : 0 C is len(S) + X Make row Make C columns Place S Recurse with R; place result
1 2 3 4 5 cpu/2............... mem/1. 6:procs/2.......... 3:temp/1. 2:disk/2......... |.................. |........ |................ |.................. |........ power/2.......... |.................. net/2............... batt.. |..................
1 2 3 4 5
cpu/2............... 6:procs/2........ mem/1...
2:disk/2............ |................ 3:temp/1
|................... |................ |.......
power/2............. |................ |.......
net/2............... |................ batt
1 2 3 4 5
1x2................. 3x2.............. 1x1..... 221 221
2x2................. ||||||||||||||||| 3x1..... 21 2x1
|||||||||||||||||||| ||||||||||||||||| ||||||||
1x1...... 1x1...... 1x2.............. 1x1..... 1121
1x2................. 1x2.............. |||||||| 22 22x
1x1...... 1x4................................... 14
initial columns = initial row fill pattern for row does pattern fit columns? yes: place widgets no: new row w/ new columns; fill
does fit cw < patt_c_w