From 64d5eb541eb28e1a7e81adca66a72155d16033b4 Mon Sep 17 00:00:00 2001 From: Pietro Gagliardi Date: Mon, 17 Mar 2014 21:09:03 -0400 Subject: Changed the new resizing code so that it uses the same allocated slice per window instead of making a new one to store all the resize requests each time. --- stack.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'stack.go') diff --git a/stack.go b/stack.go index 2820ef7..86ae551 100644 --- a/stack.go +++ b/stack.go @@ -77,11 +77,11 @@ func (s *Stack) make(window *sysData) error { return nil } -func (s *Stack) setRect(x int, y int, width int, height int) (rr []resizerequest) { +func (s *Stack) setRect(x int, y int, width int, height int, rr *[]resizerequest) { var stretchywid, stretchyht int if len(s.controls) == 0 { // do nothing if there's nothing to do - return nil + return } // 1) get height and width of non-stretchy controls; figure out how much space is alloted to stretchy controls stretchywid = width @@ -120,14 +120,14 @@ func (s *Stack) setRect(x int, y int, width int, height int) (rr []resizerequest } // 3) now actually place controls for i, c := range s.controls { - rr = append(rr, c.setRect(x, y, s.width[i], s.height[i])...) + c.setRect(x, y, s.width[i], s.height[i], rr) if s.orientation == horizontal { x += s.width[i] } else { y += s.height[i] } } - return rr + return } // The preferred size of a Stack is the sum of the preferred sizes of non-stretchy controls + (the number of stretchy controls * the largest preferred size among all stretchy controls). -- cgit v1.2.3