xref: /reactos/dll/directx/ddraw/Ddraw/ddraw.h (revision c2c66aff)
1*c2c66affSColin Finck /* public interfaces  we doing pur type cast here instead in the code, it will make more cleaner code */
2*c2c66affSColin Finck 
3*c2c66affSColin Finck HRESULT WINAPI
4*c2c66affSColin Finck Main_DirectDraw_QueryInterface (
5*c2c66affSColin Finck                                 LPDDRAWI_DIRECTDRAW_INT This,
6*c2c66affSColin Finck                                 REFIID id,
7*c2c66affSColin Finck                                 LPVOID *obj);
8*c2c66affSColin Finck 
9*c2c66affSColin Finck ULONG WINAPI
10*c2c66affSColin Finck Main_DirectDraw_AddRef (LPDDRAWI_DIRECTDRAW_INT This);
11*c2c66affSColin Finck 
12*c2c66affSColin Finck ULONG WINAPI
13*c2c66affSColin Finck Main_DirectDraw_Release (LPDDRAWI_DIRECTDRAW_INT This);
14*c2c66affSColin Finck 
15*c2c66affSColin Finck HRESULT WINAPI
16*c2c66affSColin Finck Main_DirectDraw_Compact(LPDDRAWI_DIRECTDRAW_INT This);
17*c2c66affSColin Finck 
18*c2c66affSColin Finck HRESULT WINAPI
19*c2c66affSColin Finck Main_DirectDraw_CreateClipper(
20*c2c66affSColin Finck                               LPDDRAWI_DIRECTDRAW_INT This,
21*c2c66affSColin Finck                               DWORD dwFlags,
22*c2c66affSColin Finck                               LPDIRECTDRAWCLIPPER *ppClipper,
23*c2c66affSColin Finck                               IUnknown *pUnkOuter);
24*c2c66affSColin Finck 
25*c2c66affSColin Finck HRESULT WINAPI
26*c2c66affSColin Finck Main_DirectDraw_CreatePalette(
27*c2c66affSColin Finck                               LPDDRAWI_DIRECTDRAW_INT This,
28*c2c66affSColin Finck                               DWORD dwFlags,
29*c2c66affSColin Finck                               LPPALETTEENTRY palent,
30*c2c66affSColin Finck                               LPDIRECTDRAWPALETTE* ppPalette,
31*c2c66affSColin Finck                               LPUNKNOWN pUnkOuter);
32*c2c66affSColin Finck 
33*c2c66affSColin Finck HRESULT WINAPI
34*c2c66affSColin Finck Main_DirectDraw_CreateSurface(
35*c2c66affSColin Finck                                LPDDRAWI_DIRECTDRAW_INT This,
36*c2c66affSColin Finck                                LPDDSURFACEDESC pDDSD,
37*c2c66affSColin Finck                                LPDDRAWI_DDRAWSURFACE_INT *ppSurf,
38*c2c66affSColin Finck                                IUnknown *pUnkOuter);
39*c2c66affSColin Finck 
40*c2c66affSColin Finck HRESULT WINAPI
41*c2c66affSColin Finck Main_DirectDraw_CreateSurface4(
42*c2c66affSColin Finck                                LPDDRAWI_DIRECTDRAW_INT This,
43*c2c66affSColin Finck                                LPDDSURFACEDESC2 pDDSD,
44*c2c66affSColin Finck                                LPDDRAWI_DDRAWSURFACE_INT *ppSurf,
45*c2c66affSColin Finck                                IUnknown *pUnkOuter);
46*c2c66affSColin Finck 
47*c2c66affSColin Finck HRESULT WINAPI
48*c2c66affSColin Finck Main_DirectDraw_DuplicateSurface(
49*c2c66affSColin Finck                                  LPDDRAWI_DIRECTDRAW_INT This,
50*c2c66affSColin Finck                                  LPDIRECTDRAWSURFACE7 src,
51*c2c66affSColin Finck                                  LPDIRECTDRAWSURFACE7* dst);
52*c2c66affSColin Finck 
53*c2c66affSColin Finck HRESULT WINAPI
54*c2c66affSColin Finck Main_DirectDraw_EnumDisplayModes(
55*c2c66affSColin Finck                                  LPDDRAWI_DIRECTDRAW_INT This,
56*c2c66affSColin Finck                                  DWORD dwFlags,
57*c2c66affSColin Finck                                  LPDDSURFACEDESC pDDSD,
58*c2c66affSColin Finck                                  LPVOID pContext,
59*c2c66affSColin Finck                                  LPDDENUMMODESCALLBACK pCallback);
60*c2c66affSColin Finck 
61*c2c66affSColin Finck HRESULT WINAPI
62*c2c66affSColin Finck Main_DirectDraw_EnumDisplayModes4(
63*c2c66affSColin Finck                                  LPDDRAWI_DIRECTDRAW_INT This,
64*c2c66affSColin Finck                                  DWORD dwFlags,
65*c2c66affSColin Finck                                  LPDDSURFACEDESC2 pDDSD,
66*c2c66affSColin Finck                                  LPVOID pContext,
67*c2c66affSColin Finck                                  LPDDENUMMODESCALLBACK2 pCallback);
68*c2c66affSColin Finck 
69*c2c66affSColin Finck HRESULT WINAPI
70*c2c66affSColin Finck Main_DirectDraw_EnumSurfaces(
71*c2c66affSColin Finck                              LPDDRAWI_DIRECTDRAW_INT This,
72*c2c66affSColin Finck                              DWORD dwFlags,
73*c2c66affSColin Finck                              LPDDSURFACEDESC lpDDSD2,
74*c2c66affSColin Finck                              LPVOID context,
75*c2c66affSColin Finck                              LPDDENUMSURFACESCALLBACK callback);
76*c2c66affSColin Finck 
77*c2c66affSColin Finck HRESULT WINAPI
78*c2c66affSColin Finck Main_DirectDraw_EnumSurfaces4(
79*c2c66affSColin Finck                              LPDDRAWI_DIRECTDRAW_INT This,
80*c2c66affSColin Finck                              DWORD dwFlags,
81*c2c66affSColin Finck                              LPDDSURFACEDESC2 lpDDSD2,
82*c2c66affSColin Finck                              LPVOID context,
83*c2c66affSColin Finck                              LPDDENUMSURFACESCALLBACK2 callback);
84*c2c66affSColin Finck 
85*c2c66affSColin Finck HRESULT WINAPI
86*c2c66affSColin Finck Main_DirectDraw_EnumSurfaces7(
87*c2c66affSColin Finck                              LPDDRAWI_DIRECTDRAW_INT This,
88*c2c66affSColin Finck                              DWORD dwFlags,
89*c2c66affSColin Finck                              LPDDSURFACEDESC2 lpDDSD2,
90*c2c66affSColin Finck                              LPVOID context,
91*c2c66affSColin Finck                              LPDDENUMSURFACESCALLBACK7 callback);
92*c2c66affSColin Finck 
93*c2c66affSColin Finck HRESULT WINAPI
94*c2c66affSColin Finck Main_DirectDraw_FlipToGDISurface(LPDDRAWI_DIRECTDRAW_INT This);
95*c2c66affSColin Finck 
96*c2c66affSColin Finck HRESULT WINAPI
97*c2c66affSColin Finck Main_DirectDraw_GetCaps(
98*c2c66affSColin Finck                         LPDDRAWI_DIRECTDRAW_INT This,
99*c2c66affSColin Finck                         LPDDCAPS pDriverCaps,
100*c2c66affSColin Finck                         LPDDCAPS pHELCaps);
101*c2c66affSColin Finck 
102*c2c66affSColin Finck HRESULT WINAPI
103*c2c66affSColin Finck Main_DirectDraw_GetDisplayMode (
104*c2c66affSColin Finck                                 LPDDRAWI_DIRECTDRAW_INT This,
105*c2c66affSColin Finck                                 LPDDSURFACEDESC pDDSD);
106*c2c66affSColin Finck 
107*c2c66affSColin Finck HRESULT WINAPI
108*c2c66affSColin Finck Main_DirectDraw_GetDisplayMode4 (
109*c2c66affSColin Finck                                 LPDDRAWI_DIRECTDRAW_INT This,
110*c2c66affSColin Finck                                 LPDDSURFACEDESC2 pDDSD);
111*c2c66affSColin Finck 
112*c2c66affSColin Finck HRESULT WINAPI
113*c2c66affSColin Finck Main_DirectDraw_GetFourCCCodes(
114*c2c66affSColin Finck                                LPDDRAWI_DIRECTDRAW_INT This,
115*c2c66affSColin Finck                                LPDWORD lpNumCodes,
116*c2c66affSColin Finck                                LPDWORD lpCodes);
117*c2c66affSColin Finck 
118*c2c66affSColin Finck HRESULT WINAPI
119*c2c66affSColin Finck Main_DirectDraw_GetGDISurface(
120*c2c66affSColin Finck                               LPDDRAWI_DIRECTDRAW_INT This,
121*c2c66affSColin Finck                               LPDIRECTDRAWSURFACE7 *lplpGDIDDSSurface);
122*c2c66affSColin Finck 
123*c2c66affSColin Finck HRESULT WINAPI
124*c2c66affSColin Finck Main_DirectDraw_GetMonitorFrequency (
125*c2c66affSColin Finck                                      LPDDRAWI_DIRECTDRAW_INT This,
126*c2c66affSColin Finck                                      LPDWORD lpFreq);
127*c2c66affSColin Finck 
128*c2c66affSColin Finck 
129*c2c66affSColin Finck HRESULT WINAPI
130*c2c66affSColin Finck Main_DirectDraw_GetScanLine(LPDDRAWI_DIRECTDRAW_INT This,
131*c2c66affSColin Finck                             LPDWORD lpdwScanLine);
132*c2c66affSColin Finck 
133*c2c66affSColin Finck HRESULT WINAPI
134*c2c66affSColin Finck Main_DirectDraw_GetVerticalBlankStatus(
135*c2c66affSColin Finck                                        LPDDRAWI_DIRECTDRAW_INT This,
136*c2c66affSColin Finck                                        LPBOOL lpbIsInVB);
137*c2c66affSColin Finck 
138*c2c66affSColin Finck HRESULT WINAPI
139*c2c66affSColin Finck Main_DirectDraw_Initialize (
140*c2c66affSColin Finck                             LPDDRAWI_DIRECTDRAW_INT This,
141*c2c66affSColin Finck                             LPGUID lpGUID);
142*c2c66affSColin Finck 
143*c2c66affSColin Finck 
144*c2c66affSColin Finck HRESULT WINAPI
145*c2c66affSColin Finck Main_DirectDraw_RestoreDisplayMode (LPDDRAWI_DIRECTDRAW_INT This);
146*c2c66affSColin Finck 
147*c2c66affSColin Finck HRESULT WINAPI
148*c2c66affSColin Finck Main_DirectDraw_SetCooperativeLevel (
149*c2c66affSColin Finck                                      LPDDRAWI_DIRECTDRAW_INT This,
150*c2c66affSColin Finck                                      HWND hwnd,
151*c2c66affSColin Finck                                      DWORD cooplevel);
152*c2c66affSColin Finck 
153*c2c66affSColin Finck HRESULT WINAPI
154*c2c66affSColin Finck Main_DirectDraw_SetDisplayMode(
155*c2c66affSColin Finck                                LPDDRAWI_DIRECTDRAW_INT This,
156*c2c66affSColin Finck                                DWORD dwWidth,
157*c2c66affSColin Finck                                DWORD dwHeight,
158*c2c66affSColin Finck                                DWORD dwBPP);
159*c2c66affSColin Finck 
160*c2c66affSColin Finck HRESULT WINAPI
161*c2c66affSColin Finck Main_DirectDraw_SetDisplayMode2(
162*c2c66affSColin Finck                                LPDDRAWI_DIRECTDRAW_INT This,
163*c2c66affSColin Finck                                DWORD dwWidth,
164*c2c66affSColin Finck                                DWORD dwHeight,
165*c2c66affSColin Finck                                DWORD dwBPP,
166*c2c66affSColin Finck                                DWORD dwRefreshRate,
167*c2c66affSColin Finck                                DWORD dwFlags);
168*c2c66affSColin Finck 
169*c2c66affSColin Finck HRESULT WINAPI
170*c2c66affSColin Finck Main_DirectDraw_WaitForVerticalBlank(
171*c2c66affSColin Finck                                      LPDDRAWI_DIRECTDRAW_INT This,
172*c2c66affSColin Finck                                      DWORD dwFlags,
173*c2c66affSColin Finck                                      HANDLE h);
174*c2c66affSColin Finck 
175*c2c66affSColin Finck 
176*c2c66affSColin Finck HRESULT WINAPI
177*c2c66affSColin Finck Main_DirectDraw_GetAvailableVidMem4(
178*c2c66affSColin Finck                                     LPDDRAWI_DIRECTDRAW_INT This,
179*c2c66affSColin Finck                                     LPDDSCAPS2 ddscaps,
180*c2c66affSColin Finck                                     LPDWORD dwTotal,
181*c2c66affSColin Finck                                     LPDWORD dwFree);
182*c2c66affSColin Finck 
183*c2c66affSColin Finck HRESULT WINAPI
184*c2c66affSColin Finck Main_DirectDraw_GetSurfaceFromDC(
185*c2c66affSColin Finck                                  LPDDRAWI_DIRECTDRAW_INT This,
186*c2c66affSColin Finck                                  HDC hdc,
187*c2c66affSColin Finck                                  LPDIRECTDRAWSURFACE7 *lpDDS);
188*c2c66affSColin Finck 
189*c2c66affSColin Finck HRESULT WINAPI
190*c2c66affSColin Finck Main_DirectDraw_RestoreAllSurfaces(LPDDRAWI_DIRECTDRAW_INT This);
191*c2c66affSColin Finck 
192*c2c66affSColin Finck HRESULT WINAPI
193*c2c66affSColin Finck Main_DirectDraw_TestCooperativeLevel(LPDDRAWI_DIRECTDRAW_INT This);
194*c2c66affSColin Finck 
195*c2c66affSColin Finck HRESULT WINAPI
196*c2c66affSColin Finck Main_DirectDraw_GetDeviceIdentifier7(
197*c2c66affSColin Finck                                      LPDDRAWI_DIRECTDRAW_INT This,
198*c2c66affSColin Finck                                      LPDDDEVICEIDENTIFIER2 pDDDI,
199*c2c66affSColin Finck                                      DWORD dwFlags);
200*c2c66affSColin Finck 
201*c2c66affSColin Finck HRESULT WINAPI
202*c2c66affSColin Finck Main_DirectDraw_StartModeTest(
203*c2c66affSColin Finck                               LPDDRAWI_DIRECTDRAW_INT This,
204*c2c66affSColin Finck                               LPSIZE pModes,
205*c2c66affSColin Finck                               DWORD dwNumModes,
206*c2c66affSColin Finck                               DWORD dwFlags);
207*c2c66affSColin Finck 
208*c2c66affSColin Finck HRESULT WINAPI
209*c2c66affSColin Finck Main_DirectDraw_EvaluateMode(
210*c2c66affSColin Finck                              LPDDRAWI_DIRECTDRAW_INT This,
211*c2c66affSColin Finck                              DWORD a,
212*c2c66affSColin Finck                              DWORD* b);
213*c2c66affSColin Finck 
214*c2c66affSColin Finck 
215*c2c66affSColin Finck 
216*c2c66affSColin Finck 
217*c2c66affSColin Finck // hel callbacks
218*c2c66affSColin Finck 
219*c2c66affSColin Finck DWORD CALLBACK HelDdSurfAddAttachedSurface(LPDDHAL_ADDATTACHEDSURFACEDATA lpDestroySurface);
220*c2c66affSColin Finck DWORD CALLBACK HelDdSurfBlt(LPDDHAL_BLTDATA lpBltData);
221*c2c66affSColin Finck DWORD CALLBACK HelDdSurfDestroySurface(LPDDHAL_DESTROYSURFACEDATA lpDestroySurfaceData);
222*c2c66affSColin Finck DWORD CALLBACK HelDdSurfFlip(LPDDHAL_FLIPDATA lpFlipData);
223*c2c66affSColin Finck DWORD CALLBACK HelDdSurfGetBltStatus(LPDDHAL_GETBLTSTATUSDATA lpGetBltStatusData);
224*c2c66affSColin Finck DWORD CALLBACK HelDdSurfGetFlipStatus(LPDDHAL_GETFLIPSTATUSDATA lpGetFlipStatusData);
225*c2c66affSColin Finck DWORD CALLBACK HelDdSurfLock(LPDDHAL_LOCKDATA lpLockData);
226*c2c66affSColin Finck DWORD CALLBACK HelDdSurfreserved4(DWORD *lpPtr);
227*c2c66affSColin Finck DWORD CALLBACK HelDdSurfSetClipList(LPDDHAL_SETCLIPLISTDATA lpSetClipListData);
228*c2c66affSColin Finck DWORD CALLBACK HelDdSurfSetColorKey(LPDDHAL_SETCOLORKEYDATA lpSetColorKeyData);
229*c2c66affSColin Finck DWORD CALLBACK HelDdSurfSetOverlayPosition(LPDDHAL_SETOVERLAYPOSITIONDATA lpSetOverlayPositionData);
230*c2c66affSColin Finck DWORD CALLBACK HelDdSurfSetPalette(LPDDHAL_SETPALETTEDATA lpSetPaletteData);
231*c2c66affSColin Finck DWORD CALLBACK HelDdSurfUnlock(LPDDHAL_UNLOCKDATA lpUnLockData);
232*c2c66affSColin Finck DWORD CALLBACK HelDdSurfUpdateOverlay(LPDDHAL_UPDATEOVERLAYDATA lpUpDateOverLayData);
233*c2c66affSColin Finck 
234*c2c66affSColin Finck 
235*c2c66affSColin Finck 
236*c2c66affSColin Finck 
237