summaryrefslogtreecommitdiff
path: root/redo/sizer.go
diff options
context:
space:
mode:
authorPietro Gagliardi <[email protected]>2014-08-04 17:46:08 -0400
committerPietro Gagliardi <[email protected]>2014-08-04 17:47:39 -0400
commit88c01bf69532243f432e03121b922a94d19b0ae1 (patch)
tree0685f9e001aff4f6cebe0b06b26ac2212346445e /redo/sizer.go
parent74e2214f4391d105f439b0190ac7fa640b9053f1 (diff)
Began the big sizer cleanup: renamed sizer to container, renamed sizer.go to container.go, did the Mac OS X migration, moved containerctrls.go out of the way by merging its declarations into basicctrls.go, and did a quick cleanup fix to container_darwin.m.
Diffstat (limited to 'redo/sizer.go')
-rw-r--r--redo/sizer.go50
1 files changed, 0 insertions, 50 deletions
diff --git a/redo/sizer.go b/redo/sizer.go
deleted file mode 100644
index 4862ac0..0000000
--- a/redo/sizer.go
+++ /dev/null
@@ -1,50 +0,0 @@
-// 25 june 2014
-
-package ui
-
-type allocation struct {
- x int
- y int
- width int
- height int
- this Control
- neighbor Control
-}
-
-type sizingbase struct {
- xmargin int
- ymargin int
- xpadding int
- ypadding int
-}
-
-type controlSizing interface {
- allocate(x int, y int, width int, height int, d *sizing) []*allocation
- preferredSize(*sizing) (int, int)
- commitResize(*allocation, *sizing)
- getAuxResizeInfo(*sizing)
-}
-
-// A sizer hosts a Control and resizes that Control based on changes in size to the parent Window.
-// sizer is used by Window, Tab, and [TODO implement] Group to contain and control their respective controls.
-// Window is the beginning of the resize chain; resizes happen on the system side.
-// Tab and Group are Controls and thus implement controlSizing; they should call their internal sizers's resize() method in their own commitResize().
-type sizer struct {
- child Control
-}
-
-// set to true to apply spacing to all windows
-var spaced bool = false
-
-func (c *sizer) resize(x, y, width, height int) {
- if c.child == nil { // no children; nothing to do
- return
- }
- d := c.beginResize()
- allocations := c.child.allocate(x + d.xmargin, y + d.ymargin, width - (2 * d.xmargin), height - (2 * d.ymargin), d)
- c.translateAllocationCoords(allocations, width, height)
- // move in reverse so as to approximate right->left order so neighbors make sense
- for i := len(allocations) - 1; i >= 0; i-- {
- allocations[i].this.commitResize(allocations[i], d)
- }
-}