aboutsummaryrefslogtreecommitdiff
path: root/core/sys
diff options
context:
space:
mode:
authorhikari <ftphikari@gmail.com>2022-04-01 06:22:27 +0300
committerhikari <ftphikari@gmail.com>2022-04-01 06:22:27 +0300
commit73f9d12d476f378e6b8abc7dcd5155c4f688719e (patch)
tree51ce8a981e0ee8b0e8e0de28512cb256bb094435 /core/sys
parentb21cf05d44afb8697bf34d6718bb165c724d57f5 (diff)
sys/windows: add various procedures
Diffstat (limited to 'core/sys')
-rw-r--r--core/sys/windows/types.odin15
-rw-r--r--core/sys/windows/user32.odin5
2 files changed, 20 insertions, 0 deletions
diff --git a/core/sys/windows/types.odin b/core/sys/windows/types.odin
index 50098a59c..47c180db8 100644
--- a/core/sys/windows/types.odin
+++ b/core/sys/windows/types.odin
@@ -96,6 +96,7 @@ LPPROCESS_INFORMATION :: ^PROCESS_INFORMATION
PSECURITY_ATTRIBUTES :: ^SECURITY_ATTRIBUTES
LPSECURITY_ATTRIBUTES :: ^SECURITY_ATTRIBUTES
LPSTARTUPINFO :: ^STARTUPINFO
+LPTRACKMOUSEEVENT :: ^TRACKMOUSEEVENT
VOID :: rawptr
PVOID :: rawptr
LPVOID :: rawptr
@@ -272,6 +273,13 @@ PAINTSTRUCT :: struct {
rgbReserved: [32]BYTE,
}
+TRACKMOUSEEVENT :: struct {
+ cbSize: DWORD,
+ dwFlags: DWORD,
+ hwndTrack: HWND,
+ dwHoverTime: DWORD,
+}
+
WIN32_FIND_DATAW :: struct {
dwFileAttributes: DWORD,
ftCreationTime: FILETIME,
@@ -645,6 +653,13 @@ MK_MBUTTON :: 0x0010
MK_XBUTTON1 :: 0x0020
MK_XBUTTON2 :: 0x0040
+TME_HOVER :: 0x00000001
+TME_LEAVE :: 0x00000002
+TME_NONCLIENT :: 0x00000010
+TME_QUERY :: 0x40000000
+TME_CANCEL :: 0x80000000
+HOVER_DEFAULT :: 0xFFFFFFFF
+
USER_TIMER_MAXIMUM :: 0x7FFFFFFF
USER_TIMER_MINIMUM :: 0x0000000A
diff --git a/core/sys/windows/user32.odin b/core/sys/windows/user32.odin
index bdab77e27..4068ecdb2 100644
--- a/core/sys/windows/user32.odin
+++ b/core/sys/windows/user32.odin
@@ -123,6 +123,11 @@ foreign user32 {
BeginPaint :: proc(hWnd: HWND, lpPaint: ^PAINTSTRUCT) -> HDC ---
EndPaint :: proc(hWnd: HWND, lpPaint: ^PAINTSTRUCT) -> BOOL ---
+ GetCapture :: proc() -> HWND ---
+ SetCapture :: proc(hWnd: HWND) -> HWND ---
+ ReleaseCapture :: proc() -> BOOL ---
+ TrackMouseEvent :: proc(lpEventTrack: LPTRACKMOUSEEVENT) -> BOOL ---
+
GetKeyState :: proc(nVirtKey: c_int) -> SHORT ---
GetAsyncKeyState :: proc(vKey: c_int) -> SHORT ---