10#ifndef __DDRAW_INCLUDED__
11#define __DDRAW_INCLUDED__
20#ifndef DIRECTDRAW_VERSION
21#define DIRECTDRAW_VERSION 0x0500
24#if defined( _WIN32 ) && !defined( _NO_COM )
25#define COM_NO_WINDOWS_H
29#if !defined( NT_BUILD_ENVIRONMENT ) && !defined(WINNT)
30 #define CO_E_NOTINITIALIZED 0x800401F0L
35#define MAKE_DDHRESULT( code ) MAKE_HRESULT( 1, _FACDD, code )
44#if defined( _WIN32 ) && !defined( _NO_COM )
45DEFINE_GUID( CLSID_DirectDraw, 0xD7B70EE0,0x4340,0x11CF,0xB0,0x63,0x00,0x20,0xAF,0xC2,0xCD,0x35 );
46DEFINE_GUID( CLSID_DirectDrawClipper, 0x593817A0,0x7DB3,0x11CF,0xA2,0xDE,0x00,0xAA,0x00,0xb9,0x33,0x56 );
47DEFINE_GUID( IID_IDirectDraw, 0x6C14DB80,0xA733,0x11CE,0xA5,0x21,0x00,0x20,0xAF,0x0B,0xE5,0x60 );
48DEFINE_GUID( IID_IDirectDraw2, 0xB3A6F3E0,0x2B43,0x11CF,0xA2,0xDE,0x00,0xAA,0x00,0xB9,0x33,0x56 );
49DEFINE_GUID( IID_IDirectDrawSurface, 0x6C14DB81,0xA733,0x11CE,0xA5,0x21,0x00,0x20,0xAF,0x0B,0xE5,0x60 );
50DEFINE_GUID( IID_IDirectDrawSurface2, 0x57805885,0x6eec,0x11cf,0x94,0x41,0xa8,0x23,0x03,0xc1,0x0e,0x27 );
51DEFINE_GUID( IID_IDirectDrawSurface3, 0xDA044E00,0x69B2,0x11D0,0xA1,0xD5,0x00,0xAA,0x00,0xB8,0xDF,0xBB );
53DEFINE_GUID( IID_IDirectDrawPalette, 0x6C14DB84,0xA733,0x11CE,0xA5,0x21,0x00,0x20,0xAF,0x0B,0xE5,0x60 );
54DEFINE_GUID( IID_IDirectDrawClipper, 0x6C14DB85,0xA733,0x11CE,0xA5,0x21,0x00,0x20,0xAF,0x0B,0xE5,0x60 );
55DEFINE_GUID( IID_IDirectDrawColorControl, 0x4B9F0EE0,0x0D7E,0x11D0,0x9B,0x06,0x00,0xA0,0xC9,0x03,0xA3,0xB8 );
68struct IDirectDrawSurface;
69struct IDirectDrawPalette;
70struct IDirectDrawClipper;
89#if (defined (WIN32) || defined( _WIN32 ) ) && !defined( _NO_COM )
91 typedef BOOL (FAR PASCAL * LPDDENUMCALLBACKA)(GUID FAR *, LPSTR, LPSTR,
LPVOID);
92 typedef BOOL (FAR PASCAL * LPDDENUMCALLBACKW)(GUID FAR *, LPWSTR, LPWSTR,
LPVOID);
96 typedef LPDDENUMCALLBACKW LPDDENUMCALLBACK;
97 #define DirectDrawEnumerate DirectDrawEnumerateW
99 typedef LPDDENUMCALLBACKA LPDDENUMCALLBACK;
100 #define DirectDrawEnumerate DirectDrawEnumerateA
107#define REGSTR_KEY_DDHW_DESCRIPTION "Description"
108#define REGSTR_KEY_DDHW_DRIVERNAME "DriverName"
109#define REGSTR_PATH_DDHW "Hardware\\DirectDrawDrivers"
111#define DDCREATE_HARDWAREONLY 0x00000001l
112#define DDCREATE_EMULATIONONLY 0x00000002l
114#if defined(WINNT) || !defined(WIN32)
201#define DD_ROP_SPACE (256/32)
203#if DIRECTDRAW_VERSION >= 0x0500
316#if DIRECTDRAW_VERSION >= 0x0500
425typedef DWORD (FAR PASCAL *LPSURFACESTREAMINGCALLBACK)(
DWORD);
440#if defined( _WIN32 ) && !defined( _NO_COM )
442#define INTERFACE IDirectDraw
446 STDMETHOD(QueryInterface) (THIS_ REFIID riid,
LPVOID FAR * ppvObj) PURE;
447 STDMETHOD_(ULONG,AddRef) (THIS) PURE;
448 STDMETHOD_(ULONG,Release) (THIS) PURE;
450 STDMETHOD(Compact)(THIS) PURE;
457 STDMETHOD(FlipToGDISurface)(THIS) PURE;
460 STDMETHOD(GetFourCCCodes)(THIS_ LPDWORD, LPDWORD ) PURE;
462 STDMETHOD(GetMonitorFrequency)(THIS_ LPDWORD) PURE;
463 STDMETHOD(GetScanLine)(THIS_ LPDWORD) PURE;
464 STDMETHOD(GetVerticalBlankStatus)(THIS_ LPBOOL ) PURE;
465 STDMETHOD(Initialize)(THIS_ GUID FAR *) PURE;
466 STDMETHOD(RestoreDisplayMode)(THIS) PURE;
467 STDMETHOD(SetCooperativeLevel)(THIS_ HWND,
DWORD) PURE;
469 STDMETHOD(WaitForVerticalBlank)(THIS_
DWORD, HANDLE ) PURE;
472#if !defined(__cplusplus) || defined(CINTERFACE)
473#define IDirectDraw_QueryInterface(p, a, b) (p)->lpVtbl->QueryInterface(p, a, b)
474#define IDirectDraw_AddRef(p) (p)->lpVtbl->AddRef(p)
475#define IDirectDraw_Release(p) (p)->lpVtbl->Release(p)
476#define IDirectDraw_Compact(p) (p)->lpVtbl->Compact(p)
477#define IDirectDraw_CreateClipper(p, a, b, c) (p)->lpVtbl->CreateClipper(p, a, b, c)
478#define IDirectDraw_CreatePalette(p, a, b, c, d) (p)->lpVtbl->CreatePalette(p, a, b, c, d)
479#define IDirectDraw_CreateSurface(p, a, b, c) (p)->lpVtbl->CreateSurface(p, a, b, c)
480#define IDirectDraw_DuplicateSurface(p, a, b) (p)->lpVtbl->DuplicateSurface(p, a, b)
481#define IDirectDraw_EnumDisplayModes(p, a, b, c, d) (p)->lpVtbl->EnumDisplayModes(p, a, b, c, d)
482#define IDirectDraw_EnumSurfaces(p, a, b, c, d) (p)->lpVtbl->EnumSurfaces(p, a, b, c, d)
483#define IDirectDraw_FlipToGDISurface(p) (p)->lpVtbl->FlipToGDISurface(p)
484#define IDirectDraw_GetCaps(p, a, b) (p)->lpVtbl->GetCaps(p, a, b)
485#define IDirectDraw_GetDisplayMode(p, a) (p)->lpVtbl->GetDisplayMode(p, a)
486#define IDirectDraw_GetFourCCCodes(p, a, b) (p)->lpVtbl->GetFourCCCodes(p, a, b)
487#define IDirectDraw_GetGDISurface(p, a) (p)->lpVtbl->GetGDISurface(p, a)
488#define IDirectDraw_GetMonitorFrequency(p, a) (p)->lpVtbl->GetMonitorFrequency(p, a)
489#define IDirectDraw_GetScanLine(p, a) (p)->lpVtbl->GetScanLine(p, a)
490#define IDirectDraw_GetVerticalBlankStatus(p, a) (p)->lpVtbl->GetVerticalBlankStatus(p, a)
491#define IDirectDraw_Initialize(p, a) (p)->lpVtbl->Initialize(p, a)
492#define IDirectDraw_RestoreDisplayMode(p) (p)->lpVtbl->RestoreDisplayMode(p)
493#define IDirectDraw_SetCooperativeLevel(p, a, b) (p)->lpVtbl->SetCooperativeLevel(p, a, b)
494#define IDirectDraw_SetDisplayMode(p, a, b, c) (p)->lpVtbl->SetDisplayMode(p, a, b, c)
495#define IDirectDraw_WaitForVerticalBlank(p, a, b) (p)->lpVtbl->WaitForVerticalBlank(p, a, b)
497#define IDirectDraw_QueryInterface(p, a, b) (p)->QueryInterface(a, b)
498#define IDirectDraw_AddRef(p) (p)->AddRef()
499#define IDirectDraw_Release(p) (p)->Release()
500#define IDirectDraw_Compact(p) (p)->Compact()
501#define IDirectDraw_CreateClipper(p, a, b, c) (p)->CreateClipper(a, b, c)
502#define IDirectDraw_CreatePalette(p, a, b, c, d) (p)->CreatePalette(a, b, c, d)
503#define IDirectDraw_CreateSurface(p, a, b, c) (p)->CreateSurface(a, b, c)
504#define IDirectDraw_DuplicateSurface(p, a, b) (p)->DuplicateSurface(a, b)
505#define IDirectDraw_EnumDisplayModes(p, a, b, c, d) (p)->EnumDisplayModes(a, b, c, d)
506#define IDirectDraw_EnumSurfaces(p, a, b, c, d) (p)->EnumSurfaces(a, b, c, d)
507#define IDirectDraw_FlipToGDISurface(p) (p)->FlipToGDISurface()
508#define IDirectDraw_GetCaps(p, a, b) (p)->GetCaps(a, b)
509#define IDirectDraw_GetDisplayMode(p, a) (p)->GetDisplayMode(a)
510#define IDirectDraw_GetFourCCCodes(p, a, b) (p)->GetFourCCCodes(a, b)
511#define IDirectDraw_GetGDISurface(p, a) (p)->GetGDISurface(a)
512#define IDirectDraw_GetMonitorFrequency(p, a) (p)->GetMonitorFrequency(a)
513#define IDirectDraw_GetScanLine(p, a) (p)->GetScanLine(a)
514#define IDirectDraw_GetVerticalBlankStatus(p, a) (p)->GetVerticalBlankStatus(a)
515#define IDirectDraw_Initialize(p, a) (p)->Initialize(a)
516#define IDirectDraw_RestoreDisplayMode(p) (p)->RestoreDisplayMode()
517#define IDirectDraw_SetCooperativeLevel(p, a, b) (p)->SetCooperativeLevel(a, b)
518#define IDirectDraw_SetDisplayMode(p, a, b, c) (p)->SetDisplayMode(a, b, c)
519#define IDirectDraw_WaitForVerticalBlank(p, a, b) (p)->WaitForVerticalBlank(a, b)
524#if defined( _WIN32 ) && !defined( _NO_COM )
526#define INTERFACE IDirectDraw2
530 STDMETHOD(QueryInterface) (THIS_ REFIID riid,
LPVOID FAR * ppvObj) PURE;
531 STDMETHOD_(ULONG,AddRef) (THIS) PURE;
532 STDMETHOD_(ULONG,Release) (THIS) PURE;
534 STDMETHOD(Compact)(THIS) PURE;
541 STDMETHOD(FlipToGDISurface)(THIS) PURE;
544 STDMETHOD(GetFourCCCodes)(THIS_ LPDWORD, LPDWORD ) PURE;
546 STDMETHOD(GetMonitorFrequency)(THIS_ LPDWORD) PURE;
547 STDMETHOD(GetScanLine)(THIS_ LPDWORD) PURE;
548 STDMETHOD(GetVerticalBlankStatus)(THIS_ LPBOOL ) PURE;
549 STDMETHOD(Initialize)(THIS_ GUID FAR *) PURE;
550 STDMETHOD(RestoreDisplayMode)(THIS) PURE;
551 STDMETHOD(SetCooperativeLevel)(THIS_ HWND,
DWORD) PURE;
553 STDMETHOD(WaitForVerticalBlank)(THIS_
DWORD, HANDLE ) PURE;
555 STDMETHOD(GetAvailableVidMem)(THIS_
LPDDSCAPS, LPDWORD, LPDWORD) PURE;
557#if !defined(__cplusplus) || defined(CINTERFACE)
558#define IDirectDraw2_QueryInterface(p, a, b) (p)->lpVtbl->QueryInterface(p, a, b)
559#define IDirectDraw2_AddRef(p) (p)->lpVtbl->AddRef(p)
560#define IDirectDraw2_Release(p) (p)->lpVtbl->Release(p)
561#define IDirectDraw2_Compact(p) (p)->lpVtbl->Compact(p)
562#define IDirectDraw2_CreateClipper(p, a, b, c) (p)->lpVtbl->CreateClipper(p, a, b, c)
563#define IDirectDraw2_CreatePalette(p, a, b, c, d) (p)->lpVtbl->CreatePalette(p, a, b, c, d)
564#define IDirectDraw2_CreateSurface(p, a, b, c) (p)->lpVtbl->CreateSurface(p, a, b, c)
565#define IDirectDraw2_DuplicateSurface(p, a, b) (p)->lpVtbl->DuplicateSurface(p, a, b)
566#define IDirectDraw2_EnumDisplayModes(p, a, b, c, d) (p)->lpVtbl->EnumDisplayModes(p, a, b, c, d)
567#define IDirectDraw2_EnumSurfaces(p, a, b, c, d) (p)->lpVtbl->EnumSurfaces(p, a, b, c, d)
568#define IDirectDraw2_FlipToGDISurface(p) (p)->lpVtbl->FlipToGDISurface(p)
569#define IDirectDraw2_GetCaps(p, a, b) (p)->lpVtbl->GetCaps(p, a, b)
570#define IDirectDraw2_GetDisplayMode(p, a) (p)->lpVtbl->GetDisplayMode(p, a)
571#define IDirectDraw2_GetFourCCCodes(p, a, b) (p)->lpVtbl->GetFourCCCodes(p, a, b)
572#define IDirectDraw2_GetGDISurface(p, a) (p)->lpVtbl->GetGDISurface(p, a)
573#define IDirectDraw2_GetMonitorFrequency(p, a) (p)->lpVtbl->GetMonitorFrequency(p, a)
574#define IDirectDraw2_GetScanLine(p, a) (p)->lpVtbl->GetScanLine(p, a)
575#define IDirectDraw2_GetVerticalBlankStatus(p, a) (p)->lpVtbl->GetVerticalBlankStatus(p, a)
576#define IDirectDraw2_Initialize(p, a) (p)->lpVtbl->Initialize(p, a)
577#define IDirectDraw2_RestoreDisplayMode(p) (p)->lpVtbl->RestoreDisplayMode(p)
578#define IDirectDraw2_SetCooperativeLevel(p, a, b) (p)->lpVtbl->SetCooperativeLevel(p, a, b)
579#define IDirectDraw2_SetDisplayMode(p, a, b, c, d, e) (p)->lpVtbl->SetDisplayMode(p, a, b, c, d, e)
580#define IDirectDraw2_WaitForVerticalBlank(p, a, b) (p)->lpVtbl->WaitForVerticalBlank(p, a, b)
581#define IDirectDraw2_GetAvailableVidMem(p, a, b, c) (p)->lpVtbl->GetAvailableVidMem(p, a, b, c)
583#define IDirectDraw2_QueryInterface(p, a, b) (p)->QueryInterface(a, b)
584#define IDirectDraw2_AddRef(p) (p)->AddRef()
585#define IDirectDraw2_Release(p) (p)->Release()
586#define IDirectDraw2_Compact(p) (p)->Compact()
587#define IDirectDraw2_CreateClipper(p, a, b, c) (p)->CreateClipper(a, b, c)
588#define IDirectDraw2_CreatePalette(p, a, b, c, d) (p)->CreatePalette(a, b, c, d)
589#define IDirectDraw2_CreateSurface(p, a, b, c) (p)->CreateSurface(a, b, c)
590#define IDirectDraw2_DuplicateSurface(p, a, b) (p)->DuplicateSurface(a, b)
591#define IDirectDraw2_EnumDisplayModes(p, a, b, c, d) (p)->EnumDisplayModes(a, b, c, d)
592#define IDirectDraw2_EnumSurfaces(p, a, b, c, d) (p)->EnumSurfaces(a, b, c, d)
593#define IDirectDraw2_FlipToGDISurface(p) (p)->FlipToGDISurface()
594#define IDirectDraw2_GetCaps(p, a, b) (p)->GetCaps(a, b)
595#define IDirectDraw2_GetDisplayMode(p, a) (p)->GetDisplayMode(a)
596#define IDirectDraw2_GetFourCCCodes(p, a, b) (p)->GetFourCCCodes(a, b)
597#define IDirectDraw2_GetGDISurface(p, a) (p)->GetGDISurface(a)
598#define IDirectDraw2_GetMonitorFrequency(p, a) (p)->GetMonitorFrequency(a)
599#define IDirectDraw2_GetScanLine(p, a) (p)->GetScanLine(a)
600#define IDirectDraw2_GetVerticalBlankStatus(p, a) (p)->GetVerticalBlankStatus(a)
601#define IDirectDraw2_Initialize(p, a) (p)->Initialize(a)
602#define IDirectDraw2_RestoreDisplayMode(p) (p)->RestoreDisplayMode()
603#define IDirectDraw2_SetCooperativeLevel(p, a, b) (p)->SetCooperativeLevel(a, b)
604#define IDirectDraw2_SetDisplayMode(p, a, b, c, d, e) (p)->SetDisplayMode(a, b, c, d, e)
605#define IDirectDraw2_WaitForVerticalBlank(p, a, b) (p)->WaitForVerticalBlank(a, b)
606#define IDirectDraw2_GetAvailableVidMem(p, a, b, c) (p)->GetAvailableVidMem(a, b, c)
614#if defined( _WIN32 ) && !defined( _NO_COM )
616#define INTERFACE IDirectDrawPalette
620 STDMETHOD(QueryInterface) (THIS_ REFIID riid,
LPVOID FAR * ppvObj) PURE;
621 STDMETHOD_(ULONG,AddRef) (THIS) PURE;
622 STDMETHOD_(ULONG,Release) (THIS) PURE;
624 STDMETHOD(GetCaps)(THIS_ LPDWORD) PURE;
630#if !defined(__cplusplus) || defined(CINTERFACE)
631#define IDirectDrawPalette_QueryInterface(p, a, b) (p)->lpVtbl->QueryInterface(p, a, b)
632#define IDirectDrawPalette_AddRef(p) (p)->lpVtbl->AddRef(p)
633#define IDirectDrawPalette_Release(p) (p)->lpVtbl->Release(p)
634#define IDirectDrawPalette_GetCaps(p, a) (p)->lpVtbl->GetCaps(p, a)
635#define IDirectDrawPalette_GetEntries(p, a, b, c, d) (p)->lpVtbl->GetEntries(p, a, b, c, d)
636#define IDirectDrawPalette_Initialize(p, a, b, c) (p)->lpVtbl->Initialize(p, a, b, c)
637#define IDirectDrawPalette_SetEntries(p, a, b, c, d) (p)->lpVtbl->SetEntries(p, a, b, c, d)
639#define IDirectDrawPalette_QueryInterface(p, a, b) (p)->QueryInterface(a, b)
640#define IDirectDrawPalette_AddRef(p) (p)->AddRef()
641#define IDirectDrawPalette_Release(p) (p)->Release()
642#define IDirectDrawPalette_GetCaps(p, a) (p)->GetCaps(a)
643#define IDirectDrawPalette_GetEntries(p, a, b, c, d) (p)->GetEntries(a, b, c, d)
644#define IDirectDrawPalette_Initialize(p, a, b, c) (p)->Initialize(a, b, c)
645#define IDirectDrawPalette_SetEntries(p, a, b, c, d) (p)->SetEntries(a, b, c, d)
653#if defined( _WIN32 ) && !defined( _NO_COM )
655#define INTERFACE IDirectDrawClipper
659 STDMETHOD(QueryInterface) (THIS_ REFIID riid,
LPVOID FAR * ppvObj) PURE;
660 STDMETHOD_(ULONG,AddRef) (THIS) PURE;
661 STDMETHOD_(ULONG,Release) (THIS) PURE;
663 STDMETHOD(GetClipList)(THIS_ LPRECT, LPRGNDATA, LPDWORD) PURE;
664 STDMETHOD(GetHWnd)(THIS_ HWND FAR *) PURE;
666 STDMETHOD(IsClipListChanged)(THIS_
BOOL FAR *) PURE;
667 STDMETHOD(SetClipList)(THIS_ LPRGNDATA,
DWORD) PURE;
668 STDMETHOD(SetHWnd)(THIS_
DWORD, HWND ) PURE;
671#if !defined(__cplusplus) || defined(CINTERFACE)
672#define IDirectDrawClipper_QueryInterface(p, a, b) (p)->lpVtbl->QueryInterface(p, a, b)
673#define IDirectDrawClipper_AddRef(p) (p)->lpVtbl->AddRef(p)
674#define IDirectDrawClipper_Release(p) (p)->lpVtbl->Release(p)
675#define IDirectDrawClipper_GetClipList(p, a, b, c) (p)->lpVtbl->GetClipList(p, a, b, c)
676#define IDirectDrawClipper_GetHWnd(p, a) (p)->lpVtbl->GetHWnd(p, a)
677#define IDirectDrawClipper_Initialize(p, a, b) (p)->lpVtbl->Initialize(p, a, b)
678#define IDirectDrawClipper_IsClipListChanged(p, a) (p)->lpVtbl->IsClipListChanged(p, a)
679#define IDirectDrawClipper_SetClipList(p, a, b) (p)->lpVtbl->SetClipList(p, a, b)
680#define IDirectDrawClipper_SetHWnd(p, a, b) (p)->lpVtbl->SetHWnd(p, a, b)
682#define IDirectDrawClipper_QueryInterface(p, a, b) (p)->QueryInterface(a, b)
683#define IDirectDrawClipper_AddRef(p) (p)->AddRef()
684#define IDirectDrawClipper_Release(p) (p)->Release()
685#define IDirectDrawClipper_GetClipList(p, a, b, c) (p)->GetClipList(a, b, c)
686#define IDirectDrawClipper_GetHWnd(p, a) (p)->GetHWnd(a)
687#define IDirectDrawClipper_Initialize(p, a, b) (p)->Initialize(a, b)
688#define IDirectDrawClipper_IsClipListChanged(p, a) (p)->IsClipListChanged(a)
689#define IDirectDrawClipper_SetClipList(p, a, b) (p)->SetClipList(a, b)
690#define IDirectDrawClipper_SetHWnd(p, a, b) (p)->SetHWnd(a, b)
698#if defined( _WIN32 ) && !defined( _NO_COM )
700#define INTERFACE IDirectDrawSurface
704 STDMETHOD(QueryInterface) (THIS_ REFIID riid,
LPVOID FAR * ppvObj) PURE;
705 STDMETHOD_(ULONG,AddRef) (THIS) PURE;
706 STDMETHOD_(ULONG,Release) (THIS) PURE;
709 STDMETHOD(AddOverlayDirtyRect)(THIS_ LPRECT) PURE;
714 STDMETHOD(EnumAttachedSurfaces)(THIS_
LPVOID,LPDDENUMSURFACESCALLBACK) PURE;
715 STDMETHOD(EnumOverlayZOrders)(THIS_
DWORD,
LPVOID,LPDDENUMSURFACESCALLBACK) PURE;
718 STDMETHOD(GetBltStatus)(THIS_
DWORD) PURE;
719 STDMETHOD(GetCaps)(THIS_
LPDDSCAPS) PURE;
722 STDMETHOD(GetDC)(THIS_ HDC FAR *) PURE;
723 STDMETHOD(GetFlipStatus)(THIS_
DWORD) PURE;
724 STDMETHOD(GetOverlayPosition)(THIS_ LPLONG, LPLONG ) PURE;
729 STDMETHOD(IsLost)(THIS) PURE;
731 STDMETHOD(ReleaseDC)(THIS_ HDC) PURE;
732 STDMETHOD(Restore)(THIS) PURE;
735 STDMETHOD(SetOverlayPosition)(THIS_ LONG, LONG ) PURE;
737 STDMETHOD(Unlock)(THIS_
LPVOID) PURE;
739 STDMETHOD(UpdateOverlayDisplay)(THIS_
DWORD) PURE;
743#if !defined(__cplusplus) || defined(CINTERFACE)
744#define IDirectDrawSurface_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
745#define IDirectDrawSurface_AddRef(p) (p)->lpVtbl->AddRef(p)
746#define IDirectDrawSurface_Release(p) (p)->lpVtbl->Release(p)
747#define IDirectDrawSurface_AddAttachedSurface(p,a) (p)->lpVtbl->AddAttachedSurface(p,a)
748#define IDirectDrawSurface_AddOverlayDirtyRect(p,a) (p)->lpVtbl->AddOverlayDirtyRect(p,a)
749#define IDirectDrawSurface_Blt(p,a,b,c,d,e) (p)->lpVtbl->Blt(p,a,b,c,d,e)
750#define IDirectDrawSurface_BltBatch(p,a,b,c) (p)->lpVtbl->BltBatch(p,a,b,c)
751#define IDirectDrawSurface_BltFast(p,a,b,c,d,e) (p)->lpVtbl->BltFast(p,a,b,c,d,e)
752#define IDirectDrawSurface_DeleteAttachedSurface(p,a,b) (p)->lpVtbl->DeleteAttachedSurface(p,a,b)
753#define IDirectDrawSurface_EnumAttachedSurfaces(p,a,b) (p)->lpVtbl->EnumAttachedSurfaces(p,a,b)
754#define IDirectDrawSurface_EnumOverlayZOrders(p,a,b,c) (p)->lpVtbl->EnumOverlayZOrders(p,a,b,c)
755#define IDirectDrawSurface_Flip(p,a,b) (p)->lpVtbl->Flip(p,a,b)
756#define IDirectDrawSurface_GetAttachedSurface(p,a,b) (p)->lpVtbl->GetAttachedSurface(p,a,b)
757#define IDirectDrawSurface_GetBltStatus(p,a) (p)->lpVtbl->GetBltStatus(p,a)
758#define IDirectDrawSurface_GetCaps(p,b) (p)->lpVtbl->GetCaps(p,b)
759#define IDirectDrawSurface_GetClipper(p,a) (p)->lpVtbl->GetClipper(p,a)
760#define IDirectDrawSurface_GetColorKey(p,a,b) (p)->lpVtbl->GetColorKey(p,a,b)
761#define IDirectDrawSurface_GetDC(p,a) (p)->lpVtbl->GetDC(p,a)
762#define IDirectDrawSurface_GetFlipStatus(p,a) (p)->lpVtbl->GetFlipStatus(p,a)
763#define IDirectDrawSurface_GetOverlayPosition(p,a,b) (p)->lpVtbl->GetOverlayPosition(p,a,b)
764#define IDirectDrawSurface_GetPalette(p,a) (p)->lpVtbl->GetPalette(p,a)
765#define IDirectDrawSurface_GetPixelFormat(p,a) (p)->lpVtbl->GetPixelFormat(p,a)
766#define IDirectDrawSurface_GetSurfaceDesc(p,a) (p)->lpVtbl->GetSurfaceDesc(p,a)
767#define IDirectDrawSurface_Initialize(p,a,b) (p)->lpVtbl->Initialize(p,a,b)
768#define IDirectDrawSurface_IsLost(p) (p)->lpVtbl->IsLost(p)
769#define IDirectDrawSurface_Lock(p,a,b,c,d) (p)->lpVtbl->Lock(p,a,b,c,d)
770#define IDirectDrawSurface_ReleaseDC(p,a) (p)->lpVtbl->ReleaseDC(p,a)
771#define IDirectDrawSurface_Restore(p) (p)->lpVtbl->Restore(p)
772#define IDirectDrawSurface_SetClipper(p,a) (p)->lpVtbl->SetClipper(p,a)
773#define IDirectDrawSurface_SetColorKey(p,a,b) (p)->lpVtbl->SetColorKey(p,a,b)
774#define IDirectDrawSurface_SetOverlayPosition(p,a,b) (p)->lpVtbl->SetOverlayPosition(p,a,b)
775#define IDirectDrawSurface_SetPalette(p,a) (p)->lpVtbl->SetPalette(p,a)
776#define IDirectDrawSurface_Unlock(p,b) (p)->lpVtbl->Unlock(p,b)
777#define IDirectDrawSurface_UpdateOverlay(p,a,b,c,d,e) (p)->lpVtbl->UpdateOverlay(p,a,b,c,d,e)
778#define IDirectDrawSurface_UpdateOverlayDisplay(p,a) (p)->lpVtbl->UpdateOverlayDisplay(p,a)
779#define IDirectDrawSurface_UpdateOverlayZOrder(p,a,b) (p)->lpVtbl->UpdateOverlayZOrder(p,a,b)
781#define IDirectDrawSurface_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
782#define IDirectDrawSurface_AddRef(p) (p)->AddRef()
783#define IDirectDrawSurface_Release(p) (p)->Release()
784#define IDirectDrawSurface_AddAttachedSurface(p,a) (p)->AddAttachedSurface(a)
785#define IDirectDrawSurface_AddOverlayDirtyRect(p,a) (p)->AddOverlayDirtyRect(a)
786#define IDirectDrawSurface_Blt(p,a,b,c,d,e) (p)->Blt(a,b,c,d,e)
787#define IDirectDrawSurface_BltBatch(p,a,b,c) (p)->BltBatch(a,b,c)
788#define IDirectDrawSurface_BltFast(p,a,b,c,d,e) (p)->BltFast(a,b,c,d,e)
789#define IDirectDrawSurface_DeleteAttachedSurface(p,a,b) (p)->DeleteAttachedSurface(a,b)
790#define IDirectDrawSurface_EnumAttachedSurfaces(p,a,b) (p)->EnumAttachedSurfaces(a,b)
791#define IDirectDrawSurface_EnumOverlayZOrders(p,a,b,c) (p)->EnumOverlayZOrders(a,b,c)
792#define IDirectDrawSurface_Flip(p,a,b) (p)->Flip(a,b)
793#define IDirectDrawSurface_GetAttachedSurface(p,a,b) (p)->GetAttachedSurface(a,b)
794#define IDirectDrawSurface_GetBltStatus(p,a) (p)->GetBltStatus(a)
795#define IDirectDrawSurface_GetCaps(p,b) (p)->GetCaps(b)
796#define IDirectDrawSurface_GetClipper(p,a) (p)->GetClipper(a)
797#define IDirectDrawSurface_GetColorKey(p,a,b) (p)->GetColorKey(a,b)
798#define IDirectDrawSurface_GetDC(p,a) (p)->GetDC(a)
799#define IDirectDrawSurface_GetFlipStatus(p,a) (p)->GetFlipStatus(a)
800#define IDirectDrawSurface_GetOverlayPosition(p,a,b) (p)->GetOverlayPosition(a,b)
801#define IDirectDrawSurface_GetPalette(p,a) (p)->GetPalette(a)
802#define IDirectDrawSurface_GetPixelFormat(p,a) (p)->GetPixelFormat(a)
803#define IDirectDrawSurface_GetSurfaceDesc(p,a) (p)->GetSurfaceDesc(a)
804#define IDirectDrawSurface_Initialize(p,a,b) (p)->Initialize(a,b)
805#define IDirectDrawSurface_IsLost(p) (p)->IsLost()
806#define IDirectDrawSurface_Lock(p,a,b,c,d) (p)->Lock(a,b,c,d)
807#define IDirectDrawSurface_ReleaseDC(p,a) (p)->ReleaseDC(a)
808#define IDirectDrawSurface_Restore(p) (p)->Restore()
809#define IDirectDrawSurface_SetClipper(p,a) (p)->SetClipper(a)
810#define IDirectDrawSurface_SetColorKey(p,a,b) (p)->SetColorKey(a,b)
811#define IDirectDrawSurface_SetOverlayPosition(p,a,b) (p)->SetOverlayPosition(a,b)
812#define IDirectDrawSurface_SetPalette(p,a) (p)->SetPalette(a)
813#define IDirectDrawSurface_Unlock(p,b) (p)->Unlock(b)
814#define IDirectDrawSurface_UpdateOverlay(p,a,b,c,d,e) (p)->UpdateOverlay(a,b,c,d,e)
815#define IDirectDrawSurface_UpdateOverlayDisplay(p,a) (p)->UpdateOverlayDisplay(a)
816#define IDirectDrawSurface_UpdateOverlayZOrder(p,a,b) (p)->UpdateOverlayZOrder(a,b)
823#define INTERFACE IDirectDrawSurface2
827 STDMETHOD(QueryInterface) (THIS_ REFIID riid,
LPVOID FAR * ppvObj) PURE;
828 STDMETHOD_(ULONG,AddRef) (THIS) PURE;
829 STDMETHOD_(ULONG,Release) (THIS) PURE;
832 STDMETHOD(AddOverlayDirtyRect)(THIS_ LPRECT) PURE;
837 STDMETHOD(EnumAttachedSurfaces)(THIS_
LPVOID,LPDDENUMSURFACESCALLBACK) PURE;
838 STDMETHOD(EnumOverlayZOrders)(THIS_
DWORD,
LPVOID,LPDDENUMSURFACESCALLBACK) PURE;
841 STDMETHOD(GetBltStatus)(THIS_
DWORD) PURE;
842 STDMETHOD(GetCaps)(THIS_
LPDDSCAPS) PURE;
845 STDMETHOD(GetDC)(THIS_ HDC FAR *) PURE;
846 STDMETHOD(GetFlipStatus)(THIS_
DWORD) PURE;
847 STDMETHOD(GetOverlayPosition)(THIS_ LPLONG, LPLONG ) PURE;
852 STDMETHOD(IsLost)(THIS) PURE;
854 STDMETHOD(ReleaseDC)(THIS_ HDC) PURE;
855 STDMETHOD(Restore)(THIS) PURE;
858 STDMETHOD(SetOverlayPosition)(THIS_ LONG, LONG ) PURE;
860 STDMETHOD(Unlock)(THIS_
LPVOID) PURE;
862 STDMETHOD(UpdateOverlayDisplay)(THIS_
DWORD) PURE;
865 STDMETHOD(GetDDInterface)(THIS_
LPVOID FAR *) PURE;
866 STDMETHOD(PageLock)(THIS_
DWORD) PURE;
867 STDMETHOD(PageUnlock)(THIS_
DWORD) PURE;
870#if !defined(__cplusplus) || defined(CINTERFACE)
871#define IDirectDrawSurface2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
872#define IDirectDrawSurface2_AddRef(p) (p)->lpVtbl->AddRef(p)
873#define IDirectDrawSurface2_Release(p) (p)->lpVtbl->Release(p)
874#define IDirectDrawSurface2_AddAttachedSurface(p,a) (p)->lpVtbl->AddAttachedSurface(p,a)
875#define IDirectDrawSurface2_AddOverlayDirtyRect(p,a) (p)->lpVtbl->AddOverlayDirtyRect(p,a)
876#define IDirectDrawSurface2_Blt(p,a,b,c,d,e) (p)->lpVtbl->Blt(p,a,b,c,d,e)
877#define IDirectDrawSurface2_BltBatch(p,a,b,c) (p)->lpVtbl->BltBatch(p,a,b,c)
878#define IDirectDrawSurface2_BltFast(p,a,b,c,d,e) (p)->lpVtbl->BltFast(p,a,b,c,d,e)
879#define IDirectDrawSurface2_DeleteAttachedSurface(p,a,b) (p)->lpVtbl->DeleteAttachedSurface(p,a,b)
880#define IDirectDrawSurface2_EnumAttachedSurfaces(p,a,b) (p)->lpVtbl->EnumAttachedSurfaces(p,a,b)
881#define IDirectDrawSurface2_EnumOverlayZOrders(p,a,b,c) (p)->lpVtbl->EnumOverlayZOrders(p,a,b,c)
882#define IDirectDrawSurface2_Flip(p,a,b) (p)->lpVtbl->Flip(p,a,b)
883#define IDirectDrawSurface2_GetAttachedSurface(p,a,b) (p)->lpVtbl->GetAttachedSurface(p,a,b)
884#define IDirectDrawSurface2_GetBltStatus(p,a) (p)->lpVtbl->GetBltStatus(p,a)
885#define IDirectDrawSurface2_GetCaps(p,b) (p)->lpVtbl->GetCaps(p,b)
886#define IDirectDrawSurface2_GetClipper(p,a) (p)->lpVtbl->GetClipper(p,a)
887#define IDirectDrawSurface2_GetColorKey(p,a,b) (p)->lpVtbl->GetColorKey(p,a,b)
888#define IDirectDrawSurface2_GetDC(p,a) (p)->lpVtbl->GetDC(p,a)
889#define IDirectDrawSurface2_GetFlipStatus(p,a) (p)->lpVtbl->GetFlipStatus(p,a)
890#define IDirectDrawSurface2_GetOverlayPosition(p,a,b) (p)->lpVtbl->GetOverlayPosition(p,a,b)
891#define IDirectDrawSurface2_GetPalette(p,a) (p)->lpVtbl->GetPalette(p,a)
892#define IDirectDrawSurface2_GetPixelFormat(p,a) (p)->lpVtbl->GetPixelFormat(p,a)
893#define IDirectDrawSurface2_GetSurfaceDesc(p,a) (p)->lpVtbl->GetSurfaceDesc(p,a)
894#define IDirectDrawSurface2_Initialize(p,a,b) (p)->lpVtbl->Initialize(p,a,b)
895#define IDirectDrawSurface2_IsLost(p) (p)->lpVtbl->IsLost(p)
896#define IDirectDrawSurface2_Lock(p,a,b,c,d) (p)->lpVtbl->Lock(p,a,b,c,d)
897#define IDirectDrawSurface2_ReleaseDC(p,a) (p)->lpVtbl->ReleaseDC(p,a)
898#define IDirectDrawSurface2_Restore(p) (p)->lpVtbl->Restore(p)
899#define IDirectDrawSurface2_SetClipper(p,a) (p)->lpVtbl->SetClipper(p,a)
900#define IDirectDrawSurface2_SetColorKey(p,a,b) (p)->lpVtbl->SetColorKey(p,a,b)
901#define IDirectDrawSurface2_SetOverlayPosition(p,a,b) (p)->lpVtbl->SetOverlayPosition(p,a,b)
902#define IDirectDrawSurface2_SetPalette(p,a) (p)->lpVtbl->SetPalette(p,a)
903#define IDirectDrawSurface2_Unlock(p,b) (p)->lpVtbl->Unlock(p,b)
904#define IDirectDrawSurface2_UpdateOverlay(p,a,b,c,d,e) (p)->lpVtbl->UpdateOverlay(p,a,b,c,d,e)
905#define IDirectDrawSurface2_UpdateOverlayDisplay(p,a) (p)->lpVtbl->UpdateOverlayDisplay(p,a)
906#define IDirectDrawSurface2_UpdateOverlayZOrder(p,a,b) (p)->lpVtbl->UpdateOverlayZOrder(p,a,b)
907#define IDirectDrawSurface2_GetDDInterface(p,a) (p)->lpVtbl->GetDDInterface(p,a)
908#define IDirectDrawSurface2_PageLock(p,a) (p)->lpVtbl->PageLock(p,a)
909#define IDirectDrawSurface2_PageUnlock(p,a) (p)->lpVtbl->PageUnlock(p,a)
911#define IDirectDrawSurface2_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
912#define IDirectDrawSurface2_AddRef(p) (p)->AddRef()
913#define IDirectDrawSurface2_Release(p) (p)->Release()
914#define IDirectDrawSurface2_AddAttachedSurface(p,a) (p)->AddAttachedSurface(a)
915#define IDirectDrawSurface2_AddOverlayDirtyRect(p,a) (p)->AddOverlayDirtyRect(a)
916#define IDirectDrawSurface2_Blt(p,a,b,c,d,e) (p)->Blt(a,b,c,d,e)
917#define IDirectDrawSurface2_BltBatch(p,a,b,c) (p)->BltBatch(a,b,c)
918#define IDirectDrawSurface2_BltFast(p,a,b,c,d,e) (p)->BltFast(a,b,c,d,e)
919#define IDirectDrawSurface2_DeleteAttachedSurface(p,a,b) (p)->DeleteAttachedSurface(a,b)
920#define IDirectDrawSurface2_EnumAttachedSurfaces(p,a,b) (p)->EnumAttachedSurfaces(a,b)
921#define IDirectDrawSurface2_EnumOverlayZOrders(p,a,b,c) (p)->EnumOverlayZOrders(a,b,c)
922#define IDirectDrawSurface2_Flip(p,a,b) (p)->Flip(a,b)
923#define IDirectDrawSurface2_GetAttachedSurface(p,a,b) (p)->GetAttachedSurface(a,b)
924#define IDirectDrawSurface2_GetBltStatus(p,a) (p)->GetBltStatus(a)
925#define IDirectDrawSurface2_GetCaps(p,b) (p)->GetCaps(b)
926#define IDirectDrawSurface2_GetClipper(p,a) (p)->GetClipper(a)
927#define IDirectDrawSurface2_GetColorKey(p,a,b) (p)->GetColorKey(a,b)
928#define IDirectDrawSurface2_GetDC(p,a) (p)->GetDC(a)
929#define IDirectDrawSurface2_GetFlipStatus(p,a) (p)->GetFlipStatus(a)
930#define IDirectDrawSurface2_GetOverlayPosition(p,a,b) (p)->GetOverlayPosition(a,b)
931#define IDirectDrawSurface2_GetPalette(p,a) (p)->GetPalette(a)
932#define IDirectDrawSurface2_GetPixelFormat(p,a) (p)->GetPixelFormat(a)
933#define IDirectDrawSurface2_GetSurfaceDesc(p,a) (p)->GetSurfaceDesc(a)
934#define IDirectDrawSurface2_Initialize(p,a,b) (p)->Initialize(a,b)
935#define IDirectDrawSurface2_IsLost(p) (p)->IsLost()
936#define IDirectDrawSurface2_Lock(p,a,b,c,d) (p)->Lock(a,b,c,d)
937#define IDirectDrawSurface2_ReleaseDC(p,a) (p)->ReleaseDC(a)
938#define IDirectDrawSurface2_Restore(p) (p)->Restore()
939#define IDirectDrawSurface2_SetClipper(p,a) (p)->SetClipper(a)
940#define IDirectDrawSurface2_SetColorKey(p,a,b) (p)->SetColorKey(a,b)
941#define IDirectDrawSurface2_SetOverlayPosition(p,a,b) (p)->SetOverlayPosition(a,b)
942#define IDirectDrawSurface2_SetPalette(p,a) (p)->SetPalette(a)
943#define IDirectDrawSurface2_Unlock(p,b) (p)->Unlock(b)
944#define IDirectDrawSurface2_UpdateOverlay(p,a,b,c,d,e) (p)->UpdateOverlay(a,b,c,d,e)
945#define IDirectDrawSurface2_UpdateOverlayDisplay(p,a) (p)->UpdateOverlayDisplay(a)
946#define IDirectDrawSurface2_UpdateOverlayZOrder(p,a,b) (p)->UpdateOverlayZOrder(a,b)
947#define IDirectDrawSurface2_GetDDInterface(p,a) (p)->GetDDInterface(a)
948#define IDirectDrawSurface2_PageLock(p,a) (p)->PageLock(a)
949#define IDirectDrawSurface2_PageUnlock(p,a) (p)->PageUnlock(a)
956#define INTERFACE IDirectDrawSurface3
960 STDMETHOD(QueryInterface) (THIS_ REFIID riid,
LPVOID FAR * ppvObj) PURE;
961 STDMETHOD_(ULONG,AddRef) (THIS) PURE;
962 STDMETHOD_(ULONG,Release) (THIS) PURE;
965 STDMETHOD(AddOverlayDirtyRect)(THIS_ LPRECT) PURE;
970 STDMETHOD(EnumAttachedSurfaces)(THIS_
LPVOID,LPDDENUMSURFACESCALLBACK) PURE;
971 STDMETHOD(EnumOverlayZOrders)(THIS_
DWORD,
LPVOID,LPDDENUMSURFACESCALLBACK) PURE;
974 STDMETHOD(GetBltStatus)(THIS_
DWORD) PURE;
975 STDMETHOD(GetCaps)(THIS_
LPDDSCAPS) PURE;
978 STDMETHOD(GetDC)(THIS_ HDC FAR *) PURE;
979 STDMETHOD(GetFlipStatus)(THIS_
DWORD) PURE;
980 STDMETHOD(GetOverlayPosition)(THIS_ LPLONG, LPLONG ) PURE;
985 STDMETHOD(IsLost)(THIS) PURE;
987 STDMETHOD(ReleaseDC)(THIS_ HDC) PURE;
988 STDMETHOD(Restore)(THIS) PURE;
991 STDMETHOD(SetOverlayPosition)(THIS_ LONG, LONG ) PURE;
993 STDMETHOD(Unlock)(THIS_
LPVOID) PURE;
995 STDMETHOD(UpdateOverlayDisplay)(THIS_
DWORD) PURE;
998 STDMETHOD(GetDDInterface)(THIS_
LPVOID FAR *) PURE;
999 STDMETHOD(PageLock)(THIS_
DWORD) PURE;
1000 STDMETHOD(PageUnlock)(THIS_
DWORD) PURE;
1005#if !defined(__cplusplus) || defined(CINTERFACE)
1006#define IDirectDrawSurface3_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1007#define IDirectDrawSurface3_AddRef(p) (p)->lpVtbl->AddRef(p)
1008#define IDirectDrawSurface3_Release(p) (p)->lpVtbl->Release(p)
1009#define IDirectDrawSurface3_AddAttachedSurface(p,a) (p)->lpVtbl->AddAttachedSurface(p,a)
1010#define IDirectDrawSurface3_AddOverlayDirtyRect(p,a) (p)->lpVtbl->AddOverlayDirtyRect(p,a)
1011#define IDirectDrawSurface3_Blt(p,a,b,c,d,e) (p)->lpVtbl->Blt(p,a,b,c,d,e)
1012#define IDirectDrawSurface3_BltBatch(p,a,b,c) (p)->lpVtbl->BltBatch(p,a,b,c)
1013#define IDirectDrawSurface3_BltFast(p,a,b,c,d,e) (p)->lpVtbl->BltFast(p,a,b,c,d,e)
1014#define IDirectDrawSurface3_DeleteAttachedSurface(p,a,b) (p)->lpVtbl->DeleteAttachedSurface(p,a,b)
1015#define IDirectDrawSurface3_EnumAttachedSurfaces(p,a,b) (p)->lpVtbl->EnumAttachedSurfaces(p,a,b)
1016#define IDirectDrawSurface3_EnumOverlayZOrders(p,a,b,c) (p)->lpVtbl->EnumOverlayZOrders(p,a,b,c)
1017#define IDirectDrawSurface3_Flip(p,a,b) (p)->lpVtbl->Flip(p,a,b)
1018#define IDirectDrawSurface3_GetAttachedSurface(p,a,b) (p)->lpVtbl->GetAttachedSurface(p,a,b)
1019#define IDirectDrawSurface3_GetBltStatus(p,a) (p)->lpVtbl->GetBltStatus(p,a)
1020#define IDirectDrawSurface3_GetCaps(p,b) (p)->lpVtbl->GetCaps(p,b)
1021#define IDirectDrawSurface3_GetClipper(p,a) (p)->lpVtbl->GetClipper(p,a)
1022#define IDirectDrawSurface3_GetColorKey(p,a,b) (p)->lpVtbl->GetColorKey(p,a,b)
1023#define IDirectDrawSurface3_GetDC(p,a) (p)->lpVtbl->GetDC(p,a)
1024#define IDirectDrawSurface3_GetFlipStatus(p,a) (p)->lpVtbl->GetFlipStatus(p,a)
1025#define IDirectDrawSurface3_GetOverlayPosition(p,a,b) (p)->lpVtbl->GetOverlayPosition(p,a,b)
1026#define IDirectDrawSurface3_GetPalette(p,a) (p)->lpVtbl->GetPalette(p,a)
1027#define IDirectDrawSurface3_GetPixelFormat(p,a) (p)->lpVtbl->GetPixelFormat(p,a)
1028#define IDirectDrawSurface3_GetSurfaceDesc(p,a) (p)->lpVtbl->GetSurfaceDesc(p,a)
1029#define IDirectDrawSurface3_Initialize(p,a,b) (p)->lpVtbl->Initialize(p,a,b)
1030#define IDirectDrawSurface3_IsLost(p) (p)->lpVtbl->IsLost(p)
1031#define IDirectDrawSurface3_Lock(p,a,b,c,d) (p)->lpVtbl->Lock(p,a,b,c,d)
1032#define IDirectDrawSurface3_ReleaseDC(p,a) (p)->lpVtbl->ReleaseDC(p,a)
1033#define IDirectDrawSurface3_Restore(p) (p)->lpVtbl->Restore(p)
1034#define IDirectDrawSurface3_SetClipper(p,a) (p)->lpVtbl->SetClipper(p,a)
1035#define IDirectDrawSurface3_SetColorKey(p,a,b) (p)->lpVtbl->SetColorKey(p,a,b)
1036#define IDirectDrawSurface3_SetOverlayPosition(p,a,b) (p)->lpVtbl->SetOverlayPosition(p,a,b)
1037#define IDirectDrawSurface3_SetPalette(p,a) (p)->lpVtbl->SetPalette(p,a)
1038#define IDirectDrawSurface3_Unlock(p,b) (p)->lpVtbl->Unlock(p,b)
1039#define IDirectDrawSurface3_UpdateOverlay(p,a,b,c,d,e) (p)->lpVtbl->UpdateOverlay(p,a,b,c,d,e)
1040#define IDirectDrawSurface3_UpdateOverlayDisplay(p,a) (p)->lpVtbl->UpdateOverlayDisplay(p,a)
1041#define IDirectDrawSurface3_UpdateOverlayZOrder(p,a,b) (p)->lpVtbl->UpdateOverlayZOrder(p,a,b)
1042#define IDirectDrawSurface3_GetDDInterface(p,a) (p)->lpVtbl->GetDDInterface(p,a)
1043#define IDirectDrawSurface3_PageLock(p,a) (p)->lpVtbl->PageLock(p,a)
1044#define IDirectDrawSurface3_PageUnlock(p,a) (p)->lpVtbl->PageUnlock(p,a)
1045#define IDirectDrawSurface3_SetSurfaceDesc(p,a,b) (p)->lpVtbl->SetSurfaceDesc(p,a,b)
1047#define IDirectDrawSurface3_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
1048#define IDirectDrawSurface3_AddRef(p) (p)->AddRef()
1049#define IDirectDrawSurface3_Release(p) (p)->Release()
1050#define IDirectDrawSurface3_AddAttachedSurface(p,a) (p)->AddAttachedSurface(a)
1051#define IDirectDrawSurface3_AddOverlayDirtyRect(p,a) (p)->AddOverlayDirtyRect(a)
1052#define IDirectDrawSurface3_Blt(p,a,b,c,d,e) (p)->Blt(a,b,c,d,e)
1053#define IDirectDrawSurface3_BltBatch(p,a,b,c) (p)->BltBatch(a,b,c)
1054#define IDirectDrawSurface3_BltFast(p,a,b,c,d,e) (p)->BltFast(a,b,c,d,e)
1055#define IDirectDrawSurface3_DeleteAttachedSurface(p,a,b) (p)->DeleteAttachedSurface(a,b)
1056#define IDirectDrawSurface3_EnumAttachedSurfaces(p,a,b) (p)->EnumAttachedSurfaces(a,b)
1057#define IDirectDrawSurface3_EnumOverlayZOrders(p,a,b,c) (p)->EnumOverlayZOrders(a,b,c)
1058#define IDirectDrawSurface3_Flip(p,a,b) (p)->Flip(a,b)
1059#define IDirectDrawSurface3_GetAttachedSurface(p,a,b) (p)->GetAttachedSurface(a,b)
1060#define IDirectDrawSurface3_GetBltStatus(p,a) (p)->GetBltStatus(a)
1061#define IDirectDrawSurface3_GetCaps(p,b) (p)->GetCaps(b)
1062#define IDirectDrawSurface3_GetClipper(p,a) (p)->GetClipper(a)
1063#define IDirectDrawSurface3_GetColorKey(p,a,b) (p)->GetColorKey(a,b)
1064#define IDirectDrawSurface3_GetDC(p,a) (p)->GetDC(a)
1065#define IDirectDrawSurface3_GetFlipStatus(p,a) (p)->GetFlipStatus(a)
1066#define IDirectDrawSurface3_GetOverlayPosition(p,a,b) (p)->GetOverlayPosition(a,b)
1067#define IDirectDrawSurface3_GetPalette(p,a) (p)->GetPalette(a)
1068#define IDirectDrawSurface3_GetPixelFormat(p,a) (p)->GetPixelFormat(a)
1069#define IDirectDrawSurface3_GetSurfaceDesc(p,a) (p)->GetSurfaceDesc(a)
1070#define IDirectDrawSurface3_Initialize(p,a,b) (p)->Initialize(a,b)
1071#define IDirectDrawSurface3_IsLost(p) (p)->IsLost()
1072#define IDirectDrawSurface3_Lock(p,a,b,c,d) (p)->Lock(a,b,c,d)
1073#define IDirectDrawSurface3_ReleaseDC(p,a) (p)->ReleaseDC(a)
1074#define IDirectDrawSurface3_Restore(p) (p)->Restore()
1075#define IDirectDrawSurface3_SetClipper(p,a) (p)->SetClipper(a)
1076#define IDirectDrawSurface3_SetColorKey(p,a,b) (p)->SetColorKey(a,b)
1077#define IDirectDrawSurface3_SetOverlayPosition(p,a,b) (p)->SetOverlayPosition(a,b)
1078#define IDirectDrawSurface3_SetPalette(p,a) (p)->SetPalette(a)
1079#define IDirectDrawSurface3_Unlock(p,b) (p)->Unlock(b)
1080#define IDirectDrawSurface3_UpdateOverlay(p,a,b,c,d,e) (p)->UpdateOverlay(a,b,c,d,e)
1081#define IDirectDrawSurface3_UpdateOverlayDisplay(p,a) (p)->UpdateOverlayDisplay(a)
1082#define IDirectDrawSurface3_UpdateOverlayZOrder(p,a,b) (p)->UpdateOverlayZOrder(a,b)
1083#define IDirectDrawSurface3_GetDDInterface(p,a) (p)->GetDDInterface(a)
1084#define IDirectDrawSurface3_PageLock(p,a) (p)->PageLock(a)
1085#define IDirectDrawSurface3_PageUnlock(p,a) (p)->PageUnlock(a)
1086#define IDirectDrawSurface3_SetSurfaceDesc(p,a,b) (p)->SetSurfaceDesc(a,b)
1092#if defined( _WIN32 ) && !defined( _NO_COM )
1094#define INTERFACE IDirectDrawColorControl
1098 STDMETHOD(QueryInterface) (THIS_ REFIID riid,
LPVOID FAR * ppvObj) PURE;
1099 STDMETHOD_(ULONG,AddRef) (THIS) PURE;
1100 STDMETHOD_(ULONG,Release) (THIS) PURE;
1106#if !defined(__cplusplus) || defined(CINTERFACE)
1107#define IDirectDrawColorControl_QueryInterface(p, a, b) (p)->lpVtbl->QueryInterface(p, a, b)
1108#define IDirectDrawColorControl_AddRef(p) (p)->lpVtbl->AddRef(p)
1109#define IDirectDrawColorControl_Release(p) (p)->lpVtbl->Release(p)
1110#define IDirectDrawColorControl_GetColorControls(p, a) (p)->lpVtbl->GetColorControls(p, a)
1111#define IDirectDrawColorControl_SetColorControls(p, a) (p)->lpVtbl->SetColorControls(p, a)
1113#define IDirectDrawColorControl_QueryInterface(p, a, b) (p)->QueryInterface(a, b)
1114#define IDirectDrawColorControl_AddRef(p) (p)->AddRef()
1115#define IDirectDrawColorControl_Release(p) (p)->Release()
1116#define IDirectDrawColorControl_GetColorControls(p, a) (p)->GetColorControls(a)
1117#define IDirectDrawColorControl_SetColorControls(p, a) (p)->SetColorControls(a)
1162#define DDSD_CAPS 0x00000001l
1167#define DDSD_HEIGHT 0x00000002l
1172#define DDSD_WIDTH 0x00000004l
1177#define DDSD_PITCH 0x00000008l
1182#define DDSD_BACKBUFFERCOUNT 0x00000020l
1187#define DDSD_ZBUFFERBITDEPTH 0x00000040l
1192#define DDSD_ALPHABITDEPTH 0x00000080l
1198#define DDSD_LPSURFACE 0x00000800l
1203#define DDSD_PIXELFORMAT 0x00001000l
1208#define DDSD_CKDESTOVERLAY 0x00002000l
1213#define DDSD_CKDESTBLT 0x00004000l
1218#define DDSD_CKSRCOVERLAY 0x00008000l
1223#define DDSD_CKSRCBLT 0x00010000l
1228#define DDSD_MIPMAPCOUNT 0x00020000l
1233#define DDSD_REFRESHRATE 0x00040000l
1238#define DDSD_LINEARSIZE 0x00080000l
1243#define DDSD_ALL 0x000ff9eel
1267#define DDCOLOR_BRIGHTNESS 0x00000001l
1272#define DDCOLOR_CONTRAST 0x00000002l
1277#define DDCOLOR_HUE 0x00000004l
1282#define DDCOLOR_SATURATION 0x00000008l
1287#define DDCOLOR_SHARPNESS 0x00000010l
1292#define DDCOLOR_GAMMA 0x00000020l
1297#define DDCOLOR_COLORENABLE 0x00000040l
1319#define DDSCAPS_RESERVED1 0x00000001l
1326#define DDSCAPS_ALPHA 0x00000002l
1344#define DDSCAPS_BACKBUFFER 0x00000004l
1353#define DDSCAPS_COMPLEX 0x00000008l
1364#define DDSCAPS_FLIP 0x00000010l
1376#define DDSCAPS_FRONTBUFFER 0x00000020l
1383#define DDSCAPS_OFFSCREENPLAIN 0x00000040l
1391#define DDSCAPS_OVERLAY 0x00000080l
1397#define DDSCAPS_PALETTE 0x00000100l
1403#define DDSCAPS_PRIMARYSURFACE 0x00000200l
1412#define DDSCAPS_PRIMARYSURFACELEFT 0x00000400l
1417#define DDSCAPS_SYSTEMMEMORY 0x00000800l
1423#define DDSCAPS_TEXTURE 0x00001000l
1430#define DDSCAPS_3DDEVICE 0x00002000l
1435#define DDSCAPS_VIDEOMEMORY 0x00004000l
1442#define DDSCAPS_VISIBLE 0x00008000l
1449#define DDSCAPS_WRITEONLY 0x00010000l
1456#define DDSCAPS_ZBUFFER 0x00020000l
1461#define DDSCAPS_OWNDC 0x00040000l
1466#define DDSCAPS_LIVEVIDEO 0x00080000l
1472#define DDSCAPS_HWCODEC 0x00100000l
1478#define DDSCAPS_MODEX 0x00200000l
1487#define DDSCAPS_MIPMAP 0x00400000l
1492#define DDSCAPS_RESERVED2 0x00800000l
1499#define DDSCAPS_ALLOCONLOAD 0x04000000l
1504#define DDSCAPS_VIDEOPORT 0x08000000l
1512#define DDSCAPS_LOCALVIDMEM 0x10000000l
1520#define DDSCAPS_NONLOCALVIDMEM 0x20000000l
1527#define DDSCAPS_STANDARDVGAMODE 0x40000000l
1534#define DDSCAPS_OPTIMIZED 0x80000000l
1547#define DDCAPS_3D 0x00000001l
1554#define DDCAPS_ALIGNBOUNDARYDEST 0x00000002l
1560#define DDCAPS_ALIGNSIZEDEST 0x00000004l
1566#define DDCAPS_ALIGNBOUNDARYSRC 0x00000008l
1572#define DDCAPS_ALIGNSIZESRC 0x00000010l
1578#define DDCAPS_ALIGNSTRIDE 0x00000020l
1583#define DDCAPS_BLT 0x00000040l
1588#define DDCAPS_BLTQUEUE 0x00000080l
1593#define DDCAPS_BLTFOURCC 0x00000100l
1598#define DDCAPS_BLTSTRETCH 0x00000200l
1603#define DDCAPS_GDI 0x00000400l
1608#define DDCAPS_OVERLAY 0x00000800l
1613#define DDCAPS_OVERLAYCANTCLIP 0x00001000l
1619#define DDCAPS_OVERLAYFOURCC 0x00002000l
1624#define DDCAPS_OVERLAYSTRETCH 0x00004000l
1630#define DDCAPS_PALETTE 0x00008000l
1635#define DDCAPS_PALETTEVSYNC 0x00010000l
1640#define DDCAPS_READSCANLINE 0x00020000l
1646#define DDCAPS_STEREOVIEW 0x00040000l
1651#define DDCAPS_VBI 0x00080000l
1656#define DDCAPS_ZBLTS 0x00100000l
1661#define DDCAPS_ZOVERLAYS 0x00200000l
1666#define DDCAPS_COLORKEY 0x00400000l
1671#define DDCAPS_ALPHA 0x00800000l
1676#define DDCAPS_COLORKEYHWASSIST 0x01000000l
1681#define DDCAPS_NOHARDWARE 0x02000000l
1686#define DDCAPS_BLTCOLORFILL 0x04000000l
1692#define DDCAPS_BANKSWITCHED 0x08000000l
1697#define DDCAPS_BLTDEPTHFILL 0x10000000l
1702#define DDCAPS_CANCLIP 0x20000000l
1707#define DDCAPS_CANCLIPSTRETCHED 0x40000000l
1712#define DDCAPS_CANBLTSYSMEM 0x80000000l
1724#define DDCAPS2_CERTIFIED 0x00000001l
1730#define DDCAPS2_NO2DDURING3DSCENE 0x00000002l
1735#define DDCAPS2_VIDEOPORT 0x00000004l
1742#define DDCAPS2_AUTOFLIPOVERLAY 0x00000008l
1748#define DDCAPS2_CANBOBINTERLEAVED 0x00000010l
1754#define DDCAPS2_CANBOBNONINTERLEAVED 0x00000020l
1759#define DDCAPS2_COLORCONTROLOVERLAY 0x00000040l
1764#define DDCAPS2_COLORCONTROLPRIMARY 0x00000080l
1769#define DDCAPS2_CANDROPZ16BIT 0x00000100l
1774#define DDCAPS2_NONLOCALVIDMEM 0x00000200l
1781#define DDCAPS2_NONLOCALVIDMEMCAPS 0x00000400l
1787#define DDCAPS2_NOPAGELOCKREQUIRED 0x00000800l
1792#define DDCAPS2_WIDESURFACES 0x00001000l
1797#define DDCAPS2_CANFLIPODDEVEN 0x00002000l
1809#define DDFXALPHACAPS_BLTALPHAEDGEBLEND 0x00000001l
1817#define DDFXALPHACAPS_BLTALPHAPIXELS 0x00000002l
1826#define DDFXALPHACAPS_BLTALPHAPIXELSNEG 0x00000004l
1834#define DDFXALPHACAPS_BLTALPHASURFACES 0x00000008l
1843#define DDFXALPHACAPS_BLTALPHASURFACESNEG 0x00000010l
1849#define DDFXALPHACAPS_OVERLAYALPHAEDGEBLEND 0x00000020l
1857#define DDFXALPHACAPS_OVERLAYALPHAPIXELS 0x00000040l
1866#define DDFXALPHACAPS_OVERLAYALPHAPIXELSNEG 0x00000080l
1874#define DDFXALPHACAPS_OVERLAYALPHASURFACES 0x00000100l
1883#define DDFXALPHACAPS_OVERLAYALPHASURFACESNEG 0x00000200l
1895#define DDFXCAPS_BLTARITHSTRETCHY 0x00000020l
1902#define DDFXCAPS_BLTARITHSTRETCHYN 0x00000010l
1907#define DDFXCAPS_BLTMIRRORLEFTRIGHT 0x00000040l
1912#define DDFXCAPS_BLTMIRRORUPDOWN 0x00000080l
1917#define DDFXCAPS_BLTROTATION 0x00000100l
1922#define DDFXCAPS_BLTROTATION90 0x00000200l
1928#define DDFXCAPS_BLTSHRINKX 0x00000400l
1934#define DDFXCAPS_BLTSHRINKXN 0x00000800l
1940#define DDFXCAPS_BLTSHRINKY 0x00001000l
1946#define DDFXCAPS_BLTSHRINKYN 0x00002000l
1952#define DDFXCAPS_BLTSTRETCHX 0x00004000l
1958#define DDFXCAPS_BLTSTRETCHXN 0x00008000l
1964#define DDFXCAPS_BLTSTRETCHY 0x00010000l
1970#define DDFXCAPS_BLTSTRETCHYN 0x00020000l
1977#define DDFXCAPS_OVERLAYARITHSTRETCHY 0x00040000l
1984#define DDFXCAPS_OVERLAYARITHSTRETCHYN 0x00000008l
1990#define DDFXCAPS_OVERLAYSHRINKX 0x00080000l
1996#define DDFXCAPS_OVERLAYSHRINKXN 0x00100000l
2002#define DDFXCAPS_OVERLAYSHRINKY 0x00200000l
2008#define DDFXCAPS_OVERLAYSHRINKYN 0x00400000l
2014#define DDFXCAPS_OVERLAYSTRETCHX 0x00800000l
2020#define DDFXCAPS_OVERLAYSTRETCHXN 0x01000000l
2026#define DDFXCAPS_OVERLAYSTRETCHY 0x02000000l
2032#define DDFXCAPS_OVERLAYSTRETCHYN 0x04000000l
2037#define DDFXCAPS_OVERLAYMIRRORLEFTRIGHT 0x08000000l
2042#define DDFXCAPS_OVERLAYMIRRORUPDOWN 0x10000000l
2053#define DDSVCAPS_ENIGMA 0x00000001l
2058#define DDSVCAPS_FLICKER 0x00000002l
2065#define DDSVCAPS_REDBLUE 0x00000004l
2070#define DDSVCAPS_SPLIT 0x00000008l
2081#define DDPCAPS_4BIT 0x00000001l
2089#define DDPCAPS_8BITENTRIES 0x00000002l
2094#define DDPCAPS_8BIT 0x00000004l
2101#define DDPCAPS_INITIALIZE 0x00000008l
2108#define DDPCAPS_PRIMARYSURFACE 0x00000010l
2115#define DDPCAPS_PRIMARYSURFACELEFT 0x00000020l
2120#define DDPCAPS_ALLOW256 0x00000040l
2126#define DDPCAPS_VSYNC 0x00000080l
2131#define DDPCAPS_1BIT 0x00000100l
2136#define DDPCAPS_2BIT 0x00000200l
2175#define DDBD_1 0x00004000l
2180#define DDBD_2 0x00002000l
2185#define DDBD_4 0x00001000l
2190#define DDBD_8 0x00000800l
2195#define DDBD_16 0x00000400l
2200#define DDBD_24 0X00000200l
2205#define DDBD_32 0x00000100l
2217#define DDCKEY_COLORSPACE 0x00000001l
2223#define DDCKEY_DESTBLT 0x00000002l
2229#define DDCKEY_DESTOVERLAY 0x00000004l
2235#define DDCKEY_SRCBLT 0x00000008l
2241#define DDCKEY_SRCOVERLAY 0x00000010l
2254#define DDCKEYCAPS_DESTBLT 0x00000001l
2260#define DDCKEYCAPS_DESTBLTCLRSPACE 0x00000002l
2266#define DDCKEYCAPS_DESTBLTCLRSPACEYUV 0x00000004l
2272#define DDCKEYCAPS_DESTBLTYUV 0x00000008l
2278#define DDCKEYCAPS_DESTOVERLAY 0x00000010l
2283#define DDCKEYCAPS_DESTOVERLAYCLRSPACE 0x00000020l
2288#define DDCKEYCAPS_DESTOVERLAYCLRSPACEYUV 0x00000040l
2294#define DDCKEYCAPS_DESTOVERLAYONEACTIVE 0x00000080l
2300#define DDCKEYCAPS_DESTOVERLAYYUV 0x00000100l
2306#define DDCKEYCAPS_SRCBLT 0x00000200l
2312#define DDCKEYCAPS_SRCBLTCLRSPACE 0x00000400l
2318#define DDCKEYCAPS_SRCBLTCLRSPACEYUV 0x00000800l
2324#define DDCKEYCAPS_SRCBLTYUV 0x00001000l
2330#define DDCKEYCAPS_SRCOVERLAY 0x00002000l
2336#define DDCKEYCAPS_SRCOVERLAYCLRSPACE 0x00004000l
2342#define DDCKEYCAPS_SRCOVERLAYCLRSPACEYUV 0x00008000l
2348#define DDCKEYCAPS_SRCOVERLAYONEACTIVE 0x00010000l
2354#define DDCKEYCAPS_SRCOVERLAYYUV 0x00020000l
2359#define DDCKEYCAPS_NOCOSTOVERLAY 0x00040000l
2371#define DDPF_ALPHAPIXELS 0x00000001l
2376#define DDPF_ALPHA 0x00000002l
2381#define DDPF_FOURCC 0x00000004l
2386#define DDPF_PALETTEINDEXED4 0x00000008l
2392#define DDPF_PALETTEINDEXEDTO8 0x00000010l
2397#define DDPF_PALETTEINDEXED8 0x00000020l
2402#define DDPF_RGB 0x00000040l
2408#define DDPF_COMPRESSED 0x00000080l
2416#define DDPF_RGBTOYUV 0x00000100l
2421#define DDPF_YUV 0x00000200l
2426#define DDPF_ZBUFFER 0x00000400l
2431#define DDPF_PALETTEINDEXED1 0x00000800l
2436#define DDPF_PALETTEINDEXED2 0x00001000l
2441#define DDPF_ZPIXELS 0x00002000l
2460#define DDENUMSURFACES_ALL 0x00000001l
2465#define DDENUMSURFACES_MATCH 0x00000002l
2470#define DDENUMSURFACES_NOMATCH 0x00000004l
2475#define DDENUMSURFACES_CANBECREATED 0x00000008l
2480#define DDENUMSURFACES_DOESEXIST 0x00000010l
2492#define DDSDM_STANDARDVGAMODE 0x00000001l
2507#define DDEDM_REFRESHRATES 0x00000001l
2515#define DDEDM_STANDARDVGAMODES 0x00000002L
2528#define DDSCL_FULLSCREEN 0x00000001l
2533#define DDSCL_ALLOWREBOOT 0x00000002l
2539#define DDSCL_NOWINDOWCHANGES 0x00000004l
2544#define DDSCL_NORMAL 0x00000008l
2549#define DDSCL_EXCLUSIVE 0x00000010l
2555#define DDSCL_ALLOWMODEX 0x00000040l
2568#define DDBLT_ALPHADEST 0x00000001l
2574#define DDBLT_ALPHADESTCONSTOVERRIDE 0x00000002l
2580#define DDBLT_ALPHADESTNEG 0x00000004l
2586#define DDBLT_ALPHADESTSURFACEOVERRIDE 0x00000008l
2592#define DDBLT_ALPHAEDGEBLEND 0x00000010l
2598#define DDBLT_ALPHASRC 0x00000020l
2604#define DDBLT_ALPHASRCCONSTOVERRIDE 0x00000040l
2610#define DDBLT_ALPHASRCNEG 0x00000080l
2616#define DDBLT_ALPHASRCSURFACEOVERRIDE 0x00000100l
2622#define DDBLT_ASYNC 0x00000200l
2628#define DDBLT_COLORFILL 0x00000400l
2634#define DDBLT_DDFX 0x00000800l
2640#define DDBLT_DDROPS 0x00001000l
2645#define DDBLT_KEYDEST 0x00002000l
2651#define DDBLT_KEYDESTOVERRIDE 0x00004000l
2656#define DDBLT_KEYSRC 0x00008000l
2662#define DDBLT_KEYSRCOVERRIDE 0x00010000l
2668#define DDBLT_ROP 0x00020000l
2674#define DDBLT_ROTATIONANGLE 0x00040000l
2681#define DDBLT_ZBUFFER 0x00080000l
2688#define DDBLT_ZBUFFERDESTCONSTOVERRIDE 0x00100000l
2695#define DDBLT_ZBUFFERDESTOVERRIDE 0x00200000l
2702#define DDBLT_ZBUFFERSRCCONSTOVERRIDE 0x00400000l
2709#define DDBLT_ZBUFFERSRCOVERRIDE 0x00800000l
2715#define DDBLT_WAIT 0x01000000l
2722#define DDBLT_DEPTHFILL 0x02000000l
2732#define DDBLTFAST_NOCOLORKEY 0x00000000
2733#define DDBLTFAST_SRCCOLORKEY 0x00000001
2734#define DDBLTFAST_DESTCOLORKEY 0x00000002
2735#define DDBLTFAST_WAIT 0x00000010
2743#define DDFLIP_WAIT 0x00000001l
2749#define DDFLIP_EVEN 0x00000002l
2755#define DDFLIP_ODD 0x00000004l
2770#define DDOVER_ALPHADEST 0x00000001l
2776#define DDOVER_ALPHADESTCONSTOVERRIDE 0x00000002l
2782#define DDOVER_ALPHADESTNEG 0x00000004l
2788#define DDOVER_ALPHADESTSURFACEOVERRIDE 0x00000008l
2794#define DDOVER_ALPHAEDGEBLEND 0x00000010l
2800#define DDOVER_ALPHASRC 0x00000020l
2806#define DDOVER_ALPHASRCCONSTOVERRIDE 0x00000040l
2812#define DDOVER_ALPHASRCNEG 0x00000080l
2818#define DDOVER_ALPHASRCSURFACEOVERRIDE 0x00000100l
2823#define DDOVER_HIDE 0x00000200l
2828#define DDOVER_KEYDEST 0x00000400l
2834#define DDOVER_KEYDESTOVERRIDE 0x00000800l
2839#define DDOVER_KEYSRC 0x00001000l
2845#define DDOVER_KEYSRCOVERRIDE 0x00002000l
2850#define DDOVER_SHOW 0x00004000l
2855#define DDOVER_ADDDIRTYRECT 0x00008000l
2860#define DDOVER_REFRESHDIRTYRECTS 0x00010000l
2865#define DDOVER_REFRESHALL 0x00020000l
2871#define DDOVER_DDFX 0x00080000l
2876#define DDOVER_AUTOFLIP 0x00100000l
2882#define DDOVER_BOB 0x00200000l
2888#define DDOVER_OVERRIDEBOBWEAVE 0x00400000l
2893#define DDOVER_INTERLEAVED 0x00800000l
2907#define DDLOCK_SURFACEMEMORYPTR 0x00000000L
2914#define DDLOCK_WAIT 0x00000001L
2920#define DDLOCK_EVENT 0x00000002L
2925#define DDLOCK_READONLY 0x00000010L
2930#define DDLOCK_WRITEONLY 0x00000020L
2941#define DDLOCK_NOSYSLOCK 0x00000800L
2975#define DDBLTFX_ARITHSTRETCHY 0x00000001l
2981#define DDBLTFX_MIRRORLEFTRIGHT 0x00000002l
2987#define DDBLTFX_MIRRORUPDOWN 0x00000004l
2992#define DDBLTFX_NOTEARING 0x00000008l
2997#define DDBLTFX_ROTATE180 0x00000010l
3002#define DDBLTFX_ROTATE270 0x00000020l
3007#define DDBLTFX_ROTATE90 0x00000040l
3013#define DDBLTFX_ZBUFFERRANGE 0x00000080l
3019#define DDBLTFX_ZBUFFERBASEDEST 0x00000100l
3030#define DDOVERFX_ARITHSTRETCHY 0x00000001l
3035#define DDOVERFX_MIRRORLEFTRIGHT 0x00000002l
3040#define DDOVERFX_MIRRORUPDOWN 0x00000004l
3051#define DDWAITVB_BLOCKBEGIN 0x00000001l
3056#define DDWAITVB_BLOCKBEGINEVENT 0x00000002l
3061#define DDWAITVB_BLOCKEND 0x00000004l
3072#define DDGFS_CANFLIP 0x00000001l
3077#define DDGFS_ISFLIPDONE 0x00000002l
3088#define DDGBS_CANBLT 0x00000001l
3093#define DDGBS_ISBLTDONE 0x00000002l
3105#define DDENUMOVERLAYZ_BACKTOFRONT 0x00000000l
3110#define DDENUMOVERLAYZ_FRONTTOBACK 0x00000001l
3121#define DDOVERZ_SENDTOFRONT 0x00000000l
3126#define DDOVERZ_SENDTOBACK 0x00000001l
3131#define DDOVERZ_MOVEFORWARD 0x00000002l
3136#define DDOVERZ_MOVEBACKWARD 0x00000003l
3141#define DDOVERZ_INSERTINFRONTOF 0x00000004l
3146#define DDOVERZ_INSERTINBACKOF 0x00000005l
3179#define DDENUMRET_CANCEL 0
3184#define DDENUMRET_OK 1
3197#define DDERR_ALREADYINITIALIZED MAKE_DDHRESULT( 5 )
3202#define DDERR_CANNOTATTACHSURFACE MAKE_DDHRESULT( 10 )
3207#define DDERR_CANNOTDETACHSURFACE MAKE_DDHRESULT( 20 )
3212#define DDERR_CURRENTLYNOTAVAIL MAKE_DDHRESULT( 40 )
3217#define DDERR_EXCEPTION MAKE_DDHRESULT( 55 )
3222#define DDERR_GENERIC E_FAIL
3227#define DDERR_HEIGHTALIGN MAKE_DDHRESULT( 90 )
3233#define DDERR_INCOMPATIBLEPRIMARY MAKE_DDHRESULT( 95 )
3238#define DDERR_INVALIDCAPS MAKE_DDHRESULT( 100 )
3243#define DDERR_INVALIDCLIPLIST MAKE_DDHRESULT( 110 )
3248#define DDERR_INVALIDMODE MAKE_DDHRESULT( 120 )
3253#define DDERR_INVALIDOBJECT MAKE_DDHRESULT( 130 )
3259#define DDERR_INVALIDPARAMS E_INVALIDARG
3264#define DDERR_INVALIDPIXELFORMAT MAKE_DDHRESULT( 145 )
3269#define DDERR_INVALIDRECT MAKE_DDHRESULT( 150 )
3274#define DDERR_LOCKEDSURFACES MAKE_DDHRESULT( 160 )
3279#define DDERR_NO3D MAKE_DDHRESULT( 170 )
3285#define DDERR_NOALPHAHW MAKE_DDHRESULT( 180 )
3291#define DDERR_NOCLIPLIST MAKE_DDHRESULT( 205 )
3297#define DDERR_NOCOLORCONVHW MAKE_DDHRESULT( 210 )
3303#define DDERR_NOCOOPERATIVELEVELSET MAKE_DDHRESULT( 212 )
3308#define DDERR_NOCOLORKEY MAKE_DDHRESULT( 215 )
3314#define DDERR_NOCOLORKEYHW MAKE_DDHRESULT( 220 )
3319#define DDERR_NODIRECTDRAWSUPPORT MAKE_DDHRESULT( 222 )
3325#define DDERR_NOEXCLUSIVEMODE MAKE_DDHRESULT( 225 )
3330#define DDERR_NOFLIPHW MAKE_DDHRESULT( 230 )
3335#define DDERR_NOGDI MAKE_DDHRESULT( 240 )
3341#define DDERR_NOMIRRORHW MAKE_DDHRESULT( 250 )
3346#define DDERR_NOTFOUND MAKE_DDHRESULT( 255 )
3352#define DDERR_NOOVERLAYHW MAKE_DDHRESULT( 260 )
3358#define DDERR_NORASTEROPHW MAKE_DDHRESULT( 280 )
3364#define DDERR_NOROTATIONHW MAKE_DDHRESULT( 290 )
3370#define DDERR_NOSTRETCHHW MAKE_DDHRESULT( 310 )
3376#define DDERR_NOT4BITCOLOR MAKE_DDHRESULT( 316 )
3382#define DDERR_NOT4BITCOLORINDEX MAKE_DDHRESULT( 317 )
3388#define DDERR_NOT8BITCOLOR MAKE_DDHRESULT( 320 )
3394#define DDERR_NOTEXTUREHW MAKE_DDHRESULT( 330 )
3400#define DDERR_NOVSYNCHW MAKE_DDHRESULT( 335 )
3406#define DDERR_NOZBUFFERHW MAKE_DDHRESULT( 340 )
3412#define DDERR_NOZOVERLAYHW MAKE_DDHRESULT( 350 )
3418#define DDERR_OUTOFCAPS MAKE_DDHRESULT( 360 )
3423#define DDERR_OUTOFMEMORY E_OUTOFMEMORY
3428#define DDERR_OUTOFVIDEOMEMORY MAKE_DDHRESULT( 380 )
3433#define DDERR_OVERLAYCANTCLIP MAKE_DDHRESULT( 382 )
3438#define DDERR_OVERLAYCOLORKEYONLYONEACTIVE MAKE_DDHRESULT( 384 )
3444#define DDERR_PALETTEBUSY MAKE_DDHRESULT( 387 )
3449#define DDERR_COLORKEYNOTSET MAKE_DDHRESULT( 400 )
3454#define DDERR_SURFACEALREADYATTACHED MAKE_DDHRESULT( 410 )
3460#define DDERR_SURFACEALREADYDEPENDENT MAKE_DDHRESULT( 420 )
3466#define DDERR_SURFACEBUSY MAKE_DDHRESULT( 430 )
3475#define DDERR_CANTLOCKSURFACE MAKE_DDHRESULT( 435 )
3480#define DDERR_SURFACEISOBSCURED MAKE_DDHRESULT( 440 )
3487#define DDERR_SURFACELOST MAKE_DDHRESULT( 450 )
3492#define DDERR_SURFACENOTATTACHED MAKE_DDHRESULT( 460 )
3497#define DDERR_TOOBIGHEIGHT MAKE_DDHRESULT( 470 )
3503#define DDERR_TOOBIGSIZE MAKE_DDHRESULT( 480 )
3508#define DDERR_TOOBIGWIDTH MAKE_DDHRESULT( 490 )
3513#define DDERR_UNSUPPORTED E_NOTIMPL
3518#define DDERR_UNSUPPORTEDFORMAT MAKE_DDHRESULT( 510 )
3523#define DDERR_UNSUPPORTEDMASK MAKE_DDHRESULT( 520 )
3528#define DDERR_VERTICALBLANKINPROGRESS MAKE_DDHRESULT( 537 )
3534#define DDERR_WASSTILLDRAWING MAKE_DDHRESULT( 540 )
3540#define DDERR_XALIGN MAKE_DDHRESULT( 560 )
3546#define DDERR_INVALIDDIRECTDRAWGUID MAKE_DDHRESULT( 561 )
3552#define DDERR_DIRECTDRAWALREADYCREATED MAKE_DDHRESULT( 562 )
3558#define DDERR_NODIRECTDRAWHW MAKE_DDHRESULT( 563 )
3563#define DDERR_PRIMARYSURFACEALREADYEXISTS MAKE_DDHRESULT( 564 )
3568#define DDERR_NOEMULATION MAKE_DDHRESULT( 565 )
3573#define DDERR_REGIONTOOSMALL MAKE_DDHRESULT( 566 )
3579#define DDERR_CLIPPERISUSINGHWND MAKE_DDHRESULT( 567 )
3584#define DDERR_NOCLIPPERATTACHED MAKE_DDHRESULT( 568 )
3590#define DDERR_NOHWND MAKE_DDHRESULT( 569 )
3596#define DDERR_HWNDSUBCLASSED MAKE_DDHRESULT( 570 )
3602#define DDERR_HWNDALREADYSET MAKE_DDHRESULT( 571 )
3607#define DDERR_NOPALETTEATTACHED MAKE_DDHRESULT( 572 )
3612#define DDERR_NOPALETTEHW MAKE_DDHRESULT( 573 )
3618#define DDERR_BLTFASTCANTCLIP MAKE_DDHRESULT( 574 )
3623#define DDERR_NOBLTHW MAKE_DDHRESULT( 575 )
3628#define DDERR_NODDROPSHW MAKE_DDHRESULT( 576 )
3633#define DDERR_OVERLAYNOTVISIBLE MAKE_DDHRESULT( 577 )
3639#define DDERR_NOOVERLAYDEST MAKE_DDHRESULT( 578 )
3645#define DDERR_INVALIDPOSITION MAKE_DDHRESULT( 579 )
3650#define DDERR_NOTAOVERLAYSURFACE MAKE_DDHRESULT( 580 )
3656#define DDERR_EXCLUSIVEMODEALREADYSET MAKE_DDHRESULT( 581 )
3661#define DDERR_NOTFLIPPABLE MAKE_DDHRESULT( 582 )
3667#define DDERR_CANTDUPLICATE MAKE_DDHRESULT( 583 )
3673#define DDERR_NOTLOCKED MAKE_DDHRESULT( 584 )
3678#define DDERR_CANTCREATEDC MAKE_DDHRESULT( 585 )
3683#define DDERR_NODC MAKE_DDHRESULT( 586 )
3689#define DDERR_WRONGMODE MAKE_DDHRESULT( 587 )
3695#define DDERR_IMPLICITLYCREATED MAKE_DDHRESULT( 588 )
3700#define DDERR_NOTPALETTIZED MAKE_DDHRESULT( 589 )
3706#define DDERR_UNSUPPORTEDMODE MAKE_DDHRESULT( 590 )
3712#define DDERR_NOMIPMAPHW MAKE_DDHRESULT( 591 )
3718#define DDERR_INVALIDSURFACETYPE MAKE_DDHRESULT( 592 )
3725#define DDERR_NOOPTIMIZEHW MAKE_DDHRESULT( 600 )
3730#define DDERR_NOTLOADED MAKE_DDHRESULT( 601 )
3736#define DDERR_DCALREADYCREATED MAKE_DDHRESULT( 620 )
3742#define DDERR_NONONLOCALVIDMEM MAKE_DDHRESULT( 630 )
3747#define DDERR_CANTPAGELOCK MAKE_DDHRESULT( 640 )
3752#define DDERR_CANTPAGEUNLOCK MAKE_DDHRESULT( 660 )
3757#define DDERR_NOTPAGELOCKED MAKE_DDHRESULT( 680 )
3762#define DDERR_MOREDATA MAKE_DDHRESULT( 690 )
3767#define DDERR_VIDEONOTACTIVE MAKE_DDHRESULT( 695 )
3773#define DDERR_DEVICEDOESNTOWNSURFACE MAKE_DDHRESULT( 699 )
3780#define DDERR_NOTINITIALIZED CO_E_NOTINITIALIZED
DECLARE_INTERFACE_(IDirect3D, IUnknown)
Definition: d3d.h:112
LPSTR LPSTR LPVOID
Definition: d3dcaps.h:213
DEFINE_GUID(IID_IDirect3DRM, 0x2bc49361, 0x8327, 0x11cf, 0xac, 0x4a, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1)
DDBLTFX FAR * LPDDBLTFX
Definition: ddraw.h:185
#define IUnknown
Definition: ddraw.h:28
DDCOLORKEY FAR * LPDDCOLORKEY
Definition: ddraw.h:133
struct IDirectDraw2 FAR * LPDIRECTDRAW2
Definition: ddraw.h:73
struct IDirectDrawSurface2 FAR * LPDIRECTDRAWSURFACE2
Definition: ddraw.h:75
DDBLTBATCH FAR * LPDDBLTBATCH
Definition: ddraw.h:418
struct IDirectDrawSurface3 FAR * LPDIRECTDRAWSURFACE3
Definition: ddraw.h:76
struct _DDCAPS_DX3 DDCAPS_DX3
struct _DDSURFACEDESC FAR * LPDDSURFACEDESC
Definition: ddraw.h:83
struct _DDBLTFX DDBLTFX
Used to pass override information to the DIRECTDRAWSURFACE callback Blt.
struct IDirectDrawClipper FAR * LPDIRECTDRAWCLIPPER
Definition: ddraw.h:79
struct IDirectDrawColorControl FAR * LPDIRECTDRAWCOLORCONTROL
Definition: ddraw.h:80
struct IDirectDrawSurface FAR * LPDIRECTDRAWSURFACE
Definition: ddraw.h:74
HWND DWORD code
Definition: ddraw.h:423
DDCAPS_DX3 FAR * LPDDCAPS_DX3
Definition: ddraw.h:262
struct _DDPIXELFORMAT DDPIXELFORMAT
typedef DWORD(FAR PASCAL *LPCLIPPERCALLBACK)(LPDIRECTDRAWCLIPPER lpDDClipper
struct _DDSURFACEDESC DDSURFACEDESC
struct IDirectDrawPalette FAR * LPDIRECTDRAWPALETTE
Definition: ddraw.h:78
DDSCAPS FAR * LPDDSCAPS
Definition: ddraw.h:196
HWND hWnd
Definition: ddraw.h:423
struct _DDCOLORKEY DDCOLORKEY
struct _DDBLTBATCH DDBLTBATCH
struct _DDCOLORCONTROL FAR * LPDDCOLORCONTROL
Definition: ddraw.h:84
struct _DDOVERLAYFX DDOVERLAYFX
long HRESULT
Definition: ddraw.h:115
#define DD_ROP_SPACE
Definition: ddraw.h:201
struct _DDCOLORCONTROL DDCOLORCONTROL
struct IDirectDraw FAR * LPDIRECTDRAW
Definition: ddraw.h:72
struct _DDFXROP FAR * LPDDFXROP
Definition: ddraw.h:82
typedef LPVOID
Definition: ddraw.h:119
DDOVERLAYFX FAR * LPDDOVERLAYFX
Definition: ddraw.h:404
DDPIXELFORMAT FAR * LPDDPIXELFORMAT
Definition: ddraw.h:375
DDCAPS FAR * LPDDCAPS
Definition: ddraw.h:332
HWND DWORD LPVOID lpContext
Definition: ddraw.h:423
LPDWORD DWORD dwFlags
Definition: dplay.h:417
DWORD dwFlags
Definition: ddraw.h:414
LPDDBLTFX lpDDBltFx
Definition: ddraw.h:415
LPRECT lprDest
Definition: ddraw.h:411
LPRECT lprSrc
Definition: ddraw.h:413
LPDIRECTDRAWSURFACE lpDDSSrc
Definition: ddraw.h:412
Used to pass override information to the DIRECTDRAWSURFACE callback Blt.
Definition: ddraw.h:137
LPDIRECTDRAWSURFACE lpDDSAlphaSrc
Constant to use as Alpha Channel.
Definition: ddraw.h:172
DWORD dwZSrcConst
Definition: ddraw.h:156
DWORD dwAlphaSrcConst
Definition: ddraw.h:171
LPDIRECTDRAWSURFACE lpDDSPattern
pixel value for RGBA or RGBZ
Definition: ddraw.h:179
DWORD dwZSrcConstBitDepth
Definition: ddraw.h:153
DWORD dwRotationAngle
Raster operations new for DirectDraw.
Definition: ddraw.h:142
DWORD dwZBufferOpCode
Rotation angle for blt.
Definition: ddraw.h:143
LPDIRECTDRAWSURFACE lpDDSZBufferSrc
Constant to use as Z buffer for src.
Definition: ddraw.h:157
DWORD dwReserved
Alpha for edge blending.
Definition: ddraw.h:161
DWORD dwAlphaDestConstBitDepth
Definition: ddraw.h:162
DWORD dwZBufferLow
ZBuffer compares.
Definition: ddraw.h:144
DWORD dwSize
Definition: ddraw.h:138
DWORD dwZDestConstBitDepth
Destination base value.
Definition: ddraw.h:147
LPDIRECTDRAWSURFACE lpDDSZBufferDest
Constant to use as Z buffer for dest.
Definition: ddraw.h:151
DDCOLORKEY ddckSrcColorkey
DestColorkey override.
Definition: ddraw.h:182
DWORD dwZBufferHigh
Low limit of Z buffer.
Definition: ddraw.h:145
DWORD dwAlphaDestConst
Definition: ddraw.h:165
DWORD dwFillDepth
color in RGB or Palettized
Definition: ddraw.h:177
DWORD dwZDestConst
Definition: ddraw.h:150
DWORD dwROP
FX operations.
Definition: ddraw.h:140
DDCOLORKEY ddckDestColorkey
Definition: ddraw.h:181
DWORD dwFillPixel
depth value for z-buffer
Definition: ddraw.h:178
DWORD dwFillColor
Definition: ddraw.h:176
DWORD dwDDROP
Win32 raster operations.
Definition: ddraw.h:141
DWORD dwAlphaSrcConstBitDepth
Definition: ddraw.h:168
DWORD dwDDFX
size of structure
Definition: ddraw.h:139
DWORD dwAlphaEdgeBlendBitDepth
Definition: ddraw.h:159
DWORD dwZBufferBaseDest
High limit of Z buffer.
Definition: ddraw.h:146
LPDIRECTDRAWSURFACE lpDDSAlphaDest
Constant to use as Alpha Channel.
Definition: ddraw.h:166
DWORD dwAlphaEdgeBlend
Bit depth used to specify constant for alpha edge blend.
Definition: ddraw.h:160
DWORD dwMaxLiveVideoStretch
minimum live video stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3
Definition: ddraw.h:240
DWORD dwVSBCKeyCaps
driver specific capabilities for Vmem->System blts
Definition: ddraw.h:251
DWORD dwAlphaBltPixelBitDepths
DDBD_2,4,8.
Definition: ddraw.h:219
DWORD dwMinOverlayStretch
DDSCAPS structure has all the general capabilities.
Definition: ddraw.h:237
DWORD dwVSBCaps
ROPS supported for System->Vmem blts.
Definition: ddraw.h:250
DWORD dwAlphaBltSurfaceBitDepths
DDBD_1,2,4,8.
Definition: ddraw.h:220
DWORD dwMinHwCodecStretch
maximum live video stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3
Definition: ddraw.h:241
DWORD dwSSBRops[DD_ROP_SPACE]
driver FX capabilities for System->System blts
Definition: ddraw.h:257
DWORD dwReserved4
ROPS supported for System->System blts.
Definition: ddraw.h:258
DWORD dwVidMemFree
total amount of video memory
Definition: ddraw.h:226
DWORD dwAlphaOverlaySurfaceBitDepths
DDBD_1,2,4,8.
Definition: ddraw.h:223
DWORD dwMaxVisibleOverlays
amount of free video memory
Definition: ddraw.h:227
DWORD dwVSBFXCaps
driver color key capabilities for Vmem->System blts
Definition: ddraw.h:252
DWORD dwFXAlphaCaps
driver specific stretching and effects capabilites
Definition: ddraw.h:215
DWORD dwCaps
size of the DDDRIVERCAPS structure
Definition: ddraw.h:211
DWORD dwMaxHwCodecStretch
minimum hardware codec stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1....
Definition: ddraw.h:242
DWORD dwSSBCaps
ROPS supported for Vmem->System blts.
Definition: ddraw.h:254
DWORD dwPalCaps
alpha driver specific capabilities
Definition: ddraw.h:216
DWORD dwSVBCKeyCaps
driver specific capabilities for System->Vmem blts
Definition: ddraw.h:247
DWORD dwVidMemTotal
DDBD_8,16,24,32.
Definition: ddraw.h:225
DWORD dwAlignBoundaryDest
source rectangle byte size
Definition: ddraw.h:232
DWORD dwSSBCKeyCaps
driver specific capabilities for System->System blts
Definition: ddraw.h:255
DWORD dwAlignSizeDest
dest rectangle alignment
Definition: ddraw.h:233
DWORD dwMaxOverlayStretch
minimum overlay stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3
Definition: ddraw.h:238
DWORD dwAlignBoundarySrc
number of four cc codes
Definition: ddraw.h:230
DWORD dwAlphaOverlayConstBitDepths
DDBD_1,2,4,8.
Definition: ddraw.h:221
DWORD dwSVBRops[DD_ROP_SPACE]
driver FX capabilities for System->Vmem blts
Definition: ddraw.h:249
DWORD dwNumFourCCCodes
current number of visible overlays
Definition: ddraw.h:229
DWORD dwReserved6
reserved
Definition: ddraw.h:260
DWORD dwSize
Definition: ddraw.h:210
DWORD dwAlignSizeSrc
source rectangle alignment
Definition: ddraw.h:231
DWORD dwCKeyCaps
more driver specific capabilites
Definition: ddraw.h:213
DWORD dwZBufferBitDepths
DDBD_1,2,4,8.
Definition: ddraw.h:224
DWORD dwMinLiveVideoStretch
maximum overlay stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3
Definition: ddraw.h:239
DWORD dwVSBRops[DD_ROP_SPACE]
driver FX capabilities for Vmem->System blts
Definition: ddraw.h:253
DWORD dwFXCaps
color key capabilities of the surface
Definition: ddraw.h:214
DWORD dwSSBFXCaps
driver color key capabilities for System->System blts
Definition: ddraw.h:256
DWORD dwReserved2
reserved
Definition: ddraw.h:244
DWORD dwAlphaBltConstBitDepths
stereo vision capabilities
Definition: ddraw.h:218
DWORD dwSVBFXCaps
driver color key capabilities for System->Vmem blts
Definition: ddraw.h:248
DWORD dwCaps2
driver specific capabilities
Definition: ddraw.h:212
DWORD dwReserved3
reserved
Definition: ddraw.h:245
DWORD dwReserved5
reserved
Definition: ddraw.h:259
DWORD dwSVCaps
palette capabilities
Definition: ddraw.h:217
DWORD dwCurrVisibleOverlays
maximum number of visible overlays
Definition: ddraw.h:228
DWORD dwAlignStrideAlign
dest rectangle byte size
Definition: ddraw.h:234
DWORD dwReserved1
maximum hardware codec stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1....
Definition: ddraw.h:243
DDSCAPS ddsCaps
Definition: ddraw.h:236
DWORD dwRops[DD_ROP_SPACE]
stride alignment
Definition: ddraw.h:235
DWORD dwSVBCaps
reserved
Definition: ddraw.h:246
DWORD dwAlphaOverlayPixelBitDepths
DDBD_2,4,8.
Definition: ddraw.h:222
DWORD dwAlphaBltPixelBitDepths
DDBD_1,2,4,8.
Definition: ddraw.h:277
DWORD dwNLVBCKeyCaps
driver color key capabilities for non-local->local vidmem blts
Definition: ddraw.h:322
DWORD dwAlignSizeDest
dest rectangle byte size
Definition: ddraw.h:291
DWORD dwNumFourCCCodes
number of four cc codes
Definition: ddraw.h:287
DWORD dwCurrVisibleOverlays
current number of visible overlays
Definition: ddraw.h:286
DWORD dwRops[DD_ROP_SPACE]
ROPS supported.
Definition: ddraw.h:293
DWORD dwAlignStrideAlign
stride alignment
Definition: ddraw.h:292
DWORD dwVSBFXCaps
driver FX capabilities for Vmem->System blts
Definition: ddraw.h:310
DWORD dwSVBCaps
driver specific capabilities for System->Vmem blts
Definition: ddraw.h:304
DWORD dwCaps
driver specific capabilities
Definition: ddraw.h:269
DWORD dwCaps2
more driver specific capabilites
Definition: ddraw.h:270
DWORD dwMaxVisibleOverlays
maximum number of visible overlays
Definition: ddraw.h:285
DWORD dwVSBCaps
driver specific capabilities for Vmem->System blts
Definition: ddraw.h:308
DWORD dwMaxLiveVideoStretch
maximum live video stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3
Definition: ddraw.h:298
DWORD dwNLVBRops[DD_ROP_SPACE]
ROPS supported for non-local->local blts.
Definition: ddraw.h:324
DWORD dwCurrVideoPorts
current number of video ports used
Definition: ddraw.h:318
DWORD dwNLVBCaps2
more driver specific capabilities non-local->local vidmem blts
Definition: ddraw.h:321
DWORD dwAlignSizeSrc
source rectangle byte size
Definition: ddraw.h:289
DWORD dwSSBCaps
driver specific capabilities for System->System blts
Definition: ddraw.h:312
DWORD dwSize
size of the DDDRIVERCAPS structure
Definition: ddraw.h:268
DWORD dwAlphaBltSurfaceBitDepths
DDBD_1,2,4,8.
Definition: ddraw.h:278
DWORD dwAlignBoundaryDest
dest rectangle alignment
Definition: ddraw.h:290
DWORD dwSVBRops[DD_ROP_SPACE]
ROPS supported for System->Vmem blts.
Definition: ddraw.h:307
DWORD dwNLVBCaps
driver specific capabilities for non-local->local vidmem blts
Definition: ddraw.h:320
DWORD dwZBufferBitDepths
DDBD_8,16,24,32.
Definition: ddraw.h:282
DWORD dwAlphaOverlayPixelBitDepths
DDBD_1,2,4,8.
Definition: ddraw.h:280
DWORD dwReserved1
reserved
Definition: ddraw.h:301
DWORD dwSSBRops[DD_ROP_SPACE]
ROPS supported for System->System blts.
Definition: ddraw.h:315
DWORD dwAlphaOverlayConstBitDepths
DDBD_2,4,8.
Definition: ddraw.h:279
DWORD dwFXCaps
driver specific stretching and effects capabilites
Definition: ddraw.h:272
DWORD dwVidMemFree
amount of free video memory
Definition: ddraw.h:284
DWORD dwAlignBoundarySrc
source rectangle alignment
Definition: ddraw.h:288
DWORD dwMaxHwCodecStretch
maximum hardware codec stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1....
Definition: ddraw.h:300
DWORD dwPalCaps
palette capabilities
Definition: ddraw.h:274
DWORD dwVSBRops[DD_ROP_SPACE]
ROPS supported for Vmem->System blts.
Definition: ddraw.h:311
DWORD dwNLVBFXCaps
driver FX capabilities for non-local->local blts
Definition: ddraw.h:323
DWORD dwReserved2
reserved
Definition: ddraw.h:302
DWORD dwMaxOverlayStretch
maximum overlay stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3
Definition: ddraw.h:296
DWORD dwSVBFXCaps
driver FX capabilities for System->Vmem blts
Definition: ddraw.h:306
DWORD dwReserved3
reserved
Definition: ddraw.h:303
DDSCAPS ddsCaps
DDSCAPS structure has all the general capabilities.
Definition: ddraw.h:294
DWORD dwSSBCKeyCaps
driver color key capabilities for System->System blts
Definition: ddraw.h:313
DWORD dwVSBCKeyCaps
driver color key capabilities for Vmem->System blts
Definition: ddraw.h:309
DWORD dwSVBCaps2
more driver specific capabilities for System->Vmem blts
Definition: ddraw.h:319
DWORD dwAlphaBltConstBitDepths
DDBD_2,4,8.
Definition: ddraw.h:276
DWORD dwVidMemTotal
total amount of video memory
Definition: ddraw.h:283
DWORD dwSVCaps
stereo vision capabilities
Definition: ddraw.h:275
DWORD dwSSBFXCaps
driver FX capabilities for System->System blts
Definition: ddraw.h:314
DWORD dwMinHwCodecStretch
minimum hardware codec stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1....
Definition: ddraw.h:299
DWORD dwFXAlphaCaps
alpha driver specific capabilities
Definition: ddraw.h:273
DWORD dwAlphaOverlaySurfaceBitDepths
DDBD_1,2,4,8.
Definition: ddraw.h:281
DWORD dwMaxVideoPorts
maximum number of usable video ports
Definition: ddraw.h:317
DWORD dwMinLiveVideoStretch
minimum live video stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3
Definition: ddraw.h:297
DWORD dwMinOverlayStretch
minimum overlay stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3
Definition: ddraw.h:295
DWORD dwSVBCKeyCaps
driver color key capabilities for System->Vmem blts
Definition: ddraw.h:305
DWORD dwCKeyCaps
color key capabilities of the surface
Definition: ddraw.h:271
DWORD dwSize
Definition: ddraw.h:1251
LONG lSaturation
Definition: ddraw.h:1256
DWORD dwReserved1
Definition: ddraw.h:1260
LONG lColorEnable
Definition: ddraw.h:1259
LONG lSharpness
Definition: ddraw.h:1257
LONG lContrast
Definition: ddraw.h:1254
LONG lHue
Definition: ddraw.h:1255
LONG lBrightness
Definition: ddraw.h:1253
LONG lGamma
Definition: ddraw.h:1258
DWORD dwFlags
Definition: ddraw.h:1252
DWORD dwColorSpaceHighValue
to be treated as Color Key, inclusive
Definition: ddraw.h:129
DWORD dwColorSpaceLowValue
be treated as Color Key, inclusive
Definition: ddraw.h:127
DWORD dwAlphaDestConst
Definition: ddraw.h:389
DWORD dwSize
Definition: ddraw.h:382
DWORD dwAlphaSrcConst
Definition: ddraw.h:395
DWORD dwAlphaEdgeBlend
Definition: ddraw.h:384
DWORD dwReserved
Definition: ddraw.h:385
DWORD dwAlphaSrcConstBitDepth
Definition: ddraw.h:392
DDCOLORKEY dckDestColorkey
Definition: ddraw.h:398
LPDIRECTDRAWSURFACE lpDDSAlphaSrc
Definition: ddraw.h:396
DWORD dwAlphaEdgeBlendBitDepth
Definition: ddraw.h:383
LPDIRECTDRAWSURFACE lpDDSAlphaDest
Definition: ddraw.h:390
DWORD dwAlphaDestConstBitDepth
Definition: ddraw.h:386
DWORD dwDDFX
Definition: ddraw.h:400
DDCOLORKEY dckSrcColorkey
Definition: ddraw.h:399
DWORD dwFlags
Definition: ddraw.h:401
DWORD dwCaps
Definition: ddraw.h:193
DDCOLORKEY ddckCKSrcBlt
color key for source blt use
Definition: ddraw.h:1154
DDSCAPS ddsCaps
direct draw surface capabilities
Definition: ddraw.h:1156
DWORD dwRefreshRate
refresh rate (used when display mode is described)
Definition: ddraw.h:1146
LPVOID lpSurface
pointer to the associated surface memory
Definition: ddraw.h:1150
DWORD dwLinearSize
Definition: ddraw.h:1139
DDPIXELFORMAT ddpfPixelFormat
pixel format description of the surface
Definition: ddraw.h:1155
LONG lPitch
distance to start of next line (return value only)
Definition: ddraw.h:1138
DDCOLORKEY ddckCKDestBlt
color key for destination blt use
Definition: ddraw.h:1152
DWORD dwAlphaBitDepth
depth of alpha buffer requested
Definition: ddraw.h:1148
DWORD dwZBufferBitDepth
depth of Z buffer requested
Definition: ddraw.h:1145
DWORD dwSize
size of the DDSURFACEDESC structure
Definition: ddraw.h:1132
DWORD dwFlags
determines what fields are valid
Definition: ddraw.h:1133
DWORD dwWidth
width of input surface
Definition: ddraw.h:1135
DWORD dwMipMapCount
Definition: ddraw.h:1144
DWORD dwBackBufferCount
number of back buffers requested
Definition: ddraw.h:1141
DDCOLORKEY ddckCKDestOverlay
color key for destination overlay use
Definition: ddraw.h:1151
DWORD dwHeight
height of surface to be created
Definition: ddraw.h:1134
DWORD dwReserved
reserved
Definition: ddraw.h:1149
DDCOLORKEY ddckCKSrcOverlay
color key for source overlay use
Definition: ddraw.h:1153