diff options
| author | Pietro Gagliardi <[email protected]> | 2014-07-02 17:13:40 -0400 |
|---|---|---|
| committer | Pietro Gagliardi <[email protected]> | 2014-07-02 17:13:40 -0400 |
| commit | 5d339e656b66d00356960ae057969532d34245b4 (patch) | |
| tree | 01f00932aba2a4b996603beeda788995e0f0a382 /init_windows.go | |
| parent | 2d7e168e6a350a0cfb52970fbf74c9e37834eaec (diff) | |
Moved everything out of the way pending rewrite.
Diffstat (limited to 'init_windows.go')
| -rw-r--r-- | init_windows.go | 85 |
1 files changed, 0 insertions, 85 deletions
diff --git a/init_windows.go b/init_windows.go deleted file mode 100644 index b8f11a5..0000000 --- a/init_windows.go +++ /dev/null @@ -1,85 +0,0 @@ -// 8 february 2014 - -package ui - -import ( - "fmt" - "unsafe" -) - -var ( - hInstance _HANDLE - nCmdShow int -) - -// TODO is this documented? -func getWinMainhInstance() (err error) { - r1, _, err := kernel32.NewProc("GetModuleHandleW").Call(uintptr(_NULL)) - if r1 == 0 { // failure - return err - } - hInstance = _HANDLE(r1) - return nil -} - -// this is what MinGW-w64 does (for instance, http://sourceforge.net/p/mingw-w64/code/6604/tree/trunk/mingw-w64-crt/crt/crtexe.c#l320); Burgundy in irc.freenode.net/#winapi said that the Visual C++ runtime does this too -func getWinMainnCmdShow() { - var info struct { - cb uint32 - lpReserved *uint16 - lpDesktop *uint16 - lpTitle *uint16 - dwX uint32 - dwY uint32 - dwXSize uint32 - dwYSzie uint32 - dwXCountChars uint32 - dwYCountChars uint32 - dwFillAttribute uint32 - dwFlags uint32 - wShowWindow uint16 - cbReserved2 uint16 - lpReserved2 *byte - hStdInput _HANDLE - hStdOutput _HANDLE - hStdError _HANDLE - } - - // does not fail according to MSDN - kernel32.NewProc("GetStartupInfoW").Call(uintptr(unsafe.Pointer(&info))) - if info.dwFlags&_STARTF_USESHOWWINDOW != 0 { - nCmdShow = int(info.wShowWindow) - } else { - nCmdShow = _SW_SHOWDEFAULT - } -} - -func doWindowsInit() (err error) { - err = getWinMainhInstance() - if err != nil { - return fmt.Errorf("error getting WinMain hInstance: %v", err) - } - getWinMainnCmdShow() - err = initWndClassInfo() - if err != nil { - return fmt.Errorf("error initializing standard window class auxiliary info: %v", err) - } - err = registerStdWndClass() - if err != nil { - return fmt.Errorf("error registering standard window class (for Window): %v", err) - } - err = registerAreaWndClass() - if err != nil { - return fmt.Errorf("error registering Area window class: %v", err) - } - err = getStandardWindowFonts() - if err != nil { - return fmt.Errorf("error getting standard window fonts: %v", err) - } - err = initCommonControls() - if err != nil { - return fmt.Errorf("error initializing Common Controls (comctl32.dll): %v", err) - } - // others go here - return nil // all ready to go -} |
