mirror of
https://github.com/Ed94/Odin.git
synced 2026-08-05 23:28:48 +00:00
Add miscellaneous missing WinAPI functions, constants, and structures for comctl32, user32, and ux_theme.
This commit is contained in:
@@ -5,6 +5,30 @@ foreign import "system:Comctl32.lib"
|
|||||||
|
|
||||||
@(default_calling_convention="system")
|
@(default_calling_convention="system")
|
||||||
foreign Comctl32 {
|
foreign Comctl32 {
|
||||||
|
InitCommonControlsEx :: proc(picce: ^INITCOMMONCONTROLSEX) -> BOOL ---
|
||||||
LoadIconWithScaleDown :: proc(hinst: HINSTANCE, pszName: PCWSTR, cx: c_int, cy: c_int, phico: ^HICON) -> HRESULT ---
|
LoadIconWithScaleDown :: proc(hinst: HINSTANCE, pszName: PCWSTR, cx: c_int, cy: c_int, phico: ^HICON) -> HRESULT ---
|
||||||
SetWindowSubclass :: proc(hwnd: HWND, pfnSubclass: SUBCLASSPROC, uIdSubclass: UINT_PTR, dwRefData: DWORD_PTR) ---
|
SetWindowSubclass :: proc(hwnd: HWND, pfnSubclass: SUBCLASSPROC, uIdSubclass: UINT_PTR, dwRefData: DWORD_PTR) ---
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ICC_LISTVIEW_CLASSES :: 0x00000001
|
||||||
|
ICC_TREEVIEW_CLASSES :: 0x00000002
|
||||||
|
ICC_BAR_CLASSES :: 0x00000004
|
||||||
|
ICC_TAB_CLASSES :: 0x00000008
|
||||||
|
ICC_UPDOWN_CLASS :: 0x00000010
|
||||||
|
ICC_PROGRESS_CLASS :: 0x00000020
|
||||||
|
ICC_HOTKEY_CLASS :: 0x00000040
|
||||||
|
ICC_ANIMATE_CLASS :: 0x00000080
|
||||||
|
ICC_WIN95_CLASSES :: 0x000000FF
|
||||||
|
ICC_DATE_CLASSES :: 0x00000100
|
||||||
|
ICC_USEREX_CLASSES :: 0x00000200
|
||||||
|
ICC_COOL_CLASSES :: 0x00000400
|
||||||
|
ICC_INTERNET_CLASSES :: 0x00000800
|
||||||
|
ICC_PAGESCROLLER_CLASS :: 0x00001000
|
||||||
|
ICC_NATIVEFNTCTL_CLASS :: 0x00002000
|
||||||
|
ICC_STANDARD_CLASSES :: 0x00004000
|
||||||
|
ICC_LINK_CLASS :: 0x00008000
|
||||||
|
|
||||||
|
INITCOMMONCONTROLSEX :: struct {
|
||||||
|
dwSize: DWORD,
|
||||||
|
dwICC: DWORD,
|
||||||
|
}
|
||||||
|
|||||||
@@ -63,6 +63,8 @@ foreign user32 {
|
|||||||
UpdateWindow :: proc(hWnd: HWND) -> BOOL ---
|
UpdateWindow :: proc(hWnd: HWND) -> BOOL ---
|
||||||
SetActiveWindow :: proc(hWnd: HWND) -> HWND ---
|
SetActiveWindow :: proc(hWnd: HWND) -> HWND ---
|
||||||
GetActiveWindow :: proc() -> HWND ---
|
GetActiveWindow :: proc() -> HWND ---
|
||||||
|
SetFocus :: proc(hWnd: HWND) -> HWND ---
|
||||||
|
GetFocus :: proc() -> HWND ---
|
||||||
RedrawWindow :: proc(hwnd: HWND, lprcUpdate: LPRECT, hrgnUpdate: HRGN, flags: RedrawWindowFlags) -> BOOL ---
|
RedrawWindow :: proc(hwnd: HWND, lprcUpdate: LPRECT, hrgnUpdate: HRGN, flags: RedrawWindowFlags) -> BOOL ---
|
||||||
SetParent :: proc(hWndChild: HWND, hWndNewParent: HWND) -> HWND ---
|
SetParent :: proc(hWndChild: HWND, hWndNewParent: HWND) -> HWND ---
|
||||||
SetPropW :: proc(hWnd: HWND, lpString: LPCWSTR, hData: HANDLE) -> BOOL ---
|
SetPropW :: proc(hWnd: HWND, lpString: LPCWSTR, hData: HANDLE) -> BOOL ---
|
||||||
@@ -211,6 +213,7 @@ foreign user32 {
|
|||||||
EnumDisplayMonitors :: proc(hdc: HDC, lprcClip: LPRECT, lpfnEnum: Monitor_Enum_Proc, dwData: LPARAM) -> BOOL ---
|
EnumDisplayMonitors :: proc(hdc: HDC, lprcClip: LPRECT, lpfnEnum: Monitor_Enum_Proc, dwData: LPARAM) -> BOOL ---
|
||||||
|
|
||||||
EnumWindows :: proc(lpEnumFunc: Window_Enum_Proc, lParam: LPARAM) -> BOOL ---
|
EnumWindows :: proc(lpEnumFunc: Window_Enum_Proc, lParam: LPARAM) -> BOOL ---
|
||||||
|
EnumChildWindows :: proc(hWndParent: HWND, lpEnumFunc: Window_Enum_Proc, lParam: LPARAM) -> BOOL ---
|
||||||
|
|
||||||
IsProcessDPIAware :: proc() -> BOOL ---
|
IsProcessDPIAware :: proc() -> BOOL ---
|
||||||
SetProcessDPIAware :: proc() -> BOOL ---
|
SetProcessDPIAware :: proc() -> BOOL ---
|
||||||
@@ -846,3 +849,23 @@ FKF_CONFIRMHOTKEY :: 0x8
|
|||||||
FKF_HOTKEYSOUND :: 0x10
|
FKF_HOTKEYSOUND :: 0x10
|
||||||
FKF_INDICATOR :: 0x20
|
FKF_INDICATOR :: 0x20
|
||||||
FKF_CLICKON :: 0x40
|
FKF_CLICKON :: 0x40
|
||||||
|
|
||||||
|
NONCLIENTMETRICSW :: struct {
|
||||||
|
cbSize: UINT,
|
||||||
|
iBorderWidth: i32,
|
||||||
|
iScrollWidth: i32,
|
||||||
|
iScrollHeight: i32,
|
||||||
|
iCaptionWidth: i32,
|
||||||
|
iCaptionHeight: i32,
|
||||||
|
lfCaptionFont: LOGFONTW,
|
||||||
|
iSmCaptionWidth: i32,
|
||||||
|
iSmCaptionHeight: i32,
|
||||||
|
lfSmCaptionFont: LOGFONTW,
|
||||||
|
iMenuWidth: i32,
|
||||||
|
iMenuHeight: i32,
|
||||||
|
lfMenuFont: LOGFONTW,
|
||||||
|
lfStatusFont: LOGFONTW,
|
||||||
|
lfMessageFont: LOGFONTW,
|
||||||
|
iPaddedBorderWidth: i32,
|
||||||
|
}
|
||||||
|
LPNONCLIENTMETRICSW :: ^NONCLIENTMETRICSW
|
||||||
|
|||||||
@@ -9,4 +9,5 @@ PMARGINS :: ^MARGINS
|
|||||||
@(default_calling_convention="system")
|
@(default_calling_convention="system")
|
||||||
foreign uxtheme {
|
foreign uxtheme {
|
||||||
IsThemeActive :: proc() -> BOOL ---
|
IsThemeActive :: proc() -> BOOL ---
|
||||||
|
SetWindowTheme :: proc(hWnd: HWND, pszSubAppName, pszSubIdList: LPCWSTR) -> HRESULT ---
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user