summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPietro Gagliardi <[email protected]>2014-06-09 22:26:37 -0400
committerPietro Gagliardi <[email protected]>2014-06-09 22:26:37 -0400
commitcaeff5bb88718b7bf7ec8325496ee2f2d87bd5eb (patch)
tree09d994d1dc2d6ed6d8fe56a97ceb3e83baa666f6
parentf8d46b6bdb3ae58908bdda0515041e34a7f36b24 (diff)
Implemented RepaintAll() on Windows.
-rw-r--r--area_windows.go3
-rw-r--r--sysdata_windows.go16
-rw-r--r--uitask_windows.go1
3 files changed, 20 insertions, 0 deletions
diff --git a/area_windows.go b/area_windows.go
index 235a5a3..5afd259 100644
--- a/area_windows.go
+++ b/area_windows.go
@@ -698,6 +698,9 @@ func areaWndProc(hwnd _HWND, uMsg uint32, wParam _WPARAM, lParam _LPARAM) _LRESU
adjustAreaScrollbars(s)
repaintArea(s) // this calls for an update
return 0
+ case msgRepaintAll:
+ repaintArea(s)
+ return 0
default:
return defWindowProc(hwnd, uMsg, wParam, lParam)
}
diff --git a/sysdata_windows.go b/sysdata_windows.go
index 7e0335c..94f719a 100644
--- a/sysdata_windows.go
+++ b/sysdata_windows.go
@@ -669,3 +669,19 @@ func (s *sysData) setAreaSize(width int, height int) {
}
<-ret
}
+
+func (s *sysData) repaintAll() {
+ ret := make(chan uiret)
+ defer close(ret)
+ uitask <- &uimsg{
+ call: _sendMessage,
+ p: []uintptr{
+ uintptr(s.hwnd),
+ uintptr(msgRepaintAll),
+ uintptr(0),
+ uintptr(0),
+ },
+ ret: ret,
+ }
+ <-ret
+}
diff --git a/uitask_windows.go b/uitask_windows.go
index f303ee5..04ab54a 100644
--- a/uitask_windows.go
+++ b/uitask_windows.go
@@ -39,6 +39,7 @@ const (
msgRequested = _WM_APP + iota + 1 // + 1 just to be safe
msgQuit
msgSetAreaSize
+ msgRepaintAll
)
var (