Mercurial > games > semicongine
comparison fuhtark_test/include/ddk/ddrawint.h @ 1500:91c8c3b7cbf0
add: futhark tests for generating vulkan api
| author | sam <sam@basx.dev> |
|---|---|
| date | Wed, 26 Nov 2025 21:36:48 +0700 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| 1499:1f58458b7ef7 | 1500:91c8c3b7cbf0 |
|---|---|
| 1 /* | |
| 2 * DirectDraw NT driver interface | |
| 3 */ | |
| 4 | |
| 5 #ifndef __DD_INCLUDED__ | |
| 6 #define __DD_INCLUDED__ | |
| 7 | |
| 8 | |
| 9 DEFINE_GUID( GUID_MiscellaneousCallbacks, 0xEFD60CC0, 0x49e7, 0x11d0, 0x88, 0x9d, 0x0, 0xaa, 0x0, 0xbb, 0xb7, 0x6a); | |
| 10 DEFINE_GUID( GUID_Miscellaneous2Callbacks, 0x406B2F00, 0x3E5A, 0x11D1, 0xB6, 0x40, 0x00, 0xAA, 0x00, 0xA1, 0xF9, 0x6A); | |
| 11 DEFINE_GUID( GUID_VideoPortCallbacks, 0xefd60cc1, 0x49e7, 0x11d0, 0x88, 0x9d, 0x0, 0xaa, 0x0, 0xbb, 0xb7, 0x6a); | |
| 12 DEFINE_GUID( GUID_ColorControlCallbacks, 0xefd60cc2, 0x49e7, 0x11d0, 0x88, 0x9d, 0x0, 0xaa, 0x0, 0xbb, 0xb7, 0x6a); | |
| 13 DEFINE_GUID( GUID_MotionCompCallbacks, 0xb1122b40, 0x5dA5, 0x11d1, 0x8f, 0xcF, 0x00, 0xc0, 0x4f, 0xc2, 0x9b, 0x4e); | |
| 14 DEFINE_GUID( GUID_VideoPortCaps, 0xefd60cc3, 0x49e7, 0x11d0, 0x88, 0x9d, 0x0, 0xaa, 0x0, 0xbb, 0xb7, 0x6a); | |
| 15 DEFINE_GUID( GUID_D3DCaps, 0x7bf06991, 0x8794, 0x11d0, 0x91, 0x39, 0x08, 0x00, 0x36, 0xd2, 0xef, 0x02); | |
| 16 DEFINE_GUID( GUID_D3DExtendedCaps, 0x7de41f80, 0x9d93, 0x11d0, 0x89, 0xab, 0x00, 0xa0, 0xc9, 0x05, 0x41, 0x29); | |
| 17 DEFINE_GUID( GUID_D3DCallbacks, 0x7bf06990, 0x8794, 0x11d0, 0x91, 0x39, 0x08, 0x00, 0x36, 0xd2, 0xef, 0x02); | |
| 18 DEFINE_GUID( GUID_D3DCallbacks2, 0xba584e1, 0x70b6, 0x11d0, 0x88, 0x9d, 0x0, 0xaa, 0x0, 0xbb, 0xb7, 0x6a); | |
| 19 DEFINE_GUID( GUID_D3DCallbacks3, 0xddf41230, 0xec0a, 0x11d0, 0xa9, 0xb6, 0x00, 0xaa, 0x00, 0xc0, 0x99, 0x3e); | |
| 20 DEFINE_GUID( GUID_NonLocalVidMemCaps, 0x86c4fa80, 0x8d84, 0x11d0, 0x94, 0xe8, 0x00, 0xc0, 0x4f, 0xc3, 0x41, 0x37); | |
| 21 DEFINE_GUID( GUID_KernelCallbacks, 0x80863800, 0x6B06, 0x11D0, 0x9B, 0x06, 0x0, 0xA0, 0xC9, 0x03, 0xA3, 0xB8); | |
| 22 DEFINE_GUID( GUID_KernelCaps, 0xFFAA7540, 0x7AA8, 0x11D0, 0x9B, 0x06, 0x00, 0xA0, 0xC9, 0x03, 0xA3, 0xB8); | |
| 23 DEFINE_GUID( GUID_ZPixelFormats, 0x93869880, 0x36cf, 0x11d1, 0x9b, 0x1b, 0x0, 0xaa, 0x0, 0xbb, 0xb8, 0xae); | |
| 24 DEFINE_GUID( GUID_DDMoreCaps, 0x880baf30, 0xb030, 0x11d0, 0x8e, 0xa7, 0x00, 0x60, 0x97, 0x97, 0xea, 0x5b); | |
| 25 DEFINE_GUID( GUID_D3DParseUnknownCommandCallback, 0x2e04ffa0, 0x98e4, 0x11d1, 0x8c, 0xe1, 0x0, 0xa0, 0xc9, 0x6, 0x29, 0xa8); | |
| 26 DEFINE_GUID( GUID_NTCallbacks, 0x6fe9ecde, 0xdf89, 0x11d1, 0x9d, 0xb0, 0x00, 0x60, 0x08, 0x27, 0x71, 0xba); | |
| 27 DEFINE_GUID( GUID_DDMoreSurfaceCaps, 0x3b8a0466, 0xf269, 0x11d1, 0x88, 0x0b, 0x0, 0xc0, 0x4f, 0xd9, 0x30, 0xc5); | |
| 28 DEFINE_GUID( GUID_GetHeapAlignment, 0x42e02f16, 0x7b41, 0x11d2, 0x8b, 0xff, 0x0, 0xa0, 0xc9, 0x83, 0xea, 0xf6); | |
| 29 DEFINE_GUID( GUID_UpdateNonLocalHeap, 0x42e02f17, 0x7b41, 0x11d2, 0x8b, 0xff, 0x0, 0xa0, 0xc9, 0x83, 0xea, 0xf6); | |
| 30 DEFINE_GUID( GUID_NTPrivateDriverCaps, 0xfad16a23, 0x7b66, 0x11d2, 0x83, 0xd7, 0x0, 0xc0, 0x4f, 0x7c, 0xe5, 0x8c); | |
| 31 DEFINE_GUID( GUID_DDStereoMode, 0xf828169c, 0xa8e8, 0x11d2, 0xa1, 0xf2, 0x0, 0xa0, 0xc9, 0x83, 0xea, 0xf6); | |
| 32 DEFINE_GUID( GUID_VPE2Callbacks, 0x52882147, 0x2d47, 0x469a, 0xa0, 0xd1, 0x3, 0x45, 0x58, 0x90, 0xf6, 0xc8); | |
| 33 | |
| 34 | |
| 35 #ifndef GUID_DEFS_ONLY | |
| 36 | |
| 37 #ifndef _NO_DDRAWINT_NO_COM | |
| 38 #ifndef _NO_COM | |
| 39 #define _NO_COM | |
| 40 #include <ddraw.h> | |
| 41 #include <dvp.h> | |
| 42 #undef _NO_COM | |
| 43 #else | |
| 44 #include <ddraw.h> | |
| 45 #include <dvp.h> | |
| 46 #endif | |
| 47 #else | |
| 48 #include <ddraw.h> | |
| 49 #include <dvp.h> | |
| 50 #endif | |
| 51 | |
| 52 #ifdef __cplusplus | |
| 53 extern "C" { | |
| 54 #endif | |
| 55 | |
| 56 #ifndef MAKE_HRESULT // fixme this if statment should not be here, but MAKE_HRESULT should be here | |
| 57 #define MAKE_HRESULT(sev,fac,code) ((HRESULT) (((unsigned long)(sev)<<31) | ((unsigned long)(fac)<<16) | ((unsigned long)(code))) ) | |
| 58 #endif | |
| 59 | |
| 60 #ifndef FLATPTR_DEFINED | |
| 61 typedef ULONG_PTR FLATPTR; | |
| 62 #define FLATPTR_DEFINED | |
| 63 #endif | |
| 64 | |
| 65 typedef struct _DD_VIDEOPORT_LOCAL *PDD_VIDEOPORT_LOCAL; | |
| 66 | |
| 67 /************************************************************************/ | |
| 68 /* _DD_GETHEAPALIGNMENTDATA is defined in dmemmgr.h */ | |
| 69 /************************************************************************/ | |
| 70 struct _DD_GETHEAPALIGNMENTDATA; | |
| 71 #ifndef DD_GETHEAPALIGNMENTDATA_DECLARED | |
| 72 typedef struct _DD_GETHEAPALIGNMENTDATA *PDD_GETHEAPALIGNMENTDATA; | |
| 73 #define DD_GETHEAPALIGNMENTDATA_DECLARED | |
| 74 #endif | |
| 75 | |
| 76 /************************************************************************/ | |
| 77 /* Video memory info structures */ | |
| 78 /************************************************************************/ | |
| 79 | |
| 80 typedef struct _VIDEOMEMORY | |
| 81 { | |
| 82 DWORD dwFlags; | |
| 83 FLATPTR fpStart; | |
| 84 union | |
| 85 { | |
| 86 FLATPTR fpEnd; | |
| 87 DWORD dwWidth; | |
| 88 }; | |
| 89 DDSCAPS ddsCaps; | |
| 90 DDSCAPS ddsCapsAlt; | |
| 91 union | |
| 92 { | |
| 93 struct _VMEMHEAP *lpHeap; | |
| 94 DWORD dwHeight; | |
| 95 }; | |
| 96 } VIDEOMEMORY, *PVIDEOMEMORY; | |
| 97 | |
| 98 typedef struct _VIDEOMEMORYINFO | |
| 99 { | |
| 100 FLATPTR fpPrimary; | |
| 101 DWORD dwFlags; | |
| 102 DWORD dwDisplayWidth; | |
| 103 DWORD dwDisplayHeight; | |
| 104 LONG lDisplayPitch; | |
| 105 DDPIXELFORMAT ddpfDisplay; | |
| 106 DWORD dwOffscreenAlign; | |
| 107 DWORD dwOverlayAlign; | |
| 108 DWORD dwTextureAlign; | |
| 109 DWORD dwZBufferAlign; | |
| 110 DWORD dwAlphaAlign; | |
| 111 PVOID pvPrimary; | |
| 112 } VIDEOMEMORYINFO; | |
| 113 typedef VIDEOMEMORYINFO *LPVIDEOMEMORYINFO; | |
| 114 | |
| 115 typedef struct _DD_DIRECTDRAW_GLOBAL | |
| 116 { | |
| 117 PVOID dhpdev; | |
| 118 ULONG_PTR dwReserved1; | |
| 119 ULONG_PTR dwReserved2; | |
| 120 LPDDVIDEOPORTCAPS lpDDVideoPortCaps; | |
| 121 } DD_DIRECTDRAW_GLOBAL, *PDD_DIRECTDRAW_GLOBAL; | |
| 122 | |
| 123 typedef struct _DD_DIRECTDRAW_LOCAL | |
| 124 { | |
| 125 PDD_DIRECTDRAW_GLOBAL lpGbl; | |
| 126 } DD_DIRECTDRAW_LOCAL, *PDD_DIRECTDRAW_LOCAL; | |
| 127 | |
| 128 | |
| 129 typedef struct _DD_SURFACE_GLOBAL | |
| 130 { | |
| 131 union | |
| 132 { | |
| 133 DWORD dwBlockSizeY; | |
| 134 LONG lSlicePitch; | |
| 135 }; | |
| 136 | |
| 137 union | |
| 138 { | |
| 139 PVIDEOMEMORY lpVidMemHeap; | |
| 140 DWORD dwBlockSizeX; | |
| 141 DWORD dwUserMemSize; | |
| 142 }; | |
| 143 | |
| 144 FLATPTR fpVidMem; | |
| 145 union | |
| 146 { | |
| 147 LONG lPitch; | |
| 148 DWORD dwLinearSize; | |
| 149 }; | |
| 150 LONG yHint; | |
| 151 LONG xHint; | |
| 152 DWORD wHeight; | |
| 153 DWORD wWidth; | |
| 154 ULONG_PTR dwReserved1; | |
| 155 DDPIXELFORMAT ddpfSurface; | |
| 156 FLATPTR fpHeapOffset; | |
| 157 HANDLE hCreatorProcess; | |
| 158 } DD_SURFACE_GLOBAL, *PDD_SURFACE_GLOBAL; | |
| 159 | |
| 160 typedef struct _DD_SURFACE_MORE | |
| 161 { | |
| 162 DWORD dwMipMapCount; | |
| 163 PDD_VIDEOPORT_LOCAL lpVideoPort; | |
| 164 DWORD dwOverlayFlags; | |
| 165 DDSCAPSEX ddsCapsEx; | |
| 166 DWORD dwSurfaceHandle; | |
| 167 } DD_SURFACE_MORE, *PDD_SURFACE_MORE; | |
| 168 | |
| 169 typedef struct _DD_ATTACHLIST *PDD_ATTACHLIST; | |
| 170 | |
| 171 typedef struct _DD_SURFACE_LOCAL | |
| 172 { | |
| 173 PDD_SURFACE_GLOBAL lpGbl; | |
| 174 DWORD dwFlags; | |
| 175 DDSCAPS ddsCaps; | |
| 176 ULONG_PTR dwReserved1; | |
| 177 union | |
| 178 { | |
| 179 DDCOLORKEY ddckCKSrcOverlay; | |
| 180 DDCOLORKEY ddckCKSrcBlt; | |
| 181 }; | |
| 182 union | |
| 183 { | |
| 184 DDCOLORKEY ddckCKDestOverlay; | |
| 185 DDCOLORKEY ddckCKDestBlt; | |
| 186 }; | |
| 187 PDD_SURFACE_MORE lpSurfMore; | |
| 188 PDD_ATTACHLIST lpAttachList; | |
| 189 PDD_ATTACHLIST lpAttachListFrom; | |
| 190 RECT rcOverlaySrc; | |
| 191 } DD_SURFACE_LOCAL, *PDD_SURFACE_LOCAL; | |
| 192 | |
| 193 typedef struct _DD_ATTACHLIST | |
| 194 { | |
| 195 PDD_ATTACHLIST lpLink; | |
| 196 PDD_SURFACE_LOCAL lpAttached; | |
| 197 } DD_ATTACHLIST; | |
| 198 | |
| 199 typedef struct _DD_SURFACE_INT | |
| 200 { | |
| 201 PDD_SURFACE_LOCAL lpLcl; | |
| 202 } DD_SURFACE_INT, *PDD_SURFACE_INT; | |
| 203 | |
| 204 /************************************************************************/ | |
| 205 /* DDI representation of the DirectDrawPalette object */ | |
| 206 /************************************************************************/ | |
| 207 | |
| 208 typedef struct _DD_PALETTE_GLOBAL | |
| 209 { | |
| 210 ULONG_PTR Reserved1; | |
| 211 } DD_PALETTE_GLOBAL, *PDD_PALETTE_GLOBAL; | |
| 212 | |
| 213 /************************************************************************/ | |
| 214 /* DDI representation of the DirectDrawVideo object */ | |
| 215 /************************************************************************/ | |
| 216 | |
| 217 typedef struct | |
| 218 { | |
| 219 PDD_DIRECTDRAW_LOCAL lpDD; | |
| 220 GUID guid; | |
| 221 DWORD dwUncompWidth; | |
| 222 DWORD dwUncompHeight; | |
| 223 DDPIXELFORMAT ddUncompPixelFormat; | |
| 224 DWORD dwDriverReserved1; | |
| 225 DWORD dwDriverReserved2; | |
| 226 DWORD dwDriverReserved3; | |
| 227 LPVOID lpDriverReserved1; | |
| 228 LPVOID lpDriverReserved2; | |
| 229 LPVOID lpDriverReserved3; | |
| 230 } DD_MOTIONCOMP_LOCAL, *PDD_MOTIONCOMP_LOCAL; | |
| 231 | |
| 232 | |
| 233 typedef struct _DD_VIDEOPORT_LOCAL | |
| 234 { | |
| 235 PDD_DIRECTDRAW_LOCAL lpDD; | |
| 236 DDVIDEOPORTDESC ddvpDesc; | |
| 237 DDVIDEOPORTINFO ddvpInfo; | |
| 238 PDD_SURFACE_INT lpSurface; | |
| 239 PDD_SURFACE_INT lpVBISurface; | |
| 240 DWORD dwNumAutoflip; | |
| 241 DWORD dwNumVBIAutoflip; | |
| 242 ULONG_PTR dwReserved1; | |
| 243 ULONG_PTR dwReserved2; | |
| 244 ULONG_PTR dwReserved3; | |
| 245 } DD_VIDEOPORT_LOCAL ; | |
| 246 | |
| 247 /************************************************************************/ | |
| 248 /* IDirectDrawSurface callbacks */ | |
| 249 /************************************************************************/ | |
| 250 | |
| 251 typedef struct _DD_LOCKDATA | |
| 252 { | |
| 253 PDD_DIRECTDRAW_GLOBAL lpDD; | |
| 254 PDD_SURFACE_LOCAL lpDDSurface; | |
| 255 DWORD bHasRect; | |
| 256 RECTL rArea; | |
| 257 LPVOID lpSurfData; | |
| 258 HRESULT ddRVal; | |
| 259 PVOID Lock; | |
| 260 DWORD dwFlags; | |
| 261 FLATPTR fpProcess; | |
| 262 } DD_LOCKDATA, *PDD_LOCKDATA; | |
| 263 typedef DWORD (WINAPI *PDD_SURFCB_LOCK)(PDD_LOCKDATA); | |
| 264 | |
| 265 | |
| 266 typedef struct _DD_UNLOCKDATA | |
| 267 { | |
| 268 PDD_DIRECTDRAW_GLOBAL lpDD; | |
| 269 PDD_SURFACE_LOCAL lpDDSurface; | |
| 270 HRESULT ddRVal; | |
| 271 PVOID Unlock; | |
| 272 } DD_UNLOCKDATA, *PDD_UNLOCKDATA; | |
| 273 typedef DWORD (WINAPI *PDD_SURFCB_UNLOCK)(PDD_UNLOCKDATA); | |
| 274 | |
| 275 #define DDABLT_SRCOVERDEST 0x00000001 | |
| 276 #define DDBLT_AFLAGS 0x80000000 | |
| 277 | |
| 278 | |
| 279 | |
| 280 typedef struct _DD_BLTDATA | |
| 281 { | |
| 282 PDD_DIRECTDRAW_GLOBAL lpDD; | |
| 283 PDD_SURFACE_LOCAL lpDDDestSurface; | |
| 284 RECTL rDest; | |
| 285 PDD_SURFACE_LOCAL lpDDSrcSurface; | |
| 286 RECTL rSrc; | |
| 287 DWORD dwFlags; | |
| 288 DWORD dwROPFlags; | |
| 289 DDBLTFX bltFX; | |
| 290 HRESULT ddRVal; | |
| 291 PVOID Blt; | |
| 292 BOOL IsClipped; | |
| 293 RECTL rOrigDest; | |
| 294 RECTL rOrigSrc; | |
| 295 DWORD dwRectCnt; | |
| 296 LPRECT prDestRects; | |
| 297 DWORD dwAFlags; | |
| 298 DDARGB ddargbScaleFactors; | |
| 299 } DD_BLTDATA, *PDD_BLTDATA; | |
| 300 typedef DWORD (WINAPI *PDD_SURFCB_BLT)(PDD_BLTDATA); | |
| 301 | |
| 302 typedef struct _DD_UPDATEOVERLAYDATA | |
| 303 { | |
| 304 PDD_DIRECTDRAW_GLOBAL lpDD; | |
| 305 PDD_SURFACE_LOCAL lpDDDestSurface; | |
| 306 RECTL rDest; | |
| 307 PDD_SURFACE_LOCAL lpDDSrcSurface; | |
| 308 RECTL rSrc; | |
| 309 DWORD dwFlags; | |
| 310 DDOVERLAYFX overlayFX; | |
| 311 HRESULT ddRVal; | |
| 312 PVOID UpdateOverlay; | |
| 313 } DD_UPDATEOVERLAYDATA, *PDD_UPDATEOVERLAYDATA; | |
| 314 typedef DWORD (WINAPI *PDD_SURFCB_UPDATEOVERLAY)(PDD_UPDATEOVERLAYDATA); | |
| 315 | |
| 316 typedef struct _DD_SETOVERLAYPOSITIONDATA | |
| 317 { | |
| 318 PDD_DIRECTDRAW_GLOBAL lpDD; | |
| 319 PDD_SURFACE_LOCAL lpDDSrcSurface; | |
| 320 PDD_SURFACE_LOCAL lpDDDestSurface; | |
| 321 LONG lXPos; | |
| 322 LONG lYPos; | |
| 323 HRESULT ddRVal; | |
| 324 PVOID SetOverlayPosition; | |
| 325 } DD_SETOVERLAYPOSITIONDATA, *PDD_SETOVERLAYPOSITIONDATA; | |
| 326 typedef DWORD (WINAPI *PDD_SURFCB_SETOVERLAYPOSITION)(PDD_SETOVERLAYPOSITIONDATA); | |
| 327 | |
| 328 typedef struct _DD_SETPALETTEDATA | |
| 329 { | |
| 330 PDD_DIRECTDRAW_GLOBAL lpDD; | |
| 331 PDD_SURFACE_LOCAL lpDDSurface; | |
| 332 PDD_PALETTE_GLOBAL lpDDPalette; | |
| 333 HRESULT ddRVal; | |
| 334 PVOID SetPalette; | |
| 335 BOOL Attach; | |
| 336 } DD_SETPALETTEDATA, *PDD_SETPALETTEDATA; | |
| 337 typedef DWORD (WINAPI *PDD_SURFCB_SETPALETTE)(PDD_SETPALETTEDATA); | |
| 338 | |
| 339 typedef struct _DD_FLIPDATA | |
| 340 { | |
| 341 PDD_DIRECTDRAW_GLOBAL lpDD; | |
| 342 PDD_SURFACE_LOCAL lpSurfCurr; | |
| 343 PDD_SURFACE_LOCAL lpSurfTarg; | |
| 344 DWORD dwFlags; | |
| 345 HRESULT ddRVal; | |
| 346 PVOID Flip; | |
| 347 PDD_SURFACE_LOCAL lpSurfCurrLeft; | |
| 348 PDD_SURFACE_LOCAL lpSurfTargLeft; | |
| 349 } DD_FLIPDATA, *PDD_FLIPDATA; | |
| 350 typedef DWORD (WINAPI *PDD_SURFCB_FLIP)(PDD_FLIPDATA); | |
| 351 | |
| 352 typedef struct _DD_DESTROYSURFACEDATA | |
| 353 { | |
| 354 PDD_DIRECTDRAW_GLOBAL lpDD; | |
| 355 PDD_SURFACE_LOCAL lpDDSurface; | |
| 356 HRESULT ddRVal; | |
| 357 PVOID DestroySurface; | |
| 358 } DD_DESTROYSURFACEDATA, *PDD_DESTROYSURFACEDATA; | |
| 359 typedef DWORD (WINAPI *PDD_SURFCB_DESTROYSURFACE)(PDD_DESTROYSURFACEDATA); | |
| 360 | |
| 361 typedef struct _DD_SETCLIPLISTDATA | |
| 362 { | |
| 363 PDD_DIRECTDRAW_GLOBAL lpDD; | |
| 364 PDD_SURFACE_LOCAL lpDDSurface; | |
| 365 HRESULT ddRVal; | |
| 366 PVOID SetClipList; | |
| 367 } DD_SETCLIPLISTDATA, *PDD_SETCLIPLISTDATA; | |
| 368 typedef DWORD (WINAPI *PDD_SURFCB_SETCLIPLIST)(PDD_SETCLIPLISTDATA); | |
| 369 | |
| 370 typedef struct _DD_ADDATTACHEDSURFACEDATA | |
| 371 { | |
| 372 PDD_DIRECTDRAW_GLOBAL lpDD; | |
| 373 PDD_SURFACE_LOCAL lpDDSurface; | |
| 374 PDD_SURFACE_LOCAL lpSurfAttached; | |
| 375 HRESULT ddRVal; | |
| 376 PVOID AddAttachedSurface; | |
| 377 } DD_ADDATTACHEDSURFACEDATA, *PDD_ADDATTACHEDSURFACEDATA; | |
| 378 typedef DWORD (WINAPI *PDD_SURFCB_ADDATTACHEDSURFACE)(PDD_ADDATTACHEDSURFACEDATA); | |
| 379 | |
| 380 typedef struct _DD_SETCOLORKEYDATA | |
| 381 { | |
| 382 PDD_DIRECTDRAW_GLOBAL lpDD; | |
| 383 PDD_SURFACE_LOCAL lpDDSurface; | |
| 384 DWORD dwFlags; | |
| 385 DDCOLORKEY ckNew; | |
| 386 HRESULT ddRVal; | |
| 387 PVOID SetColorKey; | |
| 388 } DD_SETCOLORKEYDATA, *PDD_SETCOLORKEYDATA; | |
| 389 typedef DWORD (WINAPI *PDD_SURFCB_SETCOLORKEY)(PDD_SETCOLORKEYDATA); | |
| 390 | |
| 391 typedef struct _DD_GETBLTSTATUSDATA | |
| 392 { | |
| 393 PDD_DIRECTDRAW_GLOBAL lpDD; | |
| 394 PDD_SURFACE_LOCAL lpDDSurface; | |
| 395 DWORD dwFlags; | |
| 396 HRESULT ddRVal; | |
| 397 PVOID GetBltStatus; | |
| 398 } DD_GETBLTSTATUSDATA, *PDD_GETBLTSTATUSDATA; | |
| 399 typedef DWORD (WINAPI *PDD_SURFCB_GETBLTSTATUS)(PDD_GETBLTSTATUSDATA); | |
| 400 | |
| 401 typedef struct _DD_GETFLIPSTATUSDATA | |
| 402 { | |
| 403 PDD_DIRECTDRAW_GLOBAL lpDD; | |
| 404 PDD_SURFACE_LOCAL lpDDSurface; | |
| 405 DWORD dwFlags; | |
| 406 HRESULT ddRVal; | |
| 407 PVOID GetFlipStatus; | |
| 408 } DD_GETFLIPSTATUSDATA, *PDD_GETFLIPSTATUSDATA; | |
| 409 typedef DWORD (WINAPI *PDD_SURFCB_GETFLIPSTATUS)(PDD_GETFLIPSTATUSDATA); | |
| 410 | |
| 411 typedef struct DD_SURFACECALLBACKS | |
| 412 { | |
| 413 DWORD dwSize; | |
| 414 DWORD dwFlags; | |
| 415 PDD_SURFCB_DESTROYSURFACE DestroySurface; | |
| 416 PDD_SURFCB_FLIP Flip; | |
| 417 PDD_SURFCB_SETCLIPLIST SetClipList; | |
| 418 PDD_SURFCB_LOCK Lock; | |
| 419 PDD_SURFCB_UNLOCK Unlock; | |
| 420 PDD_SURFCB_BLT Blt; | |
| 421 PDD_SURFCB_SETCOLORKEY SetColorKey; | |
| 422 PDD_SURFCB_ADDATTACHEDSURFACE AddAttachedSurface; | |
| 423 PDD_SURFCB_GETBLTSTATUS GetBltStatus; | |
| 424 PDD_SURFCB_GETFLIPSTATUS GetFlipStatus; | |
| 425 PDD_SURFCB_UPDATEOVERLAY UpdateOverlay; | |
| 426 PDD_SURFCB_SETOVERLAYPOSITION SetOverlayPosition; | |
| 427 PVOID reserved4; | |
| 428 PDD_SURFCB_SETPALETTE SetPalette; | |
| 429 } DD_SURFACECALLBACKS, *PDD_SURFACECALLBACKS; | |
| 430 | |
| 431 | |
| 432 #define DDHAL_SURFCB32_DESTROYSURFACE 0x00000001 | |
| 433 #define DDHAL_SURFCB32_FLIP 0x00000002 | |
| 434 #define DDHAL_SURFCB32_SETCLIPLIST 0x00000004 | |
| 435 #define DDHAL_SURFCB32_LOCK 0x00000008 | |
| 436 #define DDHAL_SURFCB32_UNLOCK 0x00000010 | |
| 437 #define DDHAL_SURFCB32_BLT 0x00000020 | |
| 438 #define DDHAL_SURFCB32_SETCOLORKEY 0x00000040 | |
| 439 #define DDHAL_SURFCB32_ADDATTACHEDSURFACE 0x00000080 | |
| 440 #define DDHAL_SURFCB32_GETBLTSTATUS 0x00000100 | |
| 441 #define DDHAL_SURFCB32_GETFLIPSTATUS 0x00000200 | |
| 442 #define DDHAL_SURFCB32_UPDATEOVERLAY 0x00000400 | |
| 443 #define DDHAL_SURFCB32_SETOVERLAYPOSITION 0x00000800 | |
| 444 #define DDHAL_SURFCB32_RESERVED4 0x00001000 | |
| 445 #define DDHAL_SURFCB32_SETPALETTE 0x00002000 | |
| 446 /************************************************************************/ | |
| 447 /* IDirectDraw callbacks */ | |
| 448 /************************************************************************/ | |
| 449 | |
| 450 typedef struct _DD_CREATESURFACEDATA | |
| 451 { | |
| 452 PDD_DIRECTDRAW_GLOBAL lpDD; | |
| 453 DDSURFACEDESC *lpDDSurfaceDesc; | |
| 454 PDD_SURFACE_LOCAL *lplpSList; | |
| 455 DWORD dwSCnt; | |
| 456 HRESULT ddRVal; | |
| 457 PVOID CreateSurface; | |
| 458 } DD_CREATESURFACEDATA, *PDD_CREATESURFACEDATA; | |
| 459 typedef DWORD (WINAPI *PDD_CREATESURFACE)(PDD_CREATESURFACEDATA); | |
| 460 | |
| 461 typedef struct _DD_DRVSETCOLORKEYDATA | |
| 462 { | |
| 463 PDD_SURFACE_LOCAL lpDDSurface; | |
| 464 DWORD dwFlags; | |
| 465 DDCOLORKEY ckNew; | |
| 466 HRESULT ddRVal; | |
| 467 PVOID SetColorKey; | |
| 468 } DD_DRVSETCOLORKEYDATA, *PDD_DRVSETCOLORKEYDATA; | |
| 469 typedef DWORD (WINAPI *PDD_SETCOLORKEY)(PDD_DRVSETCOLORKEYDATA); | |
| 470 | |
| 471 #define DDWAITVB_I_TESTVB 0x80000006 | |
| 472 | |
| 473 typedef struct _DD_WAITFORVERTICALBLANKDATA | |
| 474 { | |
| 475 PDD_DIRECTDRAW_GLOBAL lpDD; | |
| 476 DWORD dwFlags; | |
| 477 DWORD bIsInVB; | |
| 478 DWORD hEvent; | |
| 479 HRESULT ddRVal; | |
| 480 PVOID WaitForVerticalBlank; | |
| 481 } DD_WAITFORVERTICALBLANKDATA, *PDD_WAITFORVERTICALBLANKDATA; | |
| 482 typedef DWORD (WINAPI *PDD_WAITFORVERTICALBLANK)(PDD_WAITFORVERTICALBLANKDATA); | |
| 483 | |
| 484 typedef struct _DD_CANCREATESURFACEDATA | |
| 485 { | |
| 486 PDD_DIRECTDRAW_GLOBAL lpDD; | |
| 487 DDSURFACEDESC *lpDDSurfaceDesc; | |
| 488 DWORD bIsDifferentPixelFormat; | |
| 489 HRESULT ddRVal; | |
| 490 PVOID CanCreateSurface; | |
| 491 } DD_CANCREATESURFACEDATA, *PDD_CANCREATESURFACEDATA; | |
| 492 typedef DWORD (WINAPI *PDD_CANCREATESURFACE)(PDD_CANCREATESURFACEDATA); | |
| 493 | |
| 494 typedef struct _DD_CREATEPALETTEDATA | |
| 495 { | |
| 496 PDD_DIRECTDRAW_GLOBAL lpDD; | |
| 497 PDD_PALETTE_GLOBAL lpDDPalette; | |
| 498 LPPALETTEENTRY lpColorTable; | |
| 499 HRESULT ddRVal; | |
| 500 PVOID CreatePalette; | |
| 501 BOOL is_excl; | |
| 502 } DD_CREATEPALETTEDATA, *PDD_CREATEPALETTEDATA; | |
| 503 typedef DWORD (WINAPI *PDD_CREATEPALETTE)(PDD_CREATEPALETTEDATA); | |
| 504 | |
| 505 typedef struct _DD_GETSCANLINEDATA | |
| 506 { | |
| 507 PDD_DIRECTDRAW_GLOBAL lpDD; | |
| 508 DWORD dwScanLine; | |
| 509 HRESULT ddRVal; | |
| 510 PVOID GetScanLine; | |
| 511 } DD_GETSCANLINEDATA, *PDD_GETSCANLINEDATA; | |
| 512 typedef DWORD (WINAPI *PDD_GETSCANLINE)(PDD_GETSCANLINEDATA); | |
| 513 | |
| 514 typedef struct _DD_MAPMEMORYDATA | |
| 515 { | |
| 516 PDD_DIRECTDRAW_GLOBAL lpDD; | |
| 517 BOOL bMap; | |
| 518 HANDLE hProcess; | |
| 519 FLATPTR fpProcess; | |
| 520 HRESULT ddRVal; | |
| 521 } DD_MAPMEMORYDATA, *PDD_MAPMEMORYDATA; | |
| 522 typedef DWORD (WINAPI *PDD_MAPMEMORY)(PDD_MAPMEMORYDATA); | |
| 523 | |
| 524 | |
| 525 | |
| 526 | |
| 527 typedef struct _DD_DESTROYDRIVERDATA *PDD_DESTROYDRIVERDATA; | |
| 528 typedef struct _DD_SETMODEDATA *PDD_SETMODEDATA; | |
| 529 | |
| 530 typedef DWORD (APIENTRY *PDD_DESTROYDRIVER)(PDD_DESTROYDRIVERDATA); | |
| 531 typedef DWORD (APIENTRY *PDD_SETMODE)(PDD_SETMODEDATA); | |
| 532 | |
| 533 typedef struct DD_CALLBACKS | |
| 534 { | |
| 535 DWORD dwSize; | |
| 536 DWORD dwFlags; | |
| 537 PDD_DESTROYDRIVER DestroyDriver; | |
| 538 PDD_CREATESURFACE CreateSurface; | |
| 539 PDD_SETCOLORKEY SetColorKey; | |
| 540 PDD_SETMODE SetMode; | |
| 541 PDD_WAITFORVERTICALBLANK WaitForVerticalBlank; | |
| 542 PDD_CANCREATESURFACE CanCreateSurface; | |
| 543 PDD_CREATEPALETTE CreatePalette; | |
| 544 PDD_GETSCANLINE GetScanLine; | |
| 545 PDD_MAPMEMORY MapMemory; | |
| 546 } DD_CALLBACKS, *PDD_CALLBACKS; | |
| 547 | |
| 548 | |
| 549 | |
| 550 #define DDHAL_CB32_DESTROYDRIVER 0x00000001l | |
| 551 #define DDHAL_CB32_CREATESURFACE 0x00000002l | |
| 552 #define DDHAL_CB32_SETCOLORKEY 0x00000004l | |
| 553 #define DDHAL_CB32_SETMODE 0x00000008l | |
| 554 #define DDHAL_CB32_WAITFORVERTICALBLANK 0x00000010l | |
| 555 #define DDHAL_CB32_CANCREATESURFACE 0x00000020l | |
| 556 #define DDHAL_CB32_CREATEPALETTE 0x00000040l | |
| 557 #define DDHAL_CB32_GETSCANLINE 0x00000080l | |
| 558 #define DDHAL_CB32_MAPMEMORY 0x80000000l | |
| 559 | |
| 560 typedef struct _DD_GETAVAILDRIVERMEMORYDATA | |
| 561 { | |
| 562 PDD_DIRECTDRAW_GLOBAL lpDD; | |
| 563 DDSCAPS DDSCaps; | |
| 564 DWORD dwTotal; | |
| 565 DWORD dwFree; | |
| 566 HRESULT ddRVal; | |
| 567 PVOID GetAvailDriverMemory; | |
| 568 } DD_GETAVAILDRIVERMEMORYDATA, *PDD_GETAVAILDRIVERMEMORYDATA; | |
| 569 typedef DWORD (WINAPI *PDD_GETAVAILDRIVERMEMORY)(PDD_GETAVAILDRIVERMEMORYDATA); | |
| 570 | |
| 571 typedef struct _DD_MISCELLANEOUSCALLBACKS | |
| 572 { | |
| 573 DWORD dwSize; | |
| 574 DWORD dwFlags; | |
| 575 PDD_GETAVAILDRIVERMEMORY GetAvailDriverMemory; | |
| 576 } DD_MISCELLANEOUSCALLBACKS, *PDD_MISCELLANEOUSCALLBACKS; | |
| 577 | |
| 578 #define DDHAL_MISCCB32_GETAVAILDRIVERMEMORY 0x00000001 | |
| 579 | |
| 580 typedef DWORD (WINAPI *PDD_ALPHABLT)(PDD_BLTDATA); | |
| 581 | |
| 582 typedef struct _DD_CREATESURFACEEXDATA | |
| 583 { | |
| 584 DWORD dwFlags; | |
| 585 PDD_DIRECTDRAW_LOCAL lpDDLcl; | |
| 586 PDD_SURFACE_LOCAL lpDDSLcl; | |
| 587 HRESULT ddRVal; | |
| 588 } DD_CREATESURFACEEXDATA, *PDD_CREATESURFACEEXDATA; | |
| 589 typedef DWORD (WINAPI *PDD_CREATESURFACEEX)(PDD_CREATESURFACEEXDATA); | |
| 590 | |
| 591 typedef struct _DD_GETDRIVERSTATEDATA | |
| 592 { | |
| 593 DWORD dwFlags; | |
| 594 union | |
| 595 { | |
| 596 PDD_DIRECTDRAW_GLOBAL lpDD; | |
| 597 DWORD_PTR dwhContext; | |
| 598 }; | |
| 599 LPDWORD lpdwStates; | |
| 600 DWORD dwLength; | |
| 601 HRESULT ddRVal; | |
| 602 } DD_GETDRIVERSTATEDATA, *PDD_GETDRIVERSTATEDATA; | |
| 603 typedef DWORD (WINAPI *PDD_GETDRIVERSTATE)(PDD_GETDRIVERSTATEDATA); | |
| 604 | |
| 605 typedef struct _DD_DESTROYDDLOCALDATA | |
| 606 { | |
| 607 DWORD dwFlags; | |
| 608 PDD_DIRECTDRAW_LOCAL pDDLcl; | |
| 609 HRESULT ddRVal; | |
| 610 } DD_DESTROYDDLOCALDATA, *PDD_DESTROYDDLOCALDATA; | |
| 611 typedef DWORD (WINAPI *PDD_DESTROYDDLOCAL)(PDD_DESTROYDDLOCALDATA); | |
| 612 | |
| 613 | |
| 614 | |
| 615 typedef struct _DD_MISCELLANEOUS2CALLBACKS | |
| 616 { | |
| 617 DWORD dwSize; | |
| 618 DWORD dwFlags; | |
| 619 PDD_ALPHABLT AlphaBlt; | |
| 620 PDD_CREATESURFACEEX CreateSurfaceEx; | |
| 621 PDD_GETDRIVERSTATE GetDriverState; | |
| 622 PDD_DESTROYDDLOCAL DestroyDDLocal; | |
| 623 } DD_MISCELLANEOUS2CALLBACKS, *PDD_MISCELLANEOUS2CALLBACKS; | |
| 624 | |
| 625 | |
| 626 #define DDHAL_MISC2CB32_ALPHABLT 0x00000001 | |
| 627 #define DDHAL_MISC2CB32_CREATESURFACEEX 0x00000002 | |
| 628 #define DDHAL_MISC2CB32_GETDRIVERSTATE 0x00000004 | |
| 629 #define DDHAL_MISC2CB32_DESTROYDDLOCAL 0x00000008 | |
| 630 | |
| 631 | |
| 632 typedef struct _DD_FREEDRIVERMEMORYDATA | |
| 633 { | |
| 634 PDD_DIRECTDRAW_GLOBAL lpDD; | |
| 635 PDD_SURFACE_LOCAL lpDDSurface; | |
| 636 HRESULT ddRVal; | |
| 637 PVOID FreeDriverMemory; | |
| 638 } DD_FREEDRIVERMEMORYDATA, *PDD_FREEDRIVERMEMORYDATA; | |
| 639 typedef DWORD (WINAPI *PDD_FREEDRIVERMEMORY)(PDD_FREEDRIVERMEMORYDATA); | |
| 640 | |
| 641 typedef struct _DD_SETEXCLUSIVEMODEDATA | |
| 642 { | |
| 643 PDD_DIRECTDRAW_GLOBAL lpDD; | |
| 644 DWORD dwEnterExcl; | |
| 645 DWORD dwReserved; | |
| 646 HRESULT ddRVal; | |
| 647 PVOID SetExclusiveMode; | |
| 648 } DD_SETEXCLUSIVEMODEDATA, *PDD_SETEXCLUSIVEMODEDATA; | |
| 649 typedef DWORD (WINAPI *PDD_SETEXCLUSIVEMODE)(PDD_SETEXCLUSIVEMODEDATA); | |
| 650 | |
| 651 typedef struct _DD_FLIPTOGDISURFACEDATA | |
| 652 { | |
| 653 PDD_DIRECTDRAW_GLOBAL lpDD; | |
| 654 DWORD dwToGDI; | |
| 655 DWORD dwReserved; | |
| 656 HRESULT ddRVal; | |
| 657 PVOID FlipToGDISurface; | |
| 658 } DD_FLIPTOGDISURFACEDATA, *PDD_FLIPTOGDISURFACEDATA; | |
| 659 typedef DWORD (WINAPI *PDD_FLIPTOGDISURFACE)(PDD_FLIPTOGDISURFACEDATA); | |
| 660 | |
| 661 | |
| 662 | |
| 663 typedef struct _DD_NTCALLBACKS | |
| 664 { | |
| 665 DWORD dwSize; | |
| 666 DWORD dwFlags; | |
| 667 PDD_FREEDRIVERMEMORY FreeDriverMemory; | |
| 668 PDD_SETEXCLUSIVEMODE SetExclusiveMode; | |
| 669 PDD_FLIPTOGDISURFACE FlipToGDISurface; | |
| 670 } DD_NTCALLBACKS, *PDD_NTCALLBACKS; | |
| 671 | |
| 672 | |
| 673 #define DDHAL_NTCB32_FREEDRIVERMEMORY 0x00000001 | |
| 674 #define DDHAL_NTCB32_SETEXCLUSIVEMODE 0x00000002 | |
| 675 #define DDHAL_NTCB32_FLIPTOGDISURFACE 0x00000004 | |
| 676 | |
| 677 /************************************************************************/ | |
| 678 /* IDirectDrawPalette callbacks */ | |
| 679 /************************************************************************/ | |
| 680 | |
| 681 typedef struct _DD_DESTROYPALETTEDATA | |
| 682 { | |
| 683 PDD_DIRECTDRAW_GLOBAL lpDD; | |
| 684 PDD_PALETTE_GLOBAL lpDDPalette; | |
| 685 HRESULT ddRVal; | |
| 686 PVOID DestroyPalette; | |
| 687 } DD_DESTROYPALETTEDATA, *PDD_DESTROYPALETTEDATA; | |
| 688 typedef DWORD (WINAPI *PDD_PALCB_DESTROYPALETTE)(PDD_DESTROYPALETTEDATA); | |
| 689 | |
| 690 typedef struct _DD_SETENTRIESDATA | |
| 691 { | |
| 692 PDD_DIRECTDRAW_GLOBAL lpDD; | |
| 693 PDD_PALETTE_GLOBAL lpDDPalette; | |
| 694 DWORD dwBase; | |
| 695 DWORD dwNumEntries; | |
| 696 LPPALETTEENTRY lpEntries; | |
| 697 HRESULT ddRVal; | |
| 698 PVOID SetEntries; | |
| 699 } DD_SETENTRIESDATA, *PDD_SETENTRIESDATA; | |
| 700 typedef DWORD (WINAPI *PDD_PALCB_SETENTRIES)(PDD_SETENTRIESDATA); | |
| 701 | |
| 702 typedef struct DD_PALETTECALLBACKS | |
| 703 { | |
| 704 DWORD dwSize; | |
| 705 DWORD dwFlags; | |
| 706 PDD_PALCB_DESTROYPALETTE DestroyPalette; | |
| 707 PDD_PALCB_SETENTRIES SetEntries; | |
| 708 } DD_PALETTECALLBACKS, *PDD_PALETTECALLBACKS; | |
| 709 | |
| 710 #define DDHAL_PALCB32_DESTROYPALETTE 0x00000001l | |
| 711 #define DDHAL_PALCB32_SETENTRIES 0x00000002l | |
| 712 | |
| 713 /************************************************************************/ | |
| 714 /* IDirectDrawVideoport callbacks */ | |
| 715 /************************************************************************/ | |
| 716 | |
| 717 typedef struct _DD_CANCREATEVPORTDATA | |
| 718 { | |
| 719 PDD_DIRECTDRAW_LOCAL lpDD; | |
| 720 LPDDVIDEOPORTDESC lpDDVideoPortDesc; | |
| 721 HRESULT ddRVal; | |
| 722 PVOID CanCreateVideoPort; | |
| 723 } DD_CANCREATEVPORTDATA, *PDD_CANCREATEVPORTDATA; | |
| 724 typedef DWORD (WINAPI *PDD_VPORTCB_CANCREATEVIDEOPORT)(PDD_CANCREATEVPORTDATA); | |
| 725 | |
| 726 typedef struct _DD_CREATEVPORTDATA | |
| 727 { | |
| 728 PDD_DIRECTDRAW_LOCAL lpDD; | |
| 729 LPDDVIDEOPORTDESC lpDDVideoPortDesc; | |
| 730 PDD_VIDEOPORT_LOCAL lpVideoPort; | |
| 731 HRESULT ddRVal; | |
| 732 PVOID CreateVideoPort; | |
| 733 } DD_CREATEVPORTDATA, *PDD_CREATEVPORTDATA; | |
| 734 typedef DWORD (WINAPI *PDD_VPORTCB_CREATEVIDEOPORT)(PDD_CREATEVPORTDATA); | |
| 735 | |
| 736 typedef struct _DD_FLIPVPORTDATA | |
| 737 { | |
| 738 PDD_DIRECTDRAW_LOCAL lpDD; | |
| 739 PDD_VIDEOPORT_LOCAL lpVideoPort; | |
| 740 PDD_SURFACE_LOCAL lpSurfCurr; | |
| 741 PDD_SURFACE_LOCAL lpSurfTarg; | |
| 742 HRESULT ddRVal; | |
| 743 PVOID FlipVideoPort; | |
| 744 } DD_FLIPVPORTDATA, *PDD_FLIPVPORTDATA; | |
| 745 typedef DWORD (WINAPI *PDD_VPORTCB_FLIP)(PDD_FLIPVPORTDATA); | |
| 746 | |
| 747 typedef struct _DD_GETVPORTBANDWIDTHDATA | |
| 748 { | |
| 749 PDD_DIRECTDRAW_LOCAL lpDD; | |
| 750 PDD_VIDEOPORT_LOCAL lpVideoPort; | |
| 751 LPDDPIXELFORMAT lpddpfFormat; | |
| 752 DWORD dwWidth; | |
| 753 DWORD dwHeight; | |
| 754 DWORD dwFlags; | |
| 755 LPDDVIDEOPORTBANDWIDTH lpBandwidth; | |
| 756 HRESULT ddRVal; | |
| 757 PVOID GetVideoPortBandwidth; | |
| 758 } DD_GETVPORTBANDWIDTHDATA, *PDD_GETVPORTBANDWIDTHDATA; | |
| 759 typedef DWORD (WINAPI *PDD_VPORTCB_GETBANDWIDTH)(PDD_GETVPORTBANDWIDTHDATA); | |
| 760 | |
| 761 typedef struct _DD_GETVPORTINPUTFORMATDATA | |
| 762 { | |
| 763 PDD_DIRECTDRAW_LOCAL lpDD; | |
| 764 PDD_VIDEOPORT_LOCAL lpVideoPort; | |
| 765 DWORD dwFlags; | |
| 766 LPDDPIXELFORMAT lpddpfFormat; | |
| 767 DWORD dwNumFormats; | |
| 768 HRESULT ddRVal; | |
| 769 PVOID GetVideoPortInputFormats; | |
| 770 } DD_GETVPORTINPUTFORMATDATA, *PDD_GETVPORTINPUTFORMATDATA; | |
| 771 typedef DWORD (WINAPI *PDD_VPORTCB_GETINPUTFORMATS)(PDD_GETVPORTINPUTFORMATDATA); | |
| 772 | |
| 773 typedef struct _DD_GETVPORTOUTPUTFORMATDATA | |
| 774 { | |
| 775 PDD_DIRECTDRAW_LOCAL lpDD; | |
| 776 PDD_VIDEOPORT_LOCAL lpVideoPort; | |
| 777 DWORD dwFlags; | |
| 778 LPDDPIXELFORMAT lpddpfInputFormat; | |
| 779 LPDDPIXELFORMAT lpddpfOutputFormats; | |
| 780 DWORD dwNumFormats; | |
| 781 HRESULT ddRVal; | |
| 782 PVOID GetVideoPortInputFormats; | |
| 783 } DD_GETVPORTOUTPUTFORMATDATA, *PDD_GETVPORTOUTPUTFORMATDATA; | |
| 784 typedef DWORD (WINAPI *PDD_VPORTCB_GETOUTPUTFORMATS)(PDD_GETVPORTOUTPUTFORMATDATA); | |
| 785 | |
| 786 typedef struct _DD_GETVPORTFIELDDATA | |
| 787 { | |
| 788 PDD_DIRECTDRAW_LOCAL lpDD; | |
| 789 PDD_VIDEOPORT_LOCAL lpVideoPort; | |
| 790 BOOL bField; | |
| 791 HRESULT ddRVal; | |
| 792 PVOID GetVideoPortField; | |
| 793 } DD_GETVPORTFIELDDATA, *PDD_GETVPORTFIELDDATA; | |
| 794 typedef DWORD (WINAPI *PDD_VPORTCB_GETFIELD)(PDD_GETVPORTFIELDDATA); | |
| 795 | |
| 796 typedef struct _DD_GETVPORTLINEDATA | |
| 797 { | |
| 798 PDD_DIRECTDRAW_LOCAL lpDD; | |
| 799 PDD_VIDEOPORT_LOCAL lpVideoPort; | |
| 800 DWORD dwLine; | |
| 801 HRESULT ddRVal; | |
| 802 PVOID GetVideoPortLine; | |
| 803 } DD_GETVPORTLINEDATA, *PDD_GETVPORTLINEDATA; | |
| 804 typedef DWORD (WINAPI *PDD_VPORTCB_GETLINE)(PDD_GETVPORTLINEDATA); | |
| 805 | |
| 806 typedef struct _DD_GETVPORTCONNECTDATA | |
| 807 { | |
| 808 PDD_DIRECTDRAW_LOCAL lpDD; | |
| 809 DWORD dwPortId; | |
| 810 LPDDVIDEOPORTCONNECT lpConnect; | |
| 811 DWORD dwNumEntries; | |
| 812 HRESULT ddRVal; | |
| 813 PVOID GetVideoPortConnectInfo; | |
| 814 } DD_GETVPORTCONNECTDATA, *PDD_GETVPORTCONNECTDATA; | |
| 815 typedef DWORD (WINAPI *PDD_VPORTCB_GETVPORTCONNECT)(PDD_GETVPORTCONNECTDATA); | |
| 816 | |
| 817 typedef struct _DD_DESTROYVPORTDATA | |
| 818 { | |
| 819 PDD_DIRECTDRAW_LOCAL lpDD; | |
| 820 PDD_VIDEOPORT_LOCAL lpVideoPort; | |
| 821 HRESULT ddRVal; | |
| 822 PVOID DestroyVideoPort; | |
| 823 } DD_DESTROYVPORTDATA, *PDD_DESTROYVPORTDATA; | |
| 824 typedef DWORD (WINAPI *PDD_VPORTCB_DESTROYVPORT)(PDD_DESTROYVPORTDATA); | |
| 825 | |
| 826 typedef struct _DD_GETVPORTFLIPSTATUSDATA | |
| 827 { | |
| 828 PDD_DIRECTDRAW_LOCAL lpDD; | |
| 829 FLATPTR fpSurface; | |
| 830 HRESULT ddRVal; | |
| 831 PVOID GetVideoPortFlipStatus; | |
| 832 } DD_GETVPORTFLIPSTATUSDATA, *PDD_GETVPORTFLIPSTATUSDATA; | |
| 833 typedef DWORD (WINAPI *PDD_VPORTCB_GETFLIPSTATUS)(PDD_GETVPORTFLIPSTATUSDATA); | |
| 834 | |
| 835 | |
| 836 | |
| 837 typedef struct _DD_UPDATEVPORTDATA | |
| 838 { | |
| 839 PDD_DIRECTDRAW_LOCAL lpDD; | |
| 840 PDD_VIDEOPORT_LOCAL lpVideoPort; | |
| 841 PDD_SURFACE_INT *lplpDDSurface; | |
| 842 PDD_SURFACE_INT *lplpDDVBISurface; | |
| 843 LPDDVIDEOPORTINFO lpVideoInfo; | |
| 844 DWORD dwFlags; | |
| 845 DWORD dwNumAutoflip; | |
| 846 DWORD dwNumVBIAutoflip; | |
| 847 HRESULT ddRVal; | |
| 848 PVOID UpdateVideoPort; | |
| 849 } DD_UPDATEVPORTDATA, *PDD_UPDATEVPORTDATA; | |
| 850 typedef DWORD (WINAPI *PDD_VPORTCB_UPDATE)(PDD_UPDATEVPORTDATA); | |
| 851 | |
| 852 typedef struct _DD_WAITFORVPORTSYNCDATA | |
| 853 { | |
| 854 PDD_DIRECTDRAW_LOCAL lpDD; | |
| 855 PDD_VIDEOPORT_LOCAL lpVideoPort; | |
| 856 DWORD dwFlags; | |
| 857 DWORD dwLine; | |
| 858 DWORD dwTimeOut; | |
| 859 HRESULT ddRVal; | |
| 860 PVOID UpdateVideoPort; | |
| 861 } DD_WAITFORVPORTSYNCDATA, *PDD_WAITFORVPORTSYNCDATA; | |
| 862 typedef DWORD (WINAPI *PDD_VPORTCB_WAITFORSYNC)(PDD_WAITFORVPORTSYNCDATA); | |
| 863 | |
| 864 typedef struct _DD_GETVPORTSIGNALDATA | |
| 865 { | |
| 866 PDD_DIRECTDRAW_LOCAL lpDD; | |
| 867 PDD_VIDEOPORT_LOCAL lpVideoPort; | |
| 868 DWORD dwStatus; | |
| 869 HRESULT ddRVal; | |
| 870 PVOID GetVideoSignalStatus; | |
| 871 } DD_GETVPORTSIGNALDATA, *PDD_GETVPORTSIGNALDATA; | |
| 872 typedef DWORD (WINAPI *PDD_VPORTCB_GETSIGNALSTATUS)(PDD_GETVPORTSIGNALDATA); | |
| 873 | |
| 874 | |
| 875 | |
| 876 typedef struct _DD_VPORTCOLORDATA | |
| 877 { | |
| 878 PDD_DIRECTDRAW_LOCAL lpDD; | |
| 879 PDD_VIDEOPORT_LOCAL lpVideoPort; | |
| 880 DWORD dwFlags; | |
| 881 LPDDCOLORCONTROL lpColorData; | |
| 882 HRESULT ddRVal; | |
| 883 PVOID ColorControl; | |
| 884 } DD_VPORTCOLORDATA, *PDD_VPORTCOLORDATA; | |
| 885 typedef DWORD (WINAPI *PDD_VPORTCB_COLORCONTROL)(PDD_VPORTCOLORDATA); | |
| 886 | |
| 887 | |
| 888 typedef struct DD_VIDEOPORTCALLBACKS | |
| 889 { | |
| 890 DWORD dwSize; | |
| 891 DWORD dwFlags; | |
| 892 PDD_VPORTCB_CANCREATEVIDEOPORT CanCreateVideoPort; | |
| 893 PDD_VPORTCB_CREATEVIDEOPORT CreateVideoPort; | |
| 894 PDD_VPORTCB_FLIP FlipVideoPort; | |
| 895 PDD_VPORTCB_GETBANDWIDTH GetVideoPortBandwidth; | |
| 896 PDD_VPORTCB_GETINPUTFORMATS GetVideoPortInputFormats; | |
| 897 PDD_VPORTCB_GETOUTPUTFORMATS GetVideoPortOutputFormats; | |
| 898 PVOID lpReserved1; | |
| 899 PDD_VPORTCB_GETFIELD GetVideoPortField; | |
| 900 PDD_VPORTCB_GETLINE GetVideoPortLine; | |
| 901 PDD_VPORTCB_GETVPORTCONNECT GetVideoPortConnectInfo; | |
| 902 PDD_VPORTCB_DESTROYVPORT DestroyVideoPort; | |
| 903 PDD_VPORTCB_GETFLIPSTATUS GetVideoPortFlipStatus; | |
| 904 PDD_VPORTCB_UPDATE UpdateVideoPort; | |
| 905 PDD_VPORTCB_WAITFORSYNC WaitForVideoPortSync; | |
| 906 PDD_VPORTCB_GETSIGNALSTATUS GetVideoSignalStatus; | |
| 907 PDD_VPORTCB_COLORCONTROL ColorControl; | |
| 908 } DD_VIDEOPORTCALLBACKS, *PDD_VIDEOPORTCALLBACKS; | |
| 909 | |
| 910 #define DDHAL_VPORT32_CANCREATEVIDEOPORT 0x00000001 | |
| 911 #define DDHAL_VPORT32_CREATEVIDEOPORT 0x00000002 | |
| 912 #define DDHAL_VPORT32_FLIP 0x00000004 | |
| 913 #define DDHAL_VPORT32_GETBANDWIDTH 0x00000008 | |
| 914 #define DDHAL_VPORT32_GETINPUTFORMATS 0x00000010 | |
| 915 #define DDHAL_VPORT32_GETOUTPUTFORMATS 0x00000020 | |
| 916 #define DDHAL_VPORT32_GETFIELD 0x00000080 | |
| 917 #define DDHAL_VPORT32_GETLINE 0x00000100 | |
| 918 #define DDHAL_VPORT32_GETCONNECT 0x00000200 | |
| 919 #define DDHAL_VPORT32_DESTROY 0x00000400 | |
| 920 #define DDHAL_VPORT32_GETFLIPSTATUS 0x00000800 | |
| 921 #define DDHAL_VPORT32_UPDATE 0x00001000 | |
| 922 #define DDHAL_VPORT32_WAITFORSYNC 0x00002000 | |
| 923 #define DDHAL_VPORT32_GETSIGNALSTATUS 0x00004000 | |
| 924 #define DDHAL_VPORT32_COLORCONTROL 0x00008000 | |
| 925 | |
| 926 | |
| 927 /************************************************************************/ | |
| 928 /* IDirectDrawColorControl callbacks */ | |
| 929 /************************************************************************/ | |
| 930 | |
| 931 #define DDRAWI_GETCOLOR 0x0001 | |
| 932 #define DDRAWI_SETCOLOR 0x0002 | |
| 933 | |
| 934 typedef struct _DD_COLORCONTROLDATA | |
| 935 { | |
| 936 PDD_DIRECTDRAW_GLOBAL lpDD; | |
| 937 PDD_SURFACE_LOCAL lpDDSurface; | |
| 938 LPDDCOLORCONTROL lpColorData; | |
| 939 DWORD dwFlags; | |
| 940 HRESULT ddRVal; | |
| 941 PVOID ColorControl; | |
| 942 } DD_COLORCONTROLDATA, *PDD_COLORCONTROLDATA; | |
| 943 typedef DWORD (WINAPI *PDD_COLORCB_COLORCONTROL)(PDD_COLORCONTROLDATA); | |
| 944 | |
| 945 | |
| 946 | |
| 947 typedef struct _DD_COLORCONTROLCALLBACKS | |
| 948 { | |
| 949 DWORD dwSize; | |
| 950 DWORD dwFlags; | |
| 951 PDD_COLORCB_COLORCONTROL ColorControl; | |
| 952 } DD_COLORCONTROLCALLBACKS, *PDD_COLORCONTROLCALLBACKS; | |
| 953 | |
| 954 #define DDHAL_COLOR_COLORCONTROL 0x00000001 | |
| 955 | |
| 956 /************************************************************************/ | |
| 957 /* IDirectDrawVideo callbacks */ | |
| 958 /************************************************************************/ | |
| 959 | |
| 960 typedef struct _DD_GETMOCOMPGUIDSDATA | |
| 961 { | |
| 962 PDD_DIRECTDRAW_LOCAL lpDD; | |
| 963 DWORD dwNumGuids; | |
| 964 GUID *lpGuids; | |
| 965 HRESULT ddRVal; | |
| 966 } DD_GETMOCOMPGUIDSDATA, *PDD_GETMOCOMPGUIDSDATA; | |
| 967 typedef DWORD (WINAPI *PDD_MOCOMPCB_GETGUIDS)(PDD_GETMOCOMPGUIDSDATA); | |
| 968 | |
| 969 typedef struct _DD_GETMOCOMPFORMATSDATA | |
| 970 { | |
| 971 PDD_DIRECTDRAW_LOCAL lpDD; | |
| 972 GUID *lpGuid; | |
| 973 DWORD dwNumFormats; | |
| 974 LPDDPIXELFORMAT lpFormats; | |
| 975 HRESULT ddRVal; | |
| 976 } DD_GETMOCOMPFORMATSDATA, *PDD_GETMOCOMPFORMATSDATA; | |
| 977 typedef DWORD (WINAPI *PDD_MOCOMPCB_GETFORMATS)(PDD_GETMOCOMPFORMATSDATA); | |
| 978 | |
| 979 typedef struct _DD_CREATEMOCOMPDATA | |
| 980 { | |
| 981 PDD_DIRECTDRAW_LOCAL lpDD; | |
| 982 PDD_MOTIONCOMP_LOCAL lpMoComp; | |
| 983 GUID *lpGuid; | |
| 984 DWORD dwUncompWidth; | |
| 985 DWORD dwUncompHeight; | |
| 986 DDPIXELFORMAT ddUncompPixelFormat; | |
| 987 LPVOID lpData; | |
| 988 DWORD dwDataSize; | |
| 989 HRESULT ddRVal; | |
| 990 } DD_CREATEMOCOMPDATA, *PDD_CREATEMOCOMPDATA; | |
| 991 typedef DWORD (WINAPI *PDD_MOCOMPCB_CREATE)(PDD_CREATEMOCOMPDATA); | |
| 992 | |
| 993 typedef struct _DDCOMPBUFFERINFO | |
| 994 { | |
| 995 DWORD dwSize; | |
| 996 DWORD dwNumCompBuffers; | |
| 997 DWORD dwWidthToCreate; | |
| 998 DWORD dwHeightToCreate; | |
| 999 DWORD dwBytesToAllocate; | |
| 1000 DDSCAPS2 ddCompCaps; | |
| 1001 DDPIXELFORMAT ddPixelFormat; | |
| 1002 } DDCOMPBUFFERINFO, *LPDDCOMPBUFFERINFO; | |
| 1003 | |
| 1004 typedef struct _DD_GETMOCOMPCOMPBUFFDATA | |
| 1005 { | |
| 1006 PDD_DIRECTDRAW_LOCAL lpDD; | |
| 1007 GUID *lpGuid; | |
| 1008 DWORD dwWidth; | |
| 1009 DWORD dwHeight; | |
| 1010 DDPIXELFORMAT ddPixelFormat; | |
| 1011 DWORD dwNumTypesCompBuffs; | |
| 1012 LPDDCOMPBUFFERINFO lpCompBuffInfo; | |
| 1013 HRESULT ddRVal; | |
| 1014 } DD_GETMOCOMPCOMPBUFFDATA, *PDD_GETMOCOMPCOMPBUFFDATA; | |
| 1015 typedef DWORD (WINAPI *PDD_MOCOMPCB_GETCOMPBUFFINFO)(PDD_GETMOCOMPCOMPBUFFDATA); | |
| 1016 | |
| 1017 typedef struct _DD_GETINTERNALMOCOMPDATA | |
| 1018 { | |
| 1019 PDD_DIRECTDRAW_LOCAL lpDD; | |
| 1020 GUID *lpGuid; | |
| 1021 DWORD dwWidth; | |
| 1022 DWORD dwHeight; | |
| 1023 DDPIXELFORMAT ddPixelFormat; | |
| 1024 DWORD dwScratchMemAlloc; | |
| 1025 HRESULT ddRVal; | |
| 1026 } DD_GETINTERNALMOCOMPDATA, *PDD_GETINTERNALMOCOMPDATA; | |
| 1027 typedef DWORD (WINAPI *PDD_MOCOMPCB_GETINTERNALINFO)(PDD_GETINTERNALMOCOMPDATA); | |
| 1028 | |
| 1029 typedef struct _DD_BEGINMOCOMPFRAMEDATA | |
| 1030 { | |
| 1031 PDD_DIRECTDRAW_LOCAL lpDD; | |
| 1032 PDD_MOTIONCOMP_LOCAL lpMoComp; | |
| 1033 PDD_SURFACE_LOCAL lpDestSurface; | |
| 1034 DWORD dwInputDataSize; | |
| 1035 LPVOID lpInputData; | |
| 1036 DWORD dwOutputDataSize; | |
| 1037 LPVOID lpOutputData; | |
| 1038 HRESULT ddRVal; | |
| 1039 } DD_BEGINMOCOMPFRAMEDATA, *PDD_BEGINMOCOMPFRAMEDATA; | |
| 1040 typedef DWORD (WINAPI *PDD_MOCOMPCB_BEGINFRAME)(PDD_BEGINMOCOMPFRAMEDATA); | |
| 1041 | |
| 1042 typedef struct _DD_ENDMOCOMPFRAMEDATA | |
| 1043 { | |
| 1044 PDD_DIRECTDRAW_LOCAL lpDD; | |
| 1045 PDD_MOTIONCOMP_LOCAL lpMoComp; | |
| 1046 LPVOID lpInputData; | |
| 1047 DWORD dwInputDataSize; | |
| 1048 HRESULT ddRVal; | |
| 1049 } DD_ENDMOCOMPFRAMEDATA, *PDD_ENDMOCOMPFRAMEDATA; | |
| 1050 typedef DWORD (WINAPI *PDD_MOCOMPCB_ENDFRAME)(PDD_ENDMOCOMPFRAMEDATA); | |
| 1051 | |
| 1052 typedef struct _DDMOCOMPBUFFERINFO | |
| 1053 { | |
| 1054 DWORD dwSize; | |
| 1055 PDD_SURFACE_LOCAL lpCompSurface; | |
| 1056 DWORD dwDataOffset; | |
| 1057 DWORD dwDataSize; | |
| 1058 LPVOID lpPrivate; | |
| 1059 } DDMOCOMPBUFFERINFO, *LPDDMOCOMPBUFFERINFO; | |
| 1060 | |
| 1061 typedef struct _DD_RENDERMOCOMPDATA | |
| 1062 { | |
| 1063 PDD_DIRECTDRAW_LOCAL lpDD; | |
| 1064 PDD_MOTIONCOMP_LOCAL lpMoComp; | |
| 1065 DWORD dwNumBuffers; | |
| 1066 LPDDMOCOMPBUFFERINFO lpBufferInfo; | |
| 1067 DWORD dwFunction; | |
| 1068 LPVOID lpInputData; | |
| 1069 DWORD dwInputDataSize; | |
| 1070 LPVOID lpOutputData; | |
| 1071 DWORD dwOutputDataSize; | |
| 1072 HRESULT ddRVal; | |
| 1073 } DD_RENDERMOCOMPDATA, *PDD_RENDERMOCOMPDATA; | |
| 1074 typedef DWORD (WINAPI *PDD_MOCOMPCB_RENDER)(PDD_RENDERMOCOMPDATA); | |
| 1075 | |
| 1076 #define DDMCQUERY_READ 0x00000001 | |
| 1077 | |
| 1078 typedef struct _DD_QUERYMOCOMPSTATUSDATA | |
| 1079 { | |
| 1080 PDD_DIRECTDRAW_LOCAL lpDD; | |
| 1081 PDD_MOTIONCOMP_LOCAL lpMoComp; | |
| 1082 PDD_SURFACE_LOCAL lpSurface; | |
| 1083 DWORD dwFlags; | |
| 1084 HRESULT ddRVal; | |
| 1085 } DD_QUERYMOCOMPSTATUSDATA, *PDD_QUERYMOCOMPSTATUSDATA; | |
| 1086 typedef DWORD (WINAPI *PDD_MOCOMPCB_QUERYSTATUS)(PDD_QUERYMOCOMPSTATUSDATA); | |
| 1087 | |
| 1088 typedef struct _DD_DESTROYMOCOMPDATA | |
| 1089 { | |
| 1090 PDD_DIRECTDRAW_LOCAL lpDD; | |
| 1091 PDD_MOTIONCOMP_LOCAL lpMoComp; | |
| 1092 HRESULT ddRVal; | |
| 1093 } DD_DESTROYMOCOMPDATA, *PDD_DESTROYMOCOMPDATA; | |
| 1094 typedef DWORD (WINAPI *PDD_MOCOMPCB_DESTROY)(PDD_DESTROYMOCOMPDATA); | |
| 1095 | |
| 1096 | |
| 1097 | |
| 1098 typedef struct DD_MOTIONCOMPCALLBACKS | |
| 1099 { | |
| 1100 DWORD dwSize; | |
| 1101 DWORD dwFlags; | |
| 1102 PDD_MOCOMPCB_GETGUIDS GetMoCompGuids; | |
| 1103 PDD_MOCOMPCB_GETFORMATS GetMoCompFormats; | |
| 1104 PDD_MOCOMPCB_CREATE CreateMoComp; | |
| 1105 PDD_MOCOMPCB_GETCOMPBUFFINFO GetMoCompBuffInfo; | |
| 1106 PDD_MOCOMPCB_GETINTERNALINFO GetInternalMoCompInfo; | |
| 1107 PDD_MOCOMPCB_BEGINFRAME BeginMoCompFrame; | |
| 1108 PDD_MOCOMPCB_ENDFRAME EndMoCompFrame; | |
| 1109 PDD_MOCOMPCB_RENDER RenderMoComp; | |
| 1110 PDD_MOCOMPCB_QUERYSTATUS QueryMoCompStatus; | |
| 1111 PDD_MOCOMPCB_DESTROY DestroyMoComp; | |
| 1112 } DD_MOTIONCOMPCALLBACKS, *PDD_MOTIONCOMPCALLBACKS; | |
| 1113 | |
| 1114 #define DDHAL_MOCOMP32_GETGUIDS 0x00000001 | |
| 1115 #define DDHAL_MOCOMP32_GETFORMATS 0x00000002 | |
| 1116 #define DDHAL_MOCOMP32_CREATE 0x00000004 | |
| 1117 #define DDHAL_MOCOMP32_GETCOMPBUFFINFO 0x00000008 | |
| 1118 #define DDHAL_MOCOMP32_GETINTERNALINFO 0x00000010 | |
| 1119 #define DDHAL_MOCOMP32_BEGINFRAME 0x00000020 | |
| 1120 #define DDHAL_MOCOMP32_ENDFRAME 0x00000040 | |
| 1121 #define DDHAL_MOCOMP32_RENDER 0x00000080 | |
| 1122 #define DDHAL_MOCOMP32_QUERYSTATUS 0x00000100 | |
| 1123 #define DDHAL_MOCOMP32_DESTROY 0x00000200 | |
| 1124 | |
| 1125 /************************************************************************/ | |
| 1126 /* D3D buffer callbacks */ | |
| 1127 /************************************************************************/ | |
| 1128 | |
| 1129 typedef struct _DD_D3DBUFCALLBACKS | |
| 1130 { | |
| 1131 DWORD dwSize; | |
| 1132 DWORD dwFlags; | |
| 1133 PDD_CANCREATESURFACE CanCreateD3DBuffer; | |
| 1134 PDD_CREATESURFACE CreateD3DBuffer; | |
| 1135 PDD_SURFCB_DESTROYSURFACE DestroyD3DBuffer; | |
| 1136 PDD_SURFCB_LOCK LockD3DBuffer; | |
| 1137 PDD_SURFCB_UNLOCK UnlockD3DBuffer; | |
| 1138 } DD_D3DBUFCALLBACKS, *PDD_D3DBUFCALLBACKS; | |
| 1139 | |
| 1140 /************************************************************************/ | |
| 1141 /* DdGetDriverInfo callback */ | |
| 1142 /************************************************************************/ | |
| 1143 | |
| 1144 typedef struct _DD_GETDRIVERINFODATA | |
| 1145 { | |
| 1146 // Input: | |
| 1147 PVOID dhpdev; | |
| 1148 DWORD dwSize; | |
| 1149 DWORD dwFlags; | |
| 1150 GUID guidInfo; | |
| 1151 DWORD dwExpectedSize; | |
| 1152 PVOID lpvData; | |
| 1153 // Output: | |
| 1154 DWORD dwActualSize; | |
| 1155 HRESULT ddRVal; | |
| 1156 } DD_GETDRIVERINFODATA, *PDD_GETDRIVERINFODATA; | |
| 1157 typedef DWORD (WINAPI *PDD_GETDRIVERINFO)(PDD_GETDRIVERINFODATA); | |
| 1158 | |
| 1159 | |
| 1160 | |
| 1161 | |
| 1162 /************************************************************************/ | |
| 1163 /* Driver info structures */ | |
| 1164 /************************************************************************/ | |
| 1165 | |
| 1166 typedef struct _DDNTCORECAPS | |
| 1167 { | |
| 1168 DWORD dwSize; | |
| 1169 DWORD dwCaps; | |
| 1170 DWORD dwCaps2; | |
| 1171 DWORD dwCKeyCaps; | |
| 1172 DWORD dwFXCaps; | |
| 1173 DWORD dwFXAlphaCaps; | |
| 1174 DWORD dwPalCaps; | |
| 1175 DWORD dwSVCaps; | |
| 1176 DWORD dwAlphaBltConstBitDepths; | |
| 1177 DWORD dwAlphaBltPixelBitDepths; | |
| 1178 DWORD dwAlphaBltSurfaceBitDepths; | |
| 1179 DWORD dwAlphaOverlayConstBitDepths; | |
| 1180 DWORD dwAlphaOverlayPixelBitDepths; | |
| 1181 DWORD dwAlphaOverlaySurfaceBitDepths; | |
| 1182 DWORD dwZBufferBitDepths; | |
| 1183 DWORD dwVidMemTotal; | |
| 1184 DWORD dwVidMemFree; | |
| 1185 DWORD dwMaxVisibleOverlays; | |
| 1186 DWORD dwCurrVisibleOverlays; | |
| 1187 DWORD dwNumFourCCCodes; | |
| 1188 DWORD dwAlignBoundarySrc; | |
| 1189 DWORD dwAlignSizeSrc; | |
| 1190 DWORD dwAlignBoundaryDest; | |
| 1191 DWORD dwAlignSizeDest; | |
| 1192 DWORD dwAlignStrideAlign; | |
| 1193 DWORD dwRops[DD_ROP_SPACE]; | |
| 1194 DDSCAPS ddsCaps; | |
| 1195 DWORD dwMinOverlayStretch; | |
| 1196 DWORD dwMaxOverlayStretch; | |
| 1197 DWORD dwMinLiveVideoStretch; | |
| 1198 DWORD dwMaxLiveVideoStretch; | |
| 1199 DWORD dwMinHwCodecStretch; | |
| 1200 DWORD dwMaxHwCodecStretch; | |
| 1201 DWORD dwReserved1; | |
| 1202 DWORD dwReserved2; | |
| 1203 DWORD dwReserved3; | |
| 1204 DWORD dwSVBCaps; | |
| 1205 DWORD dwSVBCKeyCaps; | |
| 1206 DWORD dwSVBFXCaps; | |
| 1207 DWORD dwSVBRops[DD_ROP_SPACE]; | |
| 1208 DWORD dwVSBCaps; | |
| 1209 DWORD dwVSBCKeyCaps; | |
| 1210 DWORD dwVSBFXCaps; | |
| 1211 DWORD dwVSBRops[DD_ROP_SPACE]; | |
| 1212 DWORD dwSSBCaps; | |
| 1213 DWORD dwSSBCKeyCaps; | |
| 1214 DWORD dwSSBFXCaps; | |
| 1215 DWORD dwSSBRops[DD_ROP_SPACE]; | |
| 1216 DWORD dwMaxVideoPorts; | |
| 1217 DWORD dwCurrVideoPorts; | |
| 1218 DWORD dwSVBCaps2; | |
| 1219 } DDNTCORECAPS, *PDDNTCORECAPS; | |
| 1220 | |
| 1221 | |
| 1222 typedef struct _DD_HALINFO_V4 | |
| 1223 { | |
| 1224 DWORD dwSize; | |
| 1225 VIDEOMEMORYINFO vmiData; | |
| 1226 DDNTCORECAPS ddCaps; | |
| 1227 PDD_GETDRIVERINFO GetDriverInfo; | |
| 1228 DWORD dwFlags; | |
| 1229 } DD_HALINFO_V4, *PDD_HALINFO_V4; | |
| 1230 | |
| 1231 typedef struct _DD_HALINFO | |
| 1232 { | |
| 1233 DWORD dwSize; | |
| 1234 VIDEOMEMORYINFO vmiData; | |
| 1235 DDNTCORECAPS ddCaps; | |
| 1236 PDD_GETDRIVERINFO GetDriverInfo; | |
| 1237 DWORD dwFlags; | |
| 1238 PVOID lpD3DGlobalDriverData; | |
| 1239 PVOID lpD3DHALCallbacks; | |
| 1240 PDD_D3DBUFCALLBACKS lpD3DBufCallbacks; | |
| 1241 } DD_HALINFO, *PDD_HALINFO; | |
| 1242 | |
| 1243 | |
| 1244 | |
| 1245 typedef struct _DD_NONLOCALVIDMEMCAPS | |
| 1246 { | |
| 1247 DWORD dwSize; | |
| 1248 DWORD dwNLVBCaps; | |
| 1249 DWORD dwNLVBCaps2; | |
| 1250 DWORD dwNLVBCKeyCaps; | |
| 1251 DWORD dwNLVBFXCaps; | |
| 1252 DWORD dwNLVBRops[DD_ROP_SPACE]; | |
| 1253 } DD_NONLOCALVIDMEMCAPS, *PDD_NONLOCALVIDMEMCAPS; | |
| 1254 | |
| 1255 | |
| 1256 | |
| 1257 typedef struct _DD_MORESURFACECAPS | |
| 1258 { | |
| 1259 DWORD dwSize; | |
| 1260 DDSCAPSEX ddsCapsMore; | |
| 1261 struct tagNTExtendedHeapRestrictions | |
| 1262 { | |
| 1263 DDSCAPSEX ddsCapsEx; | |
| 1264 DDSCAPSEX ddsCapsExAlt; | |
| 1265 } ddsExtendedHeapRestrictions[1]; | |
| 1266 } DD_MORESURFACECAPS, *PDD_MORESURFACECAPS; | |
| 1267 | |
| 1268 | |
| 1269 /*********************************************************/ | |
| 1270 /* Kernel Callbacks */ | |
| 1271 /*********************************************************/ | |
| 1272 typedef struct _DD_SYNCSURFACEDATA | |
| 1273 { | |
| 1274 PDD_DIRECTDRAW_LOCAL lpDD; | |
| 1275 PDD_SURFACE_LOCAL lpDDSurface; | |
| 1276 DWORD dwSurfaceOffset; | |
| 1277 ULONG_PTR fpLockPtr; | |
| 1278 LONG lPitch; | |
| 1279 DWORD dwOverlayOffset; | |
| 1280 ULONG dwDriverReserved1; | |
| 1281 ULONG dwDriverReserved2; | |
| 1282 ULONG dwDriverReserved3; | |
| 1283 ULONG dwDriverReserved4; | |
| 1284 HRESULT ddRVal; | |
| 1285 } DD_SYNCSURFACEDATA, *PDD_SYNCSURFACEDATA; | |
| 1286 typedef DWORD (WINAPI *PDD_KERNELCB_SYNCSURFACE)(PDD_SYNCSURFACEDATA); | |
| 1287 | |
| 1288 typedef struct _DD_SYNCVIDEOPORTDATA | |
| 1289 { | |
| 1290 PDD_DIRECTDRAW_LOCAL lpDD; | |
| 1291 PDD_VIDEOPORT_LOCAL lpVideoPort; | |
| 1292 DWORD dwOriginOffset; | |
| 1293 DWORD dwHeight; | |
| 1294 DWORD dwVBIHeight; | |
| 1295 ULONG dwDriverReserved1; | |
| 1296 ULONG dwDriverReserved2; | |
| 1297 ULONG dwDriverReserved3; | |
| 1298 HRESULT ddRVal; | |
| 1299 } DD_SYNCVIDEOPORTDATA, *PDD_SYNCVIDEOPORTDATA; | |
| 1300 typedef DWORD (WINAPI *PDD_KERNELCB_SYNCVIDEOPORT)(PDD_SYNCVIDEOPORTDATA); | |
| 1301 | |
| 1302 | |
| 1303 typedef struct DD_NTPRIVATEDRIVERCAPS | |
| 1304 { | |
| 1305 DWORD dwSize; | |
| 1306 DWORD dwPrivateCaps; | |
| 1307 } DD_NTPRIVATEDRIVERCAPS; | |
| 1308 | |
| 1309 typedef struct _DD_UPDATENONLOCALHEAPDATA | |
| 1310 { | |
| 1311 PDD_DIRECTDRAW_GLOBAL lpDD; | |
| 1312 DWORD dwHeap; | |
| 1313 FLATPTR fpGARTLin; | |
| 1314 FLATPTR fpGARTDev; | |
| 1315 ULONG_PTR ulPolicyMaxBytes; | |
| 1316 HRESULT ddRVal; | |
| 1317 VOID* UpdateNonLocalHeap; | |
| 1318 } DD_UPDATENONLOCALHEAPDATA, *PDD_UPDATENONLOCALHEAPDATA; | |
| 1319 | |
| 1320 typedef struct _DD_STEREOMODE | |
| 1321 { | |
| 1322 DWORD dwSize; | |
| 1323 DWORD dwHeight; | |
| 1324 DWORD dwWidth; | |
| 1325 DWORD dwBpp; | |
| 1326 DWORD dwRefreshRate; | |
| 1327 BOOL bSupported; | |
| 1328 } DD_STEREOMODE, *PDD_STEREOMODE; | |
| 1329 | |
| 1330 typedef struct _DD_MORECAPS | |
| 1331 { | |
| 1332 DWORD dwSize; | |
| 1333 DWORD dwAlphaCaps; | |
| 1334 DWORD dwSVBAlphaCaps; | |
| 1335 DWORD dwVSBAlphaCaps; | |
| 1336 DWORD dwSSBAlphaCaps; | |
| 1337 DWORD dwFilterCaps; | |
| 1338 DWORD dwSVBFilterCaps; | |
| 1339 DWORD dwVSBFilterCaps; | |
| 1340 DWORD dwSSBFilterCaps; | |
| 1341 } DD_MORECAPS, *PDD_MORECAPS; | |
| 1342 | |
| 1343 typedef struct _DD_CLIPPER_GLOBAL | |
| 1344 { | |
| 1345 ULONG_PTR dwReserved1; | |
| 1346 } DD_CLIPPER_GLOBAL; | |
| 1347 | |
| 1348 typedef struct _DD_CLIPPER_LOCAL | |
| 1349 { | |
| 1350 ULONG_PTR dwReserved1; | |
| 1351 } DD_CLIPPER_LOCAL; | |
| 1352 | |
| 1353 typedef struct _DD_PALETTE_LOCAL | |
| 1354 { | |
| 1355 ULONG dwReserved0; | |
| 1356 ULONG_PTR dwReserved1; | |
| 1357 } DD_PALETTE_LOCAL; | |
| 1358 | |
| 1359 | |
| 1360 typedef struct DD_KERNELCALLBACKS | |
| 1361 { | |
| 1362 DWORD dwSize; | |
| 1363 DWORD dwFlags; | |
| 1364 PDD_KERNELCB_SYNCSURFACE SyncSurfaceData; | |
| 1365 PDD_KERNELCB_SYNCVIDEOPORT SyncVideoPortData; | |
| 1366 } DD_KERNELCALLBACKS, *PDD_KERNELCALLBACKS; | |
| 1367 | |
| 1368 | |
| 1369 #define MAX_AUTOFLIP_BUFFERS 10 | |
| 1370 #define DDSCAPS_EXECUTEBUFFER DDSCAPS_RESERVED2 | |
| 1371 #define DDSCAPS_COMMANDBUFFER DDSCAPS_RESERVED3 | |
| 1372 #define DDSCAPS_VERTEXBUFFER DDSCAPS_RESERVED4 | |
| 1373 #define DDPF_D3DFORMAT 0x00200000l | |
| 1374 #define D3DFORMAT_OP_TEXTURE 0x00000001L | |
| 1375 #define D3DFORMAT_OP_VOLUMETEXTURE 0x00000002L | |
| 1376 #define D3DFORMAT_OP_CUBETEXTURE 0x00000004L | |
| 1377 #define D3DFORMAT_OP_OFFSCREEN_RENDERTARGET 0x00000008L | |
| 1378 #define D3DFORMAT_OP_SAME_FORMAT_RENDERTARGET 0x00000010L | |
| 1379 #define D3DFORMAT_OP_ZSTENCIL 0x00000040L | |
| 1380 #define D3DFORMAT_OP_ZSTENCIL_WITH_ARBITRARY_COLOR_DEPTH 0x00000080L | |
| 1381 #define D3DFORMAT_OP_SAME_FORMAT_UP_TO_ALPHA_RENDERTARGET 0x00000100L | |
| 1382 #define D3DFORMAT_OP_DISPLAYMODE 0x00000400L | |
| 1383 #define D3DFORMAT_OP_3DACCELERATION 0x00000800L | |
| 1384 #define D3DFORMAT_OP_PIXELSIZE 0x00001000L | |
| 1385 #define D3DFORMAT_OP_CONVERT_TO_ARGB 0x00002000L | |
| 1386 #define D3DFORMAT_OP_OFFSCREENPLAIN 0x00004000L | |
| 1387 #define D3DFORMAT_OP_SRGBREAD 0x00008000L | |
| 1388 #define D3DFORMAT_OP_BUMPMAP 0x00010000L | |
| 1389 #define D3DFORMAT_OP_DMAP 0x00020000L | |
| 1390 #define D3DFORMAT_OP_NOFILTER 0x00040000L | |
| 1391 #define D3DFORMAT_MEMBEROFGROUP_ARGB 0x00080000L | |
| 1392 #define D3DFORMAT_OP_SRGBWRITE 0x00100000L | |
| 1393 #define D3DFORMAT_OP_NOALPHABLEND 0x00200000L | |
| 1394 #define D3DFORMAT_OP_AUTOGENMIPMAP 0x00400000L | |
| 1395 #define D3DFORMAT_OP_VERTEXTEXTURE 0x00800000L | |
| 1396 #define D3DFORMAT_OP_NOTEXCOORDWRAPNORMIP 0x01000000L | |
| 1397 #define DDHAL_PLEASEALLOC_BLOCKSIZE 0x00000002l | |
| 1398 #define DDHAL_PLEASEALLOC_USERMEM 0x00000004l | |
| 1399 | |
| 1400 | |
| 1401 #define VIDMEM_ISLINEAR 0x00000001l | |
| 1402 #define VIDMEM_ISRECTANGULAR 0x00000002l | |
| 1403 #define VIDMEM_ISHEAP 0x00000004l | |
| 1404 #define VIDMEM_ISNONLOCAL 0x00000008l | |
| 1405 #define VIDMEM_ISWC 0x00000010l | |
| 1406 #define VIDMEM_HEAPDISABLED 0x00000020l | |
| 1407 | |
| 1408 #define DDHAL_CREATESURFACEEX_SWAPHANDLES 0x00000001l | |
| 1409 | |
| 1410 #define DDHAL_KERNEL_SYNCSURFACEDATA 0x00000001l | |
| 1411 #define DDHAL_KERNEL_SYNCVIDEOPORTDATA 0x00000002l | |
| 1412 | |
| 1413 #define DDHAL_DRIVER_NOTHANDLED 0x00000000l | |
| 1414 #define DDHAL_DRIVER_HANDLED 0x00000001l | |
| 1415 #define DDHAL_DRIVER_NOCKEYHW 0x00000002l | |
| 1416 | |
| 1417 #define DDRAWISURF_HASCKEYSRCBLT 0x00000800L | |
| 1418 #define DDRAWISURF_HASPIXELFORMAT 0x00002000L | |
| 1419 #define DDRAWISURF_HASOVERLAYDATA 0x00004000L | |
| 1420 #define DDRAWISURF_FRONTBUFFER 0x04000000L | |
| 1421 #define DDRAWISURF_BACKBUFFER 0x08000000L | |
| 1422 #define DDRAWISURF_INVALID 0x10000000L | |
| 1423 #define DDRAWISURF_DRIVERMANAGED 0x40000000L | |
| 1424 | |
| 1425 #define ROP_HAS_SOURCE 0x00000001l | |
| 1426 #define ROP_HAS_PATTERN 0x00000002l | |
| 1427 #define ROP_HAS_SOURCEPATTERN ROP_HAS_SOURCE | ROP_HAS_PATTERN | |
| 1428 | |
| 1429 #define DDHAL_EXEBUFCB32_CANCREATEEXEBUF 0x00000001l | |
| 1430 #define DDHAL_EXEBUFCB32_CREATEEXEBUF 0x00000002l | |
| 1431 #define DDHAL_EXEBUFCB32_DESTROYEXEBUF 0x00000004l | |
| 1432 #define DDHAL_EXEBUFCB32_LOCKEXEBUF 0x00000008l | |
| 1433 #define DDHAL_EXEBUFCB32_UNLOCKEXEBUF 0x00000010l | |
| 1434 | |
| 1435 #define DDHAL_D3DBUFCB32_CANCREATED3DBUF DDHAL_EXEBUFCB32_CANCREATEEXEBUF | |
| 1436 #define DDHAL_D3DBUFCB32_CREATED3DBUF DDHAL_EXEBUFCB32_CREATEEXEBUF | |
| 1437 #define DDHAL_D3DBUFCB32_DESTROYD3DBUF DDHAL_EXEBUFCB32_DESTROYEXEBUF | |
| 1438 #define DDHAL_D3DBUFCB32_LOCKD3DBUF DDHAL_EXEBUFCB32_LOCKEXEBUF | |
| 1439 #define DDHAL_D3DBUFCB32_UNLOCKD3DBUF DDHAL_EXEBUFCB32_UNLOCKEXEBUF | |
| 1440 | |
| 1441 #define DDHALINFO_ISPRIMARYDISPLAY 0x00000001 | |
| 1442 #define DDHALINFO_MODEXILLEGAL 0x00000002 | |
| 1443 #define DDHALINFO_GETDRIVERINFOSET 0x00000004 | |
| 1444 #define DDHALINFO_GETDRIVERINFO2 0x00000008 | |
| 1445 | |
| 1446 #define DDRAWIVPORT_ON 0x00000001 | |
| 1447 #define DDRAWIVPORT_SOFTWARE_AUTOFLIP 0x00000002 | |
| 1448 #define DDRAWIVPORT_COLORKEYANDINTERP 0x00000004 | |
| 1449 | |
| 1450 #define DDHAL_PRIVATECAP_ATOMICSURFACECREATION 0x00000001l | |
| 1451 #define DDHAL_PRIVATECAP_NOTIFYPRIMARYCREATION 0x00000002l | |
| 1452 #define DDHAL_PRIVATECAP_RESERVED1 0x00000004l | |
| 1453 | |
| 1454 #define DDRAWI_VPORTSTART 0x0001 | |
| 1455 #define DDRAWI_VPORTSTOP 0x0002 | |
| 1456 #define DDRAWI_VPORTUPDATE 0x0003 | |
| 1457 #define DDRAWI_VPORTGETCOLOR 0x0001 | |
| 1458 #define DDRAWI_VPORTSETCOLOR 0x0002 | |
| 1459 | |
| 1460 | |
| 1461 #ifdef __cplusplus | |
| 1462 } /* extern "C" */ | |
| 1463 #endif | |
| 1464 | |
| 1465 #endif /* GUID_DEFS_ONLY */ | |
| 1466 | |
| 1467 #endif /* __DD_INCLUDED__ */ |
