Sync with trunk (r48545)
[reactos.git] / include / psdk / ddrawgdi.h
1 /*
2 * DirectDraw GDI32.dll interface definitions
3 * Copyright (C) 2003 ReactOS Team
4 *
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2 of the License, or
8 * (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with this program; if not, write to the Free Software
17 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
18 */
19
20 #ifndef _DDRAWGDI_
21 #define _DDRAWGDI_
22
23 /* Define the real export names */
24 #define DdCreateDirectDrawObject GdiEntry1
25 #define DdQueryDirectDrawObject GdiEntry2
26 #define DdDeleteDirectDrawObject GdiEntry3
27 #define DdCreateSurfaceObject GdiEntry4
28 #define DdDeleteSurfaceObject GdiEntry5
29 #define DdResetVisrgn GdiEntry6
30 #define DdGetDC GdiEntry7
31 #define DdReleaseDC GdiEntry8
32 #define DdCreateDIBSection GdiEntry9
33 #define DdReenableDirectDrawObject GdiEntry10
34 #define DdAttachSurface GdiEntry11
35 #define DdUnattachSurface GdiEntry12
36 #define DdQueryDisplaySettingsUniqueness GdiEntry13
37 #define DdGetDxHandle GdiEntry14
38 #define DdSetGammaRamp GdiEntry15
39 #define DdSwapTextureHandles GdiEntry16
40
41 #ifndef D3DHAL_CALLBACKS_DEFINED
42 typedef struct _D3DHAL_CALLBACKS FAR *LPD3DHAL_CALLBACKS;
43 #define D3DHAL_CALLBACKS_DEFINED
44 #endif
45
46 #ifndef D3DHAL_GLOBALDRIVERDATA_DEFINED
47 typedef struct _D3DHAL_GLOBALDRIVERDATA FAR *LPD3DHAL_GLOBALDRIVERDATA;
48 #define D3DHAL_GLOBALDRIVERDATA_DEFINED
49 #endif
50
51 BOOL
52 WINAPI
53 DdCreateDirectDrawObject(
54 LPDDRAWI_DIRECTDRAW_GBL pDirectDrawGlobal,
55 HDC hdc
56 );
57
58 BOOL
59 WINAPI
60 DdQueryDirectDrawObject(
61 LPDDRAWI_DIRECTDRAW_GBL pDirectDrawGlobal,
62 LPDDHALINFO pHalInfo,
63 LPDDHAL_DDCALLBACKS pDDCallbacks,
64 LPDDHAL_DDSURFACECALLBACKS pDDSurfaceCallbacks,
65 LPDDHAL_DDPALETTECALLBACKS pDDPaletteCallbacks,
66 LPD3DHAL_CALLBACKS pD3dCallbacks,
67 LPD3DHAL_GLOBALDRIVERDATA pD3dDriverData,
68 LPDDHAL_DDEXEBUFCALLBACKS pD3dBufferCallbacks,
69 LPDDSURFACEDESC pD3dTextureFormats,
70 LPDWORD pdwFourCC,
71 LPVIDMEM pvmList
72 );
73
74 BOOL
75 WINAPI
76 DdDeleteDirectDrawObject(
77 LPDDRAWI_DIRECTDRAW_GBL pDirectDrawGlobal
78 );
79
80 BOOL
81 WINAPI
82 DdCreateSurfaceObject(
83 LPDDRAWI_DDRAWSURFACE_LCL pSurfaceLocal,
84 BOOL bPrimarySurface
85 );
86
87 BOOL
88 WINAPI
89 DdDeleteSurfaceObject(
90 LPDDRAWI_DDRAWSURFACE_LCL pSurfaceLocal
91 );
92
93 BOOL
94 WINAPI
95 DdResetVisrgn(
96 LPDDRAWI_DDRAWSURFACE_LCL pSurfaceLocal,
97 HWND hWnd
98 );
99
100 HDC
101 WINAPI
102 DdGetDC(
103 LPDDRAWI_DDRAWSURFACE_LCL pSurfaceLocal,
104 LPPALETTEENTRY pColorTable
105 );
106
107 BOOL
108 WINAPI
109 DdReleaseDC(
110 LPDDRAWI_DDRAWSURFACE_LCL pSurfaceLocal
111 );
112
113 HBITMAP
114 WINAPI
115 DdCreateDIBSection(
116 HDC hdc,
117 CONST BITMAPINFO *pbmi,
118 UINT iUsage,
119 VOID **ppvBits,
120 HANDLE hSectionApp,
121 DWORD dwOffset
122 );
123
124 BOOL
125 WINAPI
126 DdReenableDirectDrawObject(
127 LPDDRAWI_DIRECTDRAW_GBL pDirectDrawGlobal,
128 BOOL *pbNewMode
129 );
130
131 BOOL
132 WINAPI
133 DdAttachSurface(
134 LPDDRAWI_DDRAWSURFACE_LCL pSurfaceFrom,
135 LPDDRAWI_DDRAWSURFACE_LCL pSurfaceTo
136 );
137
138 VOID
139 WINAPI
140 DdUnattachSurface(
141 LPDDRAWI_DDRAWSURFACE_LCL pSurface,
142 LPDDRAWI_DDRAWSURFACE_LCL pSurfaceAttached
143 );
144
145 ULONG
146 WINAPI
147 DdQueryDisplaySettingsUniqueness(VOID);
148
149 HANDLE
150 WINAPI
151 DdGetDxHandle(
152 LPDDRAWI_DIRECTDRAW_LCL pDDraw,
153 LPDDRAWI_DDRAWSURFACE_LCL pSurface,
154 BOOL bRelease
155 );
156
157 BOOL
158 WINAPI
159 DdSetGammaRamp(
160 LPDDRAWI_DIRECTDRAW_LCL pDDraw,
161 HDC hdc,
162 LPVOID lpGammaRamp
163 );
164
165 DWORD
166 WINAPI
167 DdSwapTextureHandles(
168 LPDDRAWI_DIRECTDRAW_LCL pDDraw,
169 LPDDRAWI_DDRAWSURFACE_LCL pDDSLcl1,
170 LPDDRAWI_DDRAWSURFACE_LCL pDDSLcl2
171 );
172 #endif