
Actually, now that I think about it, the css box is going to cost a lot if it has actual structures. It is going to need a to return a margin, say by inspecting the margin it was assigned, and if assigned none, return the margin that it inherited.
There is no reason why it is not possible to implement a simplified box model specifically for GUI layouts. The width/height can be calculated using get_minimum_size() and area.deflate( margin + padding ). Border is not really necessary. As for inheriting, for simplicity, the box model will not inherit anything.
Layout managers work this way... Layout managment is a capability of a window. When a window becomes a parent window (eg: you have added some butotns to it), the parent window will do the following: 1. It asks each child their minimum size 2. It tallies the minimum size needed by all children. 3. If the parent has the property that it is to use a minimum size, then it will call setSize() to be the size of the tallied size of the children. If it is to be smaller/larger, then it will adjust the tallied value to the specified size. 4. Each child is then told to setSize() to a specific size, which is based on the value of the tally and an appropriate algorithm (of say, equal width per child). Mathew