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