2 * DirectDraw GDI32.dll interface definitions
3 * Copyright (C) 2003 ReactOS Team
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.
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.
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.
19 #include <ddk/ddrawi.h>
20 #include <ddk/winddi.h>
21 #include <ddk/d3dhal.h>
22 BOOL STDCALL DdCreateDirectDrawObject(
23 LPDDRAWI_DIRECTDRAW_GBL pDirectDrawGlobal,
26 BOOL STDCALL DdQueryDirectDrawObject(
27 LPDDRAWI_DIRECTDRAW_GBL pDirectDrawGlobal,
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,
39 BOOL STDCALL DdDeleteDirectDrawObject(
40 LPDDRAWI_DIRECTDRAW_GBL pDirectDrawGlobal
42 BOOL STDCALL DdCreateSurfaceObject(
43 LPDDRAWI_DDRAWSURFACE_LCL pSurfaceLocal,
46 BOOL STDCALL DdDeleteSurfaceObject(
47 LPDDRAWI_DDRAWSURFACE_LCL pSurfaceLocal
49 BOOL STDCALL DdResetVisrgn(
50 LPDDRAWI_DDRAWSURFACE_LCL pSurfaceLocal,
54 LPDDRAWI_DDRAWSURFACE_LCL pSurfaceLocal,
55 LPPALETTEENTRY pColorTable
57 BOOL STDCALL DdReleaseDC(
58 LPDDRAWI_DDRAWSURFACE_LCL pSurfaceLocal
60 HBITMAP STDCALL DdCreateDIBSection(
62 CONST BITMAPINFO *pbmi,
68 BOOL STDCALL DdReenableDirectDrawObject(
69 LPDDRAWI_DIRECTDRAW_GBL pDirectDrawGlobal,
72 BOOL STDCALL DdAttachSurface(
73 LPDDRAWI_DDRAWSURFACE_LCL pSurfaceFrom,
74 LPDDRAWI_DDRAWSURFACE_LCL pSurfaceTo
76 VOID STDCALL DdUnattachSurface(
77 LPDDRAWI_DDRAWSURFACE_LCL pSurface,
78 LPDDRAWI_DDRAWSURFACE_LCL pSurfaceAttached
80 ULONG STDCALL DdQueryDisplaySettingsUniqueness(VOID);
81 HANDLE STDCALL DdGetDxHandle(
82 LPDDRAWI_DIRECTDRAW_LCL pDDraw,
83 LPDDRAWI_DDRAWSURFACE_LCL pSurface,
86 BOOL STDCALL DdSetGammaRamp(
87 LPDDRAWI_DIRECTDRAW_LCL pDDraw,
91 DWORD STDCALL DdSwapTextureHandles(
92 LPDDRAWI_DIRECTDRAW_LCL pDDraw,
93 LPDDRAWI_DDRAWSURFACE_LCL pDDSLcl1,
94 LPDDRAWI_DDRAWSURFACE_LCL pDDSLcl2
96 DWORD STDCALL DxgGenericThunk(ULONG_PTR ulIndex,
98 SIZE_T *pdwSizeOfPtr1,
100 SIZE_T *pdwSizeOfPtr2,
102 BOOL STDCALL D3DContextCreate(
103 HANDLE hDirectDrawLocal,
106 D3DNTHAL_CONTEXTCREATEI *pdcci
108 DWORD STDCALL D3DContextDestroy(
109 LPD3DNTHAL_CONTEXTDESTROYDATA pContextDestroyData
111 DWORD STDCALL D3DContextDestroyAll(VOID);
112 DWORD STDCALL D3DValidateTextureStageState(
113 LPD3DNTHAL_VALIDATETEXTURESTAGESTATEDATA pData
115 DWORD STDCALL D3DDrawPrimitives2(
118 LPD3DNTHAL_DRAWPRIMITIVES2DATA pded,
119 FLATPTR *pfpVidMemCmd,
121 FLATPTR *pfpVidMemVtx,
124 DWORD STDCALL D3DGetDriverState(
125 PDD_GETDRIVERSTATEDATA pdata
127 DWORD STDCALL DdAddAttachedSurface(
129 HANDLE hSurfaceAttached,
130 PDD_ADDATTACHEDSURFACEDATA puAddAttachedSurfaceData
132 DWORD STDCALL DdAlphaBlt(
135 PDD_BLTDATA puBltData);
136 BOOL STDCALL DdDdAttachSurface( /*rename it so it doesnt conflict */
140 DWORD STDCALL DdBeginMoCompFrame(
142 PDD_BEGINMOCOMPFRAMEDATA puBeginFrameData
147 PDD_BLTDATA puBltData
149 DWORD STDCALL DdCanCreateSurface(
151 PDD_CANCREATESURFACEDATA puCanCreateSurfaceData
153 DWORD STDCALL DdCanCreateD3DBuffer(
155 PDD_CANCREATESURFACEDATA puCanCreateSurfaceData
157 DWORD STDCALL DdColorControl(
159 PDD_COLORCONTROLDATA puColorControlData
161 HANDLE STDCALL DdDdCreateDirectDrawObject( /*rename it so it doesnt conflict */
164 DWORD STDCALL DdCreateSurface(
167 DDSURFACEDESC *puSurfaceDescription,
168 DD_SURFACE_GLOBAL *puSurfaceGlobalData,
169 DD_SURFACE_LOCAL *puSurfaceLocalData,
170 DD_SURFACE_MORE *puSurfaceMoreData,
171 DD_CREATESURFACEDATA *puCreateSurfaceData,
174 DWORD STDCALL DdCreateD3DBuffer(
177 DDSURFACEDESC *puSurfaceDescription,
178 DD_SURFACE_GLOBAL *puSurfaceGlobalData,
179 DD_SURFACE_LOCAL *puSurfaceLocalData,
180 DD_SURFACE_MORE *puSurfaceMoreData,
181 DD_CREATESURFACEDATA *puCreateSurfaceData,
184 HANDLE STDCALL DdCreateMoComp(
186 PDD_CREATEMOCOMPDATA puCreateMoCompData
188 HANDLE STDCALL DdDdCreateSurfaceObject( /*rename it so it doesnt conflict */
189 HANDLE hDirectDrawLocal,
191 PDD_SURFACE_LOCAL puSurfaceLocal,
192 PDD_SURFACE_MORE puSurfaceMore,
193 PDD_SURFACE_GLOBAL puSurfaceGlobal,
196 BOOL STDCALL DdDdDeleteDirectDrawObject( /*rename it so it doesnt conflict */
197 HANDLE hDirectDrawLocal
199 BOOL STDCALL DdDdDeleteSurfaceObject( /*rename it so it doesnt conflict */
202 DWORD STDCALL DdDestroyMoComp(
204 PDD_DESTROYMOCOMPDATA puBeginFrameData
206 DWORD STDCALL DdDestroySurface(
210 DWORD STDCALL DdDestroyD3DBuffer(
213 DWORD STDCALL DdEndMoCompFrame(
215 PDD_ENDMOCOMPFRAMEDATA puEndFrameData
217 DWORD STDCALL DdFlip(
218 HANDLE hSurfaceCurrent,
219 HANDLE hSurfaceTarget,
220 HANDLE hSurfaceCurrentLeft,
221 HANDLE hSurfaceTargetLeft,
222 PDD_FLIPDATA puFlipData
224 DWORD STDCALL DdFlipToGDISurface(
226 PDD_FLIPTOGDISURFACEDATA puFlipToGDISurfaceData
228 DWORD STDCALL DdGetAvailDriverMemory(
230 PDD_GETAVAILDRIVERMEMORYDATA puGetAvailDriverMemoryData
232 DWORD STDCALL DdGetBltStatus(
234 PDD_GETBLTSTATUSDATA puGetBltStatusData
236 HDC STDCALL DdDdGetDC( /*rename it so it doesnt conflict */
238 PALETTEENTRY *puColorTable
240 DWORD STDCALL DdGetDriverInfo(
242 PDD_GETDRIVERINFODATA puGetDriverInfoData
244 DWORD STDCALL DdDdGetDxHandle( /*rename it so it doesnt conflict */
249 DWORD STDCALL DdGetFlipStatus(
251 PDD_GETFLIPSTATUSDATA puGetFlipStatusData
253 DWORD STDCALL DdGetInternalMoCompInfo(
255 PDD_GETINTERNALMOCOMPDATA puGetInternalData
257 DWORD STDCALL DdGetMoCompBuffInfo(
259 PDD_GETMOCOMPCOMPBUFFDATA puGetBuffData
261 DWORD STDCALL DdGetMoCompGuids(
263 PDD_GETMOCOMPGUIDSDATA puGetMoCompGuidsData
265 DWORD STDCALL DdGetMoCompFormats(
267 PDD_GETMOCOMPFORMATSDATA puGetMoCompFormatsData
269 DWORD STDCALL DdGetScanLine(
271 PDD_GETSCANLINEDATA puGetScanLineData
273 DWORD STDCALL DdLock(
275 PDD_LOCKDATA puLockData,
278 DWORD STDCALL DdLockD3D(
280 PDD_LOCKDATA puLockData
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,
291 VIDEOMEMORY *puvmList,
295 DWORD STDCALL DdQueryMoCompStatus(
297 PDD_QUERYMOCOMPSTATUSDATA puQueryMoCompStatusData
299 BOOL STDCALL DdDdReenableDirectDrawObject( /*rename it so it doesnt conflict */
300 HANDLE hDirectDrawLocal,
303 BOOL STDCALL DdDdReleaseDC( /*rename it so it doesnt conflict */
306 DWORD STDCALL DdRenderMoComp(
308 PDD_RENDERMOCOMPDATA puRenderMoCompData
310 BOOL STDCALL DdDdResetVisrgn( /*rename it so it doesnt conflict */
314 DWORD STDCALL DdSetColorKey(
316 PDD_SETCOLORKEYDATA puSetColorKeyData
318 DWORD STDCALL DdSetExclusiveMode(
320 PDD_SETEXCLUSIVEMODEDATA puSetExclusiveModeData
322 BOOL STDCALL DdDdSetGammaRamp( /*rename it so it doesnt conflict */
327 DWORD STDCALL DdCreateSurfaceEx(
330 DWORD dwSurfaceHandle
332 DWORD STDCALL DdSetOverlayPosition(
333 HANDLE hSurfaceSource,
334 HANDLE hSurfaceDestination,
335 PDD_SETOVERLAYPOSITIONDATA puSetOverlayPositionData
337 VOID STDCALL DdDdUnattachSurface( /*rename it so it doesnt conflict */
339 HANDLE hSurfaceAttached
341 DWORD STDCALL DdUnlock(
343 PDD_UNLOCKDATA puUnlockData
345 DWORD STDCALL DdUnlockD3D(
347 PDD_UNLOCKDATA puUnlockData
349 DWORD STDCALL DdUpdateOverlay(
350 HANDLE hSurfaceDestination,
351 HANDLE hSurfaceSource,
352 PDD_UPDATEOVERLAYDATA puUpdateOverlayData
354 DWORD STDCALL DdWaitForVerticalBlank(
356 PDD_WAITFORVERTICALBLANKDATA puWaitForVerticalBlankData