📄 directdraw.pas
字号:
(*
* TDDOSCaps
*)
PDDOSCaps = ^TDDOSCaps;
TDDOSCaps = packed record
dwCaps : LongWord; // capabilities of surface wanted
end;
(*
* This structure is used internally by DirectDraw.
*)
PDDSCapsEx = ^TDDSCapsEx;
TDDSCapsEx = packed record
dwCaps2 : LongWord;
dwCaps3 : LongWord;
dwCaps4 : LongWord;
end;
(*
* TDDSCaps2
*)
PDDSCaps2 = ^TDDSCaps2;
TDDSCaps2 = packed record
dwCaps : LongWord; // capabilities of surface wanted
dwCaps2 : LongWord;
dwCaps3 : LongWord;
dwCaps4 : LongWord;
end;
(*
* TDDCaps
*)
(*
* This structure is the TDDCaps structure as it was in version 2 and 3 of Direct X.
* It is present for back compatability.
*)
PDDCaps_DX3 = ^TDDCaps_DX3;
TDDCaps_DX3 = packed record
dwSize : LongWord; // size of the DDDRIVERCAPS structure
dwCaps : LongWord; // driver specific capabilities
dwCaps2 : LongWord; // more driver specific capabilites
dwCKeyCaps : LongWord; // color key capabilities of the surface
dwFXCaps : LongWord; // driver specific stretching and effects capabilites
dwFXAlphaCaps : LongWord; // alpha driver specific capabilities
dwPalCaps : LongWord; // palette capabilities
dwSVCaps : LongWord; // stereo vision capabilities
dwAlphaBltConstBitDepths : LongWord; // DDBD_2,4,8
dwAlphaBltPixelBitDepths : LongWord; // DDBD_1,2,4,8
dwAlphaBltSurfaceBitDepths : LongWord; // DDBD_1,2,4,8
dwAlphaOverlayConstBitDepths : LongWord; // DDBD_2,4,8
dwAlphaOverlayPixelBitDepths : LongWord; // DDBD_1,2,4,8
dwAlphaOverlaySurfaceBitDepths : LongWord; // DDBD_1,2,4,8
dwZBufferBitDepths : LongWord; // DDBD_8,16,24,32
dwVidMemTotal : LongWord; // total amount of video memory
dwVidMemFree : LongWord; // amount of free video memory
dwMaxVisibleOverlays : LongWord; // maximum number of visible overlays
dwCurrVisibleOverlays : LongWord; // current number of visible overlays
dwNumFourCCCodes : LongWord; // number of four cc codes
dwAlignBoundarySrc : LongWord; // source rectangle alignment
dwAlignSizeSrc : LongWord; // source rectangle byte size
dwAlignBoundaryDest : LongWord; // dest rectangle alignment
dwAlignSizeDest : LongWord; // dest rectangle byte size
dwAlignStrideAlign : LongWord; // stride alignment
dwRops : Array [0..DD_ROP_SPACE-1] of LongWord; // ROPS supported
ddsCaps : TDDSCaps; // TDDSCaps structure has all the general capabilities
dwMinOverlayStretch : LongWord; // minimum overlay stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3
dwMaxOverlayStretch : LongWord; // maximum overlay stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3
dwMinLiveVideoStretch : LongWord; // minimum live video stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3
dwMaxLiveVideoStretch : LongWord; // maximum live video stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3
dwMinHwCodecStretch : LongWord; // minimum hardware codec stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3
dwMaxHwCodecStretch : LongWord; // maximum hardware codec stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3
dwReserved1 : LongWord; // reserved
dwReserved2 : LongWord; // reserved
dwReserved3 : LongWord; // reserved
dwSVBCaps : LongWord; // driver specific capabilities for System->Vmem blts
dwSVBCKeyCaps : LongWord; // driver color key capabilities for System->Vmem blts
dwSVBFXCaps : LongWord; // driver FX capabilities for System->Vmem blts
dwSVBRops : Array [0..DD_ROP_SPACE-1] of LongWord; // ROPS supported for System->Vmem blts
dwVSBCaps : LongWord; // driver specific capabilities for Vmem->System blts
dwVSBCKeyCaps : LongWord; // driver color key capabilities for Vmem->System blts
dwVSBFXCaps : LongWord; // driver FX capabilities for Vmem->System blts
dwVSBRops : Array [0..DD_ROP_SPACE-1] of DWORD;// ROPS supported for Vmem->System blts
dwSSBCaps : LongWord; // driver specific capabilities for System->System blts
dwSSBCKeyCaps : LongWord; // driver color key capabilities for System->System blts
dwSSBFXCaps : LongWord; // driver FX capabilities for System->System blts
dwSSBRops : Array [0..DD_ROP_SPACE-1] of DWORD; // ROPS supported for System->System blts
dwReserved4 : LongWord;
dwReserved5 : LongWord;
dwReserved6 : LongWord;
end;
(*
* This structure is the TDDCaps structure as it was in version 5 of Direct X.
* It is present for back compatability.
*)
PDDCaps_DX5 = ^TDDCaps_DX5;
TDDCaps_DX5 = packed record
dwSize : LongWord; // size of the DDDRIVERCAPS structure
dwCaps : LongWord; // driver specific capabilities
dwCaps2 : LongWord; // more driver specific capabilites
dwCKeyCaps : LongWord; // color key capabilities of the surface
dwFXCaps : LongWord; // driver specific stretching and effects capabilites
dwFXAlphaCaps : LongWord; // alpha driver specific capabilities
dwPalCaps : LongWord; // palette capabilities
dwSVCaps : LongWord; // stereo vision capabilities
dwAlphaBltConstBitDepths : LongWord; // DDBD_2,4,8
dwAlphaBltPixelBitDepths : LongWord; // DDBD_1,2,4,8
dwAlphaBltSurfaceBitDepths : LongWord; // DDBD_1,2,4,8
dwAlphaOverlayConstBitDepths : LongWord; // DDBD_2,4,8
dwAlphaOverlayPixelBitDepths : LongWord; // DDBD_1,2,4,8
dwAlphaOverlaySurfaceBitDepths : LongWord; // DDBD_1,2,4,8
dwZBufferBitDepths : LongWord; // DDBD_8,16,24,32
dwVidMemTotal : LongWord; // total amount of video memory
dwVidMemFree : LongWord; // amount of free video memory
dwMaxVisibleOverlays : LongWord; // maximum number of visible overlays
dwCurrVisibleOverlays : LongWord; // current number of visible overlays
dwNumFourCCCodes : LongWord; // number of four cc codes
dwAlignBoundarySrc : LongWord; // source rectangle alignment
dwAlignSizeSrc : LongWord; // source rectangle byte size
dwAlignBoundaryDest : LongWord; // dest rectangle alignment
dwAlignSizeDest : LongWord; // dest rectangle byte size
dwAlignStrideAlign : LongWord; // stride alignment
dwRops : Array [0..DD_ROP_SPACE-1] of LongWord; // ROPS supported
ddsCaps : TDDSCaps; // TDDSCaps structure has all the general capabilities
dwMinOverlayStretch : LongWord; // minimum overlay stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3
dwMaxOverlayStretch : LongWord; // maximum overlay stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3
dwMinLiveVideoStretch : LongWord; // minimum live video stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3
dwMaxLiveVideoStretch : LongWord; // maximum live video stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3
dwMinHwCodecStretch : LongWord; // minimum hardware codec stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3
dwMaxHwCodecStretch : LongWord; // maximum hardware codec stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3
dwReserved1 : LongWord; // reserved
dwReserved2 : LongWord; // reserved
dwReserved3 : LongWord; // reserved
dwSVBCaps : LongWord; // driver specific capabilities for System->Vmem blts
dwSVBCKeyCaps : LongWord; // driver color key capabilities for System->Vmem blts
dwSVBFXCaps : LongWord; // driver FX capabilities for System->Vmem blts
dwSVBRops : Array [0..DD_ROP_SPACE-1] of LongWord; // ROPS supported for System->Vmem blts
dwVSBCaps : LongWord; // driver specific capabilities for Vmem->System blts
dwVSBCKeyCaps : LongWord; // driver color key capabilities for Vmem->System blts
dwVSBFXCaps : LongWord; // driver FX capabilities for Vmem->System blts
dwVSBRops : Array [0..DD_ROP_SPACE-1] of LongWord; // ROPS supported for Vmem->System blts
dwSSBCaps : LongWord; // driver specific capabilities for System->System blts
dwSSBCKeyCaps : LongWord; // driver color key capabilities for System->System blts
dwSSBFXCaps : LongWord; // driver FX capabilities for System->System blts
dwSSBRops : Array [0..DD_ROP_SPACE-1] of LongWord; // ROPS supported for System->System blts
// Members added for DX5:
dwMaxVideoPorts : LongWord; // maximum number of usable video ports
dwCurrVideoPorts : LongWord; // current number of video ports used
dwSVBCaps2 : LongWord; // more driver specific capabilities for System->Vmem blts
dwNLVBCaps : LongWord; // driver specific capabilities for non-local->local vidmem blts
dwNLVBCaps2 : LongWord; // more driver specific capabilities non-local->local vidmem blts
dwNLVBCKeyCaps : LongWord; // driver color key capabilities for non-local->local vidmem blts
dwNLVBFXCaps : LongWord; // driver FX capabilities for non-local->local blts
dwNLVBRops : Array [0..DD_ROP_SPACE-1] of LongWord; // ROPS supported for non-local->local blts
end;
PDDCaps_DX6 = ^TDDCaps_DX6;
TDDCaps_DX6 = packed record
dwSize : LongWord; // size of the DDDRIVERCAPS structure
dwCaps : LongWord; // driver specific capabilities
dwCaps2 : LongWord; // more driver specific capabilites
dwCKeyCaps : LongWord; // color key capabilities of the surface
dwFXCaps : LongWord; // driver specific stretching and effects capabilites
dwFXAlphaCaps : LongWord; // alpha driver specific capabilities
dwPalCaps : LongWord; // palette capabilities
dwSVCaps : LongWord; // stereo vision capabilities
dwAlphaBltConstBitDepths : LongWord; // DDBD_2,4,8
dwAlphaBltPixelBitDepths : LongWord; // DDBD_1,2,4,8
dwAlphaBltSurfaceBitDepths : LongWord; // DDBD_1,2,4,8
dwAlphaOverlayConstBitDepths : LongWord; // DDBD_2,4,8
dwAlphaOverlayPixelBitDepths : LongWord; // DDBD_1,2,4,8
dwAlphaOverlaySurfaceBitDepths : LongWord; // DDBD_1,2,4,8
dwZBufferBitDepths : LongWord; // DDBD_8,16,24,32
dwVidMemTotal : LongWord; // total amount of video memory
dwVidMemFree : LongWord; // amount of free video memory
dwMaxVisibleOverlays : LongWord; // maximum number of visible overlays
dwCurrVisibleOverlays : LongWord; // current number of visible overlays
dwNumFourCCCodes : LongWord; // number of four cc codes
dwAlignBoundarySrc : LongWord; // source rectangle alignment
dwAlignSizeSrc : LongWord; // source rectangle byte size
dwAlignBoundaryDest : LongWord; // dest rectangle alignment
dwAlignSizeDest : LongWord; // dest rectangle byte size
dwAlignStrideAlign : LongWord; // stride alignment
dwRops : Array [0..DD_ROP_SPACE-1] of LongWord; // ROPS supported
ddsOldCaps : TDDSCaps; // Was dssCaps: TDDSCaps. ddsCaps is of type TDDScaps2 for DX6
dwMinOverlayStretch : LongWord; // minimum overlay stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3
dwMaxOverlayStretch : LongWord; // maximum overlay stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3
dwMinLiveVideoStretch : LongWord; // minimum live video stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3
dwMaxLiveVideoStretch : LongWord; // maximum live video stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3
dwMinHwCodecStretch : LongWord; // minimum hardware codec stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3
dwMaxHwCodecStretch : LongWord; // maximum hardware codec stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3
dwReserved1 : LongWord; // reserved
dwReserved2 : LongWord; // reserved
dwReserved3 : LongWord; // reserved
dwSVBCaps : LongWord; // driver specific capabilities for System->Vmem blts
dwSVBCKeyCaps : LongWord; // driver color key capabilities for System->Vmem blts
dwSVBFXCaps : LongWord; // driver FX capabilities for System->Vmem blts
dwSVBRops : Array [0..DD_ROP_SPACE-1] of LongWord; // ROPS supported for System->Vmem blts
dwVSBCaps : LongWord; // driver specific capabilities for Vmem->System blts
dwVSBCKeyCaps : LongWord; // driver color key capabilities for Vmem->System blts
dwVSBFXCaps : LongWord; // driver FX capabilities for Vmem->System blts
dwVSBRops : Array [0..DD_ROP_SPACE-1] of LongWord; // ROPS supported for Vmem->System blts
dwSSBCaps : LongWord; // driver specific capabilities for System->System blts
dwSSBCKeyCaps : LongWord; // driver color key capabilities for System->System blts
dwSSBFXCaps : LongWord; // driver FX capabilities for System->System blts
dwSSBRops : Array [0..DD_ROP_SPACE-1] of LongWord; // ROPS supported for System->System blts
// Members added for DX5:
dwMaxVideoPorts : LongWord; // maximum number of usable video ports
dwCurrVideoPorts : LongWord; // current number of video ports used
dwSVBCaps2 : LongWord; // more driver specific capabilities for System->Vmem blts
dwNLVBCaps : LongWord; // driver specific capabilities for non-local->local vidmem blts
dwNLVBCaps2 : LongWord; // more driver specific capabilities non-local->local vidmem blts
dwNLVBCKeyCaps : LongWord; // driver color key capabilities for non-local->local vidmem blts
dwNLVBFXCaps : LongWord; // driver FX capabilities for non-local->local blts
dwNLVBRops : Array [0..DD_ROP_SPACE-1] of LongWord; // ROPS supported for non-local->local blts
// Members added for DX6 release
ddsCaps : TDDSCaps2; // Surface Caps
end;
TDDCaps_DX7 = TDDCaps_DX6;
PDDCaps = ^TDDCaps;
{$IFDEF DIRECTX3}
TDDCaps = TDDCaps_DX3;
{$ELSE}
{$IFDEF DIRECTX5}
TDDCaps = TDDCaps_DX5;
{$ELSE}
{$IFDEF DIRECTX6}
TDDCaps = TDDCaps_DX6;
{$ELSE}
TDDCaps = TDDCaps_DX7;
{$ENDIF}
{$ENDIF}
{$ENDIF}
(*
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -