📄 directx.pas
字号:
const lpSrcRect: TRect; dwTrans: DWORD): HResult; stdcall;
function DeleteAttachedSurface(dwFlags: DWORD;
lpDDSAttachedSurface: IDirectDrawSurface4): HResult; stdcall;
function EnumAttachedSurfaces(lpContext: Pointer;
lpEnumSurfacesCallback: TDDEnumSurfacesCallback): HResult; stdcall;
function EnumOverlayZOrders(dwFlags: DWORD; lpContext: Pointer;
lpfnCallback: TDDEnumSurfacesCallback): HResult; stdcall;
function Flip(lpDDSurfaceTargetOverride: IDirectDrawSurface4;
dwFlags: DWORD): HResult; stdcall;
function GetAttachedSurface(var lpDDSCaps: TDDSCaps2;
out lplpDDAttachedSurface: IDirectDrawSurface4): HResult; stdcall;
function GetBltStatus(dwFlags: DWORD): HResult; stdcall;
function GetCaps(var lpDDSCaps: TDDSCaps2): HResult; stdcall;
function GetClipper(out lplpDDClipper: IDirectDrawClipper): HResult; stdcall;
function GetColorKey(dwFlags: DWORD; var lpDDColorKey: TDDColorKey): HResult; stdcall;
function GetDC(var lphDC: HDC): HResult; stdcall;
function GetFlipStatus(dwFlags: DWORD): HResult; stdcall;
function GetOverlayPosition(var lplX, lplY: Longint): HResult; stdcall;
function GetPalette(out lplpDDPalette: IDirectDrawPalette): HResult; stdcall;
function GetPixelFormat(var lpDDPixelFormat: TDDPixelFormat): HResult; stdcall;
function GetSurfaceDesc(var lpDDSurfaceDesc: TDDSurfaceDesc2): HResult; stdcall;
function Initialize(lpDD: IDirectDraw; const lpDDSurfaceDesc: TDDSurfaceDesc2): HResult; stdcall;
function IsLost: HResult; stdcall;
function Lock(lpDestRect: PRect; const lpDDSurfaceDesc: TDDSurfaceDesc;
dwFlags: DWORD; hEvent: THandle): HResult; stdcall;
function ReleaseDC(hDC: HDC): HResult; stdcall;
function Restore: HResult; stdcall;
function SetClipper(lpDDClipper: IDirectDrawClipper): HResult; stdcall;
function SetColorKey(dwFlags: DWORD; const lpDDColorKey: TDDColorKey): HResult; stdcall;
function SetOverlayPosition(lX, lY: Longint): HResult; stdcall;
function SetPalette(lpDDPalette: IDirectDrawPalette): HResult; stdcall;
function Unlock(lpSurfaceData: Pointer): HResult; stdcall;
function UpdateOverlay(const lpSrcRect: TRect; lpDDDestSurface: IDirectDrawSurface4;
const lpDestRect: TRect; dwFlags: DWORD; const lpDDOverlayFx: DDOVERLAYFX): HResult; stdcall;
function UpdateOverlayDisplay(dwFlags: DWORD): HResult; stdcall;
function UpdateOverlayZOrder(dwFlags: DWORD; lpDDSReference: IDirectDrawSurface4): HResult; stdcall;
// IDirectDrawSurface2 methods
function GetDDInterface(out lplpDD: IUnknown): HResult; stdcall;
function PageLock(dwFlags: DWORD): HResult; stdcall;
function PageUnlock(dwFlags: DWORD): HResult; stdcall;
// IDirectDrawSurface3 methods
function SetSurfaceDesc(const lpddsd: TDDSurfaceDesc2; dwFlags: DWORD): HResult; stdcall;
// IDirectDrawSurface4 methods
function SetPrivateData(const guidTag: TGUID; lpData: Pointer;
cbSize: DWORD; dwFlags: DWORD): HResult; stdcall;
function GetPrivateData(const guidTag: TGUID; lpData: Pointer;
var cbSize: DWORD): HResult; stdcall;
function FreePrivateData(const guidTag: TGUID): HResult; stdcall;
function GetUniquenessValue(var lpValue: DWORD): HResult; stdcall;
function ChangeUniquenessValue: HResult; stdcall;
end;
{ IDirectDrawColorControl Interface }
IDirectDrawColorControl = interface(IUnknown)
['{4B9F0EE0-0D7E-11D0-9B06-00A0C903A3B8}']
// IDirectDrawColorControl methods
function GetColorControls(var lpColorControl: TDDColorControl): HResult; stdcall;
function SetColorControls(const lpColorControl: TDDColorControl): HResult; stdcall;
end;
{ IDirectDrawGammaControl Interface }
IDirectDrawGammaControl = interface(IUnknown)
['{69C11C3E-B46B-11D1-AD7A-00C04FC29B4E}']
// IDirectDrawGammaControl methods
function GetGammaRamp(dwFlags: DWORD; var lpRampData: TDDGammaRamp): HResult; stdcall;
function SetGammaRamp(dwFlags: DWORD; const lpRampData: TDDGammaRamp): HResult; stdcall;
end;
const
{ Flags for DirectDrawEnumerateEx }
DDENUM_ATTACHEDSECONDARYDEVICES = $00000001;
DDENUM_DETACHEDSECONDARYDEVICES = $00000002;
DDENUM_NONDISPLAYDEVICES = $00000004;
{ Flags for the IDirectDraw4.GetDeviceIdentifier method }
DDGDI_GETHOSTIDENTIFIER = $00000001;
{ ddsCaps field is valid. }
DDSD_CAPS = $00000001; // default
DDSD_HEIGHT = $00000002;
DDSD_WIDTH = $00000004;
DDSD_PITCH = $00000008;
DDSD_BACKBUFFERCOUNT = $00000020;
DDSD_ZBUFFERBITDEPTH = $00000040;
DDSD_ALPHABITDEPTH = $00000080;
DDSD_LPSURFACE = $00000800;
DDSD_PIXELFORMAT = $00001000;
DDSD_CKDESTOVERLAY = $00002000;
DDSD_CKDESTBLT = $00004000;
DDSD_CKSRCOVERLAY = $00008000;
DDSD_CKSRCBLT = $00010000;
DDSD_MIPMAPCOUNT = $00020000;
DDSD_REFRESHRATE = $00040000;
DDSD_LINEARSIZE = $00080000;
DDSD_TEXTURESTAGE = $00100000;
DDSD_ALL = $0007f9ee;
{ DirectDraw Driver Capability Flags }
DDCAPS_3D = $00000001;
DDCAPS_ALIGNBOUNDARYDEST = $00000002;
DDCAPS_ALIGNSIZEDEST = $00000004;
DDCAPS_ALIGNBOUNDARYSRC = $00000008;
DDCAPS_ALIGNSIZESRC = $00000010;
DDCAPS_ALIGNSTRIDE = $00000020;
DDCAPS_BLT = $00000040;
DDCAPS_BLTQUEUE = $00000080;
DDCAPS_BLTFOURCC = $00000100;
DDCAPS_BLTSTRETCH = $00000200;
DDCAPS_GDI = $00000400;
DDCAPS_OVERLAY = $00000800;
DDCAPS_OVERLAYCANTCLIP = $00001000;
DDCAPS_OVERLAYFOURCC = $00002000;
DDCAPS_OVERLAYSTRETCH = $00004000;
DDCAPS_PALETTE = $00008000;
DDCAPS_PALETTEVSYNC = $00010000;
DDCAPS_READSCANLINE = $00020000;
DDCAPS_STEREOVIEW = $00040000;
DDCAPS_VBI = $00080000;
DDCAPS_ZBLTS = $00100000;
DDCAPS_ZOVERLAYS = $00200000;
DDCAPS_COLORKEY = $00400000;
DDCAPS_ALPHA = $00800000;
DDCAPS_COLORKEYHWASSIST = $01000000;
DDCAPS_NOHARDWARE = $02000000;
DDCAPS_BLTCOLORFILL = $04000000;
DDCAPS_BANKSWITCHED = $08000000;
DDCAPS_BLTDEPTHFILL = $10000000;
DDCAPS_CANCLIP = $20000000;
DDCAPS_CANCLIPSTRETCHED = $40000000;
DDCAPS_CANBLTSYSMEM = $80000000;
{ More DirectDraw Driver Capability Flags (dwCaps2) }
DDCAPS2_CERTIFIED = $00000001;
DDCAPS2_NO2DDURING3DSCENE = $00000002;
DDCAPS2_VIDEOPORT = $00000004;
DDCAPS2_AUTOFLIPOVERLAY = $00000008;
DDCAPS2_CANBOBINTERLEAVED = $00000010;
DDCAPS2_CANBOBNONINTERLEAVED = $00000020;
DDCAPS2_COLORCONTROLOVERLAY = $00000040;
DDCAPS2_COLORCONTROLPRIMARY = $00000080;
DDCAPS2_CANDROPZ16BIT = $00000100;
DDCAPS2_NONLOCALVIDMEM = $00000200;
DDCAPS2_NONLOCALVIDMEMCAPS = $00000400;
DDCAPS2_NOPAGELOCKREQUIRED = $00000800;
DDCAPS2_WIDESURFACES = $00001000;
DDCAPS2_CANFLIPODDEVEN = $00002000;
DDCAPS2_CANBOBHARDWARE = $00004000;
DDCAPS2_COPYFOURCC = $00008000;
DDCAPS2_PRIMARYGAMMA = $00020000;
DDCAPS2_CANRENDERWINDOWED = $00080000;
DDCAPS2_CANCALIBRATEGAMMA = $00100000;
DDCAPS2_FLIPINTERVAL = $00200000;
DDCAPS2_FLIPNOVSYNC = $00400000;
{ DirectDrawSurface Capability Flags }
DDSCAPS_RESERVED1 = $00000001; { DDSCAPS_3D }
DDSCAPS_ALPHA = $00000002;
DDSCAPS_BACKBUFFER = $00000004;
DDSCAPS_COMPLEX = $00000008;
DDSCAPS_FLIP = $00000010;
DDSCAPS_FRONTBUFFER = $00000020;
DDSCAPS_OFFSCREENPLAIN = $00000040;
DDSCAPS_OVERLAY = $00000080;
DDSCAPS_PALETTE = $00000100;
DDSCAPS_PRIMARYSURFACE = $00000200;
DDSCAPS_PRIMARYSURFACELEFT = $00000400;
DDSCAPS_SYSTEMMEMORY = $00000800;
DDSCAPS_TEXTURE = $00001000;
DDSCAPS_3DDEVICE = $00002000;
DDSCAPS_VIDEOMEMORY = $00004000;
DDSCAPS_VISIBLE = $00008000;
DDSCAPS_WRITEONLY = $00010000;
DDSCAPS_ZBUFFER = $00020000;
DDSCAPS_OWNDC = $00040000;
DDSCAPS_LIVEVIDEO = $00080000;
DDSCAPS_HWCODEC = $00100000;
DDSCAPS_MODEX = $00200000;
DDSCAPS_MIPMAP = $00400000;
DDSCAPS_RESERVED2 = $00800000;
DDSCAPS_ALLOCONLOAD = $04000000;
DDSCAPS_VIDEOPORT = $08000000;
DDSCAPS_LOCALVIDMEM = $10000000;
DDSCAPS_NONLOCALVIDMEM = $20000000;
DDSCAPS_STANDARDVGAMODE = $40000000;
DDSCAPS_OPTIMIZED = $80000000;
{ DirectDrawSurface Capability Flags 2 }
DDSCAPS2_HARDWAREDEINTERLACE = $00000002;
DDSCAPS2_HINTDYNAMIC = $00000004;
DDSCAPS2_HINTSTATIC = $00000008;
DDSCAPS2_TEXTUREMANAGE = $00000010;
DDSCAPS2_RESERVED1 = $00000020;
DDSCAPS2_RESERVED2 = $00000040;
DDSCAPS2_OPAQUE = $00000080;
DDSCAPS2_HINTANTIALIASING = $00000100;
{ TDDOptSurfaceDesc flags }
DDOSD_GUID = $00000001;
DDOSD_COMPRESSION_RATIO = $00000002;
DDOSD_SCAPS = $00000004;
DDOSD_OSCAPS = $00000008;
DDOSD_ALL = $0000000F;
{ ddOSCaps field is valid. }
DDOSDCAPS_OPTCOMPRESSED = $00000001;
DDOSDCAPS_OPTREORDERED = $00000002;
DDOSDCAPS_MONOLITHICMIPMAP = $00000004;
DDOSDCAPS_VALIDSCAPS = DDSCAPS_SYSTEMMEMORY or DDSCAPS_VIDEOMEMORY or
DDSCAPS_LOCALVIDMEM or DDSCAPS_NONLOCALVIDMEM;
DDOSDCAPS_VALIDOSCAPS = $00000007;
{ DirectDraw FX Alpha Capability Flags }
DDFXALPHACAPS_BLTALPHAEDGEBLEND = $00000001;
DDFXALPHACAPS_BLTALPHAPIXELS = $00000002;
DDFXALPHACAPS_BLTALPHAPIXELSNEG = $00000004;
DDFXALPHACAPS_BLTALPHASURFACES = $00000008;
DDFXALPHACAPS_BLTALPHASURFACESNEG = $00000010;
DDFXALPHACAPS_OVERLAYALPHAEDGEBLEND = $00000020;
DDFXALPHACAPS_OVERLAYALPHAPIXELS = $00000040;
DDFXALPHACAPS_OVERLAYALPHAPIXELSNEG = $00000080;
DDFXALPHACAPS_OVERLAYALPHASURFACES = $00000100;
DDFXALPHACAPS_OVERLAYALPHASURFACESNEG = $00000200;
{ DirectDraw FX Capability Flags }
DDFXCAPS_BLTARITHSTRETCHY = $00000020;
DDFXCAPS_BLTARITHSTRETCHYN = $00000010;
DDFXCAPS_BLTMIRRORLEFTRIGHT = $00000040;
DDFXCAPS_BLTMIRRORUPDOWN = $00000080;
DDFXCAPS_BLTROTATION = $00000100;
DDFXCAPS_BLTROTATION90 = $00000200;
DDFXCAPS_BLTSHRINKX = $00000400;
DDFXCAPS_BLTSHRINKXN = $00000800;
DDFXCAPS_BLTSHRINKY = $00001000;
DDFXCAPS_BLTSHRINKYN = $00002000;
DDFXCAPS_BLTSTRETCHX = $00004000;
DDFXCAPS_BLTSTRETCHXN = $00008000;
DDFXCAPS_BLTSTRETCHY = $00010000;
DDFXCAPS_BLTSTRETCHYN = $00020000;
DDFXCAPS_OVERLAYARITHSTRETCHY = $00040000;
DDFXCAPS_OVERLAYARITHSTRETCHYN = $00000008;
DDFXCAPS_OVERLAYSHRINKX = $00080000;
DDFXCAPS_OVERLAYSHRINKXN = $00100000;
DDFXCAPS_OVERLAYSHRINKY = $00200000;
DDFXCAPS_OVERLAYSHRINKYN = $00400000;
DDFXCAPS_OVERLAYSTRETCHX = $00800000;
DDFXCAPS_OVERLAYSTRETCHXN = $01000000;
DDFXCAPS_OVERLAYSTRETCHY = $02000000;
DDFXCAPS_OVERLAYSTRETCHYN = $04000000;
DDFXCAPS_OVERLAYMIRRORLEFTRIGHT = $08000000;
DDFXCAPS_OVERLAYMIRRORUPDOWN = $10000000;
DDFXCAPS_BLTALPHA = $00000001;
DDFXCAPS_BLTTRANSFORM = $00000002;
DDFXCAPS_BLTFILTER = DDFXCAPS_BLTARITHSTRETCHY;
DDFXCAPS_OVERLAYALPHA = $00000004;
DDFXCAPS_OVERLAYTRANSFORM
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -