diff fuhtark_test/include/winapi/dciman.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/dciman.h	Wed Nov 26 21:36:48 2025 +0700
@@ -0,0 +1,53 @@
+/**
+ * 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 _INC_DCIMAN
+#define _INC_DCIMAN
+
+#ifdef __cplusplus
+#define __inline inline
+extern "C" {
+#endif
+
+#include "dciddi.h"
+
+  DECLARE_HANDLE(HWINWATCH);
+
+  extern HDC WINAPI DCIOpenProvider(void);
+  extern void WINAPI DCICloseProvider(HDC hdc);
+
+  extern int WINAPI DCICreatePrimary(HDC hdc,LPDCISURFACEINFO *lplpSurface);
+  extern int WINAPI DCICreateOffscreen(HDC hdc,DWORD dwCompression,DWORD dwRedMask,DWORD dwGreenMask,DWORD dwBlueMask,DWORD dwWidth,DWORD dwHeight,DWORD dwDCICaps,DWORD dwBitCount,LPDCIOFFSCREEN *lplpSurface);
+  extern int WINAPI DCICreateOverlay(HDC hdc,LPVOID lpOffscreenSurf,LPDCIOVERLAY *lplpSurface);
+  extern int WINAPI DCIEnum(HDC hdc,LPRECT lprDst,LPRECT lprSrc,LPVOID lpFnCallback,LPVOID lpContext);
+  extern DCIRVAL WINAPI DCISetSrcDestClip(LPDCIOFFSCREEN pdci,LPRECT srcrc,LPRECT destrc,LPRGNDATA prd);
+
+  extern HWINWATCH WINAPI WinWatchOpen(HWND hwnd);
+  extern void WINAPI WinWatchClose(HWINWATCH hWW);
+  extern UINT WINAPI WinWatchGetClipList(HWINWATCH hWW,LPRECT prc,UINT size,LPRGNDATA prd);
+  extern WINBOOL WINAPI WinWatchDidStatusChange(HWINWATCH hWW);
+  extern DWORD WINAPI GetWindowRegionData(HWND hwnd,DWORD size,LPRGNDATA prd);
+  extern DWORD WINAPI GetDCRegionData(HDC hdc,DWORD size,LPRGNDATA prd);
+
+#define WINWATCHNOTIFY_START 0
+#define WINWATCHNOTIFY_STOP 1
+#define WINWATCHNOTIFY_DESTROY 2
+#define WINWATCHNOTIFY_CHANGING 3
+#define WINWATCHNOTIFY_CHANGED 4
+  typedef void (CALLBACK *WINWATCHNOTIFYPROC)(HWINWATCH hww,HWND hwnd,DWORD code,LPARAM lParam);
+
+  extern WINBOOL WINAPI WinWatchNotify(HWINWATCH hWW,WINWATCHNOTIFYPROC NotifyCallback,LPARAM NotifyParam);
+
+  extern void WINAPI DCIEndAccess(LPDCISURFACEINFO pdci);
+  extern DCIRVAL WINAPI DCIBeginAccess(LPDCISURFACEINFO pdci,int x,int y,int dx,int dy);
+  extern void WINAPI DCIDestroy(LPDCISURFACEINFO pdci);
+  extern DCIRVAL WINAPI DCIDraw(LPDCIOFFSCREEN pdci);
+  extern DCIRVAL WINAPI DCISetClipList(LPDCIOFFSCREEN pdci,LPRGNDATA prd);
+  extern DCIRVAL WINAPI DCISetDestination(LPDCIOFFSCREEN pdci,LPRECT dst,LPRECT src);
+
+#ifdef __cplusplus
+}
+#endif
+#endif