1 /**
2  * This file has no copyright assigned and is placed in the Public Domain.
3  * This file is part of the mingw-w64 runtime package.
4  * No warranty is given; refer to the file DISCLAIMER.PD within this package.
5  */
6 
7 #ifndef _DDRAWGDI_H_
8 #define _DDRAWGDI_H_
9 
10 #if defined(MINGW_HAS_DDRAW_H) && defined(MINGW_DDRAW_VERSION) && (MINGW_DDRAW_VERSION + 0) >= 7
11 #include <ddraw.h>
12 
13 #define DdCreateDirectDrawObject GdiEntry1
14 #define DdQueryDirectDrawObject GdiEntry2
15 #define DdDeleteDirectDrawObject GdiEntry3
16 #define DdCreateSurfaceObject GdiEntry4
17 #define DdDeleteSurfaceObject GdiEntry5
18 #define DdResetVisrgn GdiEntry6
19 #define DdGetDC GdiEntry7
20 #define DdReleaseDC GdiEntry8
21 #define DdCreateDIBSection GdiEntry9
22 #define DdReenableDirectDrawObject GdiEntry10
23 #define DdAttachSurface GdiEntry11
24 #define DdUnattachSurface GdiEntry12
25 #define DdQueryDisplaySettingsUniqueness GdiEntry13
26 #define DdGetDxHandle GdiEntry14
27 #define DdSetGammaRamp GdiEntry15
28 #define DdSwapTextureHandles GdiEntry16
29 
30 #ifndef D3DHAL_CALLBACKS_DEFINED
31 typedef struct _D3DHAL_CALLBACKS *LPD3DHAL_CALLBACKS;
32 #define D3DHAL_CALLBACKS_DEFINED
33 #endif
34 #ifndef D3DHAL_GLOBALDRIVERDATA_DEFINED
35 typedef struct _D3DHAL_GLOBALDRIVERDATA *LPD3DHAL_GLOBALDRIVERDATA;
36 #define D3DHAL_GLOBALDRIVERDATA_DEFINED
37 #endif
38 
39 WINBOOL WINAPI DdCreateDirectDrawObject(LPDDRAWI_DIRECTDRAW_GBL pDirectDrawGlobal,HDC hdc);
40 WINBOOL WINAPI DdQueryDirectDrawObject(LPDDRAWI_DIRECTDRAW_GBL pDirectDrawGlobal,LPDDHALINFO pHalInfo,LPDDHAL_DDCALLBACKS pDDCallbacks,LPDDHAL_DDSURFACECALLBACKS pDDSurfaceCallbacks,LPDDHAL_DDPALETTECALLBACKS pDDPaletteCallbacks,LPD3DHAL_CALLBACKS pD3dCallbacks,LPD3DHAL_GLOBALDRIVERDATA pD3dDriverData,LPDDHAL_DDEXEBUFCALLBACKS pD3dBufferCallbacks,LPDDSURFACEDESC pD3dTextureFormats,LPDWORD pdwFourCC,LPVIDMEM pvmList);
41 WINBOOL WINAPI DdDeleteDirectDrawObject(LPDDRAWI_DIRECTDRAW_GBL pDirectDrawGlobal);
42 WINBOOL WINAPI DdCreateSurfaceObject(LPDDRAWI_DDRAWSURFACE_LCL pSurfaceLocal,WINBOOL bPrimarySurface);
43 WINBOOL WINAPI DdDeleteSurfaceObject(LPDDRAWI_DDRAWSURFACE_LCL pSurfaceLocal);
44 WINBOOL WINAPI DdResetVisrgn(LPDDRAWI_DDRAWSURFACE_LCL pSurfaceLocal,HWND hWnd);
45 HDC WINAPI DdGetDC(LPDDRAWI_DDRAWSURFACE_LCL pSurfaceLocal,LPPALETTEENTRY pColorTable);
46 WINBOOL WINAPI DdReleaseDC(LPDDRAWI_DDRAWSURFACE_LCL pSurfaceLocal);
47 HBITMAP WINAPI DdCreateDIBSection(HDC hdc,CONST BITMAPINFO *pbmi,UINT iUsage,VOID **ppvBits,HANDLE hSectionApp,DWORD dwOffset);
48 WINBOOL WINAPI DdReenableDirectDrawObject(LPDDRAWI_DIRECTDRAW_GBL pDirectDrawGlobal,WINBOOL *pbNewMode);
49 WINBOOL WINAPI DdAttachSurface(LPDDRAWI_DDRAWSURFACE_LCL pSurfaceFrom,LPDDRAWI_DDRAWSURFACE_LCL pSurfaceTo);
50 VOID WINAPI DdUnattachSurface(LPDDRAWI_DDRAWSURFACE_LCL pSurface,LPDDRAWI_DDRAWSURFACE_LCL pSurfaceAttached);
51 ULONG WINAPI DdQueryDisplaySettingsUniqueness(VOID);
52 HANDLE WINAPI DdGetDxHandle(LPDDRAWI_DIRECTDRAW_LCL pDDraw,LPDDRAWI_DDRAWSURFACE_LCL pSurface,WINBOOL bRelease);
53 WINBOOL WINAPI DdSetGammaRamp(LPDDRAWI_DIRECTDRAW_LCL pDDraw,HDC hdc,LPVOID lpGammaRamp);
54 DWORD WINAPI DdSwapTextureHandles(LPDDRAWI_DIRECTDRAW_LCL pDDraw,LPDDRAWI_DDRAWSURFACE_LCL pDDSLcl1,LPDDRAWI_DDRAWSURFACE_LCL pDDSLcl2);
55 
56 #endif /* defined(MINGW_HAS_DDRAW_H) && defined(MINGW_DDRAW_VERSION) && MINGW_DDRAW_VERSION > 7  */
57 
58 #endif /*  _DDRAWGDI_H_ */
59