From caeff5bb88718b7bf7ec8325496ee2f2d87bd5eb Mon Sep 17 00:00:00 2001 From: Pietro Gagliardi Date: Mon, 9 Jun 2014 22:26:37 -0400 Subject: [PATCH] Implemented RepaintAll() on Windows. --- area_windows.go | 3 +++ sysdata_windows.go | 16 ++++++++++++++++ uitask_windows.go | 1 + 3 files changed, 20 insertions(+) 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 (