summaryrefslogtreecommitdiff
path: root/uitask_windows.go
diff options
context:
space:
mode:
Diffstat (limited to 'uitask_windows.go')
-rw-r--r--uitask_windows.go40
1 files changed, 40 insertions, 0 deletions
diff --git a/uitask_windows.go b/uitask_windows.go
new file mode 100644
index 0000000..4f0f04f
--- /dev/null
+++ b/uitask_windows.go
@@ -0,0 +1,40 @@
+// 11 february 2014
+//package ui
+package main
+
+import (
+ "syscall"
+ "unsafe"
+ "runtime"
+)
+
+var uitask chan *uimsg
+
+type uimsg struct {
+ call *syscall.LazyProc
+ p []uintptr
+ ret chan uiret
+}
+
+type uiret struct {
+ ret uintptr
+ err error
+}
+
+func ui(initDone chan error) {
+ runtime.LockOSThread()
+
+ // initialize hInstance
+ // initialize nCmdShow
+ // initialize the common window class
+ uitask = make(chan *uimsg)
+ initDone <- nil
+
+ for m := range uitask {
+ r1, _, err := m.msg.Call(m.p...)
+ m.ret <- uiret{
+ ret: r1,
+ err: err,
+ }
+ }
+}