KERNEL_VERSION_MAJOR: 0 -> 5
[reactos.git] / 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 );