summaryrefslogtreecommitdiff
path: root/sysdata_windows.go
diff options
context:
space:
mode:
authorPietro Gagliardi <[email protected]>2014-03-29 18:51:22 -0400
committerPietro Gagliardi <[email protected]>2014-03-29 18:51:22 -0400
commita94d154e1b9b130a225e76ed1d5fd92b6125b720 (patch)
tree2303d0c2b0e4ccfc88f538dedadc1005939fbb64 /sysdata_windows.go
parent17ae3546d21f5692763f6e4140dd189c4ac1a520 (diff)
Implemented Area.SetSize() on Windows.
Diffstat (limited to 'sysdata_windows.go')
-rw-r--r--sysdata_windows.go17
1 files changed, 16 insertions, 1 deletions
diff --git a/sysdata_windows.go b/sysdata_windows.go
index 6782300..5d7acf0 100644
--- a/sysdata_windows.go
+++ b/sysdata_windows.go
@@ -17,6 +17,9 @@ type sysData struct {
nextChildID _HMENU
childrenLock sync.Mutex
isMarquee bool // for sysData.setProgress()
+ // unlike with GTK+ and Mac OS X, we're responsible for sizing Area properly ourselves
+ areawidth int
+ areaheight int
}
type classData struct {
@@ -623,5 +626,17 @@ func (s *sysData) len() int {
}
func (s *sysData) setAreaSize(width int, height int) {
- // TODO
+ ret := make(chan uiret)
+ defer close(ret)
+ uitask <- &uimsg{
+ call: _sendMessage,
+ p: []uintptr{
+ uintptr(s.hwnd),
+ uintptr(msgSetAreaSize),
+ uintptr(width), // WPARAM is UINT_PTR on Windows XP and newer at least, so we're good with this
+ uintptr(height),
+ },
+ ret: ret,
+ }
+ <-ret
}