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
31typedef struct _D3DHAL_CALLBACKS *LPD3DHAL_CALLBACKS;
32#define D3DHAL_CALLBACKS_DEFINED
33#endif
34#ifndef D3DHAL_GLOBALDRIVERDATA_DEFINED
35typedef struct _D3DHAL_GLOBALDRIVERDATA *LPD3DHAL_GLOBALDRIVERDATA;
36#define D3DHAL_GLOBALDRIVERDATA_DEFINED
37#endif
38
39WINBOOL WINAPI DdCreateDirectDrawObject(LPDDRAWI_DIRECTDRAW_GBL pDirectDrawGlobal,HDC hdc);
40WINBOOL 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);
41WINBOOL WINAPI DdDeleteDirectDrawObject(LPDDRAWI_DIRECTDRAW_GBL pDirectDrawGlobal);
42WINBOOL WINAPI DdCreateSurfaceObject(LPDDRAWI_DDRAWSURFACE_LCL pSurfaceLocal,WINBOOL bPrimarySurface);
43WINBOOL WINAPI DdDeleteSurfaceObject(LPDDRAWI_DDRAWSURFACE_LCL pSurfaceLocal);
44WINBOOL WINAPI DdResetVisrgn(LPDDRAWI_DDRAWSURFACE_LCL pSurfaceLocal,HWND hWnd);
45HDC WINAPI DdGetDC(LPDDRAWI_DDRAWSURFACE_LCL pSurfaceLocal,LPPALETTEENTRY pColorTable);
46WINBOOL WINAPI DdReleaseDC(LPDDRAWI_DDRAWSURFACE_LCL pSurfaceLocal);
47HBITMAP WINAPI DdCreateDIBSection(HDC hdc,CONST BITMAPINFO *pbmi,UINT iUsage,VOID **ppvBits,HANDLE hSectionApp,DWORD dwOffset);
48WINBOOL WINAPI DdReenableDirectDrawObject(LPDDRAWI_DIRECTDRAW_GBL pDirectDrawGlobal,WINBOOL *pbNewMode);
49WINBOOL WINAPI DdAttachSurface(LPDDRAWI_DDRAWSURFACE_LCL pSurfaceFrom,LPDDRAWI_DDRAWSURFACE_LCL pSurfaceTo);
50VOID WINAPI DdUnattachSurface(LPDDRAWI_DDRAWSURFACE_LCL pSurface,LPDDRAWI_DDRAWSURFACE_LCL pSurfaceAttached);
51ULONG WINAPI DdQueryDisplaySettingsUniqueness(VOID);
52HANDLE WINAPI DdGetDxHandle(LPDDRAWI_DIRECTDRAW_LCL pDDraw,LPDDRAWI_DDRAWSURFACE_LCL pSurface,WINBOOL bRelease);
53WINBOOL WINAPI DdSetGammaRamp(LPDDRAWI_DIRECTDRAW_LCL pDDraw,HDC hdc,LPVOID lpGammaRamp);
54DWORD 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