From cdef798fbc11df248a20e46447aaf014e7c690d2 Mon Sep 17 00:00:00 2001 From: Lion Schitik Date: Wed, 8 Jan 2025 01:47:36 +0100 Subject: [PATCH] Add SetWindowSubclass and RegisterHotKey functions --- core/sys/windows/comctl32.odin | 1 + core/sys/windows/types.odin | 2 ++ core/sys/windows/user32.odin | 2 ++ 3 files changed, 5 insertions(+) diff --git a/core/sys/windows/comctl32.odin b/core/sys/windows/comctl32.odin index 477800413..69c502b06 100644 --- a/core/sys/windows/comctl32.odin +++ b/core/sys/windows/comctl32.odin @@ -6,4 +6,5 @@ foreign import "system:Comctl32.lib" @(default_calling_convention="system") foreign Comctl32 { 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) --- } diff --git a/core/sys/windows/types.odin b/core/sys/windows/types.odin index aece4dc43..ab79c682a 100644 --- a/core/sys/windows/types.odin +++ b/core/sys/windows/types.odin @@ -796,6 +796,8 @@ TIMERPROC :: #type proc "system" (HWND, UINT, UINT_PTR, DWORD) WNDPROC :: #type proc "system" (HWND, UINT, WPARAM, LPARAM) -> LRESULT +SUBCLASSPROC :: #type proc "system" (HWND, UINT, WPARAM, LPARAM, UINT_PTR, DWORD_PTR) -> LRESULT + HOOKPROC :: #type proc "system" (code: c_int, wParam: WPARAM, lParam: LPARAM) -> LRESULT WINEVENTPROC :: #type proc "system" ( diff --git a/core/sys/windows/user32.odin b/core/sys/windows/user32.odin index da979a3e3..9ebd86201 100644 --- a/core/sys/windows/user32.odin +++ b/core/sys/windows/user32.odin @@ -32,6 +32,8 @@ foreign user32 { RegisterClassExW :: proc(^WNDCLASSEXW) -> ATOM --- UnregisterClassW :: proc(lpClassName: LPCWSTR, hInstance: HINSTANCE) -> BOOL --- + RegisterHotKey :: proc(hnwd: HWND, id: int, fsModifiers: UINT, vk: UINT) -> BOOL --- + CreateWindowExW :: proc( dwExStyle: DWORD, lpClassName: LPCWSTR,