diff options
Diffstat (limited to 'redo/control.go')
| -rw-r--r-- | redo/control.go | 62 |
1 files changed, 9 insertions, 53 deletions
diff --git a/redo/control.go b/redo/control.go index 0b88533..953e241 100644 --- a/redo/control.go +++ b/redo/control.go @@ -13,57 +13,13 @@ type Control interface { controlSizing } -// All Controls on the backend (that is, everything except Stack and Grid) embed this structure, which provides the Control interface methods. -// If a Control needs to override one of these functions, it assigns to the function variables. -type controldefs struct { - fsetParent func(p *controlParent) - fcontainerShow func() - fcontainerHide func() - fallocate func(x int, y int, width int, height int, d *sizing) []*allocation - fpreferredSize func(*sizing) (int, int) - fcommitResize func(*allocation, *sizing) - fgetAuxResizeInfo func(*sizing) -} - -// There's no newcontroldefs() function; all defaults are set by controlbase. - -func (w *controldefs) setParent(p *controlParent) { - w.fsetParent(p) -} - -func (w *controldefs) containerShow() { - w.fcontainerShow() -} - -func (w *controldefs) containerHide() { - w.fcontainerHide() -} - -func (w *controldefs) allocate(x int, y int, width int, height int, d *sizing) []*allocation { - return w.fallocate(x, y, width, height, d) -} - -func (w *controldefs) preferredSize(d *sizing) (int, int) { - return w.fpreferredSize(d) -} - -func (w *controldefs) commitResize(c *allocation, d *sizing) { - w.fcommitResize(c, d) -} - -func (w *controldefs) getAuxResizeInfo(d *sizing) { - w.fgetAuxResizeInfo(d) -} - -// and this is the same across all platforms -func baseallocate(c *controlbase) func(x int, y int, width int, height int, d *sizing) []*allocation { - return func(x int, y int, width int, height int, d *sizing) []*allocation { - return []*allocation{&allocation{ - x: x, - y: y, - width: width, - height: height, - this: c, - }} - } +// this is the same across all platforms +func baseallocate(c Control, x int, y int, width int, height int, d *sizing) []*allocation { + return []*allocation{&allocation{ + x: x, + y: y, + width: width, + height: height, + this: c, + }} } |
