Ada计算机图形DirectX之ddraw

xiaoxiao2025-03-13  11

---------------------------------------- -- 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;

 

转载请注明原文地址: https://www.6miu.com/read-5025743.html

最新回复(0)