Mercurial > games > semicongine
diff fuhtark_test/include/winapi/wownt32.h @ 1500:91c8c3b7cbf0
add: futhark tests for generating vulkan api
| author | sam <sam@basx.dev> |
|---|---|
| date | Wed, 26 Nov 2025 21:36:48 +0700 |
| parents | |
| children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/fuhtark_test/include/winapi/wownt32.h Wed Nov 26 21:36:48 2025 +0700 @@ -0,0 +1,69 @@ +/** + * This file has no copyright assigned and is placed in the Public Domain. + * This file is part of the w64 mingw-runtime package. + * No warranty is given; refer to the file DISCLAIMER within this package. + */ +#ifndef _WOWNT32_ +#define _WOWNT32_ + +LPVOID WINAPI WOWGetVDMPointer(DWORD vp,DWORD dwBytes,WINBOOL fProtectedMode); +LPVOID WINAPI WOWGetVDMPointerFix(DWORD vp,DWORD dwBytes,WINBOOL fProtectedMode); +VOID WINAPI WOWGetVDMPointerUnfix(DWORD vp); +WORD WINAPI WOWGlobalAlloc16(WORD wFlags,DWORD cb); +WORD WINAPI WOWGlobalFree16(WORD hMem); +DWORD WINAPI WOWGlobalLock16(WORD hMem); +WINBOOL WINAPI WOWGlobalUnlock16(WORD hMem); +DWORD WINAPI WOWGlobalAllocLock16(WORD wFlags,DWORD cb,WORD *phMem); +WORD WINAPI WOWGlobalUnlockFree16(DWORD vpMem); +DWORD WINAPI WOWGlobalLockSize16(WORD hMem,PDWORD pcb); +VOID WINAPI WOWYield16(VOID); +VOID WINAPI WOWDirectedYield16(WORD htask16); + +typedef enum _WOW_HANDLE_TYPE { + WOW_TYPE_HWND,WOW_TYPE_HMENU,WOW_TYPE_HDWP,WOW_TYPE_HDROP,WOW_TYPE_HDC,WOW_TYPE_HFONT,WOW_TYPE_HMETAFILE,WOW_TYPE_HRGN,WOW_TYPE_HBITMAP, + WOW_TYPE_HBRUSH,WOW_TYPE_HPALETTE,WOW_TYPE_HPEN,WOW_TYPE_HACCEL,WOW_TYPE_HTASK,WOW_TYPE_FULLHWND +} WOW_HANDLE_TYPE; + +HANDLE WINAPI WOWHandle32 (WORD,WOW_HANDLE_TYPE); +WORD WINAPI WOWHandle16 (HANDLE,WOW_HANDLE_TYPE); + +#define HWND_32(h16) ((HWND) (WOWHandle32(h16,WOW_TYPE_HWND))) +#define HMENU_32(h16) ((HMENU) (WOWHandle32(h16,WOW_TYPE_HMENU))) +#define HDWP_32(h16) ((HDWP) (WOWHandle32(h16,WOW_TYPE_HDWP))) +#define HDROP_32(h16) ((HDROP) (WOWHandle32(h16,WOW_TYPE_HDROP))) +#define HDC_32(h16) ((HDC) (WOWHandle32(h16,WOW_TYPE_HDC))) +#define HFONT_32(h16) ((HFONT) (WOWHandle32(h16,WOW_TYPE_HFONT))) +#define HMETAFILE_32(h16) ((HMETAFILE) (WOWHandle32(h16,WOW_TYPE_HMETAFILE))) +#define HRGN_32(h16) ((HRGN) (WOWHandle32(h16,WOW_TYPE_HRGN))) +#define HBITMAP_32(h16) ((HBITMAP) (WOWHandle32(h16,WOW_TYPE_HBITMAP))) +#define HBRUSH_32(h16) ((HBRUSH) (WOWHandle32(h16,WOW_TYPE_HBRUSH))) +#define HPALETTE_32(h16) ((HPALETTE) (WOWHandle32(h16,WOW_TYPE_HPALETTE))) +#define HPEN_32(h16) ((HPEN) (WOWHandle32(h16,WOW_TYPE_HPEN))) +#define HACCEL_32(h16) ((HACCEL) (WOWHandle32(h16,WOW_TYPE_HACCEL))) +#define HTASK_32(h16) ((DWORD) (WOWHandle32(h16,WOW_TYPE_HTASK))) +#define FULLHWND_32(h16) ((HWND) (WOWHandle32(h16,WOW_TYPE_FULLHWND))) + +#define HWND_16(h32) (WOWHandle16(h32,WOW_TYPE_HWND)) +#define HMENU_16(h32) (WOWHandle16(h32,WOW_TYPE_HMENU)) +#define HDWP_16(h32) (WOWHandle16(h32,WOW_TYPE_HDWP)) +#define HDROP_16(h32) (WOWHandle16(h32,WOW_TYPE_HDROP)) +#define HDC_16(h32) (WOWHandle16(h32,WOW_TYPE_HDC)) +#define HFONT_16(h32) (WOWHandle16(h32,WOW_TYPE_HFONT)) +#define HMETAFILE_16(h32) (WOWHandle16(h32,WOW_TYPE_HMETAFILE)) +#define HRGN_16(h32) (WOWHandle16(h32,WOW_TYPE_HRGN)) +#define HBITMAP_16(h32) (WOWHandle16(h32,WOW_TYPE_HBITMAP)) +#define HBRUSH_16(h32) (WOWHandle16(h32,WOW_TYPE_HBRUSH)) +#define HPALETTE_16(h32) (WOWHandle16(h32,WOW_TYPE_HPALETTE)) +#define HPEN_16(h32) (WOWHandle16(h32,WOW_TYPE_HPEN)) +#define HACCEL_16(h32) (WOWHandle16(h32,WOW_TYPE_HACCEL)) +#define HTASK_16(h32) (WOWHandle16(h32,WOW_TYPE_HTASK)) + +DWORD WINAPI WOWCallback16(DWORD vpfn16,DWORD dwParam); + +#define WCB16_MAX_CBARGS (16) + +#define WCB16_PASCAL (0x0) +#define WCB16_CDECL (0x1) + +WINBOOL WINAPI WOWCallback16Ex(DWORD vpfn16,DWORD dwFlags,DWORD cbArgs,PVOID pArgs,PDWORD pdwRetCode); +#endif
