mirror of
https://github.com/Ed94/Odin.git
synced 2026-08-06 15:48:51 +00:00
Merge pull request #2952 from Pingar5/master
Add various missing windows procedures
This commit is contained in:
@@ -10,6 +10,8 @@ foreign gdi32 {
|
|||||||
DeleteObject :: proc(ho: HGDIOBJ) -> BOOL ---
|
DeleteObject :: proc(ho: HGDIOBJ) -> BOOL ---
|
||||||
SetBkColor :: proc(hdc: HDC, color: COLORREF) -> COLORREF ---
|
SetBkColor :: proc(hdc: HDC, color: COLORREF) -> COLORREF ---
|
||||||
|
|
||||||
|
CreateCompatibleDC :: proc(hdc: HDC) -> HDC ---
|
||||||
|
|
||||||
CreateDIBPatternBrush :: proc(h: HGLOBAL, iUsage: UINT) -> HBRUSH ---
|
CreateDIBPatternBrush :: proc(h: HGLOBAL, iUsage: UINT) -> HBRUSH ---
|
||||||
|
|
||||||
CreateDIBitmap :: proc(
|
CreateDIBitmap :: proc(
|
||||||
@@ -81,6 +83,11 @@ foreign gdi32 {
|
|||||||
GetTextMetricsW :: proc(hdc: HDC, lptm: LPTEXTMETRICW) -> BOOL ---
|
GetTextMetricsW :: proc(hdc: HDC, lptm: LPTEXTMETRICW) -> BOOL ---
|
||||||
|
|
||||||
CreateSolidBrush :: proc(color: COLORREF) -> HBRUSH ---
|
CreateSolidBrush :: proc(color: COLORREF) -> HBRUSH ---
|
||||||
|
|
||||||
|
GetObjectW :: proc(h: HANDLE, c: c_int, pv: LPVOID) -> int ---
|
||||||
|
CreateCompatibleBitmap :: proc(hdc: HDC, cx, cy: c_int) -> HBITMAP ---
|
||||||
|
BitBlt :: proc(hdc: HDC, x, y, cx, cy: c_int, hdcSrc: HDC, x1, y1: c_int, rop: DWORD) -> BOOL ---
|
||||||
|
GetDIBits :: proc(hdc: HDC, hbm: HBITMAP, start, cLines: UINT, lpvBits: LPVOID, lpbmi: ^BITMAPINFO, usage: UINT) -> int ---
|
||||||
}
|
}
|
||||||
|
|
||||||
RGB :: #force_inline proc "contextless" (r, g, b: u8) -> COLORREF {
|
RGB :: #force_inline proc "contextless" (r, g, b: u8) -> COLORREF {
|
||||||
|
|||||||
@@ -291,6 +291,14 @@ foreign kernel32 {
|
|||||||
hTemplateFile: HANDLE,
|
hTemplateFile: HANDLE,
|
||||||
) -> HANDLE ---
|
) -> HANDLE ---
|
||||||
|
|
||||||
|
GetFileTime :: proc(
|
||||||
|
hFile: HANDLE,
|
||||||
|
lpCreationTime: LPFILETIME,
|
||||||
|
lpLastAccessTime: LPFILETIME,
|
||||||
|
lpLastWriteTime: LPFILETIME,
|
||||||
|
) -> BOOL ---
|
||||||
|
CompareFileTime :: proc(lpFileTime1: LPFILETIME, lpFileTime2: LPFILETIME) -> LONG ---
|
||||||
|
|
||||||
FindFirstFileW :: proc(fileName: LPCWSTR, findFileData: LPWIN32_FIND_DATAW) -> HANDLE ---
|
FindFirstFileW :: proc(fileName: LPCWSTR, findFileData: LPWIN32_FIND_DATAW) -> HANDLE ---
|
||||||
FindNextFileW :: proc(findFile: HANDLE, findFileData: LPWIN32_FIND_DATAW) -> BOOL ---
|
FindNextFileW :: proc(findFile: HANDLE, findFileData: LPWIN32_FIND_DATAW) -> BOOL ---
|
||||||
FindClose :: proc(findFile: HANDLE) -> BOOL ---
|
FindClose :: proc(findFile: HANDLE) -> BOOL ---
|
||||||
@@ -354,6 +362,9 @@ foreign kernel32 {
|
|||||||
LocalReAlloc :: proc(mem: LPVOID, bytes: SIZE_T, flags: UINT) -> LPVOID ---
|
LocalReAlloc :: proc(mem: LPVOID, bytes: SIZE_T, flags: UINT) -> LPVOID ---
|
||||||
LocalFree :: proc(mem: LPVOID) -> LPVOID ---
|
LocalFree :: proc(mem: LPVOID) -> LPVOID ---
|
||||||
|
|
||||||
|
GlobalAlloc :: proc(flags: UINT, bytes: SIZE_T) -> LPVOID ---
|
||||||
|
GlobalReAlloc :: proc(mem: LPVOID, bytes: SIZE_T, flags: UINT) -> LPVOID ---
|
||||||
|
GlobalFree :: proc(mem: LPVOID) -> LPVOID ---
|
||||||
|
|
||||||
ReadDirectoryChangesW :: proc(
|
ReadDirectoryChangesW :: proc(
|
||||||
hDirectory: HANDLE,
|
hDirectory: HANDLE,
|
||||||
@@ -422,7 +433,7 @@ foreign kernel32 {
|
|||||||
GetConsoleWindow :: proc() -> HWND ---
|
GetConsoleWindow :: proc() -> HWND ---
|
||||||
GetConsoleScreenBufferInfo :: proc(hConsoleOutput: HANDLE, lpConsoleScreenBufferInfo: PCONSOLE_SCREEN_BUFFER_INFO) -> BOOL ---
|
GetConsoleScreenBufferInfo :: proc(hConsoleOutput: HANDLE, lpConsoleScreenBufferInfo: PCONSOLE_SCREEN_BUFFER_INFO) -> BOOL ---
|
||||||
SetConsoleScreenBufferSize :: proc(hConsoleOutput: HANDLE, dwSize: COORD) -> BOOL ---
|
SetConsoleScreenBufferSize :: proc(hConsoleOutput: HANDLE, dwSize: COORD) -> BOOL ---
|
||||||
SetConsoleWindowInfo :: proc(hConsoleOutput: HANDLE, bAbsolute : BOOL, lpConsoleWindow: ^SMALL_RECT) -> BOOL ---
|
SetConsoleWindowInfo :: proc(hConsoleOutput: HANDLE, bAbsolute: BOOL, lpConsoleWindow: ^SMALL_RECT) -> BOOL ---
|
||||||
GetConsoleCursorInfo :: proc(hConsoleOutput: HANDLE, lpConsoleCursorInfo: PCONSOLE_CURSOR_INFO) -> BOOL ---
|
GetConsoleCursorInfo :: proc(hConsoleOutput: HANDLE, lpConsoleCursorInfo: PCONSOLE_CURSOR_INFO) -> BOOL ---
|
||||||
SetConsoleCursorInfo :: proc(hConsoleOutput: HANDLE, lpConsoleCursorInfo: PCONSOLE_CURSOR_INFO) -> BOOL ---
|
SetConsoleCursorInfo :: proc(hConsoleOutput: HANDLE, lpConsoleCursorInfo: PCONSOLE_CURSOR_INFO) -> BOOL ---
|
||||||
|
|
||||||
|
|||||||
@@ -1971,6 +1971,16 @@ BITMAPINFO :: struct {
|
|||||||
bmiColors: [1]RGBQUAD,
|
bmiColors: [1]RGBQUAD,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
BITMAP :: struct {
|
||||||
|
bmType: LONG,
|
||||||
|
bmWidth: LONG,
|
||||||
|
bmHeight: LONG,
|
||||||
|
bmWidthBytes: LONG,
|
||||||
|
bmPlanes: WORD,
|
||||||
|
bmBitsPixel: WORD,
|
||||||
|
bmBits: LPVOID,
|
||||||
|
}
|
||||||
|
|
||||||
// pixel types
|
// pixel types
|
||||||
PFD_TYPE_RGBA :: 0
|
PFD_TYPE_RGBA :: 0
|
||||||
PFD_TYPE_COLORINDEX :: 1
|
PFD_TYPE_COLORINDEX :: 1
|
||||||
|
|||||||
@@ -161,6 +161,8 @@ foreign user32 {
|
|||||||
MonitorFromRect :: proc(lprc: LPRECT, dwFlags: Monitor_From_Flags) -> HMONITOR ---
|
MonitorFromRect :: proc(lprc: LPRECT, dwFlags: Monitor_From_Flags) -> HMONITOR ---
|
||||||
MonitorFromWindow :: proc(hwnd: HWND, 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 ---
|
EnumDisplayMonitors :: proc(hdc: HDC, lprcClip: LPRECT, lpfnEnum: Monitor_Enum_Proc, dwData: LPARAM) -> BOOL ---
|
||||||
|
|
||||||
|
EnumWindows :: proc(lpEnumFunc: Window_Enum_Proc, lParam: LPARAM) -> BOOL ---
|
||||||
|
|
||||||
SetThreadDpiAwarenessContext :: proc(dpiContext: DPI_AWARENESS_CONTEXT) -> DPI_AWARENESS_CONTEXT ---
|
SetThreadDpiAwarenessContext :: proc(dpiContext: DPI_AWARENESS_CONTEXT) -> DPI_AWARENESS_CONTEXT ---
|
||||||
GetThreadDpiAwarenessContext :: proc() -> DPI_AWARENESS_CONTEXT ---
|
GetThreadDpiAwarenessContext :: proc() -> DPI_AWARENESS_CONTEXT ---
|
||||||
@@ -311,6 +313,7 @@ Monitor_From_Flags :: enum DWORD {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Monitor_Enum_Proc :: #type proc "stdcall" (HMONITOR, HDC, LPRECT, LPARAM) -> BOOL
|
Monitor_Enum_Proc :: #type proc "stdcall" (HMONITOR, HDC, LPRECT, LPARAM) -> BOOL
|
||||||
|
Window_Enum_Proc :: #type proc "stdcall" (HWND, LPARAM) -> BOOL
|
||||||
|
|
||||||
USER_DEFAULT_SCREEN_DPI :: 96
|
USER_DEFAULT_SCREEN_DPI :: 96
|
||||||
DPI_AWARENESS_CONTEXT :: distinct HANDLE
|
DPI_AWARENESS_CONTEXT :: distinct HANDLE
|
||||||
|
|||||||
Reference in New Issue
Block a user