summaryrefslogtreecommitdiff
path: root/sysdata_windows.go
blob: 8cd822262b53f8b5f6404f5946f74dfafe07a233 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
// 11 february 2014
package main

import (
	"syscall"
	"unsafe"
)

type sysData struct {
	cSysData

	hwnd	_HWND
	cid		_HMENU
}

type classData struct {
	name	uintptr
	style		uint32
	xstyle	uint32
}

//const controlstyle = _WS_CHILD | _WS_VISIBLE | _WS_TABSTOP
//const controlxstyle = 0

var classTypes = [nctypes]*classData{
	c_window:	&classData{
		name:	uintptr(unsafe.Pointer(stdWndClass)),
		style:	xxxx,
		xstyle:	xxxx,
	},
//	c_button:		&classData{
//		name:	uintptr(unsafe.Pointer("BUTTON"))
//		style:	_BS_PUSHBUTTON | controlstyle,
//		xstyle:	0 | controlxstyle,
//	},
}

func (s *sysData) make() (err error) {
	
}

func (s *sysData) show() (err error) {
	ret := make(chan uiret)
	defer close(ret)
	uitask <- &uimsg{
		call:		_showWindow,
		p:		[]uintptr{uintptr(s.hwnd, _SW_SHOW},
		ret:		ret,
	}
	r := <-ret
	close(ret)
	return r.err
}

func (s *sysData) hide() (err error) {
	ret := make(chan uiret)
	defer close(ret)
	uitask <- &uimsg{
		call:		_showWindow,
		p:		[]uintptr{uintptr(s.hwnd), _SW_HIDE},
		ret:		ret,
	}
	r := <-ret
	close(ret)
	return r.err
}