diff options
Diffstat (limited to 'olddocs/layoutplan.md')
| -rw-r--r-- | olddocs/layoutplan.md | 25 |
1 files changed, 0 insertions, 25 deletions
diff --git a/olddocs/layoutplan.md b/olddocs/layoutplan.md deleted file mode 100644 index 9ababf6..0000000 --- a/olddocs/layoutplan.md +++ /dev/null @@ -1,25 +0,0 @@ -A Stack is a stack of controls arranged horizontally or vertically. - If horizontal, all controls take the same heights, and use their preferred widths. - If vertical, all controls take the same widths, and use their preferred heights. - -PROBLEM - We want to have controls that stretch with the window -SOLUTION - Delegate one control as the "stretchy" control. - s := NewVerticalStack(c1, c2, c3) - s.SetStretchy(1) // c2 - When drawing, all other controls have their positions and sizes determiend, then the stretchy one's is. - -PROBLEM - We want to have a control that's anchored (resizes with) the top left and one that's anchored with the top right. -SOLUTION - Allow stretchiness for arbitrary controls - s.SetStretchy(1) - s.SetStretchy(2) - When drawing, the sizes of non-stretchy controls are determined first, then all stretchy controls are given equal amounts of the rest. - The preferred size of the stack is the preferred size of non-stretchy controls + (the number of stretchy controls * the largest preferred size of the stretchy controls). - -PROBLEM - Non-equal size distribution of stretchy controls: for instance, in a horizontal stack, a navigation bar is usually a fixed size and the content area fills the rest. -SOLUTION - I'm not entirely sure how to fix this one yet; I do know for a navigation pane the user is usually in control of the size, so... will figure out later. |
