mirror of
https://github.com/Ed94/Odin.git
synced 2026-08-05 15:18:49 +00:00
Merge pull request #1656 from ftphikari/master
sys/windows: fix gdi32 raw pointer types
This commit is contained in:
@@ -14,7 +14,7 @@ foreign gdi32 {
|
|||||||
hdc: HDC,
|
hdc: HDC,
|
||||||
pbmih: ^BITMAPINFOHEADER,
|
pbmih: ^BITMAPINFOHEADER,
|
||||||
flInit: DWORD,
|
flInit: DWORD,
|
||||||
pjBits: ^VOID,
|
pjBits: VOID,
|
||||||
pbmi: ^BITMAPINFO,
|
pbmi: ^BITMAPINFO,
|
||||||
iUsage: UINT,
|
iUsage: UINT,
|
||||||
) -> HBITMAP ---
|
) -> HBITMAP ---
|
||||||
@@ -23,7 +23,7 @@ foreign gdi32 {
|
|||||||
hdc: HDC,
|
hdc: HDC,
|
||||||
pbmi: ^BITMAPINFO,
|
pbmi: ^BITMAPINFO,
|
||||||
usage: UINT,
|
usage: UINT,
|
||||||
ppvBits: ^^VOID,
|
ppvBits: VOID,
|
||||||
hSection: HANDLE,
|
hSection: HANDLE,
|
||||||
offset: DWORD,
|
offset: DWORD,
|
||||||
) -> HBITMAP ---
|
) -> HBITMAP ---
|
||||||
@@ -38,7 +38,7 @@ foreign gdi32 {
|
|||||||
ySrc: c_int,
|
ySrc: c_int,
|
||||||
SrcWidth: c_int,
|
SrcWidth: c_int,
|
||||||
SrcHeight: c_int,
|
SrcHeight: c_int,
|
||||||
lpBits: ^VOID,
|
lpBits: VOID,
|
||||||
lpbmi: ^BITMAPINFO,
|
lpbmi: ^BITMAPINFO,
|
||||||
iUsage: UINT,
|
iUsage: UINT,
|
||||||
rop: DWORD,
|
rop: DWORD,
|
||||||
|
|||||||
@@ -312,6 +312,65 @@ CREATESTRUCTW:: struct {
|
|||||||
dwExStyle: DWORD,
|
dwExStyle: DWORD,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// MessageBox() Flags
|
||||||
|
MB_OK :: 0x00000000
|
||||||
|
MB_OKCANCEL :: 0x00000001
|
||||||
|
MB_ABORTRETRYIGNORE :: 0x00000002
|
||||||
|
MB_YESNOCANCEL :: 0x00000003
|
||||||
|
MB_YESNO :: 0x00000004
|
||||||
|
MB_RETRYCANCEL :: 0x00000005
|
||||||
|
MB_CANCELTRYCONTINUE :: 0x00000006
|
||||||
|
|
||||||
|
MB_ICONHAND :: 0x00000010
|
||||||
|
MB_ICONQUESTION :: 0x00000020
|
||||||
|
MB_ICONEXCLAMATION :: 0x00000030
|
||||||
|
MB_ICONASTERISK :: 0x00000040
|
||||||
|
MB_USERICON :: 0x00000080
|
||||||
|
MB_ICONWARNING :: MB_ICONEXCLAMATION
|
||||||
|
MB_ICONERROR :: MB_ICONHAND
|
||||||
|
MB_ICONINFORMATION :: MB_ICONASTERISK
|
||||||
|
MB_ICONSTOP :: MB_ICONHAND
|
||||||
|
|
||||||
|
MB_DEFBUTTON1 :: 0x00000000
|
||||||
|
MB_DEFBUTTON2 :: 0x00000100
|
||||||
|
MB_DEFBUTTON3 :: 0x00000200
|
||||||
|
MB_DEFBUTTON4 :: 0x00000300
|
||||||
|
|
||||||
|
MB_APPLMODAL :: 0x00000000
|
||||||
|
MB_SYSTEMMODAL :: 0x00001000
|
||||||
|
MB_TASKMODAL :: 0x00002000
|
||||||
|
MB_HELP :: 0x00004000 // Help Button
|
||||||
|
|
||||||
|
MB_NOFOCUS :: 0x00008000
|
||||||
|
MB_SETFOREGROUND :: 0x00010000
|
||||||
|
MB_DEFAULT_DESKTOP_ONLY :: 0x00020000
|
||||||
|
MB_TOPMOST :: 0x00040000
|
||||||
|
MB_RIGHT :: 0x00080000
|
||||||
|
MB_RTLREADING :: 0x00100000
|
||||||
|
|
||||||
|
MB_SERVICE_NOTIFICATION :: 0x00200000
|
||||||
|
MB_SERVICE_NOTIFICATION_NT3X :: 0x00040000
|
||||||
|
|
||||||
|
MB_TYPEMASK :: 0x0000000F
|
||||||
|
MB_ICONMASK :: 0x000000F0
|
||||||
|
MB_DEFMASK :: 0x00000F00
|
||||||
|
MB_MODEMASK :: 0x00003000
|
||||||
|
MB_MISCMASK :: 0x0000C000
|
||||||
|
|
||||||
|
// Dialog Box Command IDs
|
||||||
|
IDOK :: 1
|
||||||
|
IDCANCEL :: 2
|
||||||
|
IDABORT :: 3
|
||||||
|
IDRETRY :: 4
|
||||||
|
IDIGNORE :: 5
|
||||||
|
IDYES :: 6
|
||||||
|
IDNO :: 7
|
||||||
|
IDCLOSE :: 8
|
||||||
|
IDHELP :: 9
|
||||||
|
IDTRYAGAIN :: 10
|
||||||
|
IDCONTINUE :: 11
|
||||||
|
IDTIMEOUT :: 32000
|
||||||
|
|
||||||
CS_VREDRAW : UINT : 0x0001
|
CS_VREDRAW : UINT : 0x0001
|
||||||
CS_HREDRAW : UINT : 0x0002
|
CS_HREDRAW : UINT : 0x0002
|
||||||
CS_DBLCLKS : UINT : 0x0008
|
CS_DBLCLKS : UINT : 0x0008
|
||||||
@@ -399,6 +458,30 @@ SW_RESTORE : c_int : 9
|
|||||||
SW_SHOWDEFAULT : c_int : 10
|
SW_SHOWDEFAULT : c_int : 10
|
||||||
SW_FORCEMINIMIZE : c_int : 11
|
SW_FORCEMINIMIZE : c_int : 11
|
||||||
|
|
||||||
|
// SetWindowPos Flags
|
||||||
|
SWP_NOSIZE :: 0x0001
|
||||||
|
SWP_NOMOVE :: 0x0002
|
||||||
|
SWP_NOZORDER :: 0x0004
|
||||||
|
SWP_NOREDRAW :: 0x0008
|
||||||
|
SWP_NOACTIVATE :: 0x0010
|
||||||
|
SWP_FRAMECHANGED :: 0x0020 // The frame changed: send WM_NCCALCSIZE
|
||||||
|
SWP_SHOWWINDOW :: 0x0040
|
||||||
|
SWP_HIDEWINDOW :: 0x0080
|
||||||
|
SWP_NOCOPYBITS :: 0x0100
|
||||||
|
SWP_NOOWNERZORDER :: 0x0200 // Don't do owner Z ordering
|
||||||
|
SWP_NOSENDCHANGING :: 0x0400 // Don't send WM_WINDOWPOSCHANGING
|
||||||
|
|
||||||
|
SWP_DRAWFRAME :: SWP_FRAMECHANGED
|
||||||
|
SWP_NOREPOSITION :: SWP_NOOWNERZORDER
|
||||||
|
|
||||||
|
SWP_DEFERERASE :: 0x2000 // same as SWP_DEFERDRAWING
|
||||||
|
SWP_ASYNCWINDOWPOS :: 0x4000 // same as SWP_CREATESPB
|
||||||
|
|
||||||
|
HWND_TOP :: 0
|
||||||
|
HWND_BOTTOM :: 1
|
||||||
|
HWND_TOPMOST :: -1
|
||||||
|
HWND_NOTOPMOST :: -2
|
||||||
|
|
||||||
CW_USEDEFAULT : c_int : -2147483648
|
CW_USEDEFAULT : c_int : -2147483648
|
||||||
|
|
||||||
SIZE_RESTORED :: 0
|
SIZE_RESTORED :: 0
|
||||||
@@ -416,6 +499,15 @@ WMSZ_BOTTOM :: 6
|
|||||||
WMSZ_BOTTOMLEFT :: 7
|
WMSZ_BOTTOMLEFT :: 7
|
||||||
WMSZ_BOTTOMRIGHT :: 8
|
WMSZ_BOTTOMRIGHT :: 8
|
||||||
|
|
||||||
|
// Key State Masks for Mouse Messages
|
||||||
|
MK_LBUTTON :: 0x0001
|
||||||
|
MK_RBUTTON :: 0x0002
|
||||||
|
MK_SHIFT :: 0x0004
|
||||||
|
MK_CONTROL :: 0x0008
|
||||||
|
MK_MBUTTON :: 0x0010
|
||||||
|
MK_XBUTTON1 :: 0x0020
|
||||||
|
MK_XBUTTON2 :: 0x0040
|
||||||
|
|
||||||
_IDC_APPSTARTING := rawptr(uintptr(32650))
|
_IDC_APPSTARTING := rawptr(uintptr(32650))
|
||||||
_IDC_ARROW := rawptr(uintptr(32512))
|
_IDC_ARROW := rawptr(uintptr(32512))
|
||||||
_IDC_CROSS := rawptr(uintptr(32515))
|
_IDC_CROSS := rawptr(uintptr(32515))
|
||||||
@@ -837,6 +929,15 @@ FILE_TYPE_PIPE :: 0x0003
|
|||||||
RECT :: struct {left, top, right, bottom: LONG}
|
RECT :: struct {left, top, right, bottom: LONG}
|
||||||
POINT :: struct {x, y: LONG}
|
POINT :: struct {x, y: LONG}
|
||||||
|
|
||||||
|
WINDOWPOS :: struct {
|
||||||
|
hwnd: HWND,
|
||||||
|
hwndInsertAfter: HWND,
|
||||||
|
x: c_int,
|
||||||
|
y: c_int,
|
||||||
|
cx: c_int,
|
||||||
|
cy: c_int,
|
||||||
|
flags: UINT,
|
||||||
|
}
|
||||||
|
|
||||||
when size_of(uintptr) == 4 {
|
when size_of(uintptr) == 4 {
|
||||||
WSADATA :: struct {
|
WSADATA :: struct {
|
||||||
|
|||||||
@@ -97,6 +97,15 @@ foreign user32 {
|
|||||||
LoadCursorW :: proc(hInstance: HINSTANCE, lpCursorName: LPCWSTR) -> HCURSOR ---
|
LoadCursorW :: proc(hInstance: HINSTANCE, lpCursorName: LPCWSTR) -> HCURSOR ---
|
||||||
|
|
||||||
GetClientRect :: proc(hWnd: HWND, lpRect: ^RECT) -> BOOL ---
|
GetClientRect :: proc(hWnd: HWND, lpRect: ^RECT) -> BOOL ---
|
||||||
|
SetWindowPos :: proc(
|
||||||
|
hWnd: HWND,
|
||||||
|
hWndInsertAfter: HWND,
|
||||||
|
X: c_int,
|
||||||
|
Y: c_int,
|
||||||
|
cx: c_int,
|
||||||
|
cy: c_int,
|
||||||
|
uFlags: UINT,
|
||||||
|
) -> BOOL ---
|
||||||
|
|
||||||
GetWindowDC :: proc(hWnd: HWND) -> HDC ---
|
GetWindowDC :: proc(hWnd: HWND) -> HDC ---
|
||||||
GetDC :: proc(hWnd: HWND) -> HDC ---
|
GetDC :: proc(hWnd: HWND) -> HDC ---
|
||||||
@@ -111,6 +120,11 @@ foreign user32 {
|
|||||||
|
|
||||||
GetKeyState :: proc(nVirtKey: c_int) -> SHORT ---
|
GetKeyState :: proc(nVirtKey: c_int) -> SHORT ---
|
||||||
GetAsyncKeyState :: proc(vKey: c_int) -> SHORT ---
|
GetAsyncKeyState :: proc(vKey: c_int) -> SHORT ---
|
||||||
|
|
||||||
|
MessageBoxA :: proc(hWnd: HWND, lpText: LPCSTR, lpCaption: LPCSTR, uType: UINT) -> c_int ---
|
||||||
|
MessageBoxW :: proc(hWnd: HWND, lpText: LPCWSTR, lpCaption: LPCWSTR, uType: UINT) -> c_int ---
|
||||||
|
MessageBoxExA :: proc(hWnd: HWND, lpText: LPCSTR, lpCaption: LPCSTR, uType: UINT, wLanguageId: WORD) -> c_int ---
|
||||||
|
MessageBoxExW :: proc(hWnd: HWND, lpText: LPCWSTR, lpCaption: LPCWSTR, uType: UINT, wLanguageId: WORD) -> c_int ---
|
||||||
}
|
}
|
||||||
|
|
||||||
CreateWindowA :: #force_inline proc "stdcall" (
|
CreateWindowA :: #force_inline proc "stdcall" (
|
||||||
|
|||||||
Reference in New Issue
Block a user