summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPietro Gagliardi <[email protected]>2014-05-25 15:09:01 -0400
committerPietro Gagliardi <[email protected]>2014-05-25 15:09:01 -0400
commit51469fffb57cef9624f53a744409475fc14c6208 (patch)
tree363dddc89fe09cbbd7a88031bb5213480a256aaf
parente7327f237867157955657a781be148a559f4bd52 (diff)
Removed constants from common_windows.go. Almost done!
-rw-r--r--common_windows.go45
-rw-r--r--experiments/windowsconstgen.go4
-rw-r--r--stdwndclass_windows.go5
-rw-r--r--zconstants_windows_386.go5
4 files changed, 12 insertions, 47 deletions
diff --git a/common_windows.go b/common_windows.go
index f9289cb..65f8451 100644
--- a/common_windows.go
+++ b/common_windows.go
@@ -20,12 +20,6 @@ type _HWND _HANDLE
type _HBRUSH _HANDLE
type _HMENU _HANDLE
-const (
- _NULL = 0
- _FALSE = 0 // from windef.h
- _TRUE = 1 // from windef.h
-)
-
// In MSDN, _LPARAM and _LRESULT are listed as signed pointers, however their interpretation is message-specific. Ergo, just cast them yourself; it'll be the same. (Thanks to Tv` in #go-nuts for helping me realize this.)
type _WPARAM uintptr
type _LPARAM uintptr
@@ -45,11 +39,6 @@ func _LPARAMFromString(str string) _LPARAM {
return _LPARAM(unsafe.Pointer(syscall.StringToUTF16Ptr(str)))
}
-// microsoft's header files do this
-func _MAKEINTRESOURCE(what uint16) uintptr {
- return uintptr(what)
-}
-
func (l _LPARAM) X() int32 {
// according to windowsx.h
loword := uint16(l & 0xFFFF)
@@ -81,37 +70,3 @@ type _RECT struct {
func negConst(c int) uintptr {
return uintptr(c)
}
-
-// Predefined cursor resource IDs.
-const (
- _IDC_APPSTARTING = 32650
- _IDC_ARROW = 32512
- _IDC_CROSS = 32515
- _IDC_HAND = 32649
- _IDC_HELP = 32651
- _IDC_IBEAM = 32513
-// _IDC_ICON = 32641 // [Obsolete for applications marked version 4.0 or later.]
- _IDC_NO = 32648
-// _IDC_SIZE = 32640 // [Obsolete for applications marked version 4.0 or later. Use IDC_SIZEALL.]
- _IDC_SIZEALL = 32646
- _IDC_SIZENESW = 32643
- _IDC_SIZENS = 32645
- _IDC_SIZENWSE = 32642
- _IDC_SIZEWE = 32644
- _IDC_UPARROW = 32516
- _IDC_WAIT = 32514
-)
-
-// Predefined icon resource IDs.
-const (
- _IDI_APPLICATION = 32512
- _IDI_ASTERISK = 32516
- _IDI_ERROR = 32513
- _IDI_EXCLAMATION = 32515
- _IDI_HAND = 32513
- _IDI_INFORMATION = 32516
- _IDI_QUESTION = 32514
- _IDI_SHIELD = 32518
- _IDI_WARNING = 32515
- _IDI_WINLOGO = 32517
-)
diff --git a/experiments/windowsconstgen.go b/experiments/windowsconstgen.go
index b2b87ee..d840a1a 100644
--- a/experiments/windowsconstgen.go
+++ b/experiments/windowsconstgen.go
@@ -73,9 +73,13 @@ func gatherNames(pkg *ast.Package) {
}
// some constants confuse cgo into thinking they're external symbols for some reason
+// fortunately all these constants are pointers
// TODO debug cgo
var hacknames = map[string]string{
"_INVALID_HANDLE_VALUE": "x_INVALID_HANDLE_VALUE",
+ "_NULL": "x_NULL",
+ "_IDI_APPLICATION": "x_IDI_APPLICATION",
+ "_IDC_ARROW": "x_IDC_ARROW",
}
func hacknamesPreamble() string {
diff --git a/stdwndclass_windows.go b/stdwndclass_windows.go
index c2f5079..276e698 100644
--- a/stdwndclass_windows.go
+++ b/stdwndclass_windows.go
@@ -123,10 +123,11 @@ func registerStdWndClass(s *sysData) (newClassName string, err error) {
return newClassName, nil
}
+// no need to use/recreate MAKEINTRESOURCE() here as the Windows constant generator already took care of that because Microsoft's headers do already
func initWndClassInfo() (err error) {
r1, _, err := user32.NewProc("LoadIconW").Call(
uintptr(_NULL),
- _MAKEINTRESOURCE(_IDI_APPLICATION))
+ uintptr(_IDI_APPLICATION))
if r1 == 0 { // failure
return fmt.Errorf("error getting window icon: %v", err)
}
@@ -134,7 +135,7 @@ func initWndClassInfo() (err error) {
r1, _, err = user32.NewProc("LoadCursorW").Call(
uintptr(_NULL),
- _MAKEINTRESOURCE(_IDC_ARROW))
+ uintptr(_IDC_ARROW))
if r1 == 0 { // failure
return fmt.Errorf("error getting window cursor: %v", err)
}
diff --git a/zconstants_windows_386.go b/zconstants_windows_386.go
index fcbdce0..33d2998 100644
--- a/zconstants_windows_386.go
+++ b/zconstants_windows_386.go
@@ -27,6 +27,7 @@ const _DIB_RGB_COLORS = 0
const _ERROR = 0
const _ES_AUTOHSCROLL = 128
const _ES_PASSWORD = 32
+const _FALSE = 0
const _GWL_STYLE = -16
const _ICC_PROGRESS_CLASS = 32
const _LBS_EXTENDEDSEL = 2048
@@ -79,6 +80,7 @@ const _SW_HIDE = 0
const _SW_INVALIDATE = 2
const _SW_SHOW = 5
const _SW_SHOWDEFAULT = 10
+const _TRUE = 1
const _VK_ADD = 107
const _VK_CONTROL = 17
const _VK_DELETE = 46
@@ -144,4 +146,7 @@ const _WS_OVERLAPPEDWINDOW = 13565952
const _WS_TABSTOP = 65536
const _WS_VISIBLE = 268435456
const _WS_VSCROLL = 2097152
+const _IDC_ARROW = 32512
+const _IDI_APPLICATION = 32512
const _INVALID_HANDLE_VALUE = 4294967295
+const _NULL = 0