----------------------------------------
-- File : ddraw.ads --
-- Translator:Dongfeng.Gu,2018/10/29 --
-- Mail: 515639@qq.com --
-- Progress:100% --
----------------------------------------
with win32; use win32;
with win32.winnt;
with Win32.Winerror;
with win32.Wingdi; use win32.Wingdi;
with win32.windef; use win32.windef;
with win32.Objbase; use win32.Objbase;
with win32.rpcdce; use win32.rpcdce;
with Interfaces.C;
with Ada.Unchecked_Conversion;
package ddraw is
type LPGUID is access all GUID;
type LPIUNKNOWN is access all IUnknown;
use type Interfaces.C.unsigned_long;
function Shift_Left(A:dword;B:Natural) return dword with import,convention=>Intrinsic;
function Lsh(A:dword;B:Natural) return dword is (Shift_Left(A,B));
function Shift_Right(A:dword;B:Natural) return dword with import,convention=>Intrinsic;
function Rsh(A:dword;B:Natural) return dword is (Shift_Right(A,B));
DIRECTDRAW_VERSION : constant := 16#0700#;
CO_E_NOTINITIALIZED : constant := 16#800401F0#;
FACDD : constant := 16#876#;
function MAKE_DDHRESULT( code:Word ) return win32.Winerror.HRESULT is (Win32.Winerror.MAKE_HRESULT( 1, FACDD, code ));
function AsDWORD is new Ada.Unchecked_Conversion(Character,DWORD);pragma Warnings(off,AsDWORD);
function MAKEFOURCC(ch0,ch1,ch2,ch3:Character) return dword is (AsDWORD(ch0) or Lsh(AsDWORD(ch1),8) or Lsh(AsDWORD(ch2),16) or Lsh(AsDWORD(ch3),24));
FOURCC_DXT1 : constant DWORD:= (MAKEFOURCC('D','X','T','1'));
FOURCC_DXT2 : constant DWORD:= (MAKEFOURCC('D','X','T','2'));
FOURCC_DXT3 : constant DWORD:= (MAKEFOURCC('D','X','T','3'));
FOURCC_DXT4 : constant DWORD:= (MAKEFOURCC('D','X','T','4'));
FOURCC_DXT5 : constant DWORD:= (MAKEFOURCC('D','X','T','5'));
CLSID_DirectDraw:constant win32.rpcdce.GUID:=(16#D7B70EE0#,16#4340#,16#11CF#,(16#B0#,16#63#,16#00#,16#20#,16#AF#,16#C2#,16#CD#,16#35#));
CLSID_DirectDraw7:constant win32.rpcdce.GUID:=(16#3c305196#,16#50db#,16#11d3#,(16#9c#,16#fe#,16#00#,16#c0#,16#4f#,16#d9#,16#30#,16#c5#));
CLSID_DirectDrawClipper:constant win32.rpcdce.GUID:=(16#593817A0#,16#7DB3#,16#11CF#,(16#A2#,16#DE#,16#00#,16#AA#,16#00#,16#b9#,16#33#,16#56#));
IID_IDirectDraw:constant win32.rpcdce.GUID:=(16#6C14DB80#,16#A733#,16#11CE#,(16#A5#,16#21#,16#00#,16#20#,16#AF#,16#0B#,16#E5#,16#60#));
IID_IDirectDraw2:constant win32.rpcdce.GUID:=(16#B3A6F3E0#,16#2B43#,16#11CF#,(16#A2#,16#DE#,16#00#,16#AA#,16#00#,16#B9#,16#33#,16#56#));
IID_IDirectDraw4:constant win32.rpcdce.GUID:=(16#9c59509a#,16#39bd#,16#11d1#,(16#8c#,16#4a#,16#00#,16#c0#,16#4f#,16#d9#,16#30#,16#c5#));
IID_IDirectDraw7:constant win32.rpcdce.GUID:=(16#15e65ec0#,16#3b9c#,16#11d2#,(16#b9#,16#2f#,16#00#,16#60#,16#97#,16#97#,16#ea#,16#5b#));
IID_IDirectDrawSurface:constant win32.rpcdce.GUID:=(16#6C14DB81#,16#A733#,16#11CE#,(16#A5#,16#21#,16#00#,16#20#,16#AF#,16#0B#,16#E5#,16#60#));
IID_IDirectDrawSurface2:constant win32.rpcdce.GUID:=(16#57805885#,16#6eec#,16#11cf#,(16#94#,16#41#,16#a8#,16#23#,16#03#,16#c1#,16#0e#,16#27#));
IID_IDirectDrawSurface3:constant win32.rpcdce.GUID:=(16#DA044E00#,16#69B2#,16#11D0#,(16#A1#,16#D5#,16#00#,16#AA#,16#00#,16#B8#,16#DF#,16#BB#));
IID_IDirectDrawSurface4:constant win32.rpcdce.GUID:=(16#0B2B8630#,16#AD35#,16#11D0#,(16#8E#,16#A6#,16#00#,16#60#,16#97#,16#97#,16#EA#,16#5B#));
IID_IDirectDrawSurface7:constant win32.rpcdce.GUID:=(16#06675a80#,16#3b9b#,16#11d2#,(16#b9#,16#2f#,16#00#,16#60#,16#97#,16#97#,16#ea#,16#5b#));
IID_IDirectDrawPalette:constant win32.rpcdce.GUID:=(16#6C14DB84#,16#A733#,16#11CE#,(16#A5#,16#21#,16#00#,16#20#,16#AF#,16#0B#,16#E5#,16#60#));
IID_IDirectDrawClipper:constant win32.rpcdce.GUID:=(16#6C14DB85#,16#A733#,16#11CE#,(16#A5#,16#21#,16#00#,16#20#,16#AF#,16#0B#,16#E5#,16#60#));
IID_IDirectDrawColorControl:constant win32.rpcdce.GUID:=(16#4B9F0EE0#,16#0D7E#,16#11D0#,(16#9B#,16#06#,16#00#,16#A0#,16#C9#,16#03#,16#A3#,16#B8#));
IID_IDirectDrawGammaControl:constant win32.rpcdce.GUID:=(16#69C11C3E#,16#B46B#,16#11D1#,(16#AD#,16#7A#,16#00#,16#C0#,16#4F#,16#C2#,16#9B#,16#4E#));
type IDirectDraw;
type LPIDirectDraw is access all IDirectDraw;
type LPLPIDirectDraw is access all LPIDirectDraw;
subtype LPDirectDraw is LPIDirectDraw;
subtype LPLPDirectDraw is LPLPIDirectDraw;
type IDirectDraw2;
type LPIDirectDraw2 is access all IDirectDraw2;
type LPLPIDirectDraw2 is access all LPIDirectDraw2;
subtype LPDirectDraw2 is LPIDirectDraw2;
subtype LPLPDirectDraw2 is LPLPIDirectDraw2;
type IDirectDraw4;
type LPIDirectDraw4 is access all IDirectDraw4;
type LPLPIDirectDraw4 is access all LPIDirectDraw4;
subtype LPDirectDraw4 is LPIDirectDraw4;
subtype LPLPDirectDraw4 is LPLPIDirectDraw4;
type IDirectDraw7;
type LPIDirectDraw7 is access all IDirectDraw7;
type LPLPIDirectDraw7 is access all LPIDirectDraw7;
subtype LPDirectDraw7 is LPIDirectDraw7;
subtype LPLPDirectDraw7 is LPLPIDirectDraw7;
type IDirectDrawSurface;
type LPIDirectDrawSurface is access all IDirectDrawSurface;
type LPLPIDirectDrawSurface is access all LPIDirectDrawSurface;
subtype LPDirectDrawSurface is LPIDirectDrawSurface;
subtype LPLPDirectDrawSurface is LPLPIDirectDrawSurface;
type IDirectDrawSurface2;
type LPIDirectDrawSurface2 is access all IDirectDrawSurface2;
type LPLPIDirectDrawSurface2 is access all LPIDirectDrawSurface2;
subtype LPDirectDrawSurface2 is LPIDirectDrawSurface2;
subtype LPLPDirectDrawSurface2 is LPLPIDirectDrawSurface2;
type IDirectDrawSurface3;
type LPIDirectDrawSurface3 is access all IDirectDrawSurface3;
type LPLPIDirectDrawSurface3 is access all LPIDirectDrawSurface3;
subtype LPDirectDrawSurface3 is LPIDirectDrawSurface3;
subtype LPLPDirectDrawSurface3 is LPLPIDirectDrawSurface3;
type IDirectDrawSurface4;
type LPIDirectDrawSurface4 is access all IDirectDrawSurface4;
type LPLPIDirectDrawSurface4 is access all LPIDirectDrawSurface4;
subtype LPDirectDrawSurface4 is LPIDirectDrawSurface4;
subtype LPLPDirectDrawSurface4 is LPLPIDirectDrawSurface4;
type IDirectDrawSurface7;
type LPIDirectDrawSurface7 is access all IDirectDrawSurface7;
type LPLPIDirectDrawSurface7 is access all LPIDirectDrawSurface7;
subtype LPDirectDrawSurface7 is LPIDirectDrawSurface7;
subtype LPLPDirectDrawSurface7 is LPLPIDirectDrawSurface7;
type IDirectDrawPalette;
type LPIDirectDrawPalette is access all IDirectDrawPalette;
type LPLPIDirectDrawPalette is access all LPIDirectDrawPalette;
subtype LPDirectDrawPalette is LPIDirectDrawPalette;
subtype LPLPDirectDrawPalette is LPLPIDirectDrawPalette;
type IDirectDrawClipper;
type LPIDirectDrawClipper is access all IDirectDrawClipper;
type LPLPIDirectDrawClipper is access all LPIDirectDrawClipper;
subtype LPDirectDrawClipper is LPIDirectDrawClipper;
subtype LPLPDirectDrawClipper is LPLPIDirectDrawClipper;
type IDirectDrawColorControl;
type LPIDirectDrawColorControl is access all IDirectDrawColorControl;
type LPLPIDirectDrawColorControl is access all LPIDirectDrawColorControl;
subtype LPDirectDrawColorControl is LPIDirectDrawColorControl;
subtype LPLPDirectDrawColorControl is LPLPIDirectDrawColorControl;
type IDirectDrawGammaControl;
type LPIDirectDrawGammaControl is access all IDirectDrawGammaControl;
type LPLPIDirectDrawGammaControl is access all LPIDirectDrawGammaControl;
subtype LPDirectDrawGammaControl is LPIDirectDrawGammaControl;
subtype LPLPDirectDrawGammaControl is LPLPIDirectDrawGammaControl;
-- Ò»¸öδ֪µÄ½á¹¹,ÇÒddraw.hÖÐûÓÐʹÓøýṹµÄµØ·½
-- ÍøÂçÉÏҲûÓÐÕÒµ½¸Ã½á¹¹.
-- type tagDDFXROP;
-- type LPDDFXROP is access all tagDDFXROP;
type tagDDSURFACEDESC;
type LPDDSURFACEDESC is access all tagDDSURFACEDESC;
type tagDDSURFACEDESC2;
type LPDDSURFACEDESC2 is access all tagDDSURFACEDESC2;
type tagDDCOLORCONTROL;
type LPDDCOLORCONTROL is access all tagDDCOLORCONTROL;
type tagDDPIXELFORMAT;
type tagDDCOLORKEY;
subtype HMONITOR is win32.winnt.HANDLE;
type LPDDENUMCALLBACKA is access function(pgid:LPGUID;ps1:LPSTR;ps2:LPSTR;pv:LPVOID) return BOOL with Convention=>Stdcall;
type LPDDENUMCALLBACKW is access function(pgid:LPGUID;pws1:LPWSTR;pws2:LPWSTR;pv:LPVOID) return BOOL with Convention=>Stdcall;
function DirectDrawEnumerateW(lpCallback:LPDDENUMCALLBACKW;lpContext:LPVOID) return HRESULT with Import,Convention=>stdcall,external_name=>"DirectDrawEnumerateW";
function DirectDrawEnumerateA(lpCallback:LPDDENUMCALLBACKA;lpContext:LPVOID) return HRESULT with Import,Convention=>stdcall,external_name=>"DirectDrawEnumerateA";
type LPDDENUMCALLBACKEXA is access function(pgid:LPGUID;ps1:LPSTR;ps2:LPSTR;pv:LPVOID;hm:HMONITOR) return BOOL with Convention=>Stdcall;
type LPDDENUMCALLBACKEXW is access function(pgid:LPGUID;pws1:LPWSTR;pws2:LPWSTR;pv:LPVOID;hm:HMONITOR) return BOOL with Convention=>Stdcall;
function DirectDrawEnumerateExW(lpCallback:LPDDENUMCALLBACKEXW;lpContext:LPVOID;dwFlags:DWORD) return HRESULT with Import,Convention=>stdcall,external_name=>"DirectDrawEnumerateExW";
function DirectDrawEnumerateExA(lpCallback:LPDDENUMCALLBACKEXA;lpContext:LPVOID;dwFlags:DWORD) return HRESULT with Import,Convention=>stdcall,external_name=>"DirectDrawEnumerateExA";
type LPDIRECTDRAWENUMERATEEXA is access function(lpCallback:LPDDENUMCALLBACKEXA;lpContext:LPVOID;dwFlags:DWORD) return HRESULT with Convention=>Stdcall;
type LPDIRECTDRAWENUMERATEEXW is access function(lpCallback:LPDDENUMCALLBACKEXW;lpContext:LPVOID;dwFlags:DWORD) return HRESULT with Convention=>Stdcall;
function DirectDrawCreate(lpGID:LPGUID;lplpDD:LPLPDIRECTDRAW;pUnkOuter:LPIUnknown) return HRESULT with Import,Convention=>stdcall,external_name=>"DirectDrawCreate";
function DirectDrawCreateEx(lpGid:LPGUID;lplpDD:LPLPVOID;iid:REFIID;pUnkOuter:LPIUnknown) return HRESULT with Import,Convention=>stdcall,external_name=>"DirectDrawCreateEx";
function DirectDrawCreateClipper(dwFlags:DWORD;lplpDDClipper:LPLPDIRECTDRAWCLIPPER;pUnkOuter:LPIUnknown) return HRESULT with Import,Convention=>stdcall,external_name=>"DirectDrawCreateClipper";
DDENUM_ATTACHEDSECONDARYDEVICES : constant := 16#00000001#;
DDENUM_DETACHEDSECONDARYDEVICES : constant := 16#00000002#;
DDENUM_NONDISPLAYDEVICES : constant := 16#00000004#;
Nul:constant Character:=Character'First;
REGSTR_KEY_DDHW_DESCRIPTION : constant String:= "Description"&Nul;
REGSTR_KEY_DDHW_DRIVERNAME : constant String:= "DriverName"&Nul;
REGSTR_PATH_DDHW : constant String:= "Hardware\\DirectDrawDrivers"&Nul;
DDCREATE_HARDWAREONLY : constant := 16#00000001#;
DDCREATE_EMULATIONONLY : constant := 16#00000002#;
type LPDDENUMMODESCALLBACK is access function(psd:LPDDSURFACEDESC;pv:LPVOID) return HRESULT with Convention=>Stdcall;
type LPDDENUMMODESCALLBACK2 is access function(psd2:LPDDSURFACEDESC2;pv:LPVOID) return HRESULT with Convention=>Stdcall;
type LPDDENUMSURFACESCALLBACK is access function(ps:LPDIRECTDRAWSURFACE;pdsc:LPDDSURFACEDESC;pv:LPVOID) return HRESULT with Convention=>Stdcall;
type LPDDENUMSURFACESCALLBACK2 is access function(ps4:LPDIRECTDRAWSURFACE4;pds2:LPDDSURFACEDESC2;pv:LPVOID) return HRESULT with Convention=>Stdcall;
type LPDDENUMSURFACESCALLBACK7 is access function(ps7:LPDIRECTDRAWSURFACE7;pds2:LPDDSURFACEDESC2;pv:LPVOID) return HRESULT with Convention=>Stdcall;
type tagDDARGB is record
blue: BYTE;
green: BYTE;
red: BYTE;
alpha: BYTE;
end record;
subtype DDARGB is tagDDARGB;
type LPDDARGB is access all DDARGB;
type tagDDRGBA is record
red: BYTE;
green: BYTE;
blue: BYTE;
alpha: BYTE;
end record;
subtype DDRGBA is tagDDRGBA;
type LPDDRGBA is access all DDRGBA;
type tagDDCOLORKEY is record
dwColorSpaceLowValue: DWORD;
dwColorSpaceHighValue: DWORD;
end record;
subtype DDCOLORKEY is tagDDCOLORKEY;
type LPDDCOLORKEY is access all DDCOLORKEY;
type tagDDBLTFX_U1(b:Boolean:=True) is record
case b is
when True=>
dwZDestConst: DWORD;
when False=>
lpDDSZBufferDest: LPDIRECTDRAWSURFACE;
end case;
end record with Unchecked_Union,size=>32;
type tagDDBLTFX_U2(b:Boolean:=True) is record
case b is
when True=>
dwZSrcConst: DWORD;
when False=>
lpDDSZBufferSrc: LPDIRECTDRAWSURFACE;
end case;
end record with Unchecked_Union,size=>32;
type tagDDBLTFX_U3(b:Boolean:=True) is record
case b is
when True=>
dwAlphaDestConst: DWORD;
when False=>
lpDDSAlphaDest: LPDIRECTDRAWSURFACE;
end case;
end record with Unchecked_Union,size=>32;
type tagDDBLTFX_U4(b:Boolean:=True) is record
case b is
when True=>
dwAlphaSrcConst: DWORD;
when False=>
lpDDSAlphaSrc: LPDIRECTDRAWSURFACE;
end case;
end record with Unchecked_Union,size=>32;
type tagDDBLTFX_U5(i:Integer:=0) is record
case i is
when 0=>
dwFillColor: DWORD;
when 1=>
dwFillDepth: DWORD;
when 2=>
dwFillPixel: DWORD;
when Others=>
lpDDSPattern: LPDIRECTDRAWSURFACE;
end case;
end record with Unchecked_Union,size=>32;
type tagDDBLTFX is record
dwSize: DWORD;
dwDDFX: DWORD;
dwROP: DWORD;
dwDDROP: DWORD;
dwRotationAngle: DWORD;
dwZBufferOpCode: DWORD;
dwZBufferLow: DWORD;
dwZBufferHigh: DWORD;
dwZBufferBaseDest: DWORD;
dwZDestConstBitDepth: DWORD;
u1:tagDDBLTFX_U1;
dwZSrcConstBitDepth: DWORD;
u2:tagDDBLTFX_U2;
dwAlphaEdgeBlendBitDepth: DWORD;
dwAlphaEdgeBlend: DWORD;
dwReserved: DWORD;
dwAlphaDestConstBitDepth: DWORD;
u3:tagDDBLTFX_U3;
dwAlphaSrcConstBitDepth: DWORD;
u4:tagDDBLTFX_U4;
u5:tagDDBLTFX_U5;
ddckDestColorkey: DDCOLORKEY;
ddckSrcColorkey: DDCOLORKEY;
end record;
subtype DDBLTFX is tagDDBLTFX;
type LPDDBLTFX is access all tagDDBLTFX;
type tagDDSCAPS is record
dwCaps: DWORD;
end record;
subtype DDSCAPS is tagDDSCAPS;
type LPDDSCAPS is access all DDSCAPS;
type tagDDOSCAPS is record
dwCaps: DWORD;
end record;
subtype DDOSCAPS is tagDDOSCAPS;
type LPDDOSCAPS is access all DDOSCAPS;
type tagDDSCAPSEX(b:Boolean:=True) is record
dwCaps2,dwCaps3:DWORD;
case b is
when True=>
dwCaps4:DWORD;
when False=>
dwVolumeDepth:DWORD;
end case;
end record with Unchecked_Union,size=>96;
subtype DDSCAPSEX is tagDDSCAPSEX;
type LPDDSCAPSEX is access all tagDDSCAPSEX;
type tagDDSCAPS2(b:Boolean:=True) is record
dwCaps,dwCaps2,dwCaps3:DWORD;
case b is
when True=>
dwCaps4:DWORD;
when False=>
dwVolumeDepth:DWORD;
end case;
end record with Unchecked_Union,size=>128;
subtype DDSCAPS2 is tagDDSCAPS2;
type LPDDSCAPS2 is access all tagDDSCAPS2;
DD_ROP_SPACE : constant := (256/32); -- space required to store ROP array;
type tagDDCAPS_DX1 is record
dwSize: DWORD;
dwCaps: DWORD;
dwCaps2: DWORD;
dwCKeyCaps: DWORD;
dwFXCaps: DWORD;
dwFXAlphaCaps: DWORD;
dwPalCaps: DWORD;
dwSVCaps: DWORD;
dwAlphaBltConstBitDepths: DWORD;
dwAlphaBltPixelBitDepths: DWORD;
dwAlphaBltSurfaceBitDepths: DWORD;
dwAlphaOverlayConstBitDepths: DWORD;
dwAlphaOverlayPixelBitDepths: DWORD;
dwAlphaOverlaySurfaceBitDepths: DWORD;
dwZBufferBitDepths: DWORD;
dwVidMemTotal: DWORD;
dwVidMemFree: DWORD;
dwMaxVisibleOverlays: DWORD;
dwCurrVisibleOverlays: DWORD;
dwNumFourCCCodes: DWORD;
dwAlignBoundarySrc: DWORD;
dwAlignSizeSrc: DWORD;
dwAlignBoundaryDest: DWORD;
dwAlignSizeDest: DWORD;
dwAlignStrideAlign: DWORD;
dwRops: DWORD_Array(0..DD_ROP_SPACE-1);
ddsCaps: ddraw.DDSCAPS;
dwMinOverlayStretch: DWORD;
dwMaxOverlayStretch: DWORD;
dwMinLiveVideoStretch: DWORD;
dwMaxLiveVideoStretch: DWORD;
dwMinHwCodecStretch: DWORD;
dwMaxHwCodecStretch: DWORD;
dwReserved1: DWORD;
dwReserved2: DWORD;
dwReserved3: DWORD;
end record;
subtype DDCAPS_DX1 is tagDDCAPS_DX1;
type LPDDCAPS_DX1 is access all DDCAPS_DX1;
type tagDDCAPS_DX3 is record
dwSize: DWORD;
dwCaps: DWORD;
dwCaps2: DWORD;
dwCKeyCaps: DWORD;
dwFXCaps: DWORD;
dwFXAlphaCaps: DWORD;
dwPalCaps: DWORD;
dwSVCaps: DWORD;
dwAlphaBltConstBitDepths: DWORD;
dwAlphaBltPixelBitDepths: DWORD;
dwAlphaBltSurfaceBitDepths: DWORD;
dwAlphaOverlayConstBitDepths: DWORD;
dwAlphaOverlayPixelBitDepths: DWORD;
dwAlphaOverlaySurfaceBitDepths: DWORD;
dwZBufferBitDepths: DWORD;
dwVidMemTotal: DWORD;
dwVidMemFree: DWORD;
dwMaxVisibleOverlays: DWORD;
dwCurrVisibleOverlays: DWORD;
dwNumFourCCCodes: DWORD;
dwAlignBoundarySrc: DWORD;
dwAlignSizeSrc: DWORD;
dwAlignBoundaryDest: DWORD;
dwAlignSizeDest: DWORD;
dwAlignStrideAlign: DWORD;
dwRops: DWORD_Array(0..DD_ROP_SPACE-1);
ddsCaps: tagDDSCAPS;
dwMinOverlayStretch: DWORD;
dwMaxOverlayStretch: DWORD;
dwMinLiveVideoStretch: DWORD;
dwMaxLiveVideoStretch: DWORD;
dwMinHwCodecStretch: DWORD;
dwMaxHwCodecStretch: DWORD;
dwReserved1: DWORD;
dwReserved2: DWORD;
dwReserved3: DWORD;
dwSVBCaps: DWORD;
dwSVBCKeyCaps: DWORD;
dwSVBFXCaps: DWORD;
dwSVBRops: DWORD_Array(0..DD_ROP_SPACE-1);
dwVSBCaps: DWORD;
dwVSBCKeyCaps: DWORD;
dwVSBFXCaps: DWORD;
dwVSBRops: DWORD_Array(0..DD_ROP_SPACE-1);
dwSSBCaps: DWORD;
dwSSBCKeyCaps: DWORD;
dwSSBFXCaps: DWORD;
dwSSBRops: DWORD_Array(0..DD_ROP_SPACE-1);
dwReserved4: DWORD;
dwReserved5: DWORD;
dwReserved6: DWORD;
end record;
subtype DDCAPS_DX3 is tagDDCAPS_DX3;
type LPDDCAPS_DX3 is access all DDCAPS_DX3;
type tagDDCAPS_DX5 is record
dwSize: DWORD;
dwCaps: DWORD;
dwCaps2: DWORD;
dwCKeyCaps: DWORD;
dwFXCaps: DWORD;
dwFXAlphaCaps: DWORD;
dwPalCaps: DWORD;
dwSVCaps: DWORD;
dwAlphaBltConstBitDepths: DWORD;
dwAlphaBltPixelBitDepths: DWORD;
dwAlphaBltSurfaceBitDepths: DWORD;
dwAlphaOverlayConstBitDepths: DWORD;
dwAlphaOverlayPixelBitDepths: DWORD;
dwAlphaOverlaySurfaceBitDepths: DWORD;
dwZBufferBitDepths: DWORD;
dwVidMemTotal: DWORD;
dwVidMemFree: DWORD;
dwMaxVisibleOverlays: DWORD;
dwCurrVisibleOverlays: DWORD;
dwNumFourCCCodes: DWORD;
dwAlignBoundarySrc: DWORD;
dwAlignSizeSrc: DWORD;
dwAlignBoundaryDest: DWORD;
dwAlignSizeDest: DWORD;
dwAlignStrideAlign: DWORD;
dwRops: DWORD_Array(0..DD_ROP_SPACE-1);
ddsCaps: tagDDSCAPS;
dwMinOverlayStretch: DWORD;
dwMaxOverlayStretch: DWORD;
dwMinLiveVideoStretch: DWORD;
dwMaxLiveVideoStretch: DWORD;
dwMinHwCodecStretch: DWORD;
dwMaxHwCodecStretch: DWORD;
dwReserved1: DWORD;
dwReserved2: DWORD;
dwReserved3: DWORD;
dwSVBCaps: DWORD;
dwSVBCKeyCaps: DWORD;
dwSVBFXCaps: DWORD;
dwSVBRops: DWORD_Array(0..DD_ROP_SPACE-1);
dwVSBCaps: DWORD;
dwVSBCKeyCaps: DWORD;
dwVSBFXCaps: DWORD;
dwVSBRops: DWORD_Array(0..DD_ROP_SPACE-1);
dwSSBCaps: DWORD;
dwSSBCKeyCaps: DWORD;
dwSSBFXCaps: DWORD;
dwSSBRops: DWORD_Array(0..DD_ROP_SPACE-1);
dwMaxVideoPorts: DWORD;
dwCurrVideoPorts: DWORD;
dwSVBCaps2: DWORD;
dwNLVBCaps: DWORD;
dwNLVBCaps2: DWORD;
dwNLVBCKeyCaps: DWORD;
dwNLVBFXCaps: DWORD;
dwNLVBRops: DWORD_Array(0..DD_ROP_SPACE-1);
end record;
subtype DDCAPS_DX5 is tagDDCAPS_DX5;
type LPDDCAPS_DX5 is access all DDCAPS_DX5;
type tagDDCAPS_DX6 is record
dwSize: DWORD;
dwCaps: DWORD;
dwCaps2: DWORD;
dwCKeyCaps: DWORD;
dwFXCaps: DWORD;
dwFXAlphaCaps: DWORD;
dwPalCaps: DWORD;
dwSVCaps: DWORD;
dwAlphaBltConstBitDepths: DWORD;
dwAlphaBltPixelBitDepths: DWORD;
dwAlphaBltSurfaceBitDepths: DWORD;
dwAlphaOverlayConstBitDepths: DWORD;
dwAlphaOverlayPixelBitDepths: DWORD;
dwAlphaOverlaySurfaceBitDepths: DWORD;
dwZBufferBitDepths: DWORD;
dwVidMemTotal: DWORD;
dwVidMemFree: DWORD;
dwMaxVisibleOverlays: DWORD;
dwCurrVisibleOverlays: DWORD;
dwNumFourCCCodes: DWORD;
dwAlignBoundarySrc: DWORD;
dwAlignSizeSrc: DWORD;
dwAlignBoundaryDest: DWORD;
dwAlignSizeDest: DWORD;
dwAlignStrideAlign: DWORD;
dwRops: DWORD_Array(0..DD_ROP_SPACE-1);
ddsOldCaps: DDSCAPS;
dwMinOverlayStretch: DWORD;
dwMaxOverlayStretch: DWORD;
dwMinLiveVideoStretch: DWORD;
dwMaxLiveVideoStretch: DWORD;
dwMinHwCodecStretch: DWORD;
dwMaxHwCodecStretch: DWORD;
dwReserved1: DWORD;
dwReserved2: DWORD;
dwReserved3: DWORD;
dwSVBCaps: DWORD;
dwSVBCKeyCaps: DWORD;
dwSVBFXCaps: DWORD;
dwSVBRops: DWORD_Array(0..DD_ROP_SPACE-1);
dwVSBCaps: DWORD;
dwVSBCKeyCaps: DWORD;
dwVSBFXCaps: DWORD;
dwVSBRops: DWORD_Array(0..DD_ROP_SPACE-1);
dwSSBCaps: DWORD;
dwSSBCKeyCaps: DWORD;
dwSSBFXCaps: DWORD;
dwSSBRops: DWORD_Array(0..DD_ROP_SPACE-1);
dwMaxVideoPorts: DWORD;
dwCurrVideoPorts: DWORD;
dwSVBCaps2: DWORD;
dwNLVBCaps: DWORD;
dwNLVBCaps2: DWORD;
dwNLVBCKeyCaps: DWORD;
dwNLVBFXCaps: DWORD;
dwNLVBRops: DWORD_Array(0..DD_ROP_SPACE-1);
ddsCaps: DDSCAPS2;
end record;
subtype DDCAPS_DX6 is tagDDCAPS_DX6;
type LPDDCAPS_DX6 is access all DDCAPS_DX6;
type tagDDCAPS_DX7 is record
dwSize: DWORD;
dwCaps: DWORD;
dwCaps2: DWORD;
dwCKeyCaps: DWORD;
dwFXCaps: DWORD;
dwFXAlphaCaps: DWORD;
dwPalCaps: DWORD;
dwSVCaps: DWORD;
dwAlphaBltConstBitDepths: DWORD;
dwAlphaBltPixelBitDepths: DWORD;
dwAlphaBltSurfaceBitDepths: DWORD;
dwAlphaOverlayConstBitDepths: DWORD;
dwAlphaOverlayPixelBitDepths: DWORD;
dwAlphaOverlaySurfaceBitDepths: DWORD;
dwZBufferBitDepths: DWORD;
dwVidMemTotal: DWORD;
dwVidMemFree: DWORD;
dwMaxVisibleOverlays: DWORD;
dwCurrVisibleOverlays: DWORD;
dwNumFourCCCodes: DWORD;
dwAlignBoundarySrc: DWORD;
dwAlignSizeSrc: DWORD;
dwAlignBoundaryDest: DWORD;
dwAlignSizeDest: DWORD;
dwAlignStrideAlign: DWORD;
dwRops: DWORD_Array(0..DD_ROP_SPACE-1);
ddsOldCaps: DDSCAPS;
dwMinOverlayStretch: DWORD;
dwMaxOverlayStretch: DWORD;
dwMinLiveVideoStretch: DWORD;
dwMaxLiveVideoStretch: DWORD;
dwMinHwCodecStretch: DWORD;
dwMaxHwCodecStretch: DWORD;
dwReserved1: DWORD;
dwReserved2: DWORD;
dwReserved3: DWORD;
dwSVBCaps: DWORD;
dwSVBCKeyCaps: DWORD;
dwSVBFXCaps: DWORD;
dwSVBRops: DWORD_Array(0..DD_ROP_SPACE-1);
dwVSBCaps: DWORD;
dwVSBCKeyCaps: DWORD;
dwVSBFXCaps: DWORD;
dwVSBRops: DWORD_Array(0..DD_ROP_SPACE-1);
dwSSBCaps: DWORD;
dwSSBCKeyCaps: DWORD;
dwSSBFXCaps: DWORD;
dwSSBRops: DWORD_Array(0..DD_ROP_SPACE-1);
dwMaxVideoPorts: DWORD;
dwCurrVideoPorts: DWORD;
dwSVBCaps2: DWORD;
dwNLVBCaps: DWORD;
dwNLVBCaps2: DWORD;
dwNLVBCKeyCaps: DWORD;
dwNLVBFXCaps: DWORD;
dwNLVBRops: DWORD_Array(0..DD_ROP_SPACE-1);
ddsCaps: DDSCAPS2;
end record;
subtype DDCAPS_DX7 is tagDDCAPS_DX7;
type LPDDCAPS_DX7 is access all DDCAPS_DX7;
-- subtype DDCAPS is DDCAPS_DX3;
--
-- subtype DDCAPS is DDCAPS_DX5;
--
-- subtype DDCAPS is DDCAPS_DX6;
subtype DDCAPS is DDCAPS_DX7;
type LPDDCAPS is access all DDCAPS;
type tagDDPIXELFORMAT_U1(i:Integer:=0) is record
case i is
when 0=>
dwRGBBitCount:DWORD;
when 1=>
dwYUVBitCount:DWORD;
when 2=>
dwZBufferBitDepth:DWORD;
when 3=>
dwAlphaBitDepth:DWORD;
when 4=>
dwLuminanceBitCount:DWORD;
when 5=>
dwBumpBitCount:DWORD;
when others=>
dwPrivateFormatBitCount:DWORD;
end case;
end record with Unchecked_Union,size=>32;
type tagDDPIXELFORMAT_U2(i:Integer:=0) is record
case i is
when 0=>
dwRBitMask:DWORD;
when 1=>
dwYBitMask:DWORD;
when 2=>
dwStencilBitDepth:DWORD;
when 3=>
dwLuminanceBitMask:DWORD;
when 4=>
dwBumpDuBitMask:DWORD;
when others=>
dwOperations:DWORD;
end case;
end record with Unchecked_Union,size=>32;
type tagDDPIXELFORMAT_U3_MultiSampleCaps is record
wFlipMSTypes,wBltMSTypes:WORD;
end record;
type tagDDPIXELFORMAT_U3(i:Integer:=0) is record
case i is
when 0=>
dwGBitMask:DWORD;
when 1=>
dwUBitMask:DWORD;
when 2=>
dwZBitMask:DWORD;
when 3=>
dwBumpDvBitMask:DWORD;
when others=>
MultiSampleCaps:tagDDPIXELFORMAT_U3_MultiSampleCaps;
end case;
end record with Unchecked_Union,size=>32;
type tagDDPIXELFORMAT_U4(i:Integer:=0) is record
case i is
when 0=>
dwBBitMask:DWORD;
when 1=>
dwVBitMask:DWORD;
when 2=>
dwStencilBitMask:DWORD;
when others=>
dwBumpLuminanceBitMask:DWORD;
end case;
end record with Unchecked_Union,size=>32;
type tagDDPIXELFORMAT_U5(i:Integer:=0) is record
case i is
when 0=>
dwRGBAlphaBitMask:DWORD;
when 1=>
dwYUVAlphaBitMask:DWORD;
when 2=>
dwLuminanceAlphaBitMask:DWORD;
when 3=>
dwRGBZBitMask:DWORD;
when others=>
dwYUVZBitMask:DWORD;
end case;
end record with Unchecked_Union,size=>32;
type tagDDPIXELFORMAT is record
dwSize,dwFlags,dwFourcc:DWORD;
u1:tagDDPIXELFORMAT_U1;
u2:tagDDPIXELFORMAT_U2;
u3:tagDDPIXELFORMAT_U3;
u4:tagDDPIXELFORMAT_U4;
u5:tagDDPIXELFORMAT_U5;
end record;
subtype DDPIXELFORMAT is tagDDPIXELFORMAT;
type LPDDPIXELFORMAT is access all tagDDPIXELFORMAT;
type tagDDOVERLAYFX_U1(b:Boolean:=True) is record
case b is
when True=>
dwAlphaDestConst:DWORD;
when False=>
lpDDSAlphaDest:LPDIRECTDRAWSURFACE;
end case;
end record with Unchecked_Union,size=>32;
type tagDDOVERLAYFX_U2(b:Boolean:=True) is record
case b is
when True=>
dwAlphaSrcConst:DWORD;
when False=>
lpDDSAlphaSrc:LPDIRECTDRAWSURFACE;
end case;
end record with Unchecked_Union,size=>32;
type tagDDOVERLAYFX is record
dwSize:DWORD;
dwAlphaEdgeBlendBitDepth:DWORD;
dwAlphaEdgeBlend:DWORD;
dwReserved:DWORD;
dwAlphaDestConstBitDepth:DWORD;
u1:tagDDOVERLAYFX_U1;
u2:tagDDOVERLAYFX_U2;
end record;
subtype DDOVERLAYFX is tagDDOVERLAYFX;
type LPDDOVERLAYFX is access all tagDDOVERLAYFX;
type tagDDBLTBATCH is record
lprDest: LPRECT;
lpDDSSrc: LPDIRECTDRAWSURFACE;
lprSrc: LPRECT;
dwFlags: DWORD;
lpDDBltFx: ddraw.LPDDBLTFX;
end record;
subtype DDBLTBATCH is tagDDBLTBATCH;
type LPDDBLTBATCH is access all DDBLTBATCH;
type tagDDGAMMARAMP is record
red: WORD_Array(0..256-1);
green: WORD_Array(0..256-1);
blue: WORD_Array(0..256-1);
end record;
subtype DDGAMMARAMP is tagDDGAMMARAMP;
type LPDDGAMMARAMP is access all DDGAMMARAMP;
MAX_DDDEVICEID_STRING : constant := 512;
type tagDDDEVICEIDENTIFIER is record
szDriver: char_Array(0..MAX_DDDEVICEID_STRING-1);
szDescription: char_Array(0..MAX_DDDEVICEID_STRING-1);
liDriverVersion: winnt.LARGE_INTEGER;
dwVendorId: DWORD;
dwDeviceId: DWORD;
dwSubSysId: DWORD;
dwRevision: DWORD;
guidDeviceIdentifier: GUID;
end record;
subtype DDDEVICEIDENTIFIER is tagDDDEVICEIDENTIFIER;
type LPDDDEVICEIDENTIFIER is access all tagDDDEVICEIDENTIFIER;
type tagDDDEVICEIDENTIFIER2 is record
szDriver: char_Array(0..MAX_DDDEVICEID_STRING-1);
szDescription: char_Array(0..MAX_DDDEVICEID_STRING-1);
liDriverVersion: winnt.LARGE_INTEGER;
dwVendorId: DWORD;
dwDeviceId: DWORD;
dwSubSysId: DWORD;
dwRevision: DWORD;
guidDeviceIdentifier: GUID;
dwWHQLLevel: DWORD;
end record;
subtype DDDEVICEIDENTIFIER2 is tagDDDEVICEIDENTIFIER2;
type LPDDDEVICEIDENTIFIER2 is access all tagDDDEVICEIDENTIFIER2;
DDGDI_GETHOSTIDENTIFIER : constant := 16#00000001#;
-- #define GET_WHQL_YEAR( dwWHQLLevel ) ( (dwWHQLLevel) / 16#10000 )
-- #define GET_WHQL_MONTH( dwWHQLLevel ) ( ( (dwWHQLLevel) / 16#100 ) & 16#00ff )
-- #define GET_WHQL_DAY( dwWHQLLevel ) ( (dwWHQLLevel) & 16#ff )
type LPCLIPPERCALLBACK is access function(lpDDClipper:LPDIRECTDRAWCLIPPER;hWnd:windef.HWND;code:DWORD;lpContext:LPVOID) return DWORD with Convention=>Stdcall;
type LPSURFACESTREAMINGCALLBACK is access function(DW:DWORD) return DWORD with Convention=>Stdcall;
type IDirectDraw is record
QueryInterface:access procedure(THIS:LPIDirectDraw;riid:REFIID;ppvObj:LPLPVOID) with Convention=>Stdcall;
AddRef:access function(THIS:LPIDirectDraw) return ULONG with Convention=>Stdcall;
Release:access function(THIS:LPIDirectDraw) return ULONG with Convention=>Stdcall;
Compact:access procedure(THIS:LPIDirectDraw) with Convention=>Stdcall;
CreateClipper:access procedure(THIS:LPIDirectDraw;Arg2:DWORD;Arg3:LPLPDIRECTDRAWCLIPPER;Arg4:LPIUnknown) with Convention=>Stdcall;
CreatePalette:access procedure(THIS:LPIDirectDraw;Arg2:DWORD;Arg3:LPPALETTEENTRY;Arg4:LPLPDIRECTDRAWPALETTE;Arg5:LPIUnknown) with Convention=>Stdcall;
CreateSurface:access procedure(THIS:LPIDirectDraw;Arg2:LPDDSURFACEDESC;Arg3:LPLPDIRECTDRAWSURFACE;Arg4:LPIUnknown) with Convention=>Stdcall;
DuplicateSurface:access procedure(THIS:LPIDirectDraw;Arg2:LPDIRECTDRAWSURFACE;Arg3:LPLPDIRECTDRAWSURFACE) with Convention=>Stdcall;
EnumDisplayModes:access procedure(THIS:LPIDirectDraw;Arg2:DWORD;Arg3:LPDDSURFACEDESC;Arg4:LPVOID;Arg5:LPDDENUMMODESCALLBACK) with Convention=>Stdcall;
EnumSurfaces:access procedure(THIS:LPIDirectDraw;Arg2:DWORD;Arg3:LPDDSURFACEDESC;Arg4:LPVOID;Arg5:LPDDENUMSURFACESCALLBACK) with Convention=>Stdcall;
FlipToGDISurface:access procedure(THIS:LPIDirectDraw) with Convention=>Stdcall;
GetCaps:access procedure(THIS:LPIDirectDraw;Arg2:LPDDCAPS;Arg3:LPDDCAPS) with Convention=>Stdcall;
GetDisplayMode:access procedure(THIS:LPIDirectDraw;Arg2:LPDDSURFACEDESC) with Convention=>Stdcall;
GetFourCCCodes:access procedure(THIS:LPIDirectDraw;Arg2:LPDWORD;Arg3:LPDWORD) with Convention=>Stdcall;
GetGDISurface:access procedure(THIS:LPIDirectDraw;Arg2:LPLPDIRECTDRAWSURFACE) with Convention=>Stdcall;
GetMonitorFrequency:access procedure(THIS:LPIDirectDraw;Arg2:LPDWORD) with Convention=>Stdcall;
GetScanLine:access procedure(THIS:LPIDirectDraw;Arg2:LPDWORD) with Convention=>Stdcall;
GetVerticalBlankStatus:access procedure(THIS:LPIDirectDraw;Arg2:LPBOOL) with Convention=>Stdcall;
Initialize:access procedure(THIS:LPIDirectDraw;Arg2:LPGUID) with Convention=>Stdcall;
RestoreDisplayMode:access procedure(THIS:LPIDirectDraw) with Convention=>Stdcall;
SetCooperativeLevel:access procedure(THIS:LPIDirectDraw;Arg2:HWND;Arg3:DWORD) with Convention=>Stdcall;
SetDisplayMode:access procedure(THIS:LPIDirectDraw;Arg2:DWORD;Arg3:DWORD;Arg4:DWORD) with Convention=>Stdcall;
WaitForVerticalBlank:access procedure(THIS:LPIDirectDraw;Arg2:DWORD;Arg3:winnt.HANDLE) with Convention=>Stdcall;
end record;
type IDirectDraw2 is record
QueryInterface:access procedure(THIS:LPIDirectDraw2;riid:REFIID;ppvObj:LPLPVOID) with Convention=>Stdcall;
AddRef:access function(THIS:LPIDirectDraw2) return ULONG with Convention=>Stdcall;
Release:access function(THIS:LPIDirectDraw2) return ULONG with Convention=>Stdcall;
Compact:access procedure(THIS:LPIDirectDraw2) with Convention=>Stdcall;
CreateClipper:access procedure(THIS:LPIDirectDraw2;Arg2:DWORD;Arg3:LPLPDIRECTDRAWCLIPPER;Arg4:LPIUnknown) with Convention=>Stdcall;
CreatePalette:access procedure(THIS:LPIDirectDraw2;Arg2:DWORD;Arg3:LPPALETTEENTRY;Arg4:LPLPDIRECTDRAWPALETTE;Arg5:LPIUnknown) with Convention=>Stdcall;
CreateSurface:access procedure(THIS:LPIDirectDraw2;Arg2:LPDDSURFACEDESC;Arg3:LPLPDIRECTDRAWSURFACE;Arg4:LPIUnknown) with Convention=>Stdcall;
DuplicateSurface:access procedure(THIS:LPIDirectDraw2;Arg2:LPDIRECTDRAWSURFACE;Arg3:LPLPDIRECTDRAWSURFACE) with Convention=>Stdcall;
EnumDisplayModes:access procedure(THIS:LPIDirectDraw2;Arg2:DWORD;Arg3:LPDDSURFACEDESC;Arg4:LPVOID;Arg5:LPDDENUMMODESCALLBACK) with Convention=>Stdcall;
EnumSurfaces:access procedure(THIS:LPIDirectDraw2;Arg2:DWORD;Arg3:LPDDSURFACEDESC;Arg4:LPVOID;Arg5:LPDDENUMSURFACESCALLBACK) with Convention=>Stdcall;
FlipToGDISurface:access procedure(THIS:LPIDirectDraw2) with Convention=>Stdcall;
GetCaps:access procedure(THIS:LPIDirectDraw2;Arg2:LPDDCAPS;Arg3:LPDDCAPS) with Convention=>Stdcall;
GetDisplayMode:access procedure(THIS:LPIDirectDraw2;Arg2:LPDDSURFACEDESC) with Convention=>Stdcall;
GetFourCCCodes:access procedure(THIS:LPIDirectDraw2;Arg2:LPDWORD;Arg3:LPDWORD) with Convention=>Stdcall;
GetGDISurface:access procedure(THIS:LPIDirectDraw2;Arg2:LPLPDIRECTDRAWSURFACE) with Convention=>Stdcall;
GetMonitorFrequency:access procedure(THIS:LPIDirectDraw2;Arg2:LPDWORD) with Convention=>Stdcall;
GetScanLine:access procedure(THIS:LPIDirectDraw2;Arg2:LPDWORD) with Convention=>Stdcall;
GetVerticalBlankStatus:access procedure(THIS:LPIDirectDraw2;Arg2:LPBOOL) with Convention=>Stdcall;
Initialize:access procedure(THIS:LPIDirectDraw2;Arg2:LPGUID) with Convention=>Stdcall;
RestoreDisplayMode:access procedure(THIS:LPIDirectDraw2) with Convention=>Stdcall;
SetCooperativeLevel:access procedure(THIS:LPIDirectDraw2;Arg2:HWND;Arg3:DWORD) with Convention=>Stdcall;
SetDisplayMode:access procedure(THIS:LPIDirectDraw2;Arg2:DWORD;Arg3:DWORD;Arg4:DWORD;Arg5:DWORD;Arg6:DWORD) with Convention=>Stdcall;
WaitForVerticalBlank:access procedure(THIS:LPIDirectDraw2;Arg2:DWORD;Arg3:winnt.HANDLE) with Convention=>Stdcall;
GetAvailableVidMem:access procedure(THIS:LPIDirectDraw2;Arg2:LPDDSCAPS;Arg3:LPDWORD;Arg4:LPDWORD) with Convention=>Stdcall;
end record;
type IDirectDraw4 is record
QueryInterface:access procedure(THIS:LPIDirectDraw4;riid:REFIID;ppvObj:LPLPVOID) with Convention=>Stdcall;
AddRef:access function(THIS:LPIDirectDraw4) return ULONG with Convention=>Stdcall;
Release:access function(THIS:LPIDirectDraw4) return ULONG with Convention=>Stdcall;
Compact:access procedure(THIS:LPIDirectDraw4) with Convention=>Stdcall;
CreateClipper:access procedure(THIS:LPIDirectDraw4;Arg2:DWORD;Arg3:LPLPDIRECTDRAWCLIPPER;Arg4:LPIUnknown) with Convention=>Stdcall;
CreatePalette:access procedure(THIS:LPIDirectDraw4;Arg2:DWORD;Arg3:LPPALETTEENTRY;Arg4:LPLPDIRECTDRAWPALETTE;Arg5:LPIUnknown) with Convention=>Stdcall;
CreateSurface:access procedure(THIS:LPIDirectDraw4;Arg2:LPDDSURFACEDESC2;Arg3:LPLPDIRECTDRAWSURFACE4;Arg4:LPIUnknown) with Convention=>Stdcall;
DuplicateSurface:access procedure(THIS:LPIDirectDraw4;Arg2:LPDIRECTDRAWSURFACE4;Arg3:LPLPDIRECTDRAWSURFACE4) with Convention=>Stdcall;
EnumDisplayModes:access procedure(THIS:LPIDirectDraw4;Arg2:DWORD;Arg3:LPDDSURFACEDESC2;Arg4:LPVOID;Arg5:LPDDENUMMODESCALLBACK2) with Convention=>Stdcall;
EnumSurfaces:access procedure(THIS:LPIDirectDraw4;Arg2:DWORD;Arg3:LPDDSURFACEDESC2;Arg4:LPVOID;Arg5:LPDDENUMSURFACESCALLBACK2) with Convention=>Stdcall;
FlipToGDISurface:access procedure(THIS:LPIDirectDraw4) with Convention=>Stdcall;
GetCaps:access procedure(THIS:LPIDirectDraw4;Arg2:LPDDCAPS;Arg3:LPDDCAPS) with Convention=>Stdcall;
GetDisplayMode:access procedure(THIS:LPIDirectDraw4;Arg2:LPDDSURFACEDESC2) with Convention=>Stdcall;
GetFourCCCodes:access procedure(THIS:LPIDirectDraw4;Arg2:LPDWORD;Arg3:LPDWORD) with Convention=>Stdcall;
GetGDISurface:access procedure(THIS:LPIDirectDraw4;Arg2:LPLPDIRECTDRAWSURFACE4) with Convention=>Stdcall;
GetMonitorFrequency:access procedure(THIS:LPIDirectDraw4;Arg2:LPDWORD) with Convention=>Stdcall;
GetScanLine:access procedure(THIS:LPIDirectDraw4;Arg2:LPDWORD) with Convention=>Stdcall;
GetVerticalBlankStatus:access procedure(THIS:LPIDirectDraw4;Arg2:LPBOOL) with Convention=>Stdcall;
Initialize:access procedure(THIS:LPIDirectDraw4;Arg2:LPGUID) with Convention=>Stdcall;
RestoreDisplayMode:access procedure(THIS:LPIDirectDraw4) with Convention=>Stdcall;
SetCooperativeLevel:access procedure(THIS:LPIDirectDraw4;Arg2:HWND;Arg3:DWORD) with Convention=>Stdcall;
SetDisplayMode:access procedure(THIS:LPIDirectDraw4;Arg2:DWORD;Arg3:DWORD;Arg4:DWORD;Arg5:DWORD;Arg6:DWORD) with Convention=>Stdcall;
WaitForVerticalBlank:access procedure(THIS:LPIDirectDraw4;Arg2:DWORD;Arg3:winnt.HANDLE) with Convention=>Stdcall;
GetAvailableVidMem:access procedure(THIS:LPIDirectDraw4;Arg2:LPDDSCAPS2;Arg3:LPDWORD;Arg4:LPDWORD) with Convention=>Stdcall;
GetSurfaceFromDC:access procedure(THIS:LPIDirectDraw4;Arg2:HDC;Arg3:LPLPDIRECTDRAWSURFACE4) with Convention=>Stdcall;
RestoreAllSurfaces:access procedure(THIS:LPIDirectDraw4) with Convention=>Stdcall;
TestCooperativeLevel:access procedure(THIS:LPIDirectDraw4) with Convention=>Stdcall;
GetDeviceIdentifier:access procedure(THIS:LPIDirectDraw4;Arg2:LPDDDEVICEIDENTIFIER;Arg3:DWORD) with Convention=>Stdcall;
end record;
type IDirectDraw7 is record
QueryInterface:access procedure(THIS:LPIDirectDraw7;riid:REFIID;ppvObj:LPLPVOID) with Convention=>Stdcall;
AddRef:access function(THIS:LPIDirectDraw7) return ULONG with Convention=>Stdcall;
Release:access function(THIS:LPIDirectDraw7) return ULONG with Convention=>Stdcall;
Compact:access procedure(THIS:LPIDirectDraw7) with Convention=>Stdcall;
CreateClipper:access procedure(THIS:LPIDirectDraw7;Arg2:DWORD;Arg3:LPLPDIRECTDRAWCLIPPER;Arg4:LPIUnknown) with Convention=>Stdcall;
CreatePalette:access procedure(THIS:LPIDirectDraw7;Arg2:DWORD;Arg3:LPPALETTEENTRY;Arg4:LPLPDIRECTDRAWPALETTE;Arg5:LPIUnknown) with Convention=>Stdcall;
CreateSurface:access procedure(THIS:LPIDirectDraw7;Arg2:LPDDSURFACEDESC2;Arg3:LPLPDIRECTDRAWSURFACE7;Arg4:LPIUnknown) with Convention=>Stdcall;
DuplicateSurface:access procedure(THIS:LPIDirectDraw7;Arg2:LPDIRECTDRAWSURFACE7;Arg3:LPLPDIRECTDRAWSURFACE7) with Convention=>Stdcall;
EnumDisplayModes:access procedure(THIS:LPIDirectDraw7;Arg2:DWORD;Arg3:LPDDSURFACEDESC2;Arg4:LPVOID;Arg5:LPDDENUMMODESCALLBACK2) with Convention=>Stdcall;
EnumSurfaces:access procedure(THIS:LPIDirectDraw7;Arg2:DWORD;Arg3:LPDDSURFACEDESC2;Arg4:LPVOID;Arg5:LPDDENUMSURFACESCALLBACK7) with Convention=>Stdcall;
FlipToGDISurface:access procedure(THIS:LPIDirectDraw7) with Convention=>Stdcall;
GetCaps:access procedure(THIS:LPIDirectDraw7;Arg2:LPDDCAPS;Arg3:LPDDCAPS) with Convention=>Stdcall;
GetDisplayMode:access procedure(THIS:LPIDirectDraw7;Arg2:LPDDSURFACEDESC2) with Convention=>Stdcall;
GetFourCCCodes:access procedure(THIS:LPIDirectDraw7;Arg2:LPDWORD;Arg3:LPDWORD) with Convention=>Stdcall;
GetGDISurface:access procedure(THIS:LPIDirectDraw7;Arg2:LPLPDIRECTDRAWSURFACE7) with Convention=>Stdcall;
GetMonitorFrequency:access procedure(THIS:LPIDirectDraw7;Arg2:LPDWORD) with Convention=>Stdcall;
GetScanLine:access procedure(THIS:LPIDirectDraw7;Arg2:LPDWORD) with Convention=>Stdcall;
GetVerticalBlankStatus:access procedure(THIS:LPIDirectDraw7;Arg2:LPBOOL) with Convention=>Stdcall;
Initialize:access procedure(THIS:LPIDirectDraw7;Arg2:LPGUID) with Convention=>Stdcall;
RestoreDisplayMode:access procedure(THIS:LPIDirectDraw7) with Convention=>Stdcall;
SetCooperativeLevel:access procedure(THIS:LPIDirectDraw7;Arg2:HWND;Arg3:DWORD) with Convention=>Stdcall;
SetDisplayMode:access procedure(THIS:LPIDirectDraw7;Arg2:DWORD;Arg3:DWORD;Arg4:DWORD;Arg5:DWORD;Arg6:DWORD) with Convention=>Stdcall;
WaitForVerticalBlank:access procedure(THIS:LPIDirectDraw7;Arg2:DWORD;Arg3:winnt.HANDLE) with Convention=>Stdcall;
GetAvailableVidMem:access procedure(THIS:LPIDirectDraw7;Arg2:LPDDSCAPS2;Arg3:LPDWORD;Arg4:LPDWORD) with Convention=>Stdcall;
GetSurfaceFromDC:access procedure(THIS:LPIDirectDraw7;Arg2:HDC;Arg3:LPLPDIRECTDRAWSURFACE7) with Convention=>Stdcall;
RestoreAllSurfaces:access procedure(THIS:LPIDirectDraw7) with Convention=>Stdcall;
TestCooperativeLevel:access procedure(THIS:LPIDirectDraw7) with Convention=>Stdcall;
GetDeviceIdentifier:access procedure(THIS:LPIDirectDraw7;Arg2:LPDDDEVICEIDENTIFIER2;Arg3:DWORD) with Convention=>Stdcall;
StartModeTest:access procedure(THIS:LPIDirectDraw7;Arg2:LPSIZE;Arg3:DWORD;Arg4:DWORD) with Convention=>Stdcall;
EvaluateMode:access procedure(THIS:LPIDirectDraw7;Arg2:DWORD;Arg3:LPDWORD) with Convention=>Stdcall;
end record;
type IDirectDrawPalette is record
QueryInterface:access procedure(THIS:LPIDirectDrawPalette;riid:REFIID;ppvObj:LPLPVOID) with Convention=>Stdcall;
AddRef:access function(THIS:LPIDirectDrawPalette) return ULONG with Convention=>Stdcall;
Release:access function(THIS:LPIDirectDrawPalette) return ULONG with Convention=>Stdcall;
GetCaps:access procedure(THIS:LPIDirectDrawPalette;Arg2:LPDWORD) with Convention=>Stdcall;
GetEntries:access procedure(THIS:LPIDirectDrawPalette;Arg2:DWORD;Arg3:DWORD;Arg4:DWORD;Arg5:LPPALETTEENTRY) with Convention=>Stdcall;
Initialize:access procedure(THIS:LPIDirectDrawPalette;Arg2:LPDIRECTDRAW;Arg3:DWORD;Arg4:LPPALETTEENTRY) with Convention=>Stdcall;
SetEntries:access procedure(THIS:LPIDirectDrawPalette;Arg2:DWORD;Arg3:DWORD;Arg4:DWORD;Arg5:LPPALETTEENTRY) with Convention=>Stdcall;
end record;
type IDirectDrawClipper is record
QueryInterface:access procedure(THIS:LPIDirectDrawClipper;riid:REFIID;ppvObj:LPLPVOID) with Convention=>Stdcall;
AddRef:access function(THIS:LPIDirectDrawClipper) return ULONG with Convention=>Stdcall;
Release:access function(THIS:LPIDirectDrawClipper) return ULONG with Convention=>Stdcall;
GetClipList:access procedure(THIS:LPIDirectDrawClipper;Arg2:LPRECT;Arg3:LPRGNDATA;Arg4:LPDWORD) with Convention=>Stdcall;
GetHWnd:access procedure(THIS:LPIDirectDrawClipper;Arg2:access HWND) with Convention=>Stdcall;
Initialize:access procedure(THIS:LPIDirectDrawClipper;Arg2:LPDIRECTDRAW;Arg3:DWORD) with Convention=>Stdcall;
IsClipListChanged:access procedure(THIS:LPIDirectDrawClipper;Arg2:LPBOOL) with Convention=>Stdcall;
SetClipList:access procedure(THIS:LPIDirectDrawClipper;Arg2:LPRGNDATA;Arg3:DWORD) with Convention=>Stdcall;
SetHWnd:access procedure(THIS:LPIDirectDrawClipper;Arg2:DWORD;Arg3:HWND) with Convention=>Stdcall;
end record;
type IDirectDrawSurface is record
QueryInterface:access procedure(THIS:LPIDirectDrawSurface;riid:REFIID;ppvObj:LPLPVOID) with Convention=>Stdcall;
AddRef:access function(THIS:LPIDirectDrawSurface) return ULONG with Convention=>Stdcall;
Release:access function(THIS:LPIDirectDrawSurface) return ULONG with Convention=>Stdcall;
AddAttachedSurface:access procedure(THIS:LPIDirectDrawSurface;Arg2:LPDIRECTDRAWSURFACE) with Convention=>Stdcall;
AddOverlayDirtyRect:access procedure(THIS:LPIDirectDrawSurface;Arg2:LPRECT) with Convention=>Stdcall;
Blt:access procedure(THIS:LPIDirectDrawSurface;Arg2:LPRECT;Arg3:LPDIRECTDRAWSURFACE;Arg4:LPRECT;Arg5:DWORD;Arg6:LPDDBLTFX) with Convention=>Stdcall;
BltBatch:access procedure(THIS:LPIDirectDrawSurface;Arg2:LPDDBLTBATCH;Arg3:DWORD;Arg4:DWORD) with Convention=>Stdcall;
BltFast:access procedure(THIS:LPIDirectDrawSurface;Arg2:DWORD;Arg3:DWORD;Arg4:LPDIRECTDRAWSURFACE;Arg5:LPRECT;Arg6:DWORD) with Convention=>Stdcall;
DeleteAttachedSurface:access procedure(THIS:LPIDirectDrawSurface;Arg2:DWORD;Arg3:LPDIRECTDRAWSURFACE) with Convention=>Stdcall;
EnumAttachedSurfaces:access procedure(THIS:LPIDirectDrawSurface;Arg2:LPVOID;Arg3:LPDDENUMSURFACESCALLBACK) with Convention=>Stdcall;
EnumOverlayZOrders:access procedure(THIS:LPIDirectDrawSurface;Arg2:DWORD;Arg3:LPVOID;Arg4:LPDDENUMSURFACESCALLBACK) with Convention=>Stdcall;
Flip:access procedure(THIS:LPIDirectDrawSurface;Arg2:LPDIRECTDRAWSURFACE;Arg3:DWORD) with Convention=>Stdcall;
GetAttachedSurface:access procedure(THIS:LPIDirectDrawSurface;Arg2:LPDDSCAPS;Arg3:LPLPDIRECTDRAWSURFACE) with Convention=>Stdcall;
GetBltStatus:access procedure(THIS:LPIDirectDrawSurface;Arg2:DWORD) with Convention=>Stdcall;
GetCaps:access procedure(THIS:LPIDirectDrawSurface;Arg2:LPDDSCAPS) with Convention=>Stdcall;
GetClipper:access procedure(THIS:LPIDirectDrawSurface;Arg2:LPLPDIRECTDRAWCLIPPER) with Convention=>Stdcall;
GetColorKey:access procedure(THIS:LPIDirectDrawSurface;Arg2:DWORD;Arg3:LPDDCOLORKEY) with Convention=>Stdcall;
GetDC:access procedure(THIS:LPIDirectDrawSurface;Arg2:access HDC) with Convention=>Stdcall;
GetFlipStatus:access procedure(THIS:LPIDirectDrawSurface;Arg2:DWORD) with Convention=>Stdcall;
GetOverlayPosition:access procedure(THIS:LPIDirectDrawSurface;Arg2:LPLONG;Arg3:LPLONG) with Convention=>Stdcall;
GetPalette:access procedure(THIS:LPIDirectDrawSurface;Arg2:LPLPDIRECTDRAWPALETTE) with Convention=>Stdcall;
GetPixelFormat:access procedure(THIS:LPIDirectDrawSurface;Arg2:LPDDPIXELFORMAT) with Convention=>Stdcall;
GetSurfaceDesc:access procedure(THIS:LPIDirectDrawSurface;Arg2:LPDDSURFACEDESC) with Convention=>Stdcall;
Initialize:access procedure(THIS:LPIDirectDrawSurface;Arg2:LPDIRECTDRAW;Arg3:LPDDSURFACEDESC) with Convention=>Stdcall;
IsLost:access procedure(THIS:LPIDirectDrawSurface) with Convention=>Stdcall;
Lock:access procedure(THIS:LPIDirectDrawSurface;Arg2:LPRECT;Arg3:LPDDSURFACEDESC;Arg4:DWORD;Arg5:winnt.HANDLE) with Convention=>Stdcall;
ReleaseDC:access procedure(THIS:LPIDirectDrawSurface;Arg2:HDC) with Convention=>Stdcall;
Restore:access procedure(THIS:LPIDirectDrawSurface) with Convention=>Stdcall;
SetClipper:access procedure(THIS:LPIDirectDrawSurface;Arg2:LPDIRECTDRAWCLIPPER) with Convention=>Stdcall;
SetColorKey:access procedure(THIS:LPIDirectDrawSurface;Arg2:DWORD;Arg3:LPDDCOLORKEY) with Convention=>Stdcall;
SetOverlayPosition:access procedure(THIS:LPIDirectDrawSurface;Arg2:LONG;Arg3:LONG) with Convention=>Stdcall;
SetPalette:access procedure(THIS:LPIDirectDrawSurface;Arg2:LPDIRECTDRAWPALETTE) with Convention=>Stdcall;
Unlock:access procedure(THIS:LPIDirectDrawSurface;Arg2:LPVOID) with Convention=>Stdcall;
UpdateOverlay:access procedure(THIS:LPIDirectDrawSurface;Arg2:LPRECT;Arg3:LPDIRECTDRAWSURFACE;Arg4:LPRECT;Arg5:DWORD;Arg6:LPDDOVERLAYFX) with Convention=>Stdcall;
UpdateOverlayDisplay:access procedure(THIS:LPIDirectDrawSurface;Arg2:DWORD) with Convention=>Stdcall;
UpdateOverlayZOrder:access procedure(THIS:LPIDirectDrawSurface;Arg2:DWORD;Arg3:LPDIRECTDRAWSURFACE) with Convention=>Stdcall;
end record;
type IDirectDrawSurface2 is record
QueryInterface:access procedure(THIS:LPIDirectDrawSurface2;riid:REFIID;ppvObj:LPLPVOID) with Convention=>Stdcall;
AddRef:access function(THIS:LPIDirectDrawSurface2) return ULONG with Convention=>Stdcall;
Release:access function(THIS:LPIDirectDrawSurface2) return ULONG with Convention=>Stdcall;
AddAttachedSurface:access procedure(THIS:LPIDirectDrawSurface2;Arg2:LPDIRECTDRAWSURFACE2) with Convention=>Stdcall;
AddOverlayDirtyRect:access procedure(THIS:LPIDirectDrawSurface2;Arg2:LPRECT) with Convention=>Stdcall;
Blt:access procedure(THIS:LPIDirectDrawSurface2;Arg2:LPRECT;Arg3:LPDIRECTDRAWSURFACE2;Arg4:LPRECT;Arg5:DWORD;Arg6:LPDDBLTFX) with Convention=>Stdcall;
BltBatch:access procedure(THIS:LPIDirectDrawSurface2;Arg2:LPDDBLTBATCH;Arg3:DWORD;Arg4:DWORD) with Convention=>Stdcall;
BltFast:access procedure(THIS:LPIDirectDrawSurface2;Arg2:DWORD;Arg3:DWORD;Arg4:LPDIRECTDRAWSURFACE2;Arg5:LPRECT;Arg6:DWORD) with Convention=>Stdcall;
DeleteAttachedSurface:access procedure(THIS:LPIDirectDrawSurface2;Arg2:DWORD;Arg3:LPDIRECTDRAWSURFACE2) with Convention=>Stdcall;
EnumAttachedSurfaces:access procedure(THIS:LPIDirectDrawSurface2;Arg2:LPVOID;Arg3:LPDDENUMSURFACESCALLBACK) with Convention=>Stdcall;
EnumOverlayZOrders:access procedure(THIS:LPIDirectDrawSurface2;Arg2:DWORD;Arg3:LPVOID;Arg4:LPDDENUMSURFACESCALLBACK) with Convention=>Stdcall;
Flip:access procedure(THIS:LPIDirectDrawSurface2;Arg2:LPDIRECTDRAWSURFACE2;Arg3:DWORD) with Convention=>Stdcall;
GetAttachedSurface:access procedure(THIS:LPIDirectDrawSurface2;Arg2:LPDDSCAPS;Arg3:LPLPDIRECTDRAWSURFACE2) with Convention=>Stdcall;
GetBltStatus:access procedure(THIS:LPIDirectDrawSurface2;Arg2:DWORD) with Convention=>Stdcall;
GetCaps:access procedure(THIS:LPIDirectDrawSurface2;Arg2:LPDDSCAPS) with Convention=>Stdcall;
GetClipper:access procedure(THIS:LPIDirectDrawSurface2;Arg2:LPLPDIRECTDRAWCLIPPER) with Convention=>Stdcall;
GetColorKey:access procedure(THIS:LPIDirectDrawSurface2;Arg2:DWORD;Arg3:LPDDCOLORKEY) with Convention=>Stdcall;
GetDC:access procedure(THIS:LPIDirectDrawSurface2;Arg2:access HDC) with Convention=>Stdcall;
GetFlipStatus:access procedure(THIS:LPIDirectDrawSurface2;Arg2:DWORD) with Convention=>Stdcall;
GetOverlayPosition:access procedure(THIS:LPIDirectDrawSurface2;Arg2:LPLONG;Arg3:LPLONG) with Convention=>Stdcall;
GetPalette:access procedure(THIS:LPIDirectDrawSurface2;Arg2:LPLPDIRECTDRAWPALETTE) with Convention=>Stdcall;
GetPixelFormat:access procedure(THIS:LPIDirectDrawSurface2;Arg2:LPDDPIXELFORMAT) with Convention=>Stdcall;
GetSurfaceDesc:access procedure(THIS:LPIDirectDrawSurface2;Arg2:LPDDSURFACEDESC) with Convention=>Stdcall;
Initialize:access procedure(THIS:LPIDirectDrawSurface2;Arg2:LPDIRECTDRAW;Arg3:LPDDSURFACEDESC) with Convention=>Stdcall;
IsLost:access procedure(THIS:LPIDirectDrawSurface2) with Convention=>Stdcall;
Lock:access procedure(THIS:LPIDirectDrawSurface2;Arg2:LPRECT;Arg3:LPDDSURFACEDESC;Arg4:DWORD;Arg5:winnt.HANDLE) with Convention=>Stdcall;
ReleaseDC:access procedure(THIS:LPIDirectDrawSurface2;Arg2:HDC) with Convention=>Stdcall;
Restore:access procedure(THIS:LPIDirectDrawSurface2) with Convention=>Stdcall;
SetClipper:access procedure(THIS:LPIDirectDrawSurface2;Arg2:LPDIRECTDRAWCLIPPER) with Convention=>Stdcall;
SetColorKey:access procedure(THIS:LPIDirectDrawSurface2;Arg2:DWORD;Arg3:LPDDCOLORKEY) with Convention=>Stdcall;
SetOverlayPosition:access procedure(THIS:LPIDirectDrawSurface2;Arg2:LONG;Arg3:LONG) with Convention=>Stdcall;
SetPalette:access procedure(THIS:LPIDirectDrawSurface2;Arg2:LPDIRECTDRAWPALETTE) with Convention=>Stdcall;
Unlock:access procedure(THIS:LPIDirectDrawSurface2;Arg2:LPVOID) with Convention=>Stdcall;
UpdateOverlay:access procedure(THIS:LPIDirectDrawSurface2;Arg2:LPRECT;Arg3:LPDIRECTDRAWSURFACE2;Arg4:LPRECT;Arg5:DWORD;Arg6:LPDDOVERLAYFX) with Convention=>Stdcall;
UpdateOverlayDisplay:access procedure(THIS:LPIDirectDrawSurface2;Arg2:DWORD) with Convention=>Stdcall;
UpdateOverlayZOrder:access procedure(THIS:LPIDirectDrawSurface2;Arg2:DWORD;Arg3:LPDIRECTDRAWSURFACE2) with Convention=>Stdcall;
GetDDInterface:access procedure(THIS:LPIDirectDrawSurface2;Arg2:LPLPVOID) with Convention=>Stdcall;
PageLock:access procedure(THIS:LPIDirectDrawSurface2;Arg2:DWORD) with Convention=>Stdcall;
PageUnlock:access procedure(THIS:LPIDirectDrawSurface2;Arg2:DWORD) with Convention=>Stdcall;
end record;
type IDirectDrawSurface3 is record
QueryInterface:access procedure(THIS:LPIDirectDrawSurface3;riid:REFIID;ppvObj:LPLPVOID) with Convention=>Stdcall;
AddRef:access function(THIS:LPIDirectDrawSurface3) return ULONG with Convention=>Stdcall;
Release:access function(THIS:LPIDirectDrawSurface3) return ULONG with Convention=>Stdcall;
AddAttachedSurface:access procedure(THIS:LPIDirectDrawSurface3;Arg2:LPDIRECTDRAWSURFACE3) with Convention=>Stdcall;
AddOverlayDirtyRect:access procedure(THIS:LPIDirectDrawSurface3;Arg2:LPRECT) with Convention=>Stdcall;
Blt:access procedure(THIS:LPIDirectDrawSurface3;Arg2:LPRECT;Arg3:LPDIRECTDRAWSURFACE3;Arg4:LPRECT;Arg5:DWORD;Arg6:LPDDBLTFX) with Convention=>Stdcall;
BltBatch:access procedure(THIS:LPIDirectDrawSurface3;Arg2:LPDDBLTBATCH;Arg3:DWORD;Arg4:DWORD) with Convention=>Stdcall;
BltFast:access procedure(THIS:LPIDirectDrawSurface3;Arg2:DWORD;Arg3:DWORD;Arg4:LPDIRECTDRAWSURFACE3;Arg5:LPRECT;Arg6:DWORD) with Convention=>Stdcall;
DeleteAttachedSurface:access procedure(THIS:LPIDirectDrawSurface3;Arg2:DWORD;Arg3:LPDIRECTDRAWSURFACE3) with Convention=>Stdcall;
EnumAttachedSurfaces:access procedure(THIS:LPIDirectDrawSurface3;Arg2:LPVOID;Arg3:LPDDENUMSURFACESCALLBACK) with Convention=>Stdcall;
EnumOverlayZOrders:access procedure(THIS:LPIDirectDrawSurface3;Arg2:DWORD;Arg3:LPVOID;Arg4:LPDDENUMSURFACESCALLBACK) with Convention=>Stdcall;
Flip:access procedure(THIS:LPIDirectDrawSurface3;Arg2:LPDIRECTDRAWSURFACE3;Arg3:DWORD) with Convention=>Stdcall;
GetAttachedSurface:access procedure(THIS:LPIDirectDrawSurface3;Arg2:LPDDSCAPS;Arg3:LPLPDIRECTDRAWSURFACE3) with Convention=>Stdcall;
GetBltStatus:access procedure(THIS:LPIDirectDrawSurface3;Arg2:DWORD) with Convention=>Stdcall;
GetCaps:access procedure(THIS:LPIDirectDrawSurface3;Arg2:LPDDSCAPS) with Convention=>Stdcall;
GetClipper:access procedure(THIS:LPIDirectDrawSurface3;Arg2:LPLPDIRECTDRAWCLIPPER) with Convention=>Stdcall;
GetColorKey:access procedure(THIS:LPIDirectDrawSurface3;Arg2:DWORD;Arg3:LPDDCOLORKEY) with Convention=>Stdcall;
GetDC:access procedure(THIS:LPIDirectDrawSurface3;Arg2:access HDC) with Convention=>Stdcall;
GetFlipStatus:access procedure(THIS:LPIDirectDrawSurface3;Arg2:DWORD) with Convention=>Stdcall;
GetOverlayPosition:access procedure(THIS:LPIDirectDrawSurface3;Arg2:LPLONG;Arg3:LPLONG) with Convention=>Stdcall;
GetPalette:access procedure(THIS:LPIDirectDrawSurface3;Arg2:LPLPDIRECTDRAWPALETTE) with Convention=>Stdcall;
GetPixelFormat:access procedure(THIS:LPIDirectDrawSurface3;Arg2:LPDDPIXELFORMAT) with Convention=>Stdcall;
GetSurfaceDesc:access procedure(THIS:LPIDirectDrawSurface3;Arg2:LPDDSURFACEDESC) with Convention=>Stdcall;
Initialize:access procedure(THIS:LPIDirectDrawSurface3;Arg2:LPDIRECTDRAW;Arg3:LPDDSURFACEDESC) with Convention=>Stdcall;
IsLost:access procedure(THIS:LPIDirectDrawSurface3) with Convention=>Stdcall;
Lock:access procedure(THIS:LPIDirectDrawSurface3;Arg2:LPRECT;Arg3:LPDDSURFACEDESC;Arg4:DWORD;Arg5:winnt.HANDLE) with Convention=>Stdcall;
ReleaseDC:access procedure(THIS:LPIDirectDrawSurface3;Arg2:HDC) with Convention=>Stdcall;
Restore:access procedure(THIS:LPIDirectDrawSurface3) with Convention=>Stdcall;
SetClipper:access procedure(THIS:LPIDirectDrawSurface3;Arg2:LPDIRECTDRAWCLIPPER) with Convention=>Stdcall;
SetColorKey:access procedure(THIS:LPIDirectDrawSurface3;Arg2:DWORD;Arg3:LPDDCOLORKEY) with Convention=>Stdcall;
SetOverlayPosition:access procedure(THIS:LPIDirectDrawSurface3;Arg2:LONG;Arg3:LONG) with Convention=>Stdcall;
SetPalette:access procedure(THIS:LPIDirectDrawSurface3;Arg2:LPDIRECTDRAWPALETTE) with Convention=>Stdcall;
Unlock:access procedure(THIS:LPIDirectDrawSurface3;Arg2:LPVOID) with Convention=>Stdcall;
UpdateOverlay:access procedure(THIS:LPIDirectDrawSurface3;Arg2:LPRECT;Arg3:LPDIRECTDRAWSURFACE3;Arg4:LPRECT;Arg5:DWORD;Arg6:LPDDOVERLAYFX) with Convention=>Stdcall;
UpdateOverlayDisplay:access procedure(THIS:LPIDirectDrawSurface3;Arg2:DWORD) with Convention=>Stdcall;
UpdateOverlayZOrder:access procedure(THIS:LPIDirectDrawSurface3;Arg2:DWORD;Arg3:LPDIRECTDRAWSURFACE3) with Convention=>Stdcall;
GetDDInterface:access procedure(THIS:LPIDirectDrawSurface3;Arg2:LPLPVOID) with Convention=>Stdcall;
PageLock:access procedure(THIS:LPIDirectDrawSurface3;Arg2:DWORD) with Convention=>Stdcall;
PageUnlock:access procedure(THIS:LPIDirectDrawSurface3;Arg2:DWORD) with Convention=>Stdcall;
SetSurfaceDesc:access procedure(THIS:LPIDirectDrawSurface3;Arg2:LPDDSURFACEDESC;Arg3:DWORD) with Convention=>Stdcall;
end record;
type IDirectDrawSurface4 is record
QueryInterface:access procedure(THIS:LPIDirectDrawSurface4;riid:REFIID;ppvObj:LPLPVOID) with Convention=>Stdcall;
AddRef:access function(THIS:LPIDirectDrawSurface4) return ULONG with Convention=>Stdcall;
Release:access function(THIS:LPIDirectDrawSurface4) return ULONG with Convention=>Stdcall;
AddAttachedSurface:access procedure(THIS:LPIDirectDrawSurface4;Arg2:LPDIRECTDRAWSURFACE4) with Convention=>Stdcall;
AddOverlayDirtyRect:access procedure(THIS:LPIDirectDrawSurface4;Arg2:LPRECT) with Convention=>Stdcall;
Blt:access procedure(THIS:LPIDirectDrawSurface4;Arg2:LPRECT;Arg3:LPDIRECTDRAWSURFACE4;Arg4:LPRECT;Arg5:DWORD;Arg6:LPDDBLTFX) with Convention=>Stdcall;
BltBatch:access procedure(THIS:LPIDirectDrawSurface4;Arg2:LPDDBLTBATCH;Arg3:DWORD;Arg4:DWORD) with Convention=>Stdcall;
BltFast:access procedure(THIS:LPIDirectDrawSurface4;Arg2:DWORD;Arg3:DWORD;Arg4:LPDIRECTDRAWSURFACE4;Arg5:LPRECT;Arg6:DWORD) with Convention=>Stdcall;
DeleteAttachedSurface:access procedure(THIS:LPIDirectDrawSurface4;Arg2:DWORD;Arg3:LPDIRECTDRAWSURFACE4) with Convention=>Stdcall;
EnumAttachedSurfaces:access procedure(THIS:LPIDirectDrawSurface4;Arg2:LPVOID;Arg3:LPDDENUMSURFACESCALLBACK2) with Convention=>Stdcall;
EnumOverlayZOrders:access procedure(THIS:LPIDirectDrawSurface4;Arg2:DWORD;Arg3:LPVOID;Arg4:LPDDENUMSURFACESCALLBACK2) with Convention=>Stdcall;
Flip:access procedure(THIS:LPIDirectDrawSurface4;Arg2:LPDIRECTDRAWSURFACE4;Arg3:DWORD) with Convention=>Stdcall;
GetAttachedSurface:access procedure(THIS:LPIDirectDrawSurface4;Arg2:LPDDSCAPS2;Arg3:LPLPDIRECTDRAWSURFACE4) with Convention=>Stdcall;
GetBltStatus:access procedure(THIS:LPIDirectDrawSurface4;Arg2:DWORD) with Convention=>Stdcall;
GetCaps:access procedure(THIS:LPIDirectDrawSurface4;Arg2:LPDDSCAPS2) with Convention=>Stdcall;
GetClipper:access procedure(THIS:LPIDirectDrawSurface4;Arg2:LPLPDIRECTDRAWCLIPPER) with Convention=>Stdcall;
GetColorKey:access procedure(THIS:LPIDirectDrawSurface4;Arg2:DWORD;Arg3:LPDDCOLORKEY) with Convention=>Stdcall;
GetDC:access procedure(THIS:LPIDirectDrawSurface4;Arg2:access HDC) with Convention=>Stdcall;
GetFlipStatus:access procedure(THIS:LPIDirectDrawSurface4;Arg2:DWORD) with Convention=>Stdcall;
GetOverlayPosition:access procedure(THIS:LPIDirectDrawSurface4;Arg2:LPLONG;Arg3:LPLONG) with Convention=>Stdcall;
GetPalette:access procedure(THIS:LPIDirectDrawSurface4;Arg2:LPLPDIRECTDRAWPALETTE) with Convention=>Stdcall;
GetPixelFormat:access procedure(THIS:LPIDirectDrawSurface4;Arg2:LPDDPIXELFORMAT) with Convention=>Stdcall;
GetSurfaceDesc:access procedure(THIS:LPIDirectDrawSurface4;Arg2:LPDDSURFACEDESC2) with Convention=>Stdcall;
Initialize:access procedure(THIS:LPIDirectDrawSurface4;Arg2:LPDIRECTDRAW;Arg3:LPDDSURFACEDESC2) with Convention=>Stdcall;
IsLost:access procedure(THIS:LPIDirectDrawSurface4) with Convention=>Stdcall;
Lock:access procedure(THIS:LPIDirectDrawSurface4;Arg2:LPRECT;Arg3:LPDDSURFACEDESC2;Arg4:DWORD;Arg5:winnt.HANDLE) with Convention=>Stdcall;
ReleaseDC:access procedure(THIS:LPIDirectDrawSurface4;Arg2:HDC) with Convention=>Stdcall;
Restore:access procedure(THIS:LPIDirectDrawSurface4) with Convention=>Stdcall;
SetClipper:access procedure(THIS:LPIDirectDrawSurface4;Arg2:LPDIRECTDRAWCLIPPER) with Convention=>Stdcall;
SetColorKey:access procedure(THIS:LPIDirectDrawSurface4;Arg2:DWORD;Arg3:LPDDCOLORKEY) with Convention=>Stdcall;
SetOverlayPosition:access procedure(THIS:LPIDirectDrawSurface4;Arg2:LONG;Arg3:LONG) with Convention=>Stdcall;
SetPalette:access procedure(THIS:LPIDirectDrawSurface4;Arg2:LPDIRECTDRAWPALETTE) with Convention=>Stdcall;
Unlock:access procedure(THIS:LPIDirectDrawSurface4;Arg2:LPRECT) with Convention=>Stdcall;
UpdateOverlay:access procedure(THIS:LPIDirectDrawSurface4;Arg2:LPRECT;Arg3:LPDIRECTDRAWSURFACE4;Arg4:LPRECT;Arg5:DWORD;Arg6:LPDDOVERLAYFX) with Convention=>Stdcall;
UpdateOverlayDisplay:access procedure(THIS:LPIDirectDrawSurface4;Arg2:DWORD) with Convention=>Stdcall;
UpdateOverlayZOrder:access procedure(THIS:LPIDirectDrawSurface4;Arg2:DWORD;Arg3:LPDIRECTDRAWSURFACE4) with Convention=>Stdcall;
GetDDInterface:access procedure(THIS:LPIDirectDrawSurface4;Arg2:LPLPVOID) with Convention=>Stdcall;
PageLock:access procedure(THIS:LPIDirectDrawSurface4;Arg2:DWORD) with Convention=>Stdcall;
PageUnlock:access procedure(THIS:LPIDirectDrawSurface4;Arg2:DWORD) with Convention=>Stdcall;
SetSurfaceDesc:access procedure(THIS:LPIDirectDrawSurface4;Arg2:LPDDSURFACEDESC2;Arg3:DWORD) with Convention=>Stdcall;
SetPrivateData:access procedure(THIS:LPIDirectDrawSurface4;Arg2:REFGUID;Arg3:LPVOID;Arg4:DWORD;Arg5:DWORD) with Convention=>Stdcall;
GetPrivateData:access procedure(THIS:LPIDirectDrawSurface4;Arg2:REFGUID;Arg3:LPVOID;Arg4:LPDWORD) with Convention=>Stdcall;
FreePrivateData:access procedure(THIS:LPIDirectDrawSurface4;Arg2:REFGUID) with Convention=>Stdcall;
GetUniquenessValue:access procedure(THIS:LPIDirectDrawSurface4;Arg2:LPDWORD) with Convention=>Stdcall;
ChangeUniquenessValue:access procedure(THIS:LPIDirectDrawSurface4) with Convention=>Stdcall;
end record;
type IDirectDrawSurface7 is record
QueryInterface:access procedure(THIS:LPIDirectDrawSurface7;riid:REFIID;ppvObj:LPLPVOID) with Convention=>Stdcall;
AddRef:access function(THIS:LPIDirectDrawSurface7) return ULONG with Convention=>Stdcall;
Release:access function(THIS:LPIDirectDrawSurface7) return ULONG with Convention=>Stdcall;
AddAttachedSurface:access procedure(THIS:LPIDirectDrawSurface7;Arg2:LPDIRECTDRAWSURFACE7) with Convention=>Stdcall;
AddOverlayDirtyRect:access procedure(THIS:LPIDirectDrawSurface7;Arg2:LPRECT) with Convention=>Stdcall;
Blt:access procedure(THIS:LPIDirectDrawSurface7;Arg2:LPRECT;Arg3:LPDIRECTDRAWSURFACE7;Arg4:LPRECT;Arg5:DWORD;Arg6:LPDDBLTFX) with Convention=>Stdcall;
BltBatch:access procedure(THIS:LPIDirectDrawSurface7;Arg2:LPDDBLTBATCH;Arg3:DWORD;Arg4:DWORD) with Convention=>Stdcall;
BltFast:access procedure(THIS:LPIDirectDrawSurface7;Arg2:DWORD;Arg3:DWORD;Arg4:LPDIRECTDRAWSURFACE7;Arg5:LPRECT;Arg6:DWORD) with Convention=>Stdcall;
DeleteAttachedSurface:access procedure(THIS:LPIDirectDrawSurface7;Arg2:DWORD;Arg3:LPDIRECTDRAWSURFACE7) with Convention=>Stdcall;
EnumAttachedSurfaces:access procedure(THIS:LPIDirectDrawSurface7;Arg2:LPVOID;Arg3:LPDDENUMSURFACESCALLBACK7) with Convention=>Stdcall;
EnumOverlayZOrders:access procedure(THIS:LPIDirectDrawSurface7;Arg2:DWORD;Arg3:LPVOID;Arg4:LPDDENUMSURFACESCALLBACK7) with Convention=>Stdcall;
Flip:access procedure(THIS:LPIDirectDrawSurface7;Arg2:LPDIRECTDRAWSURFACE7;Arg3:DWORD) with Convention=>Stdcall;
GetAttachedSurface:access procedure(THIS:LPIDirectDrawSurface7;Arg2:LPDDSCAPS2;Arg3:LPLPDIRECTDRAWSURFACE7) with Convention=>Stdcall;
GetBltStatus:access procedure(THIS:LPIDirectDrawSurface7;Arg2:DWORD) with Convention=>Stdcall;
GetCaps:access procedure(THIS:LPIDirectDrawSurface7;Arg2:LPDDSCAPS2) with Convention=>Stdcall;
GetClipper:access procedure(THIS:LPIDirectDrawSurface7;Arg2:LPLPDIRECTDRAWCLIPPER) with Convention=>Stdcall;
GetColorKey:access procedure(THIS:LPIDirectDrawSurface7;Arg2:DWORD;Arg3:LPDDCOLORKEY) with Convention=>Stdcall;
GetDC:access procedure(THIS:LPIDirectDrawSurface7;Arg2:access HDC) with Convention=>Stdcall;
GetFlipStatus:access procedure(THIS:LPIDirectDrawSurface7;Arg2:DWORD) with Convention=>Stdcall;
GetOverlayPosition:access procedure(THIS:LPIDirectDrawSurface7;Arg2:LPLONG;Arg3:LPLONG) with Convention=>Stdcall;
GetPalette:access procedure(THIS:LPIDirectDrawSurface7;Arg2:LPLPDIRECTDRAWPALETTE) with Convention=>Stdcall;
GetPixelFormat:access procedure(THIS:LPIDirectDrawSurface7;Arg2:LPDDPIXELFORMAT) with Convention=>Stdcall;
GetSurfaceDesc:access procedure(THIS:LPIDirectDrawSurface7;Arg2:LPDDSURFACEDESC2) with Convention=>Stdcall;
Initialize:access procedure(THIS:LPIDirectDrawSurface7;Arg2:LPDIRECTDRAW;Arg3:LPDDSURFACEDESC2) with Convention=>Stdcall;
IsLost:access procedure(THIS:LPIDirectDrawSurface7) with Convention=>Stdcall;
Lock:access procedure(THIS:LPIDirectDrawSurface7;Arg2:LPRECT;Arg3:LPDDSURFACEDESC2;Arg4:DWORD;Arg5:winnt.HANDLE) with Convention=>Stdcall;
ReleaseDC:access procedure(THIS:LPIDirectDrawSurface7;Arg2:HDC) with Convention=>Stdcall;
Restore:access procedure(THIS:LPIDirectDrawSurface7) with Convention=>Stdcall;
SetClipper:access procedure(THIS:LPIDirectDrawSurface7;Arg2:LPDIRECTDRAWCLIPPER) with Convention=>Stdcall;
SetColorKey:access procedure(THIS:LPIDirectDrawSurface7;Arg2:DWORD;Arg3:LPDDCOLORKEY) with Convention=>Stdcall;
SetOverlayPosition:access procedure(THIS:LPIDirectDrawSurface7;Arg2:LONG;Arg3:LONG) with Convention=>Stdcall;
SetPalette:access procedure(THIS:LPIDirectDrawSurface7;Arg2:LPDIRECTDRAWPALETTE) with Convention=>Stdcall;
Unlock:access procedure(THIS:LPIDirectDrawSurface7;Arg2:LPRECT) with Convention=>Stdcall;
UpdateOverlay:access procedure(THIS:LPIDirectDrawSurface7;Arg2:LPRECT;Arg3:LPDIRECTDRAWSURFACE7;Arg4:LPRECT;Arg5:DWORD;Arg6:LPDDOVERLAYFX) with Convention=>Stdcall;
UpdateOverlayDisplay:access procedure(THIS:LPIDirectDrawSurface7;Arg2:DWORD) with Convention=>Stdcall;
UpdateOverlayZOrder:access procedure(THIS:LPIDirectDrawSurface7;Arg2:DWORD;Arg3:LPDIRECTDRAWSURFACE7) with Convention=>Stdcall;
GetDDInterface:access procedure(THIS:LPIDirectDrawSurface7;Arg2:LPLPVOID) with Convention=>Stdcall;
PageLock:access procedure(THIS:LPIDirectDrawSurface7;Arg2:DWORD) with Convention=>Stdcall;
PageUnlock:access procedure(THIS:LPIDirectDrawSurface7;Arg2:DWORD) with Convention=>Stdcall;
SetSurfaceDesc:access procedure(THIS:LPIDirectDrawSurface7;Arg2:LPDDSURFACEDESC2;Arg3:DWORD) with Convention=>Stdcall;
SetPrivateData:access procedure(THIS:LPIDirectDrawSurface7;Arg2:REFGUID;Arg3:LPVOID;Arg4:DWORD;Arg5:DWORD) with Convention=>Stdcall;
GetPrivateData:access procedure(THIS:LPIDirectDrawSurface7;Arg2:REFGUID;Arg3:LPVOID;Arg4:LPDWORD) with Convention=>Stdcall;
FreePrivateData:access procedure(THIS:LPIDirectDrawSurface7;Arg2:REFGUID) with Convention=>Stdcall;
GetUniquenessValue:access procedure(THIS:LPIDirectDrawSurface7;Arg2:LPDWORD) with Convention=>Stdcall;
ChangeUniquenessValue:access procedure(THIS:LPIDirectDrawSurface7) with Convention=>Stdcall;
SetPriority:access procedure(THIS:LPIDirectDrawSurface7;Arg2:DWORD) with Convention=>Stdcall;
GetPriority:access procedure(THIS:LPIDirectDrawSurface7;Arg2:LPDWORD) with Convention=>Stdcall;
SetLOD:access procedure(THIS:LPIDirectDrawSurface7;Arg2:DWORD) with Convention=>Stdcall;
GetLOD:access procedure(THIS:LPIDirectDrawSurface7;Arg2:LPDWORD) with Convention=>Stdcall;
end record;
type IDirectDrawColorControl is record
QueryInterface:access procedure(THIS:LPIDirectDrawColorControl;riid:REFIID;ppvObj:LPLPVOID) with Convention=>Stdcall;
AddRef:access function(THIS:LPIDirectDrawColorControl) return ULONG with Convention=>Stdcall;
Release:access function(THIS:LPIDirectDrawColorControl) return ULONG with Convention=>Stdcall;
GetColorControls:access procedure(THIS:LPIDirectDrawColorControl;Arg2:LPDDCOLORCONTROL) with Convention=>Stdcall;
SetColorControls:access procedure(THIS:LPIDirectDrawColorControl;Arg2:LPDDCOLORCONTROL) with Convention=>Stdcall;
end record;
type IDirectDrawGammaControl is record
QueryInterface:access procedure(THIS:LPIDirectDrawGammaControl;riid:REFIID;ppvObj:LPLPVOID) with Convention=>Stdcall;
AddRef:access function(THIS:LPIDirectDrawGammaControl) return ULONG with Convention=>Stdcall;
Release:access function(THIS:LPIDirectDrawGammaControl) return ULONG with Convention=>Stdcall;
GetGammaRamp:access procedure(THIS:LPIDirectDrawGammaControl;Arg2:DWORD;Arg3:LPDDGAMMARAMP) with Convention=>Stdcall;
SetGammaRamp:access procedure(THIS:LPIDirectDrawGammaControl;Arg2:DWORD;Arg3:LPDDGAMMARAMP) with Convention=>Stdcall;
end record;
type tagDDSURFACEDESC_U1(b:Boolean:=True) is record
case b is
when True=>
lPitch: LONG;
when False=>
dwLinearSize: DWORD;
end case;
end record with Unchecked_Union;
type tagDDSURFACEDESC_U2(i:Integer:=0) is record
case i is
when 0=>
dwMipMapCount: DWORD;
when 1=>
dwZBufferBitDepth: DWORD;
when others=>
dwRefreshRate: DWORD;
end case;
end record with Unchecked_Union;
type tagDDSURFACEDESC is record
dwSize: DWORD;
dwFlags: DWORD;
dwHeight: DWORD;
dwWidth: DWORD;
u1:tagDDSURFACEDESC_U1;
dwBackBufferCount: DWORD;
u2:tagDDSURFACEDESC_U2;
dwAlphaBitDepth: DWORD;
dwReserved: DWORD;
lpSurface: LPVOID;
ddckCKDestOverlay: DDCOLORKEY;
ddckCKDestBlt: DDCOLORKEY;
ddckCKSrcOverlay: DDCOLORKEY;
ddckCKSrcBlt: DDCOLORKEY;
ddpfPixelFormat: DDPIXELFORMAT;
ddsCaps: ddraw.DDSCAPS;
end record;
subtype DDSURFACEDESC is tagDDSURFACEDESC;
--type LPDDSURFACEDESC is access all tagDDSURFACEDESC;
type tagDDSURFACEDESC2_U1(b:Boolean:=True) is record
case b is
when True=>
lPitch: LONG;
when False=>
dwLinearSize: DWORD;
end case;
end record with Unchecked_Union;
type tagDDSURFACEDESC2_U5(b:Boolean:=True) is record
case b is
when True=>
dwBackBufferCount: DWORD;
when False=>
dwDepth: DWORD;
end case;
end record with Unchecked_Union;
type tagDDSURFACEDESC2_U2(i:Integer:=0) is record
case i is
when 0=>
dwMipMapCount: DWORD;
when 1=>
dwRefreshRate: DWORD;
when others=>
dwSrcVBHandle: DWORD;
end case;
end record with Unchecked_Union;
type tagDDSURFACEDESC2_U3(b:Boolean:=True) is record
case b is
when True=>
ddckCKDestOverlay: DDCOLORKEY;
when False=>
dwEmptyFaceColor: DWORD;
end case;
end record with Unchecked_Union;
type tagDDSURFACEDESC2_U4(b:Boolean:=True) is record
case b is
when True=>
ddpfPixelFormat: DDPIXELFORMAT;
when False=>
dwFVF: DWORD;
end case;
end record with Unchecked_Union;
type tagDDSURFACEDESC2 is record
dwSize: DWORD;
dwFlags: DWORD;
dwHeight: DWORD;
dwWidth: DWORD;
u1:tagDDSURFACEDESC2_U1;
u5:tagDDSURFACEDESC2_U5;
u2:tagDDSURFACEDESC2_U2;
dwAlphaBitDepth: DWORD;
dwReserved: DWORD;
lpSurface: LPVOID;
u3:tagDDSURFACEDESC2_U3;
ddckCKDestBlt: DDCOLORKEY;
ddckCKSrcOverlay: DDCOLORKEY;
ddckCKSrcBlt: DDCOLORKEY;
u4:tagDDSURFACEDESC2_U4;
ddsCaps: DDSCAPS2;
dwTextureStage: DWORD;
end record;
subtype DDSURFACEDESC2 is tagDDSURFACEDESC2;
--type LPDDSURFACEDESC2 is access all tagDDSURFACEDESC2;
DDSD_CAPS : constant := 16#00000001#;
DDSD_HEIGHT : constant := 16#00000002#;
DDSD_WIDTH : constant := 16#00000004#;
DDSD_PITCH : constant := 16#00000008#;
DDSD_BACKBUFFERCOUNT : constant := 16#00000020#;
DDSD_ZBUFFERBITDEPTH : constant := 16#00000040#;
DDSD_ALPHABITDEPTH : constant := 16#00000080#;
DDSD_LPSURFACE : constant := 16#00000800#;
DDSD_PIXELFORMAT : constant := 16#00001000#;
DDSD_CKDESTOVERLAY : constant := 16#00002000#;
DDSD_CKDESTBLT : constant := 16#00004000#;
DDSD_CKSRCOVERLAY : constant := 16#00008000#;
DDSD_CKSRCBLT : constant := 16#00010000#;
DDSD_MIPMAPCOUNT : constant := 16#00020000#;
DDSD_REFRESHRATE : constant := 16#00040000#;
DDSD_LINEARSIZE : constant := 16#00080000#;
DDSD_TEXTURESTAGE : constant := 16#00100000#;
DDSD_FVF : constant := 16#00200000#;
DDSD_SRCVBHANDLE : constant := 16#00400000#;
DDSD_DEPTH : constant := 16#00800000#;
DDSD_ALL : constant := 16#00fff9ee#;
type tagDDOPTSURFACEDESC is record
dwSize: DWORD;
dwFlags: DWORD;
ddSCaps: DDSCAPS2;
ddOSCaps: ddraw.DDOSCAPS;
guid: rpcdce.GUID;
dwCompressionRatio: DWORD;
end record;
subtype DDOPTSURFACEDESC is tagDDOPTSURFACEDESC;
type LPDDOPTSURFACEDESC is access all tagDDOPTSURFACEDESC;
DDOSD_GUID : constant := 16#00000001#;
DDOSD_COMPRESSION_RATIO : constant := 16#00000002#;
DDOSD_SCAPS : constant := 16#00000004#;
DDOSD_OSCAPS : constant := 16#00000008#;
DDOSD_ALL : constant := 16#0000000f#;
DDOSDCAPS_OPTCOMPRESSED : constant := 16#00000001#;
DDOSDCAPS_OPTREORDERED : constant := 16#00000002#;
DDOSDCAPS_MONOLITHICMIPMAP : constant := 16#00000004#;
DDOSDCAPS_VALIDSCAPS : constant := 16#30004800#;
DDOSDCAPS_VALIDOSCAPS : constant := 16#00000007#;
type tagDDCOLORCONTROL is record
dwSize: DWORD;
dwFlags: DWORD;
lBrightness: LONG;
lContrast: LONG;
lHue: LONG;
lSaturation: LONG;
lSharpness: LONG;
lGamma: LONG;
lColorEnable: LONG;
dwReserved1: DWORD;
end record;
subtype DDCOLORCONTROL is tagDDCOLORCONTROL;
--type LPDDCOLORCONTROL is access all tagDDCOLORCONTROL;
DDCOLOR_BRIGHTNESS : constant := 16#00000001#;
DDCOLOR_CONTRAST : constant := 16#00000002#;
DDCOLOR_HUE : constant := 16#00000004#;
DDCOLOR_SATURATION : constant := 16#00000008#;
DDCOLOR_SHARPNESS : constant := 16#00000010#;
DDCOLOR_GAMMA : constant := 16#00000020#;
DDCOLOR_COLORENABLE : constant := 16#00000040#;
DDSCAPS_RESERVED1 : constant := 16#00000001#;
DDSCAPS_ALPHA : constant := 16#00000002#;
DDSCAPS_BACKBUFFER : constant := 16#00000004#;
DDSCAPS_COMPLEX : constant := 16#00000008#;
DDSCAPS_FLIP : constant := 16#00000010#;
DDSCAPS_FRONTBUFFER : constant := 16#00000020#;
DDSCAPS_OFFSCREENPLAIN : constant := 16#00000040#;
DDSCAPS_OVERLAY : constant := 16#00000080#;
DDSCAPS_PALETTE : constant := 16#00000100#;
DDSCAPS_PRIMARYSURFACE : constant := 16#00000200#;
DDSCAPS_RESERVED3 : constant := 16#00000400#;
DDSCAPS_PRIMARYSURFACELEFT : constant := 16#00000000#;
DDSCAPS_SYSTEMMEMORY : constant := 16#00000800#;
DDSCAPS_TEXTURE : constant := 16#00001000#;
DDSCAPS_3DDEVICE : constant := 16#00002000#;
DDSCAPS_VIDEOMEMORY : constant := 16#00004000#;
DDSCAPS_VISIBLE : constant := 16#00008000#;
DDSCAPS_WRITEONLY : constant := 16#00010000#;
DDSCAPS_ZBUFFER : constant := 16#00020000#;
DDSCAPS_OWNDC : constant := 16#00040000#;
DDSCAPS_LIVEVIDEO : constant := 16#00080000#;
DDSCAPS_HWCODEC : constant := 16#00100000#;
DDSCAPS_MODEX : constant := 16#00200000#;
DDSCAPS_MIPMAP : constant := 16#00400000#;
DDSCAPS_RESERVED2 : constant := 16#00800000#;
DDSCAPS_ALLOCONLOAD : constant := 16#04000000#;
DDSCAPS_VIDEOPORT : constant := 16#08000000#;
DDSCAPS_LOCALVIDMEM : constant := 16#10000000#;
DDSCAPS_NONLOCALVIDMEM : constant := 16#20000000#;
DDSCAPS_STANDARDVGAMODE : constant := 16#40000000#;
DDSCAPS_OPTIMIZED : constant := 16#80000000#;
DDSCAPS2_RESERVED4 : constant := 16#00000002#;
DDSCAPS2_HARDWAREDEINTERLACE : constant := 16#00000000#;
DDSCAPS2_HINTDYNAMIC : constant := 16#00000004#;
DDSCAPS2_HINTSTATIC : constant := 16#00000008#;
DDSCAPS2_TEXTUREMANAGE : constant := 16#00000010#;
DDSCAPS2_RESERVED1 : constant := 16#00000020#;
DDSCAPS2_RESERVED2 : constant := 16#00000040#;
DDSCAPS2_OPAQUE : constant := 16#00000080#;
DDSCAPS2_HINTANTIALIASING : constant := 16#00000100#;
DDSCAPS2_CUBEMAP : constant := 16#00000200#;
DDSCAPS2_CUBEMAP_POSITIVEX : constant := 16#00000400#;
DDSCAPS2_CUBEMAP_NEGATIVEX : constant := 16#00000800#;
DDSCAPS2_CUBEMAP_POSITIVEY : constant := 16#00001000#;
DDSCAPS2_CUBEMAP_NEGATIVEY : constant := 16#00002000#;
DDSCAPS2_CUBEMAP_POSITIVEZ : constant := 16#00004000#;
DDSCAPS2_CUBEMAP_NEGATIVEZ : constant := 16#00008000#;
DDSCAPS2_CUBEMAP_ALLFACES : constant dword:= ( DDSCAPS2_CUBEMAP_POSITIVEX or
DDSCAPS2_CUBEMAP_NEGATIVEX or
DDSCAPS2_CUBEMAP_POSITIVEY or
DDSCAPS2_CUBEMAP_NEGATIVEY or
DDSCAPS2_CUBEMAP_POSITIVEZ or
DDSCAPS2_CUBEMAP_NEGATIVEZ );
DDSCAPS2_MIPMAPSUBLEVEL : constant := 16#00010000#;
DDSCAPS2_D3DTEXTUREMANAGE : constant := 16#00020000#;
DDSCAPS2_DONOTPERSIST : constant := 16#00040000#;
DDSCAPS2_STEREOSURFACELEFT : constant := 16#00080000#;
DDSCAPS2_VOLUME : constant := 16#00200000#;
DDSCAPS2_NOTUSERLOCKABLE : constant := 16#00400000#;
DDSCAPS2_POINTS : constant := 16#00800000#;
DDSCAPS2_RTPATCHES : constant := 16#01000000#;
DDSCAPS2_NPATCHES : constant := 16#02000000#;
DDSCAPS2_RESERVED3 : constant := 16#04000000#;
DDSCAPS2_DISCARDBACKBUFFER : constant := 16#10000000#;
DDSCAPS2_ENABLEALPHACHANNEL : constant := 16#20000000#;
DDSCAPS2_EXTENDEDFORMATPRIMARY : constant := 16#40000000#;
DDSCAPS2_ADDITIONALPRIMARY : constant := 16#80000000#;
DDSCAPS3_MULTISAMPLE_MASK : constant := 16#0000001F#;
DDSCAPS3_MULTISAMPLE_QUALITY_MASK : constant := 16#000000E0#;
DDSCAPS3_MULTISAMPLE_QUALITY_SHIFT : constant := 5;
DDSCAPS3_RESERVED1 : constant := 16#00000100#;
DDSCAPS3_RESERVED2 : constant := 16#00000200#;
DDSCAPS3_LIGHTWEIGHTMIPMAP : constant := 16#00000400#;
DDSCAPS3_AUTOGENMIPMAP : constant := 16#00000800#;
DDSCAPS3_DMAP : constant := 16#00001000#;
DDSCAPS3_CREATESHAREDRESOURCE : constant := 16#00002000#;
DDSCAPS3_READONLYRESOURCE : constant := 16#00004000#;
DDSCAPS3_OPENSHAREDRESOURCE : constant := 16#00008000#;
DDCAPS_3D : constant := 16#00000001#;
DDCAPS_ALIGNBOUNDARYDEST : constant := 16#00000002#;
DDCAPS_ALIGNSIZEDEST : constant := 16#00000004#;
DDCAPS_ALIGNBOUNDARYSRC : constant := 16#00000008#;
DDCAPS_ALIGNSIZESRC : constant := 16#00000010#;
DDCAPS_ALIGNSTRIDE : constant := 16#00000020#;
DDCAPS_BLT : constant := 16#00000040#;
DDCAPS_BLTQUEUE : constant := 16#00000080#;
DDCAPS_BLTFOURCC : constant := 16#00000100#;
DDCAPS_BLTSTRETCH : constant := 16#00000200#;
DDCAPS_GDI : constant := 16#00000400#;
DDCAPS_OVERLAY : constant := 16#00000800#;
DDCAPS_OVERLAYCANTCLIP : constant := 16#00001000#;
DDCAPS_OVERLAYFOURCC : constant := 16#00002000#;
DDCAPS_OVERLAYSTRETCH : constant := 16#00004000#;
DDCAPS_PALETTE : constant := 16#00008000#;
DDCAPS_PALETTEVSYNC : constant := 16#00010000#;
DDCAPS_READSCANLINE : constant := 16#00020000#;
DDCAPS_RESERVED1 : constant := 16#00040000#;
DDCAPS_VBI : constant := 16#00080000#;
DDCAPS_ZBLTS : constant := 16#00100000#;
DDCAPS_ZOVERLAYS : constant := 16#00200000#;
DDCAPS_COLORKEY : constant := 16#00400000#;
DDCAPS_ALPHA : constant := 16#00800000#;
DDCAPS_COLORKEYHWASSIST : constant := 16#01000000#;
DDCAPS_NOHARDWARE : constant := 16#02000000#;
DDCAPS_BLTCOLORFILL : constant := 16#04000000#;
DDCAPS_BANKSWITCHED : constant := 16#08000000#;
DDCAPS_BLTDEPTHFILL : constant := 16#10000000#;
DDCAPS_CANCLIP : constant := 16#20000000#;
DDCAPS_CANCLIPSTRETCHED : constant := 16#40000000#;
DDCAPS_CANBLTSYSMEM : constant := 16#80000000#;
DDCAPS2_CERTIFIED : constant := 16#00000001#;
DDCAPS2_NO2DDURING3DSCENE : constant := 16#00000002#;
DDCAPS2_VIDEOPORT : constant := 16#00000004#;
DDCAPS2_AUTOFLIPOVERLAY : constant := 16#00000008#;
DDCAPS2_CANBOBINTERLEAVED : constant := 16#00000010#;
DDCAPS2_CANBOBNONINTERLEAVED : constant := 16#00000020#;
DDCAPS2_COLORCONTROLOVERLAY : constant := 16#00000040#;
DDCAPS2_COLORCONTROLPRIMARY : constant := 16#00000080#;
DDCAPS2_CANDROPZ16BIT : constant := 16#00000100#;
DDCAPS2_NONLOCALVIDMEM : constant := 16#00000200#;
DDCAPS2_NONLOCALVIDMEMCAPS : constant := 16#00000400#;
DDCAPS2_NOPAGELOCKREQUIRED : constant := 16#00000800#;
DDCAPS2_WIDESURFACES : constant := 16#00001000#;
DDCAPS2_CANFLIPODDEVEN : constant := 16#00002000#;
DDCAPS2_CANBOBHARDWARE : constant := 16#00004000#;
DDCAPS2_COPYFOURCC : constant := 16#00008000#;
DDCAPS2_PRIMARYGAMMA : constant := 16#00020000#;
DDCAPS2_CANRENDERWINDOWED : constant := 16#00080000#;
DDCAPS2_CANCALIBRATEGAMMA : constant := 16#00100000#;
DDCAPS2_FLIPINTERVAL : constant := 16#00200000#;
DDCAPS2_FLIPNOVSYNC : constant := 16#00400000#;
DDCAPS2_CANMANAGETEXTURE : constant := 16#00800000#;
DDCAPS2_TEXMANINNONLOCALVIDMEM : constant := 16#01000000#;
DDCAPS2_STEREO : constant := 16#02000000#;
DDCAPS2_SYSTONONLOCAL_AS_SYSTOLOCAL : constant := 16#04000000#;
DDCAPS2_RESERVED1 : constant := 16#08000000#;
DDCAPS2_CANMANAGERESOURCE : constant := 16#10000000#;
DDCAPS2_DYNAMICTEXTURES : constant := 16#20000000#;
DDCAPS2_CANAUTOGENMIPMAP : constant := 16#40000000#;
DDCAPS2_CANSHARERESOURCE : constant := 16#80000000#;
DDFXALPHACAPS_BLTALPHAEDGEBLEND : constant := 16#00000001#;
DDFXALPHACAPS_BLTALPHAPIXELS : constant := 16#00000002#;
DDFXALPHACAPS_BLTALPHAPIXELSNEG : constant := 16#00000004#;
DDFXALPHACAPS_BLTALPHASURFACES : constant := 16#00000008#;
DDFXALPHACAPS_BLTALPHASURFACESNEG : constant := 16#00000010#;
DDFXALPHACAPS_OVERLAYALPHAEDGEBLEND : constant := 16#00000020#;
DDFXALPHACAPS_OVERLAYALPHAPIXELS : constant := 16#00000040#;
DDFXALPHACAPS_OVERLAYALPHAPIXELSNEG : constant := 16#00000080#;
DDFXALPHACAPS_OVERLAYALPHASURFACES : constant := 16#00000100#;
DDFXALPHACAPS_OVERLAYALPHASURFACESNEG : constant := 16#00000200#;
DDFXCAPS_BLTARITHSTRETCHY : constant := 16#00000020#;
DDFXCAPS_BLTARITHSTRETCHYN : constant := 16#00000010#;
DDFXCAPS_BLTMIRRORLEFTRIGHT : constant := 16#00000040#;
DDFXCAPS_BLTMIRRORUPDOWN : constant := 16#00000080#;
DDFXCAPS_BLTROTATION : constant := 16#00000100#;
DDFXCAPS_BLTROTATION90 : constant := 16#00000200#;
DDFXCAPS_BLTSHRINKX : constant := 16#00000400#;
DDFXCAPS_BLTSHRINKXN : constant := 16#00000800#;
DDFXCAPS_BLTSHRINKY : constant := 16#00001000#;
DDFXCAPS_BLTSHRINKYN : constant := 16#00002000#;
DDFXCAPS_BLTSTRETCHX : constant := 16#00004000#;
DDFXCAPS_BLTSTRETCHXN : constant := 16#00008000#;
DDFXCAPS_BLTSTRETCHY : constant := 16#00010000#;
DDFXCAPS_BLTSTRETCHYN : constant := 16#00020000#;
DDFXCAPS_OVERLAYARITHSTRETCHY : constant := 16#00040000#;
DDFXCAPS_OVERLAYARITHSTRETCHYN : constant := 16#00000008#;
DDFXCAPS_OVERLAYSHRINKX : constant := 16#00080000#;
DDFXCAPS_OVERLAYSHRINKXN : constant := 16#00100000#;
DDFXCAPS_OVERLAYSHRINKY : constant := 16#00200000#;
DDFXCAPS_OVERLAYSHRINKYN : constant := 16#00400000#;
DDFXCAPS_OVERLAYSTRETCHX : constant := 16#00800000#;
DDFXCAPS_OVERLAYSTRETCHXN : constant := 16#01000000#;
DDFXCAPS_OVERLAYSTRETCHY : constant := 16#02000000#;
DDFXCAPS_OVERLAYSTRETCHYN : constant := 16#04000000#;
DDFXCAPS_OVERLAYMIRRORLEFTRIGHT : constant := 16#08000000#;
DDFXCAPS_OVERLAYMIRRORUPDOWN : constant := 16#10000000#;
DDFXCAPS_OVERLAYDEINTERLACE : constant := 16#20000000#;
DDFXCAPS_BLTALPHA : constant := 16#00000001#;
DDFXCAPS_BLTFILTER : constant := DDFXCAPS_BLTARITHSTRETCHY;
DDFXCAPS_OVERLAYALPHA : constant := 16#00000004#;
DDFXCAPS_OVERLAYFILTER : constant := DDFXCAPS_OVERLAYARITHSTRETCHY;
DDSVCAPS_RESERVED1 : constant := 16#00000001#;
DDSVCAPS_RESERVED2 : constant := 16#00000002#;
DDSVCAPS_RESERVED3 : constant := 16#00000004#;
DDSVCAPS_RESERVED4 : constant := 16#00000008#;
DDSVCAPS_STEREOSEQUENTIAL : constant := 16#00000010#;
DDPCAPS_4BIT : constant := 16#00000001#;
DDPCAPS_8BITENTRIES : constant := 16#00000002#;
DDPCAPS_8BIT : constant := 16#00000004#;
DDPCAPS_INITIALIZE : constant := 16#00000000#;
DDPCAPS_PRIMARYSURFACE : constant := 16#00000010#;
DDPCAPS_PRIMARYSURFACELEFT : constant := 16#00000020#;
DDPCAPS_ALLOW256 : constant := 16#00000040#;
DDPCAPS_VSYNC : constant := 16#00000080#;
DDPCAPS_1BIT : constant := 16#00000100#;
DDPCAPS_2BIT : constant := 16#00000200#;
DDPCAPS_ALPHA : constant := 16#00000400#;
DDSPD_IUNKNOWNPOINTER : constant := 16#00000001#;
DDSPD_VOLATILE : constant := 16#00000002#;
DDBD_1 : constant := 16#00004000#;
DDBD_2 : constant := 16#00002000#;
DDBD_4 : constant := 16#00001000#;
DDBD_8 : constant := 16#00000800#;
DDBD_16 : constant := 16#00000400#;
DDBD_24 : constant := 16#00000200#;
DDBD_32 : constant := 16#00000100#;
DDCKEY_COLORSPACE : constant := 16#00000001#;
DDCKEY_DESTBLT : constant := 16#00000002#;
DDCKEY_DESTOVERLAY : constant := 16#00000004#;
DDCKEY_SRCBLT : constant := 16#00000008#;
DDCKEY_SRCOVERLAY : constant := 16#00000010#;
DDCKEYCAPS_DESTBLT : constant := 16#00000001#;
DDCKEYCAPS_DESTBLTCLRSPACE : constant := 16#00000002#;
DDCKEYCAPS_DESTBLTCLRSPACEYUV : constant := 16#00000004#;
DDCKEYCAPS_DESTBLTYUV : constant := 16#00000008#;
DDCKEYCAPS_DESTOVERLAY : constant := 16#00000010#;
DDCKEYCAPS_DESTOVERLAYCLRSPACE : constant := 16#00000020#;
DDCKEYCAPS_DESTOVERLAYCLRSPACEYUV : constant := 16#00000040#;
DDCKEYCAPS_DESTOVERLAYONEACTIVE : constant := 16#00000080#;
DDCKEYCAPS_DESTOVERLAYYUV : constant := 16#00000100#;
DDCKEYCAPS_SRCBLT : constant := 16#00000200#;
DDCKEYCAPS_SRCBLTCLRSPACE : constant := 16#00000400#;
DDCKEYCAPS_SRCBLTCLRSPACEYUV : constant := 16#00000800#;
DDCKEYCAPS_SRCBLTYUV : constant := 16#00001000#;
DDCKEYCAPS_SRCOVERLAY : constant := 16#00002000#;
DDCKEYCAPS_SRCOVERLAYCLRSPACE : constant := 16#00004000#;
DDCKEYCAPS_SRCOVERLAYCLRSPACEYUV : constant := 16#00008000#;
DDCKEYCAPS_SRCOVERLAYONEACTIVE : constant := 16#00010000#;
DDCKEYCAPS_SRCOVERLAYYUV : constant := 16#00020000#;
DDCKEYCAPS_NOCOSTOVERLAY : constant := 16#00040000#;
DDPF_ALPHAPIXELS : constant := 16#00000001#;
DDPF_ALPHA : constant := 16#00000002#;
DDPF_FOURCC : constant := 16#00000004#;
DDPF_PALETTEINDEXED4 : constant := 16#00000008#;
DDPF_PALETTEINDEXEDTO8 : constant := 16#00000010#;
DDPF_PALETTEINDEXED8 : constant := 16#00000020#;
DDPF_RGB : constant := 16#00000040#;
DDPF_COMPRESSED : constant := 16#00000080#;
DDPF_RGBTOYUV : constant := 16#00000100#;
DDPF_YUV : constant := 16#00000200#;
DDPF_ZBUFFER : constant := 16#00000400#;
DDPF_PALETTEINDEXED1 : constant := 16#00000800#;
DDPF_PALETTEINDEXED2 : constant := 16#00001000#;
DDPF_ZPIXELS : constant := 16#00002000#;
DDPF_STENCILBUFFER : constant := 16#00004000#;
DDPF_ALPHAPREMULT : constant := 16#00008000#;
DDPF_LUMINANCE : constant := 16#00020000#;
DDPF_BUMPLUMINANCE : constant := 16#00040000#;
DDPF_BUMPDUDV : constant := 16#00080000#;
DDENUMSURFACES_ALL : constant := 16#00000001#;
DDENUMSURFACES_MATCH : constant := 16#00000002#;
DDENUMSURFACES_NOMATCH : constant := 16#00000004#;
DDENUMSURFACES_CANBECREATED : constant := 16#00000008#;
DDENUMSURFACES_DOESEXIST : constant := 16#00000010#;
DDSDM_STANDARDVGAMODE : constant := 16#00000001#;
DDEDM_REFRESHRATES : constant := 16#00000001#;
DDEDM_STANDARDVGAMODES : constant := 16#00000002#;
DDSCL_FULLSCREEN : constant := 16#00000001#;
DDSCL_ALLOWREBOOT : constant := 16#00000002#;
DDSCL_NOWINDOWCHANGES : constant := 16#00000004#;
DDSCL_NORMAL : constant := 16#00000008#;
DDSCL_EXCLUSIVE : constant := 16#00000010#;
DDSCL_ALLOWMODEX : constant := 16#00000040#;
DDSCL_SETFOCUSWINDOW : constant := 16#00000080#;
DDSCL_SETDEVICEWINDOW : constant := 16#00000100#;
DDSCL_CREATEDEVICEWINDOW : constant := 16#00000200#;
DDSCL_MULTITHREADED : constant := 16#00000400#;
DDSCL_FPUSETUP : constant := 16#00000800#;
DDSCL_FPUPRESERVE : constant := 16#00001000#;
DDBLT_ALPHADEST : constant := 16#00000001#;
DDBLT_ALPHADESTCONSTOVERRIDE : constant := 16#00000002#;
DDBLT_ALPHADESTNEG : constant := 16#00000004#;
DDBLT_ALPHADESTSURFACEOVERRIDE : constant := 16#00000008#;
DDBLT_ALPHAEDGEBLEND : constant := 16#00000010#;
DDBLT_ALPHASRC : constant := 16#00000020#;
DDBLT_ALPHASRCCONSTOVERRIDE : constant := 16#00000040#;
DDBLT_ALPHASRCNEG : constant := 16#00000080#;
DDBLT_ALPHASRCSURFACEOVERRIDE : constant := 16#00000100#;
DDBLT_ASYNC : constant := 16#00000200#;
DDBLT_COLORFILL : constant := 16#00000400#;
DDBLT_DDFX : constant := 16#00000800#;
DDBLT_DDROPS : constant := 16#00001000#;
DDBLT_KEYDEST : constant := 16#00002000#;
DDBLT_KEYDESTOVERRIDE : constant := 16#00004000#;
DDBLT_KEYSRC : constant := 16#00008000#;
DDBLT_KEYSRCOVERRIDE : constant := 16#00010000#;
DDBLT_ROP : constant := 16#00020000#;
DDBLT_ROTATIONANGLE : constant := 16#00040000#;
DDBLT_ZBUFFER : constant := 16#00080000#;
DDBLT_ZBUFFERDESTCONSTOVERRIDE : constant := 16#00100000#;
DDBLT_ZBUFFERDESTOVERRIDE : constant := 16#00200000#;
DDBLT_ZBUFFERSRCCONSTOVERRIDE : constant := 16#00400000#;
DDBLT_ZBUFFERSRCOVERRIDE : constant := 16#00800000#;
DDBLT_WAIT : constant := 16#01000000#;
DDBLT_DEPTHFILL : constant := 16#02000000#;
DDBLT_DONOTWAIT : constant := 16#08000000#;
DDBLT_PRESENTATION : constant := 16#10000000#;
DDBLT_LAST_PRESENTATION : constant := 16#20000000#;
DDBLT_EXTENDED_FLAGS : constant := 16#40000000#;
DDBLT_EXTENDED_LINEAR_CONTENT : constant := 16#00000004#;
DDBLTFAST_NOCOLORKEY : constant := 16#00000000#;
DDBLTFAST_SRCCOLORKEY : constant := 16#00000001#;
DDBLTFAST_DESTCOLORKEY : constant := 16#00000002#;
DDBLTFAST_WAIT : constant := 16#00000010#;
DDBLTFAST_DONOTWAIT : constant := 16#00000020#;
DDFLIP_WAIT : constant := 16#00000001#;
DDFLIP_EVEN : constant := 16#00000002#;
DDFLIP_ODD : constant := 16#00000004#;
DDFLIP_NOVSYNC : constant := 16#00000008#;
DDFLIP_INTERVAL2 : constant := 16#02000000#;
DDFLIP_INTERVAL3 : constant := 16#03000000#;
DDFLIP_INTERVAL4 : constant := 16#04000000#;
DDFLIP_STEREO : constant := 16#00000010#;
DDFLIP_DONOTWAIT : constant := 16#00000020#;
DDOVER_ALPHADEST : constant := 16#00000001#;
DDOVER_ALPHADESTCONSTOVERRIDE : constant := 16#00000002#;
DDOVER_ALPHADESTNEG : constant := 16#00000004#;
DDOVER_ALPHADESTSURFACEOVERRIDE : constant := 16#00000008#;
DDOVER_ALPHAEDGEBLEND : constant := 16#00000010#;
DDOVER_ALPHASRC : constant := 16#00000020#;
DDOVER_ALPHASRCCONSTOVERRIDE : constant := 16#00000040#;
DDOVER_ALPHASRCNEG : constant := 16#00000080#;
DDOVER_ALPHASRCSURFACEOVERRIDE : constant := 16#00000100#;
DDOVER_HIDE : constant := 16#00000200#;
DDOVER_KEYDEST : constant := 16#00000400#;
DDOVER_KEYDESTOVERRIDE : constant := 16#00000800#;
DDOVER_KEYSRC : constant := 16#00001000#;
DDOVER_KEYSRCOVERRIDE : constant := 16#00002000#;
DDOVER_SHOW : constant := 16#00004000#;
DDOVER_ADDDIRTYRECT : constant := 16#00008000#;
DDOVER_REFRESHDIRTYRECTS : constant := 16#00010000#;
DDOVER_REFRESHALL : constant := 16#00020000#;
DDOVER_DDFX : constant := 16#00080000#;
DDOVER_AUTOFLIP : constant := 16#00100000#;
DDOVER_BOB : constant := 16#00200000#;
DDOVER_OVERRIDEBOBWEAVE : constant := 16#00400000#;
DDOVER_INTERLEAVED : constant := 16#00800000#;
DDOVER_BOBHARDWARE : constant := 16#01000000#;
DDOVER_ARGBSCALEFACTORS : constant := 16#02000000#;
DDOVER_DEGRADEARGBSCALING : constant := 16#04000000#;
DDSETSURFACEDESC_RECREATEDC : constant := 16#00000000#;-- // default;
DDSETSURFACEDESC_PRESERVEDC : constant := 16#00000001#;
DDLOCK_SURFACEMEMORYPTR : constant := 16#00000000#;-- // default;
DDLOCK_WAIT : constant := 16#00000001#;
DDLOCK_EVENT : constant := 16#00000002#;
DDLOCK_READONLY : constant := 16#00000010#;
DDLOCK_WRITEONLY : constant := 16#00000020#;
DDLOCK_NOSYSLOCK : constant := 16#00000800#;
DDLOCK_NOOVERWRITE : constant := 16#00001000#;
DDLOCK_DISCARDCONTENTS : constant := 16#00002000#;
DDLOCK_OKTOSWAP : constant := 16#00002000#;
DDLOCK_DONOTWAIT : constant := 16#00004000#;
DDLOCK_HASVOLUMETEXTUREBOXRECT : constant := 16#00008000#;
DDLOCK_NODIRTYUPDATE : constant := 16#00010000#;
DDBLTFX_ARITHSTRETCHY : constant := 16#00000001#;
DDBLTFX_MIRRORLEFTRIGHT : constant := 16#00000002#;
DDBLTFX_MIRRORUPDOWN : constant := 16#00000004#;
DDBLTFX_NOTEARING : constant := 16#00000008#;
DDBLTFX_ROTATE180 : constant := 16#00000010#;
DDBLTFX_ROTATE270 : constant := 16#00000020#;
DDBLTFX_ROTATE90 : constant := 16#00000040#;
DDBLTFX_ZBUFFERRANGE : constant := 16#00000080#;
DDBLTFX_ZBUFFERBASEDEST : constant := 16#00000100#;
DDOVERFX_ARITHSTRETCHY : constant := 16#00000001#;
DDOVERFX_MIRRORLEFTRIGHT : constant := 16#00000002#;
DDOVERFX_MIRRORUPDOWN : constant := 16#00000004#;
DDOVERFX_DEINTERLACE : constant := 16#00000008#;
DDWAITVB_BLOCKBEGIN : constant := 16#00000001#;
DDWAITVB_BLOCKBEGINEVENT : constant := 16#00000002#;
DDWAITVB_BLOCKEND : constant := 16#00000004#;
DDGFS_CANFLIP : constant := 16#00000001#;
DDGFS_ISFLIPDONE : constant := 16#00000002#;
DDGBS_CANBLT : constant := 16#00000001#;
DDGBS_ISBLTDONE : constant := 16#00000002#;
DDENUMOVERLAYZ_BACKTOFRONT : constant := 16#00000000#;
DDENUMOVERLAYZ_FRONTTOBACK : constant := 16#00000001#;
DDOVERZ_SENDTOFRONT : constant := 16#00000000#;
DDOVERZ_SENDTOBACK : constant := 16#00000001#;
DDOVERZ_MOVEFORWARD : constant := 16#00000002#;
DDOVERZ_MOVEBACKWARD : constant := 16#00000003#;
DDOVERZ_INSERTINFRONTOF : constant := 16#00000004#;
DDOVERZ_INSERTINBACKOF : constant := 16#00000005#;
DDSGR_CALIBRATE : constant := 16#00000001#;
DDSMT_ISTESTREQUIRED : constant := 16#00000001#;
DDEM_MODEPASSED : constant := 16#00000001#;
DDEM_MODEFAILED : constant := 16#00000002#;
DD_OK : constant := 0;
DD_FALSE : constant := 1;
DDENUMRET_CANCEL : constant := 0;
DDENUMRET_OK : constant := 1;
DDERR_ALREADYINITIALIZED : constant HRESULT:= MAKE_DDHRESULT( 5 );
DDERR_CANNOTATTACHSURFACE : constant HRESULT:= MAKE_DDHRESULT( 10 );
DDERR_CANNOTDETACHSURFACE : constant HRESULT:= MAKE_DDHRESULT( 20 );
DDERR_CURRENTLYNOTAVAIL : constant HRESULT:= MAKE_DDHRESULT( 40 );
DDERR_EXCEPTION : constant HRESULT:= MAKE_DDHRESULT( 55 );
DDERR_GENERIC : constant := Winerror.E_FAIL;
DDERR_HEIGHTALIGN : constant HRESULT:= MAKE_DDHRESULT( 90 );
DDERR_INCOMPATIBLEPRIMARY : constant HRESULT:= MAKE_DDHRESULT( 95 );
DDERR_INVALIDCAPS : constant HRESULT:= MAKE_DDHRESULT( 100 );
DDERR_INVALIDCLIPLIST : constant HRESULT:= MAKE_DDHRESULT( 110 );
DDERR_INVALIDMODE : constant HRESULT:= MAKE_DDHRESULT( 120 );
DDERR_INVALIDOBJECT : constant HRESULT:= MAKE_DDHRESULT( 130 );
DDERR_INVALIDPARAMS : constant := Winerror.E_INVALIDARG;
DDERR_INVALIDPIXELFORMAT : constant HRESULT:= MAKE_DDHRESULT( 145 );
DDERR_INVALIDRECT : constant HRESULT:= MAKE_DDHRESULT( 150 );
DDERR_LOCKEDSURFACES : constant HRESULT:= MAKE_DDHRESULT( 160 );
DDERR_NO3D : constant HRESULT:= MAKE_DDHRESULT( 170 );
DDERR_NOALPHAHW : constant HRESULT:= MAKE_DDHRESULT( 180 );
DDERR_NOSTEREOHARDWARE : constant HRESULT:= MAKE_DDHRESULT( 181 );
DDERR_NOSURFACELEFT : constant HRESULT:= MAKE_DDHRESULT( 182 );
DDERR_NOCLIPLIST : constant HRESULT:= MAKE_DDHRESULT( 205 );
DDERR_NOCOLORCONVHW : constant HRESULT:= MAKE_DDHRESULT( 210 );
DDERR_NOCOOPERATIVELEVELSET : constant HRESULT:= MAKE_DDHRESULT( 212 );
DDERR_NOCOLORKEY : constant HRESULT:= MAKE_DDHRESULT( 215 );
DDERR_NOCOLORKEYHW : constant HRESULT:= MAKE_DDHRESULT( 220 );
DDERR_NODIRECTDRAWSUPPORT : constant HRESULT:= MAKE_DDHRESULT( 222 );
DDERR_NOEXCLUSIVEMODE : constant HRESULT:= MAKE_DDHRESULT( 225 );
DDERR_NOFLIPHW : constant HRESULT:= MAKE_DDHRESULT( 230 );
DDERR_NOGDI : constant HRESULT:= MAKE_DDHRESULT( 240 );
DDERR_NOMIRRORHW : constant HRESULT:= MAKE_DDHRESULT( 250 );
DDERR_NOTFOUND : constant HRESULT:= MAKE_DDHRESULT( 255 );
DDERR_NOOVERLAYHW : constant HRESULT:= MAKE_DDHRESULT( 260 );
DDERR_OVERLAPPINGRECTS : constant HRESULT:= MAKE_DDHRESULT( 270 );
DDERR_NORASTEROPHW : constant HRESULT:= MAKE_DDHRESULT( 280 );
DDERR_NOROTATIONHW : constant HRESULT:= MAKE_DDHRESULT( 290 );
DDERR_NOSTRETCHHW : constant HRESULT:= MAKE_DDHRESULT( 310 );
DDERR_NOT4BITCOLOR : constant HRESULT:= MAKE_DDHRESULT( 316 );
DDERR_NOT4BITCOLORINDEX : constant HRESULT:= MAKE_DDHRESULT( 317 );
DDERR_NOT8BITCOLOR : constant HRESULT:= MAKE_DDHRESULT( 320 );
DDERR_NOTEXTUREHW : constant HRESULT:= MAKE_DDHRESULT( 330 );
DDERR_NOVSYNCHW : constant HRESULT:= MAKE_DDHRESULT( 335 );
DDERR_NOZBUFFERHW : constant HRESULT:= MAKE_DDHRESULT( 340 );
DDERR_NOZOVERLAYHW : constant HRESULT:= MAKE_DDHRESULT( 350 );
DDERR_OUTOFCAPS : constant HRESULT:= MAKE_DDHRESULT( 360 );
DDERR_OUTOFMEMORY : constant := Winerror.E_OUTOFMEMORY;
DDERR_OUTOFVIDEOMEMORY : constant HRESULT:= MAKE_DDHRESULT( 380 );
DDERR_OVERLAYCANTCLIP : constant HRESULT:= MAKE_DDHRESULT( 382 );
DDERR_OVERLAYCOLORKEYONLYONEACTIVE : constant HRESULT:= MAKE_DDHRESULT( 384 );
DDERR_PALETTEBUSY : constant HRESULT:= MAKE_DDHRESULT( 387 );
DDERR_COLORKEYNOTSET : constant HRESULT:= MAKE_DDHRESULT( 400 );
DDERR_SURFACEALREADYATTACHED : constant HRESULT:= MAKE_DDHRESULT( 410 );
DDERR_SURFACEALREADYDEPENDENT : constant HRESULT:= MAKE_DDHRESULT( 420 );
DDERR_SURFACEBUSY : constant HRESULT:= MAKE_DDHRESULT( 430 );
DDERR_CANTLOCKSURFACE : constant HRESULT:= MAKE_DDHRESULT( 435 );
DDERR_SURFACEISOBSCURED : constant HRESULT:= MAKE_DDHRESULT( 440 );
DDERR_SURFACELOST : constant HRESULT:= MAKE_DDHRESULT( 450 );
DDERR_SURFACENOTATTACHED : constant HRESULT:= MAKE_DDHRESULT( 460 );
DDERR_TOOBIGHEIGHT : constant HRESULT:= MAKE_DDHRESULT( 470 );
DDERR_TOOBIGSIZE : constant HRESULT:= MAKE_DDHRESULT( 480 );
DDERR_TOOBIGWIDTH : constant HRESULT:= MAKE_DDHRESULT( 490 );
DDERR_UNSUPPORTED : constant := Winerror.E_NOTIMPl;
DDERR_UNSUPPORTEDFORMAT : constant HRESULT:= MAKE_DDHRESULT( 510 );
DDERR_UNSUPPORTEDMASK : constant HRESULT:= MAKE_DDHRESULT( 520 );
DDERR_INVALIDSTREAM : constant HRESULT:= MAKE_DDHRESULT( 521 );
DDERR_VERTICALBLANKINPROGRESS : constant HRESULT:= MAKE_DDHRESULT( 537 );
DDERR_WASSTILLDRAWING : constant HRESULT:= MAKE_DDHRESULT( 540 );
DDERR_DDSCAPSCOMPLEXREQUIRED : constant HRESULT:= MAKE_DDHRESULT( 542 );
DDERR_XALIGN : constant HRESULT:= MAKE_DDHRESULT( 560 );
DDERR_INVALIDDIRECTDRAWGUID : constant HRESULT:= MAKE_DDHRESULT( 561 );
DDERR_DIRECTDRAWALREADYCREATED : constant HRESULT:= MAKE_DDHRESULT( 562 );
DDERR_NODIRECTDRAWHW : constant HRESULT:= MAKE_DDHRESULT( 563 );
DDERR_PRIMARYSURFACEALREADYEXISTS : constant HRESULT:= MAKE_DDHRESULT( 564 );
DDERR_NOEMULATION : constant HRESULT:= MAKE_DDHRESULT( 565 );
DDERR_REGIONTOOSMALL : constant HRESULT:= MAKE_DDHRESULT( 566 );
DDERR_CLIPPERISUSINGHWND : constant HRESULT:= MAKE_DDHRESULT( 567 );
DDERR_NOCLIPPERATTACHED : constant HRESULT:= MAKE_DDHRESULT( 568 );
DDERR_NOHWND : constant HRESULT:= MAKE_DDHRESULT( 569 );
DDERR_HWNDSUBCLASSED : constant HRESULT:= MAKE_DDHRESULT( 570 );
DDERR_HWNDALREADYSET : constant HRESULT:= MAKE_DDHRESULT( 571 );
DDERR_NOPALETTEATTACHED : constant HRESULT:= MAKE_DDHRESULT( 572 );
DDERR_NOPALETTEHW : constant HRESULT:= MAKE_DDHRESULT( 573 );
DDERR_BLTFASTCANTCLIP : constant HRESULT:= MAKE_DDHRESULT( 574 );
DDERR_NOBLTHW : constant HRESULT:= MAKE_DDHRESULT( 575 );
DDERR_NODDROPSHW : constant HRESULT:= MAKE_DDHRESULT( 576 );
DDERR_OVERLAYNOTVISIBLE : constant HRESULT:= MAKE_DDHRESULT( 577 );
DDERR_NOOVERLAYDEST : constant HRESULT:= MAKE_DDHRESULT( 578 );
DDERR_INVALIDPOSITION : constant HRESULT:= MAKE_DDHRESULT( 579 );
DDERR_NOTAOVERLAYSURFACE : constant HRESULT:= MAKE_DDHRESULT( 580 );
DDERR_EXCLUSIVEMODEALREADYSET : constant HRESULT:= MAKE_DDHRESULT( 581 );
DDERR_NOTFLIPPABLE : constant HRESULT:= MAKE_DDHRESULT( 582 );
DDERR_CANTDUPLICATE : constant HRESULT:= MAKE_DDHRESULT( 583 );
DDERR_NOTLOCKED : constant HRESULT:= MAKE_DDHRESULT( 584 );
DDERR_CANTCREATEDC : constant HRESULT:= MAKE_DDHRESULT( 585 );
DDERR_NODC : constant HRESULT:= MAKE_DDHRESULT( 586 );
DDERR_WRONGMODE : constant HRESULT:= MAKE_DDHRESULT( 587 );
DDERR_IMPLICITLYCREATED : constant HRESULT:= MAKE_DDHRESULT( 588 );
DDERR_NOTPALETTIZED : constant HRESULT:= MAKE_DDHRESULT( 589 );
DDERR_UNSUPPORTEDMODE : constant HRESULT:= MAKE_DDHRESULT( 590 );
DDERR_NOMIPMAPHW : constant HRESULT:= MAKE_DDHRESULT( 591 );
DDERR_INVALIDSURFACETYPE : constant HRESULT:= MAKE_DDHRESULT( 592 );
DDERR_NOOPTIMIZEHW : constant HRESULT:= MAKE_DDHRESULT( 600 );
DDERR_NOTLOADED : constant HRESULT:= MAKE_DDHRESULT( 601 );
DDERR_NOFOCUSWINDOW : constant HRESULT:= MAKE_DDHRESULT( 602 );
DDERR_NOTONMIPMAPSUBLEVEL : constant HRESULT:= MAKE_DDHRESULT( 603 );
DDERR_DCALREADYCREATED : constant HRESULT:= MAKE_DDHRESULT( 620 );
DDERR_NONONLOCALVIDMEM : constant HRESULT:= MAKE_DDHRESULT( 630 );
DDERR_CANTPAGELOCK : constant HRESULT:= MAKE_DDHRESULT( 640 );
DDERR_CANTPAGEUNLOCK : constant HRESULT:= MAKE_DDHRESULT( 660 );
DDERR_NOTPAGELOCKED : constant HRESULT:= MAKE_DDHRESULT( 680 );
DDERR_MOREDATA : constant HRESULT:= MAKE_DDHRESULT( 690 );
DDERR_EXPIRED : constant HRESULT:= MAKE_DDHRESULT( 691 );
DDERR_TESTFINISHED : constant HRESULT:= MAKE_DDHRESULT( 692 );
DDERR_NEWMODE : constant HRESULT:= MAKE_DDHRESULT( 693 );
DDERR_D3DNOTINITIALIZED : constant HRESULT:= MAKE_DDHRESULT( 694 );
DDERR_VIDEONOTACTIVE : constant HRESULT:= MAKE_DDHRESULT( 695 );
DDERR_NOMONITORINFORMATION : constant HRESULT:= MAKE_DDHRESULT( 696 );
DDERR_NODRIVERSUPPORT : constant HRESULT:= MAKE_DDHRESULT( 697 );
DDERR_DEVICEDOESNTOWNSURFACE : constant HRESULT:= MAKE_DDHRESULT( 699 );
DDERR_NOTINITIALIZED : constant := CO_E_NOTINITIALIZED;
--
-- THE END.
--
end ddraw;