c3e957863f681a664919e4c84f06f7c96c5fc262
[reactos.git] / reactos / include / ddentry.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 #include <ddk\ddrawi.h>
20 #include <ddk\winddi.h>
21 #include <ddk\d3dhal.h>
22 BOOL STDCALL DdCreateDirectDrawObject(
23 LPDDRAWI_DIRECTDRAW_GBL pDirectDrawGlobal,
24 HDC hdc
25 );
26 BOOL STDCALL DdQueryDirectDrawObject(
27 LPDDRAWI_DIRECTDRAW_GBL pDirectDrawGlobal,
28 LPDDHALINFO pHalInfo,
29 LPDDHAL_DDCALLBACKS pDDCallbacks,
30 LPDDHAL_DDSURFACECALLBACKS pDDSurfaceCallbacks,
31 LPDDHAL_DDPALETTECALLBACKS pDDPaletteCallbacks,
32 LPD3DHAL_CALLBACKS pD3dCallbacks,
33 LPD3DHAL_GLOBALDRIVERDATA pD3dDriverData,
34 LPDDHAL_DDEXEBUFCALLBACKS pD3dBufferCallbacks,
35 LPDDSURFACEDESC pD3dTextureFormats,
36 LPDWORD pdwFourCC,
37 LPVIDMEM pvmList
38 );
39 BOOL STDCALL DdDeleteDirectDrawObject(
40 LPDDRAWI_DIRECTDRAW_GBL pDirectDrawGlobal
41 );
42 BOOL STDCALL DdCreateSurfaceObject(
43 LPDDRAWI_DDRAWSURFACE_LCL pSurfaceLocal,
44 BOOL bPrimarySurface
45 );
46 BOOL STDCALL DdDeleteSurfaceObject(
47 LPDDRAWI_DDRAWSURFACE_LCL pSurfaceLocal
48 );
49 BOOL STDCALL DdResetVisrgn(
50 LPDDRAWI_DDRAWSURFACE_LCL pSurfaceLocal,
51 HWND hWnd
52 );
53 BOOL STDCALL DdGetDC(
54 LPDDRAWI_DDRAWSURFACE_LCL pSurfaceLocal,
55 LPPALETTEENTRY pColorTable
56 );
57 BOOL STDCALL DdReleaseDC(
58 LPDDRAWI_DDRAWSURFACE_LCL pSurfaceLocal
59 );
60 HBITMAP STDCALL DdCreateDIBSection(
61 HDC hdc,
62 CONST BITMAPINFO *pbmi,
63 UINT iUsage,
64 VOID **ppvBits,
65 HANDLE hSectionApp,
66 DWORD dwOffset
67 );
68 BOOL STDCALL DdReenableDirectDrawObject(
69 LPDDRAWI_DIRECTDRAW_GBL pDirectDrawGlobal,
70 BOOL *pbNewMode
71 );
72 BOOL STDCALL DdAttachSurface(
73 LPDDRAWI_DDRAWSURFACE_LCL pSurfaceFrom,
74 LPDDRAWI_DDRAWSURFACE_LCL pSurfaceTo
75 );
76 VOID STDCALL DdUnattachSurface(
77 LPDDRAWI_DDRAWSURFACE_LCL pSurface,
78 LPDDRAWI_DDRAWSURFACE_LCL pSurfaceAttached
79 );
80 ULONG STDCALL DdQueryDisplaySettingsUniqueness(VOID);
81 HANDLE STDCALL DdGetDxHandle(
82 LPDDRAWI_DIRECTDRAW_LCL pDDraw,
83 LPDDRAWI_DDRAWSURFACE_LCL pSurface,
84 BOOL bRelease
85 );
86 BOOL STDCALL DdSetGammaRamp(
87 LPDDRAWI_DIRECTDRAW_LCL pDDraw,
88 HDC hdc,
89 LPVOID lpGammaRamp
90 );
91 DWORD STDCALL DdSwapTextureHandles(
92 LPDDRAWI_DIRECTDRAW_LCL pDDraw,
93 LPDDRAWI_DDRAWSURFACE_LCL pDDSLcl1,
94 LPDDRAWI_DDRAWSURFACE_LCL pDDSLcl2
95 );
96 DWORD STDCALL DxgGenericThunk(ULONG_PTR ulIndex,
97 ULONG_PTR ulHandle,
98 SIZE_T *pdwSizeOfPtr1,
99 PVOID pvPtr1,
100 SIZE_T *pdwSizeOfPtr2,
101 PVOID pvPtr2);
102 BOOL STDCALL D3DContextCreate(
103 HANDLE hDirectDrawLocal,
104 HANDLE hSurfColor,
105 HANDLE hSurfZ,
106 D3DNTHAL_CONTEXTCREATEI *pdcci
107 );
108 DWORD STDCALL D3DContextDestroy(
109 LPD3DNTHAL_CONTEXTDESTROYDATA pContextDestroyData
110 );
111 DWORD STDCALL D3DContextDestroyAll(VOID);
112 DWORD STDCALL D3DValidateTextureStageState(
113 LPD3DNTHAL_VALIDATETEXTURESTAGESTATEDATA pData
114 );
115 DWORD STDCALL D3DDrawPrimitives2(
116 HANDLE hCmdBuf,
117 HANDLE hVBuf,
118 LPD3DNTHAL_DRAWPRIMITIVES2DATA pded,
119 FLATPTR *pfpVidMemCmd,
120 DWORD *pdwSizeCmd,
121 FLATPTR *pfpVidMemVtx,
122 DWORD *pdwSizeVtx
123 );
124 DWORD STDCALL D3DGetDriverState(
125 PDD_GETDRIVERSTATEDATA pdata
126 );
127 DWORD STDCALL DdAddAttachedSurface(
128 HANDLE hSurface,
129 HANDLE hSurfaceAttached,
130 PDD_ADDATTACHEDSURFACEDATA puAddAttachedSurfaceData
131 );
132 DWORD STDCALL DdAlphaBlt(
133 HANDLE hSurfaceDest,
134 HANDLE hSurfaceSrc,
135 PDD_BLTDATA puBltData);
136 BOOL STDCALL DdDdAttachSurface( /*rename it so it doesnt conflict */
137 HANDLE hSurfaceFrom,
138 HANDLE hSurfaceTo
139 );
140 DWORD STDCALL DdBeginMoCompFrame(
141 HANDLE hMoComp,
142 PDD_BEGINMOCOMPFRAMEDATA puBeginFrameData
143 );
144 DWORD STDCALL DdBlt(
145 HANDLE hSurfaceDest,
146 HANDLE hSurfaceSrc,
147 PDD_BLTDATA puBltData
148 );
149 DWORD STDCALL DdCanCreateSurface(
150 HANDLE hDirectDraw,
151 PDD_CANCREATESURFACEDATA puCanCreateSurfaceData
152 );
153 DWORD STDCALL DdCanCreateD3DBuffer(
154 HANDLE hDirectDraw,
155 PDD_CANCREATESURFACEDATA puCanCreateSurfaceData
156 );
157 DWORD STDCALL DdColorControl(
158 HANDLE hSurface,
159 PDD_COLORCONTROLDATA puColorControlData
160 );
161 HANDLE STDCALL DdDdCreateDirectDrawObject( /*rename it so it doesnt conflict */
162 HDC hdc
163 );
164 DWORD STDCALL DdCreateSurface(
165 HANDLE hDirectDraw,
166 HANDLE *hSurface,
167 DDSURFACEDESC *puSurfaceDescription,
168 DD_SURFACE_GLOBAL *puSurfaceGlobalData,
169 DD_SURFACE_LOCAL *puSurfaceLocalData,
170 DD_SURFACE_MORE *puSurfaceMoreData,
171 DD_CREATESURFACEDATA *puCreateSurfaceData,
172 HANDLE *puhSurface
173 );
174 DWORD STDCALL DdCreateD3DBuffer(
175 HANDLE hDirectDraw,
176 HANDLE *hSurface,
177 DDSURFACEDESC *puSurfaceDescription,
178 DD_SURFACE_GLOBAL *puSurfaceGlobalData,
179 DD_SURFACE_LOCAL *puSurfaceLocalData,
180 DD_SURFACE_MORE *puSurfaceMoreData,
181 DD_CREATESURFACEDATA *puCreateSurfaceData,
182 HANDLE *puhSurface
183 );
184 HANDLE STDCALL DdCreateMoComp(
185 HANDLE hDirectDraw,
186 PDD_CREATEMOCOMPDATA puCreateMoCompData
187 );
188 HANDLE STDCALL DdDdCreateSurfaceObject( /*rename it so it doesnt conflict */
189 HANDLE hDirectDrawLocal,
190 HANDLE hSurface,
191 PDD_SURFACE_LOCAL puSurfaceLocal,
192 PDD_SURFACE_MORE puSurfaceMore,
193 PDD_SURFACE_GLOBAL puSurfaceGlobal,
194 BOOL bComplete
195 );
196 BOOL STDCALL DdDdDeleteDirectDrawObject( /*rename it so it doesnt conflict */
197 HANDLE hDirectDrawLocal
198 );
199 BOOL STDCALL DdDdDeleteSurfaceObject( /*rename it so it doesnt conflict */
200 HANDLE hSurface
201 );
202 DWORD STDCALL DdDestroyMoComp(
203 HANDLE hMoComp,
204 PDD_DESTROYMOCOMPDATA puBeginFrameData
205 );
206 DWORD STDCALL DdDestroySurface(
207 HANDLE hSurface,
208 BOOL bRealDestroy
209 );
210 DWORD STDCALL DdDestroyD3DBuffer(
211 HANDLE hSurface
212 );
213 DWORD STDCALL DdEndMoCompFrame(
214 HANDLE hMoComp,
215 PDD_ENDMOCOMPFRAMEDATA puEndFrameData
216 );
217 DWORD STDCALL DdFlip(
218 HANDLE hSurfaceCurrent,
219 HANDLE hSurfaceTarget,
220 HANDLE hSurfaceCurrentLeft,
221 HANDLE hSurfaceTargetLeft,
222 PDD_FLIPDATA puFlipData
223 );
224 DWORD STDCALL DdFlipToGDISurface(
225 HANDLE hDirectDraw,
226 PDD_FLIPTOGDISURFACEDATA puFlipToGDISurfaceData
227 );
228 DWORD STDCALL DdGetAvailDriverMemory(
229 HANDLE hDirectDraw,
230 PDD_GETAVAILDRIVERMEMORYDATA puGetAvailDriverMemoryData
231 );
232 DWORD STDCALL DdGetBltStatus(
233 HANDLE hSurface,
234 PDD_GETBLTSTATUSDATA puGetBltStatusData
235 );
236 HDC STDCALL DdDdGetDC( /*rename it so it doesnt conflict */
237 HANDLE hSurface,
238 PALETTEENTRY *puColorTable
239 );
240 DWORD STDCALL DdGetDriverInfo(
241 HANDLE hDirectDraw,
242 PDD_GETDRIVERINFODATA puGetDriverInfoData
243 );
244 DWORD STDCALL DdDdGetDxHandle( /*rename it so it doesnt conflict */
245 HANDLE hDirectDraw,
246 HANDLE hSurface,
247 BOOL bRelease
248 );
249 DWORD STDCALL DdGetFlipStatus(
250 HANDLE hSurface,
251 PDD_GETFLIPSTATUSDATA puGetFlipStatusData
252 );
253 DWORD STDCALL DdGetInternalMoCompInfo(
254 HANDLE hDirectDraw,
255 PDD_GETINTERNALMOCOMPDATA puGetInternalData
256 );
257 DWORD STDCALL DdGetMoCompBuffInfo(
258 HANDLE hDirectDraw,
259 PDD_GETMOCOMPCOMPBUFFDATA puGetBuffData
260 );
261 DWORD STDCALL DdGetMoCompGuids(
262 HANDLE hDirectDraw,
263 PDD_GETMOCOMPGUIDSDATA puGetMoCompGuidsData
264 );
265 DWORD STDCALL DdGetMoCompFormats(
266 HANDLE hDirectDraw,
267 PDD_GETMOCOMPFORMATSDATA puGetMoCompFormatsData
268 );
269 DWORD STDCALL DdGetScanLine(
270 HANDLE hDirectDraw,
271 PDD_GETSCANLINEDATA puGetScanLineData
272 );
273 DWORD STDCALL DdLock(
274 HANDLE hSurface,
275 PDD_LOCKDATA puLockData,
276 HDC hdcClip
277 );
278 DWORD STDCALL DdLockD3D(
279 HANDLE hSurface,
280 PDD_LOCKDATA puLockData
281 );
282 BOOL STDCALL DdDdQueryDirectDrawObject( /*rename it so it doesnt conflict */
283 HANDLE hDirectDrawLocal,
284 DD_HALINFO *pHalInfo,
285 DWORD *pCallBackFlags,
286 LPD3DNTHAL_CALLBACKS puD3dCallbacks,
287 LPD3DNTHAL_GLOBALDRIVERDATA puD3dDriverData,
288 PDD_D3DBUFCALLBACKS puD3dBufferCallbacks,
289 LPDDSURFACEDESC puD3dTextureFormats,
290 DWORD *puNumHeaps,
291 VIDEOMEMORY *puvmList,
292 DWORD *puNumFourCC,
293 DWORD *puFourCC
294 );
295 DWORD STDCALL DdQueryMoCompStatus(
296 HANDLE hMoComp,
297 PDD_QUERYMOCOMPSTATUSDATA puQueryMoCompStatusData
298 );
299 BOOL STDCALL DdDdReenableDirectDrawObject( /*rename it so it doesnt conflict */
300 HANDLE hDirectDrawLocal,
301 BOOL *pubNewMode
302 );
303 BOOL STDCALL DdDdReleaseDC( /*rename it so it doesnt conflict */
304 HANDLE hSurface
305 );
306 DWORD STDCALL DdRenderMoComp(
307 HANDLE hMoComp,
308 PDD_RENDERMOCOMPDATA puRenderMoCompData
309 );
310 BOOL STDCALL DdDdResetVisrgn( /*rename it so it doesnt conflict */
311 HANDLE hSurface,
312 HWND hwnd
313 );
314 DWORD STDCALL DdSetColorKey(
315 HANDLE hSurface,
316 PDD_SETCOLORKEYDATA puSetColorKeyData
317 );
318 DWORD STDCALL DdSetExclusiveMode(
319 HANDLE hDirectDraw,
320 PDD_SETEXCLUSIVEMODEDATA puSetExclusiveModeData
321 );
322 BOOL STDCALL DdDdSetGammaRamp( /*rename it so it doesnt conflict */
323 HANDLE hDirectDraw,
324 HDC hdc,
325 LPVOID lpGammaRamp
326 );
327 DWORD STDCALL DdCreateSurfaceEx(
328 HANDLE hDirectDraw,
329 HANDLE hSurface,
330 DWORD dwSurfaceHandle
331 );
332 DWORD STDCALL DdSetOverlayPosition(
333 HANDLE hSurfaceSource,
334 HANDLE hSurfaceDestination,
335 PDD_SETOVERLAYPOSITIONDATA puSetOverlayPositionData
336 );
337 VOID STDCALL DdDdUnattachSurface( /*rename it so it doesnt conflict */
338 HANDLE hSurface,
339 HANDLE hSurfaceAttached
340 );
341 DWORD STDCALL DdUnlock(
342 HANDLE hSurface,
343 PDD_UNLOCKDATA puUnlockData
344 );
345 DWORD STDCALL DdUnlockD3D(
346 HANDLE hSurface,
347 PDD_UNLOCKDATA puUnlockData
348 );
349 DWORD STDCALL DdUpdateOverlay(
350 HANDLE hSurfaceDestination,
351 HANDLE hSurfaceSource,
352 PDD_UPDATEOVERLAYDATA puUpdateOverlayData
353 );
354 DWORD STDCALL DdWaitForVerticalBlank(
355 HANDLE hDirectDraw,
356 PDD_WAITFORVERTICALBLANKDATA puWaitForVerticalBlankData
357 );