aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/sys/windows/advapi32.odin4
-rw-r--r--core/sys/windows/comctl32.odin66
-rw-r--r--core/sys/windows/icu.odin3
-rw-r--r--core/sys/windows/ip_helper.odin14
-rw-r--r--core/sys/windows/types.odin2
-rw-r--r--core/sys/windows/user32.odin20
-rw-r--r--core/sys/windows/util.odin16
-rw-r--r--core/sys/windows/ux_theme.odin11
8 files changed, 72 insertions, 64 deletions
diff --git a/core/sys/windows/advapi32.odin b/core/sys/windows/advapi32.odin
index 22cb27863..cf12a078f 100644
--- a/core/sys/windows/advapi32.odin
+++ b/core/sys/windows/advapi32.odin
@@ -228,7 +228,7 @@ foreign advapi32 {
}
PTOKEN_INFORMATION_CLASS :: ^TOKEN_INFORMATION_CLASS
-TOKEN_INFORMATION_CLASS :: enum i32 {
+TOKEN_INFORMATION_CLASS :: enum c_int {
TokenUser = 1,
TokenGroups,
TokenPrivileges,
@@ -282,7 +282,7 @@ TOKEN_INFORMATION_CLASS :: enum i32 {
}
PSID_NAME_USE :: ^SID_NAME_USE
-SID_NAME_USE :: enum i32 {
+SID_NAME_USE :: enum c_int {
SidTypeUser = 1,
SidTypeGroup,
SidTypeDomain,
diff --git a/core/sys/windows/comctl32.odin b/core/sys/windows/comctl32.odin
index c7a166634..c2b4362d9 100644
--- a/core/sys/windows/comctl32.odin
+++ b/core/sys/windows/comctl32.odin
@@ -157,14 +157,14 @@ ILP_DOWNLEVEL :: 1
IMAGELISTDRAWPARAMS :: struct {
cbSize: DWORD,
himl: HIMAGELIST,
- i: i32,
+ i: c_int,
hdcDst: HDC,
- x: i32,
- y: i32,
- cx: i32,
- cy: i32,
- xBitmap: i32,
- yBitmap: i32,
+ x: c_int,
+ y: c_int,
+ cx: c_int,
+ cy: c_int,
+ xBitmap: c_int,
+ yBitmap: c_int,
rgbBk: COLORREF,
rgbFg: COLORREF,
fStyle: UINT,
@@ -178,62 +178,62 @@ LPIMAGELISTDRAWPARAMS :: ^IMAGELISTDRAWPARAMS
IMAGEINFO :: struct {
hbmImage: HBITMAP,
hbmMask: HBITMAP,
- Unused1: i32,
- Unused2: i32,
+ Unused1: c_int,
+ Unused2: c_int,
rcImage: RECT,
}
LPIMAGEINFO :: ^IMAGEINFO
@(default_calling_convention="system")
foreign Comctl32 {
- ImageList_Create :: proc(cx, cy: i32, flags: UINT, cInitial, cGrow: i32) -> HIMAGELIST ---
+ ImageList_Create :: proc(cx, cy: c_int, flags: UINT, cInitial, cGrow: c_int) -> HIMAGELIST ---
ImageList_Destroy :: proc(himl: HIMAGELIST) -> BOOL ---
- ImageList_GetImageCount :: proc(himl: HIMAGELIST) -> i32 ---
+ ImageList_GetImageCount :: proc(himl: HIMAGELIST) -> c_int ---
ImageList_SetImageCount :: proc(himl: HIMAGELIST, uNewCount: UINT) -> BOOL ---
- ImageList_Add :: proc(himl: HIMAGELIST, hbmImage, hbmMask: HBITMAP) -> i32 ---
- ImageList_ReplaceIcon :: proc(himl: HIMAGELIST, i: i32, hicon: HICON) -> i32 ---
+ ImageList_Add :: proc(himl: HIMAGELIST, hbmImage, hbmMask: HBITMAP) -> c_int ---
+ ImageList_ReplaceIcon :: proc(himl: HIMAGELIST, i: c_int, hicon: HICON) -> c_int ---
ImageList_SetBkColor :: proc(himl: HIMAGELIST, clrBk: COLORREF) -> COLORREF ---
ImageList_GetBkColor :: proc(himl: HIMAGELIST) -> COLORREF ---
- ImageList_SetOverlayImage :: proc(himl: HIMAGELIST, iImage: i32, iOverlay: i32) -> BOOL ---
- ImageList_Draw :: proc(himl: HIMAGELIST, i: i32, hdcDst: HDC, x, y: i32, fStyle: UINT) -> BOOL ---
- ImageList_Replace :: proc(himl: HIMAGELIST, i: i32, hbmImage, hbmMask: HBITMAP) -> BOOL ---
- ImageList_AddMasked :: proc(himl: HIMAGELIST, hbmImage: HBITMAP, crMask: COLORREF) -> i32 ---
- ImageList_DrawEx :: proc(himl: HIMAGELIST, i: i32, hdcDst: HDC, x, y, dx, dy: i32, rgbBk, rgbFg: COLORREF, fStyle: UINT) -> BOOL ---
+ ImageList_SetOverlayImage :: proc(himl: HIMAGELIST, iImage: c_int, iOverlay: c_int) -> BOOL ---
+ ImageList_Draw :: proc(himl: HIMAGELIST, i: c_int, hdcDst: HDC, x, y: c_int, fStyle: UINT) -> BOOL ---
+ ImageList_Replace :: proc(himl: HIMAGELIST, i: c_int, hbmImage, hbmMask: HBITMAP) -> BOOL ---
+ ImageList_AddMasked :: proc(himl: HIMAGELIST, hbmImage: HBITMAP, crMask: COLORREF) -> c_int ---
+ ImageList_DrawEx :: proc(himl: HIMAGELIST, i: c_int, hdcDst: HDC, x, y, dx, dy: c_int, rgbBk, rgbFg: COLORREF, fStyle: UINT) -> BOOL ---
ImageList_DrawIndirect :: proc(pimldp: ^IMAGELISTDRAWPARAMS) -> BOOL ---
- ImageList_Remove :: proc(himl: HIMAGELIST, i: i32) -> BOOL ---
- ImageList_GetIcon :: proc(himl: HIMAGELIST, i: i32, flags: UINT) -> HICON ---
- ImageList_LoadImageW :: proc(hi: HINSTANCE, lpbmp: LPCWSTR, cx, cgrow: i32, crMask: COLORREF, uType, uFlags: UINT) -> HIMAGELIST ---
- ImageList_Copy :: proc(himlDst: HIMAGELIST, iDst: i32, himlSrc: HIMAGELIST, iSrc: i32, uFlags: UINT) -> BOOL ---
- ImageList_BeginDrag :: proc(himlTrack: HIMAGELIST, iTrack, dxHotspot, dyHotspot: i32) -> BOOL ---
+ ImageList_Remove :: proc(himl: HIMAGELIST, i: c_int) -> BOOL ---
+ ImageList_GetIcon :: proc(himl: HIMAGELIST, i: c_int, flags: UINT) -> HICON ---
+ ImageList_LoadImageW :: proc(hi: HINSTANCE, lpbmp: LPCWSTR, cx, cgrow: c_int, crMask: COLORREF, uType, uFlags: UINT) -> HIMAGELIST ---
+ ImageList_Copy :: proc(himlDst: HIMAGELIST, iDst: c_int, himlSrc: HIMAGELIST, iSrc: c_int, uFlags: UINT) -> BOOL ---
+ ImageList_BeginDrag :: proc(himlTrack: HIMAGELIST, iTrack, dxHotspot, dyHotspot: c_int) -> BOOL ---
ImageList_EndDrag :: proc() ---
- ImageList_DragEnter :: proc(hwndLock: HWND, x, y: i32) -> BOOL ---
+ ImageList_DragEnter :: proc(hwndLock: HWND, x, y: c_int) -> BOOL ---
ImageList_DragLeave :: proc(hwndLock: HWND) -> BOOL ---
- ImageList_DragMove :: proc(x, y: i32) -> BOOL ---
- ImageList_SetDragCursorImage :: proc(himlDrag: HIMAGELIST, iDrag, dxHotspot, dyHotspot: i32) -> BOOL ---
+ ImageList_DragMove :: proc(x, y: c_int) -> BOOL ---
+ ImageList_SetDragCursorImage :: proc(himlDrag: HIMAGELIST, iDrag, dxHotspot, dyHotspot: c_int) -> BOOL ---
ImageList_DragShowNolock :: proc(fShow: BOOL) -> BOOL ---
ImageList_GetDragImage :: proc(ppt, pptHotspot: ^POINT) -> HIMAGELIST ---
ImageList_Read :: proc(pstm: ^IStream) -> HIMAGELIST ---
ImageList_Write :: proc(himl: HIMAGELIST, pstm: ^IStream) -> BOOL ---
ImageList_ReadEx :: proc(dwFlags: DWORD, pstm: ^IStream, riid: REFIID, ppv: PVOID) -> HRESULT ---
ImageList_WriteEx :: proc(himl: HIMAGELIST, dwFlags: DWORD, pstm: ^IStream) -> HRESULT ---
- ImageList_GetIconSize :: proc(himl: HIMAGELIST, cx, cy: ^i32) -> BOOL ---
- ImageList_SetIconSize :: proc(himl: HIMAGELIST, cx, cy: i32) -> BOOL ---
- ImageList_GetImageInfo :: proc(himl: HIMAGELIST, i: i32, pImageInfo: ^IMAGEINFO) -> BOOL ---
- ImageList_Merge :: proc(himl1: HIMAGELIST, i1: i32, himl2: HIMAGELIST, i2: i32, dx, dy: i32) -> HIMAGELIST ---
+ ImageList_GetIconSize :: proc(himl: HIMAGELIST, cx, cy: ^c_int) -> BOOL ---
+ ImageList_SetIconSize :: proc(himl: HIMAGELIST, cx, cy: c_int) -> BOOL ---
+ ImageList_GetImageInfo :: proc(himl: HIMAGELIST, i: c_int, pImageInfo: ^IMAGEINFO) -> BOOL ---
+ ImageList_Merge :: proc(himl1: HIMAGELIST, i1: c_int, himl2: HIMAGELIST, i2: c_int, dx, dy: c_int) -> HIMAGELIST ---
ImageList_Duplicate :: proc(himl: HIMAGELIST) -> HIMAGELIST ---
HIMAGELIST_QueryInterface :: proc(himl: HIMAGELIST, riid: REFIID, ppv: rawptr) -> HRESULT ---
}
-ImageList_AddIcon :: #force_inline proc "system" (himl: HIMAGELIST, hicon: HICON) -> i32 {
+ImageList_AddIcon :: #force_inline proc "system" (himl: HIMAGELIST, hicon: HICON) -> c_int {
return ImageList_ReplaceIcon(himl, -1, hicon)
}
ImageList_RemoveAll :: #force_inline proc "system" (himl: HIMAGELIST) -> BOOL {
return ImageList_Remove(himl, -1)
}
-ImageList_ExtractIcon :: #force_inline proc "system" (hi: HINSTANCE, himl: HIMAGELIST, i: i32) -> HICON {
+ImageList_ExtractIcon :: #force_inline proc "system" (hi: HINSTANCE, himl: HIMAGELIST, i: c_int) -> HICON {
return ImageList_GetIcon(himl, i, 0)
}
-ImageList_LoadBitmap :: #force_inline proc "system" (hi: HINSTANCE, lpbmp: LPCWSTR, cx, cGrow: i32, crMask: COLORREF) -> HIMAGELIST {
+ImageList_LoadBitmap :: #force_inline proc "system" (hi: HINSTANCE, lpbmp: LPCWSTR, cx, cGrow: c_int, crMask: COLORREF) -> HIMAGELIST {
return ImageList_LoadImageW(hi, lpbmp, cx, cGrow, crMask, IMAGE_BITMAP, 0)
}
diff --git a/core/sys/windows/icu.odin b/core/sys/windows/icu.odin
index 6ed8c9b40..b481a05a9 100644
--- a/core/sys/windows/icu.odin
+++ b/core/sys/windows/icu.odin
@@ -12,3 +12,6 @@ foreign icu {
ucal_getWindowsTimeZoneID :: proc(id: wstring, len: i32, winid: wstring, winidCapacity: i32, status: ^UError) -> i32 ---
ucal_getDefaultTimeZone :: proc(result: wstring, cap: i32, status: ^UError) -> i32 ---
}
+
+
+// NOTE(bill): all of these types actually do use `i32` and not `c_int`
diff --git a/core/sys/windows/ip_helper.odin b/core/sys/windows/ip_helper.odin
index d2e75d531..da23a064f 100644
--- a/core/sys/windows/ip_helper.odin
+++ b/core/sys/windows/ip_helper.odin
@@ -141,7 +141,7 @@ IP_ADAPTER_DNS_SERVER_ADDRESS_XP :: struct {
Address: SOCKET_ADDRESS,
}
-IF_OPER_STATUS :: enum i32 {
+IF_OPER_STATUS :: enum c_int {
Up = 1,
Down = 2,
Testing = 3,
@@ -160,17 +160,17 @@ NET_LUID_LH :: struct #raw_union {
SOCKET_ADDRESS :: struct {
lpSockaddr: ^SOCKADDR,
- iSockaddrLength: i32,
+ iSockaddrLength: INT,
}
-NET_IF_CONNECTION_TYPE :: enum i32 {
+NET_IF_CONNECTION_TYPE :: enum c_int {
NET_IF_CONNECTION_DEDICATED = 1,
NET_IF_CONNECTION_PASSIVE = 2,
NET_IF_CONNECTION_DEMAND = 3,
NET_IF_CONNECTION_MAXIMUM = 4,
}
-TUNNEL_TYPE :: enum i32 {
+TUNNEL_TYPE :: enum c_int {
TUNNEL_TYPE_NONE = 0,
TUNNEL_TYPE_OTHER = 1,
TUNNEL_TYPE_DIRECT = 2,
@@ -179,7 +179,7 @@ TUNNEL_TYPE :: enum i32 {
TUNNEL_TYPE_TEREDO = 14,
TUNNEL_TYPE_IPHTTPS = 15,
}
-NL_PREFIX_ORIGIN :: enum i32 {
+NL_PREFIX_ORIGIN :: enum c_int {
IpPrefixOriginOther = 0,
IpPrefixOriginManual = 1,
IpPrefixOriginWellKnown = 2,
@@ -188,7 +188,7 @@ NL_PREFIX_ORIGIN :: enum i32 {
IpPrefixOriginUnchanged = 16,
}
-NL_SUFFIX_ORIGIN :: enum i32 {
+NL_SUFFIX_ORIGIN :: enum c_int {
NlsoOther = 0,
NlsoManual = 1,
NlsoWellKnown = 2,
@@ -204,7 +204,7 @@ NL_SUFFIX_ORIGIN :: enum i32 {
IpSuffixOriginUnchanged = 16,
}
-NL_DAD_STATE :: enum i32 {
+NL_DAD_STATE :: enum c_int {
NldsInvalid = 0,
NldsTentative = 1,
NldsDuplicate = 2,
diff --git a/core/sys/windows/types.odin b/core/sys/windows/types.odin
index d4afe971e..75e9fc695 100644
--- a/core/sys/windows/types.odin
+++ b/core/sys/windows/types.odin
@@ -274,7 +274,7 @@ PROTECTED_SACL_SECURITY_INFORMATION :: 0x40000000
UNPROTECTED_DACL_SECURITY_INFORMATION :: 0x20000000
UNPROTECTED_SACL_SECURITY_INFORMATION :: 0x10000000
-GET_FILEEX_INFO_LEVELS :: distinct i32
+GET_FILEEX_INFO_LEVELS :: distinct c_int
GetFileExInfoStandard: GET_FILEEX_INFO_LEVELS : 0
GetFileExMaxInfoLevel: GET_FILEEX_INFO_LEVELS : 1
diff --git a/core/sys/windows/user32.odin b/core/sys/windows/user32.odin
index cd73f80e6..287ed59e7 100644
--- a/core/sys/windows/user32.odin
+++ b/core/sys/windows/user32.odin
@@ -859,21 +859,21 @@ FKF_CLICKON :: 0x40
NONCLIENTMETRICSW :: struct {
cbSize: UINT,
- iBorderWidth: i32,
- iScrollWidth: i32,
- iScrollHeight: i32,
- iCaptionWidth: i32,
- iCaptionHeight: i32,
+ iBorderWidth: c_int,
+ iScrollWidth: c_int,
+ iScrollHeight: c_int,
+ iCaptionWidth: c_int,
+ iCaptionHeight: c_int,
lfCaptionFont: LOGFONTW,
- iSmCaptionWidth: i32,
- iSmCaptionHeight: i32,
+ iSmCaptionWidth: c_int,
+ iSmCaptionHeight: c_int,
lfSmCaptionFont: LOGFONTW,
- iMenuWidth: i32,
- iMenuHeight: i32,
+ iMenuWidth: c_int,
+ iMenuHeight: c_int,
lfMenuFont: LOGFONTW,
lfStatusFont: LOGFONTW,
lfMessageFont: LOGFONTW,
- iPaddedBorderWidth: i32,
+ iPaddedBorderWidth: c_int,
}
LPNONCLIENTMETRICSW :: ^NONCLIENTMETRICSW
diff --git a/core/sys/windows/util.odin b/core/sys/windows/util.odin
index 125038ac4..4729d5c72 100644
--- a/core/sys/windows/util.odin
+++ b/core/sys/windows/util.odin
@@ -82,14 +82,14 @@ utf8_to_utf16_alloc :: proc(s: string, allocator := context.temp_allocator) -> [
b := transmute([]byte)s
cstr := raw_data(b)
- n := MultiByteToWideChar(CP_UTF8, MB_ERR_INVALID_CHARS, cstr, i32(len(s)), nil, 0)
+ n := MultiByteToWideChar(CP_UTF8, MB_ERR_INVALID_CHARS, cstr, c_int(len(s)), nil, 0)
if n == 0 {
return nil
}
text := make([]u16, n+1, allocator)
- n1 := MultiByteToWideChar(CP_UTF8, MB_ERR_INVALID_CHARS, cstr, i32(len(s)), raw_data(text), n)
+ n1 := MultiByteToWideChar(CP_UTF8, MB_ERR_INVALID_CHARS, cstr, c_int(len(s)), raw_data(text), n)
if n1 == 0 {
delete(text, allocator)
return nil
@@ -103,14 +103,14 @@ utf8_to_utf16_alloc :: proc(s: string, allocator := context.temp_allocator) -> [
}
utf8_to_utf16_buf :: proc(buf: []u16, s: string) -> []u16 {
- n1 := MultiByteToWideChar(CP_UTF8, MB_ERR_INVALID_CHARS, raw_data(s), i32(len(s)), nil, 0)
+ n1 := MultiByteToWideChar(CP_UTF8, MB_ERR_INVALID_CHARS, raw_data(s), c_int(len(s)), nil, 0)
if n1 == 0 {
return nil
} else if int(n1) > len(buf) {
return nil
}
- n1 = MultiByteToWideChar(CP_UTF8, MB_ERR_INVALID_CHARS, raw_data(s), i32(len(s)), raw_data(buf[:]), n1)
+ n1 = MultiByteToWideChar(CP_UTF8, MB_ERR_INVALID_CHARS, raw_data(s), c_int(len(s)), raw_data(buf[:]), n1)
if n1 == 0 {
return nil
} else if int(n1) > len(buf) {
@@ -143,7 +143,7 @@ wstring_to_utf8_alloc :: proc(s: wstring, N: int, allocator := context.temp_allo
return
}
- n := WideCharToMultiByte(CP_UTF8, WC_ERR_INVALID_CHARS, s, i32(N) if N > 0 else -1, nil, 0, nil, nil)
+ n := WideCharToMultiByte(CP_UTF8, WC_ERR_INVALID_CHARS, s, c_int(N) if N > 0 else -1, nil, 0, nil, nil)
if n == 0 {
return
}
@@ -155,7 +155,7 @@ wstring_to_utf8_alloc :: proc(s: wstring, N: int, allocator := context.temp_allo
// will not be null terminated.
text := make([]byte, n) or_return
- n1 := WideCharToMultiByte(CP_UTF8, WC_ERR_INVALID_CHARS, s, i32(N), raw_data(text), n, nil, nil)
+ n1 := WideCharToMultiByte(CP_UTF8, WC_ERR_INVALID_CHARS, s, c_int(N), raw_data(text), n, nil, nil)
if n1 == 0 {
delete(text, allocator)
return
@@ -171,14 +171,14 @@ wstring_to_utf8_alloc :: proc(s: wstring, N: int, allocator := context.temp_allo
}
wstring_to_utf8_buf :: proc(buf: []u8, s: wstring, N := -1) -> (res: string) {
- n := WideCharToMultiByte(CP_UTF8, WC_ERR_INVALID_CHARS, s, i32(N), nil, 0, nil, nil)
+ n := WideCharToMultiByte(CP_UTF8, WC_ERR_INVALID_CHARS, s, c_int(N), nil, 0, nil, nil)
if n == 0 {
return
} else if int(n) > len(buf) {
return
}
- n2 := WideCharToMultiByte(CP_UTF8, WC_ERR_INVALID_CHARS, s, i32(N), raw_data(buf), n, nil, nil)
+ n2 := WideCharToMultiByte(CP_UTF8, WC_ERR_INVALID_CHARS, s, c_int(N), raw_data(buf), n, nil, nil)
if n2 == 0 {
return
} else if int(n2) > len(buf) {
diff --git a/core/sys/windows/ux_theme.odin b/core/sys/windows/ux_theme.odin
index 679d9998f..47a0049b2 100644
--- a/core/sys/windows/ux_theme.odin
+++ b/core/sys/windows/ux_theme.odin
@@ -3,11 +3,16 @@ package sys_windows
foreign import uxtheme "system:UxTheme.lib"
-MARGINS :: distinct [4]i32
+MARGINS :: struct {
+ cxLeftWidth: c_int,
+ cxRightWidth: c_int,
+ cyTopHeight: c_int,
+ cyBottomHeight: c_int,
+}
PMARGINS :: ^MARGINS
@(default_calling_convention="system")
foreign uxtheme {
- IsThemeActive :: proc() -> BOOL ---
- SetWindowTheme :: proc(hWnd: HWND, pszSubAppName, pszSubIdList: LPCWSTR) -> HRESULT ---
+ IsThemeActive :: proc() -> BOOL ---
+ SetWindowTheme :: proc(hWnd: HWND, pszSubAppName, pszSubIdList: LPCWSTR) -> HRESULT ---
}