From 3bf215ae4edb616c14c4525638cf54425d6e8f36 Mon Sep 17 00:00:00 2001 From: Pietro Gagliardi Date: Mon, 7 Apr 2014 14:32:25 -0400 Subject: Split out the common resizing code into its own function so that it's all in one place. This will also affect what happens if I switch to DeferWindowPos() on Windows. --- sysdata.go | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'sysdata.go') diff --git a/sysdata.go b/sysdata.go index 7f43a3e..1507912 100644 --- a/sysdata.go +++ b/sysdata.go @@ -87,3 +87,16 @@ type resizerequest struct { width int height int } + +func (s *sysData) doResize(x int, y int, width int, height int, winheight int) { + if s.resize != nil { + s.resizes = s.resizes[0:0] // set len to 0 without changing cap + s.resize(x, y, width, height, &s.resizes) + for _, s := range s.resizes { + err := s.sysData.setRect(s.x, s.y, s.width, s.height, winheight) + if err != nil { + panic("child resize failed: " + err.Error()) + } + } + } +} -- cgit v1.2.3