|
@@ -42,6 +42,7 @@ foreign user32 {
|
|
|
GetTopWindow :: proc(hWnd: HWND) -> HWND ---
|
|
|
SetForegroundWindow :: proc(hWnd: HWND) -> BOOL ---
|
|
|
GetForegroundWindow :: proc() -> HWND ---
|
|
|
+ UpdateWindow :: proc(hWnd: HWND) -> BOOL ---
|
|
|
SetActiveWindow :: proc(hWnd: HWND) -> HWND ---
|
|
|
GetActiveWindow :: proc() -> HWND ---
|
|
|
|
|
@@ -95,6 +96,7 @@ foreign user32 {
|
|
|
GetSystemMetrics :: proc(nIndex: c_int) -> c_int ---
|
|
|
AdjustWindowRect :: proc(lpRect: LPRECT, dwStyle: DWORD, bMenu: BOOL) -> BOOL ---
|
|
|
AdjustWindowRectEx :: proc(lpRect: LPRECT, dwStyle: DWORD, bMenu: BOOL, dwExStyle: DWORD) -> BOOL ---
|
|
|
+ AdjustWindowRectExForDpi :: proc(lpRect: LPRECT, dwStyle: DWORD, bMenu: BOOL, dwExStyle: DWORD, dpi: UINT) -> BOOL ---
|
|
|
|
|
|
SystemParametersInfoW :: proc(uiAction, uiParam: UINT, pvParam: PVOID, fWinIni: UINT) -> BOOL ---
|
|
|
|
|
@@ -137,7 +139,19 @@ foreign user32 {
|
|
|
SetCursor :: proc(hCursor: HCURSOR) -> HCURSOR ---
|
|
|
|
|
|
EnumDisplaySettingsW :: proc(lpszDeviceName: LPCWSTR, iModeNum: DWORD, lpDevMode: ^DEVMODEW) -> BOOL ---
|
|
|
-
|
|
|
+
|
|
|
+ MonitorFromPoint :: proc(pt: POINT, dwFlags: Monitor_From_Flags) -> HMONITOR ---
|
|
|
+ MonitorFromRect :: proc(lprc: LPRECT, dwFlags: Monitor_From_Flags) -> HMONITOR ---
|
|
|
+ MonitorFromWindow :: proc(hwnd: HWND, dwFlags: Monitor_From_Flags) -> HMONITOR ---
|
|
|
+ EnumDisplayMonitors :: proc(hdc: HDC, lprcClip: LPRECT, lpfnEnum: Monitor_Enum_Proc, dwData: LPARAM) -> BOOL ---
|
|
|
+
|
|
|
+ SetThreadDpiAwarenessContext :: proc(dpiContext: DPI_AWARENESS_CONTEXT) -> DPI_AWARENESS_CONTEXT ---
|
|
|
+ GetThreadDpiAwarenessContext :: proc() -> DPI_AWARENESS_CONTEXT ---
|
|
|
+ GetWindowDpiAwarenessContext :: proc(hwnd: HWND) -> DPI_AWARENESS_CONTEXT ---
|
|
|
+ GetDpiFromDpiAwarenessContext :: proc(value: DPI_AWARENESS_CONTEXT) -> UINT ---
|
|
|
+ GetDpiForWindow :: proc(hwnd: HWND) -> UINT ---
|
|
|
+ SetProcessDpiAwarenessContext :: proc(value: DPI_AWARENESS_CONTEXT) -> BOOL ---
|
|
|
+
|
|
|
BroadcastSystemMessageW :: proc(
|
|
|
flags: DWORD,
|
|
|
lpInfo: LPDWORD,
|
|
@@ -247,3 +261,19 @@ GET_XBUTTON_WPARAM :: #force_inline proc "contextless" (wParam: WPARAM) -> WORD
|
|
|
MAKEINTRESOURCEW :: #force_inline proc "contextless" (#any_int i: int) -> LPWSTR {
|
|
|
return cast(LPWSTR)uintptr(WORD(i))
|
|
|
}
|
|
|
+
|
|
|
+Monitor_From_Flags :: enum DWORD {
|
|
|
+ MONITOR_DEFAULTTONULL = 0x00000000, // Returns NULL
|
|
|
+ MONITOR_DEFAULTTOPRIMARY = 0x00000001, // Returns a handle to the primary display monitor
|
|
|
+ MONITOR_DEFAULTTONEAREST = 0x00000002, // Returns a handle to the display monitor that is nearest to the window
|
|
|
+}
|
|
|
+
|
|
|
+Monitor_Enum_Proc :: #type proc "stdcall" (HMONITOR, HDC, LPRECT, LPARAM) -> BOOL
|
|
|
+
|
|
|
+USER_DEFAULT_SCREEN_DPI :: 96
|
|
|
+DPI_AWARENESS_CONTEXT :: distinct HANDLE
|
|
|
+DPI_AWARENESS_CONTEXT_UNAWARE :: DPI_AWARENESS_CONTEXT(~uintptr(0)) // -1
|
|
|
+DPI_AWARENESS_CONTEXT_SYSTEM_AWARE :: DPI_AWARENESS_CONTEXT(~uintptr(1)) // -2
|
|
|
+DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE :: DPI_AWARENESS_CONTEXT(~uintptr(2)) // -3
|
|
|
+DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE_V2 :: DPI_AWARENESS_CONTEXT(~uintptr(3)) // -4
|
|
|
+DPI_AWARENESS_CONTEXT_UNAWARE_GDISCALED :: DPI_AWARENESS_CONTEXT(~uintptr(4)) // -5
|