#ifndef TDDCapsH #define TDDCapsH // ========================================================================== // // File: TDDCaps.H // Created: 12th February 2009 // Author: BCB_Code_Generator v2.10, // Darren John Dwyer // ( // data entry, // source code, // documentation, // help files, // project files, // tutorials, // demos, // website // ) // // Hugh Dunbar Edwards // ( // data entry creation, // documentation creation, // icon creation // ) // // Description: This file defines the TDDCaps Component // // "TDx_Library v1.90" // "TDx_Draw_Library v1.90" // // (c) 2009 Darren John Dwyer, Australia. // All Rights Reserved. // // Refer to the 'License.Txt' file for licencing & copyright information. // // ========================================================================== // -------------------------------------------------------------------------- #include "TDx_Library_Defns.H" #include "TDx_Library_Functions.H" // -------------------------------------------------------------------------- #include "TDx_Draw_Library_Defns.H" #include "TDx_Draw_Library_Functions.H" // -------------------------------------------------------------------------- // external classes used by TDDCaps properties. #include "TDDSCaps.H" // ========================================================================== // Set: TDDCapsCKeyCaps_Set // Description: A set of mangled DirectX flag names that are used to set the // TDDCaps::CKeyCaps property using the BCB Object Inspector. // For detailed descriptions of each flag, see the CKeyCaps // property description below. // ========================================================================== enum TDDCaps_CKeyCaps_Flags { ddckeycaps_destblt, ddckeycaps_destbltclrspace, ddckeycaps_destbltclrspaceyuv, ddckeycaps_destbltyuv, ddckeycaps_destoverlay, ddckeycaps_destoverlayclrspace, ddckeycaps_destoverlayclrspaceyuv, ddckeycaps_destoverlayoneactive, ddckeycaps_destoverlayyuv, ddckeycaps_nocostoverlay, ddckeycaps_srcblt, ddckeycaps_srcbltclrspace, ddckeycaps_srcbltclrspaceyuv, ddckeycaps_srcbltyuv, ddckeycaps_srcoverlay, ddckeycaps_srcoverlayclrspace, ddckeycaps_srcoverlayclrspaceyuv, ddckeycaps_srcoverlayoneactive, ddckeycaps_srcoverlayyuv }; typedef Set< TDDCaps_CKeyCaps_Flags, ddckeycaps_destblt, ddckeycaps_srcoverlayyuv > TDDCaps_CKeyCaps_Set; // ========================================================================== // Set: TDDCapsCaps_Set // Description: A set of mangled DirectX flag names that are used to set the // TDDCaps::Caps property using the BCB Object Inspector. For // detailed descriptions of each flag, see the Caps property // description below. // ========================================================================== enum TDDCaps_Caps_Flags { ddcaps_3d, ddcaps_alignboundarydest, ddcaps_alignboundarysrc, ddcaps_alignsizedest, ddcaps_alignsizesrc, ddcaps_alignstride, ddcaps_alpha, ddcaps_bankswitched, ddcaps_blt, ddcaps_bltcolorfill, ddcaps_bltdepthfill, ddcaps_bltfourcc, ddcaps_bltqueue, ddcaps_bltstretch, ddcaps_canbltsysmem, ddcaps_canclip, ddcaps_canclipstretched, ddcaps_colorkey, ddcaps_colorkeyhwassist, ddcaps_gdi, ddcaps_nohardware, ddcaps_overlay, ddcaps_overlaycantclip, ddcaps_overlayfourcc, ddcaps_overlaystretch, ddcaps_palette, ddcaps_palettevsync, ddcaps_readscanline, ddcaps_vbi, ddcaps_zblts, ddcaps_zoverlays }; typedef Set< TDDCaps_Caps_Flags, ddcaps_3d, ddcaps_zoverlays > TDDCaps_Caps_Set; // ========================================================================== // Set: TDDCapsCaps2_Set // Description: A set of mangled DirectX flag names that are used to set the // TDDCaps::Caps2 property using the BCB Object Inspector. For // detailed descriptions of each flag, see the Caps2 property // description below. // ========================================================================== enum TDDCaps_Caps2_Flags { ddcaps2_autoflipoverlay, ddcaps2_canbobhardware, ddcaps2_canbobinterleaved, ddcaps2_canbobnoninterleaved, ddcaps2_cancalibrategamma, ddcaps2_candropz16bit, ddcaps2_canflipoddeven, ddcaps2_canmanagetexture, ddcaps2_canrenderwindowed, ddcaps2_certified, ddcaps2_colorcontroloverlay, ddcaps2_colorcontrolprimary, ddcaps2_copyfourcc, ddcaps2_flipinterval, ddcaps2_flipnovsync, ddcaps2_no2dduring3dscene, ddcaps2_nonlocalvidmem, ddcaps2_nonlocalvidmemcaps, ddcaps2_nopagelockrequired, ddcaps2_primarygamma, ddcaps2_stereo, ddcaps2_texmaninnonlocalvidmem, ddcaps2_videoport, ddcaps2_widesurfaces }; typedef Set< TDDCaps_Caps2_Flags, ddcaps2_autoflipoverlay, ddcaps2_widesurfaces > TDDCaps_Caps2_Set; // ========================================================================== // Set: TDDCapsFXAlphaCaps_Set // Description: A set of mangled DirectX flag names that are used to set the // TDDCaps::FXAlphaCaps property using the BCB Object Inspector. // For detailed descriptions of each flag, see the FXAlphaCaps // property description below. // ========================================================================== enum TDDCaps_FXAlphaCaps_Flags { ddfxalphacaps_bltalphaedgeblend, ddfxalphacaps_bltalphapixels, ddfxalphacaps_bltalphapixelsneg, ddfxalphacaps_bltalphasurfaces, ddfxalphacaps_bltalphasurfacesneg, ddfxalphacaps_overlayalphaedgeblend, ddfxalphacaps_overlayalphapixels, ddfxalphacaps_overlayalphapixelsneg, ddfxalphacaps_overlayalphasurfaces, ddfxalphacaps_overlayalphasurfacesneg }; typedef Set< TDDCaps_FXAlphaCaps_Flags, ddfxalphacaps_bltalphaedgeblend, ddfxalphacaps_overlayalphasurfacesneg > TDDCaps_FXAlphaCaps_Set; // ========================================================================== // Set: TDDCapsFXCaps_Set // Description: A set of mangled DirectX flag names that are used to set the // TDDCaps::FXCaps property using the BCB Object Inspector. For // detailed descriptions of each flag, see the FXCaps property // description below. // ========================================================================== enum TDDCaps_FXCaps_Flags { ddfxcaps_bltalpha, ddfxcaps_bltarithstretchy, ddfxcaps_bltarithstretchyn, ddfxcaps_bltfilter, ddfxcaps_bltmirrorleftright, ddfxcaps_bltmirrorupdown, ddfxcaps_bltrotation, ddfxcaps_bltrotation90, ddfxcaps_bltshrinkx, ddfxcaps_bltshrinkxn, ddfxcaps_bltshrinky, ddfxcaps_bltshrinkyn, ddfxcaps_bltstretchx, ddfxcaps_bltstretchxn, ddfxcaps_bltstretchy, ddfxcaps_bltstretchyn, ddfxcaps_overlayalpha, ddfxcaps_overlayarithstretchy, ddfxcaps_overlayarithstretchyn, ddfxcaps_overlayfilter, ddfxcaps_overlaymirrorleftright, ddfxcaps_overlaymirrorupdown, ddfxcaps_overlayshrinkx, ddfxcaps_overlayshrinkxn, ddfxcaps_overlayshrinky, ddfxcaps_overlayshrinkyn, ddfxcaps_overlaystretchx, ddfxcaps_overlaystretchxn, ddfxcaps_overlaystretchy, ddfxcaps_overlaystretchyn }; typedef Set< TDDCaps_FXCaps_Flags, ddfxcaps_bltalpha, ddfxcaps_overlaystretchyn > TDDCaps_FXCaps_Set; // ========================================================================== // Set: TDDCapsPalCaps_Set // Description: A set of mangled DirectX flag names that are used to set the // TDDCaps::PalCaps property using the BCB Object Inspector. For // detailed descriptions of each flag, see the PalCaps property // description below. // ========================================================================== enum TDDCaps_PalCaps_Flags { ddpcaps_1bit, ddpcaps_2bit, ddpcaps_4bit, ddpcaps_8bit, ddpcaps_8bitentries, ddpcaps_allow256, ddpcaps_alpha, ddpcaps_primarysurface, ddpcaps_primarysurfaceleft, ddpcaps_vsync }; typedef Set< TDDCaps_PalCaps_Flags, ddpcaps_1bit, ddpcaps_vsync > TDDCaps_PalCaps_Set; // ========================================================================== // Set: TDDCapsSVCaps_Set // Description: A set of mangled DirectX flag names that are used to set the // TDDCaps::SVCaps property using the BCB Object Inspector. For // detailed descriptions of each flag, see the SVCaps property // description below. // ========================================================================== enum TDDCaps_SVCaps_Flags { ddsvcaps_stereosequential }; typedef Set< TDDCaps_SVCaps_Flags, ddsvcaps_stereosequential, ddsvcaps_stereosequential > TDDCaps_SVCaps_Set; // -------------------------------------------------------------------------- // ========================================================================== // Class: TDDCaps // Class Type: Wrapper // Description: The TDDCaps component wraps the DirectX DDCAPS structure, // which describes the system capabilities that are available to // TDx_Draw_Library components. // // It is used by the TDx_Draw::GetCaps() and // TDx_DrawPalette::GetCaps() methods when retrieving system // capability information. // // You may not be able to use all the listed capabilities at // once or have all of the surfaces described in TDDCaps::SCaps // in existance at the same time. // ========================================================================== #if (__BORLANDC__ >= 0x0530) // BCB Version 3 + class PACKAGE TDDCaps : public TComponent { // -------------------------------------------------------------------------- #else // BCB Version 1 class TDDCaps : public TComponent { #endif // ========================================================================== __published: // ========================================================================== // ---------------------------------------------------------------------- // Property: CKeyCaps_ // Description: The CKeyCaps property defines flags indicating the // available color key capabilities. // The described effect applies when the flag is set. // Note: This property is used to set the various DirectX Flags // for the 'CKeyCaps' property via the BCB Object Inspector. // For detailed descriptions of each flag, see the CKeyCaps // property description below. // ---------------------------------------------------------------------- __property TDDCaps_CKeyCaps_Set CKeyCaps_ = { read=FGetCKeyCaps_, write=FSetCKeyCaps_, nodefault }; // ---------------------------------------------------------------------- // Property: Caps_ // Description: The Caps property defines flags indicating the driver // specific capabilities that are available. // The described effect applies when the flag is set. // Note: This property is used to set the various DirectX Flags // for the 'Caps' property via the BCB Object Inspector. // For detailed descriptions of each flag, see the Caps // property description below. // ---------------------------------------------------------------------- __property TDDCaps_Caps_Set Caps_ = { read=FGetCaps_, write=FSetCaps_, nodefault }; // ---------------------------------------------------------------------- // Property: Caps2_ // Description: The Caps2 property defines flags indicating more of the // driver specific capabilities that are available. // The described effect applies when the flag is set. // Note: This property is used to set the various DirectX Flags // for the 'Caps2' property via the BCB Object Inspector. // For detailed descriptions of each flag, see the Caps2 // property description below. // ---------------------------------------------------------------------- __property TDDCaps_Caps2_Set Caps2_ = { read=FGetCaps2_, write=FSetCaps2_, nodefault }; // ---------------------------------------------------------------------- // Property: FXAlphaCaps_ // Description: The FXAlphaCaps property defines flags indicating the // available alpha channel capabilities. // The described effect applies when the flag is set. // Note: This property is used to set the various DirectX Flags // for the 'FXAlphaCaps' property via the BCB Object // Inspector. For detailed descriptions of each flag, see // the FXAlphaCaps property description below. // ---------------------------------------------------------------------- __property TDDCaps_FXAlphaCaps_Set FXAlphaCaps_ = { read=FGetFXAlphaCaps_, write=FSetFXAlphaCaps_, nodefault }; // ---------------------------------------------------------------------- // Property: FXCaps_ // Description: The FXCaps property defines flags indicating the // available driver specific stretching and effects // capabilities. // The described effect applies when the flag is set. // Note: This property is used to set the various DirectX Flags // for the 'FXCaps' property via the BCB Object Inspector. // For detailed descriptions of each flag, see the FXCaps // property description below. // ---------------------------------------------------------------------- __property TDDCaps_FXCaps_Set FXCaps_ = { read=FGetFXCaps_, write=FSetFXCaps_, nodefault }; // ---------------------------------------------------------------------- // Property: NLVBCKeyCaps_ // Description: The NLVBCKeyCaps property defines flags indicating the // available driver specific color key capabilities for // nonlocal to local video memory blits in a way similar to // TDDCaps::CKeyCaps. // Only the blit related flags of this property should be // used. // The described effect applies when the flag is set. // Note: This property is used to set the various DirectX Flags // for the 'NLVBCKeyCaps' property via the BCB Object // Inspector. For detailed descriptions of each flag, see // the NLVBCKeyCaps property description below. // ---------------------------------------------------------------------- __property TDDCaps_CKeyCaps_Set NLVBCKeyCaps_ = { read=FGetNLVBCKeyCaps_, write=FSetNLVBCKeyCaps_, nodefault }; // ---------------------------------------------------------------------- // Property: NLVBCaps_ // Description: The NLVBCaps property defines flags indicating the // available driver specific capabilities for nonlocal to // local video memory blits in a way similar to // TDDCaps::Caps. // Only the blit related flags of this property should be // used. // The described effect applies when the flag is set. // Note: This property is used to set the various DirectX Flags // for the 'NLVBCaps' property via the BCB Object Inspector. // For detailed descriptions of each flag, see the NLVBCaps // property description below. // ---------------------------------------------------------------------- __property TDDCaps_Caps_Set NLVBCaps_ = { read=FGetNLVBCaps_, write=FSetNLVBCaps_, nodefault }; // ---------------------------------------------------------------------- // Property: NLVBCaps2_ // Description: The NLVBCaps2 property defines flags indicating more of // the available driver specific capabilities for nonlocal // to local video memory blits in a way similar to // TDDCaps::Caps2. // Only the blit related flags of this property should be // used. // The described effect applies when the flag is set. // Note: This property is used to set the various DirectX Flags // for the 'NLVBCaps2' property via the BCB Object // Inspector. For detailed descriptions of each flag, see // the NLVBCaps2 property description below. // ---------------------------------------------------------------------- __property TDDCaps_Caps2_Set NLVBCaps2_ = { read=FGetNLVBCaps2_, write=FSetNLVBCaps2_, nodefault }; // ---------------------------------------------------------------------- // Property: NLVBFXCaps_ // Description: The NLVBFXCaps property defines flags indicating the // available driver specific stretching and effects // capabilities for nonlocal to local video memory blits in // a way similar to TDDCaps::FXCaps. // Only the blit related flags of this property should be // used. // The described effect applies when the flag is set. // Note: This property is used to set the various DirectX Flags // for the 'NLVBFXCaps' property via the BCB Object // Inspector. For detailed descriptions of each flag, see // the NLVBFXCaps property description below. // ---------------------------------------------------------------------- __property TDDCaps_FXCaps_Set NLVBFXCaps_ = { read=FGetNLVBFXCaps_, write=FSetNLVBFXCaps_, nodefault }; // ---------------------------------------------------------------------- // Property: PalCaps_ // Description: The PalCaps property defines flags indicating palette // capabilities. // The described effect applies when the flag is set. // Note: This property is used to set the various DirectX Flags // for the 'PalCaps' property via the BCB Object Inspector. // For detailed descriptions of each flag, see the PalCaps // property description below. // ---------------------------------------------------------------------- __property TDDCaps_PalCaps_Set PalCaps_ = { read=FGetPalCaps_, write=FSetPalCaps_, nodefault }; // ---------------------------------------------------------------------- // Property: SSBCKeyCaps_ // Description: The SSBCKeyCaps property defines flags indicating the // available driver specific color key capabilities for // system memory to system memory blits in a way similar to // TDDCaps::CKeyCaps. // Only the blit related flags of this property should be // used. // The described effect applies when the flag is set. // Note: This property is used to set the various DirectX Flags // for the 'SSBCKeyCaps' property via the BCB Object // Inspector. For detailed descriptions of each flag, see // the SSBCKeyCaps property description below. // ---------------------------------------------------------------------- __property TDDCaps_CKeyCaps_Set SSBCKeyCaps_ = { read=FGetSSBCKeyCaps_, write=FSetSSBCKeyCaps_, nodefault }; // ---------------------------------------------------------------------- // Property: SSBCaps_ // Description: The SSBCaps property defines flags indicating the // available driver specific capabilities for system memory // to system memory blits in a way similar to TDDCaps::Caps. // Only the blit related flags of this property should be // used. // The described effect applies when the flag is set. // Note: This property is used to set the various DirectX Flags // for the 'SSBCaps' property via the BCB Object Inspector. // For detailed descriptions of each flag, see the SSBCaps // property description below. // ---------------------------------------------------------------------- __property TDDCaps_Caps_Set SSBCaps_ = { read=FGetSSBCaps_, write=FSetSSBCaps_, nodefault }; // ---------------------------------------------------------------------- // Property: SVBCKeyCaps_ // Description: The SVBCKeyCaps property defines flags indicating the // available driver specific color key capabilities for // system memory to display memory blits in a way similar to // TDDCaps::CKeyCaps. // Only the blit related flags of this property should be // used. // The described effect applies when the flag is set. // Note: This property is used to set the various DirectX Flags // for the 'SVBCKeyCaps' property via the BCB Object // Inspector. For detailed descriptions of each flag, see // the SVBCKeyCaps property description below. // ---------------------------------------------------------------------- __property TDDCaps_CKeyCaps_Set SVBCKeyCaps_ = { read=FGetSVBCKeyCaps_, write=FSetSVBCKeyCaps_, nodefault }; // ---------------------------------------------------------------------- // Property: SVBCaps_ // Description: The SVBCaps property defines flags indicating the // available driver specific capabilities for system memory // to display memory blits in a way similar to // TDDCaps::Caps. // Only the blit related flags of this property should be // used. // The described effect applies when the flag is set. // Note: This property is used to set the various DirectX Flags // for the 'SVBCaps' property via the BCB Object Inspector. // For detailed descriptions of each flag, see the SVBCaps // property description below. // ---------------------------------------------------------------------- __property TDDCaps_Caps_Set SVBCaps_ = { read=FGetSVBCaps_, write=FSetSVBCaps_, nodefault }; // ---------------------------------------------------------------------- // Property: SVBCaps2_ // Description: The SVBCaps2 property defines flags indicating more of // the available driver specific capabilities for system // memory to display memory blits in a way similar to // TDDCaps::Caps2. // Only the blit related flags of this property should be // used. // The described effect applies when the flag is set. // Note: This property is used to set the various DirectX Flags // for the 'SVBCaps2' property via the BCB Object Inspector. // For detailed descriptions of each flag, see the SVBCaps2 // property description below. // ---------------------------------------------------------------------- __property TDDCaps_Caps2_Set SVBCaps2_ = { read=FGetSVBCaps2_, write=FSetSVBCaps2_, nodefault }; // ---------------------------------------------------------------------- // Property: SVBFXCaps_ // Description: The SVBFXCaps property defines flags indicating the // available driver specific stretching and effects // capabilities for system memory to display memory blits in // a way similar to TDDCaps::FXCaps. // Only the blit related flags of this property should be // used. // The described effect applies when the flag is set. // Note: This property is used to set the various DirectX Flags // for the 'SVBFXCaps' property via the BCB Object // Inspector. For detailed descriptions of each flag, see // the SVBFXCaps property description below. // ---------------------------------------------------------------------- __property TDDCaps_FXCaps_Set SVBFXCaps_ = { read=FGetSVBFXCaps_, write=FSetSVBFXCaps_, nodefault }; // ---------------------------------------------------------------------- // Property: SVCaps_ // Description: The SVCaps property defines a flag indicating whether // stereo vision capabilities are supported. // The described effect applies when the flag is set. // Note: This property is used to set the various DirectX Flags // for the 'SVCaps' property via the BCB Object Inspector. // For detailed descriptions of each flag, see the SVCaps // property description below. // ---------------------------------------------------------------------- __property TDDCaps_SVCaps_Set SVCaps_ = { read=FGetSVCaps_, write=FSetSVCaps_, nodefault }; // ---------------------------------------------------------------------- // Property: VSBCKeyCaps_ // Description: The VSBCKeyCaps property defines flags indicating the // available driver specific color key capabilities for // display memory to system memory blits in a way similar to // TDDCaps::CKeyCaps. // Only the blit related flags of this property should be // used. // The described effect applies when the flag is set. // Note: This property is used to set the various DirectX Flags // for the 'VSBCKeyCaps' property via the BCB Object // Inspector. For detailed descriptions of each flag, see // the VSBCKeyCaps property description below. // ---------------------------------------------------------------------- __property TDDCaps_CKeyCaps_Set VSBCKeyCaps_ = { read=FGetVSBCKeyCaps_, write=FSetVSBCKeyCaps_, nodefault }; // ---------------------------------------------------------------------- // Property: VSBCaps_ // Description: The VSBCaps property defines flags indicating the // available driver specific capabilities for display memory // to system memory blits in a way similar to TDDCaps::Caps. // Only the blit related flags of this property should be // used. // The described effect applies when the flag is set. // Note: This property is used to set the various DirectX Flags // for the 'VSBCaps' property via the BCB Object Inspector. // For detailed descriptions of each flag, see the VSBCaps // property description below. // ---------------------------------------------------------------------- __property TDDCaps_Caps_Set VSBCaps_ = { read=FGetVSBCaps_, write=FSetVSBCaps_, nodefault }; // ---------------------------------------------------------------------- // Property: VSBFXCaps_ // Description: The VSBFXCaps property defines flags indicating the // available driver specific stretching and effects // capabilities for display memory to system memory blits in // a way similar to TDDCaps::FXCaps. // Only the blit related flags of this property should be // used. // The described effect applies when the flag is set. // Note: This property is used to set the various DirectX Flags // for the 'VSBFXCaps' property via the BCB Object // Inspector. For detailed descriptions of each flag, see // the VSBFXCaps property description below. // ---------------------------------------------------------------------- __property TDDCaps_FXCaps_Set VSBFXCaps_ = { read=FGetVSBFXCaps_, write=FSetVSBFXCaps_, nodefault }; // ---------------------------------------------------------------------- // Property: AlignBoundaryDest // Description: The AlignBoundaryDest property defines the alignment, in // pixels, needed for positioning the destination rectangle // when displaying an overlay if DDCAPS_ALIGNBOUNDARYSRC is // set in TDDCaps::Caps. // The top left corner of the destination rectangle must // have an X axis value that is a multiple of this property // to successfully display the overlay. // ---------------------------------------------------------------------- __property dword AlignBoundaryDest = { read=FGetAlignBoundaryDest, write=FSetAlignBoundaryDest, default=0 }; // ---------------------------------------------------------------------- // Property: AlignBoundarySrc // Description: The AlignBoundarySrc property defines the alignment, in // pixels, needed for positioning the source rectangle when // displaying an overlay if DDCAPS_ALIGNBOUNDARYSRC is set // in TDDCaps::Caps. // The top left corner of the source rectangle must have an // X axis value that is a multiple of this property to // successfully display the overlay. // ---------------------------------------------------------------------- __property dword AlignBoundarySrc = { read=FGetAlignBoundarySrc, write=FSetAlignBoundarySrc, default=0 }; // ---------------------------------------------------------------------- // Property: AlignSizeDest // Description: The AlignSizeDest property defines the alignment, in // pixels, needed to set the width of the destination // rectangle of an overlay when DDCAPS_ALIGNSIZEDEST is set // in TDDCaps::Caps. // The width of the destination rectangle must be a multiple // of this property to successfully display an overlay. // ---------------------------------------------------------------------- __property dword AlignSizeDest = { read=FGetAlignSizeDest, write=FSetAlignSizeDest, default=0 }; // ---------------------------------------------------------------------- // Property: AlignSizeSrc // Description: The AlignSizeSrc property defines the alignment, in // pixels, needed to set the width of the source rectangle // of an overlay when DDCAPS_ALIGNSIZEDEST is set in // TDDCaps::Caps. // The width of the source rectangle must be a multiple of // this property to successfully display an overlay. // ---------------------------------------------------------------------- __property dword AlignSizeSrc = { read=FGetAlignSizeSrc, write=FSetAlignSizeSrc, default=0 }; // ---------------------------------------------------------------------- // Property: AlignStrideAlign // Description: The AlignStrideAlign property defines the stride // alignment used when creating display memory surfaces if // DDCAPS_ALIGNSTRIDE is set in TDDCaps::Caps. // ---------------------------------------------------------------------- __property dword AlignStrideAlign = { read=FGetAlignStrideAlign, write=FSetAlignStrideAlign, default=0 }; // ---------------------------------------------------------------------- // Property: AlphaBltConstBitDepths // Description: The AlphaBltConstBitDepths property has a value of // DDBD_2, DDBD_4 or DDBD_8 representing that the bit depth // of the alpha constant on blits is 2, 4 or 8 bits per // pixel respectively. // ---------------------------------------------------------------------- __property dword AlphaBltConstBitDepths = { read=FGetAlphaBltConstBitDepths, write=FSetAlphaBltConstBitDepths, default=0 }; // ---------------------------------------------------------------------- // Property: AlphaBltPixelBitDepths // Description: The AlphaBltPixelBitDepths property has a value of // DDBD_1, DDBD_2, DDBD_4, or DDBD_8 representing that the // bit depth of alpha pixels on blits is 1, 2, 4 or 8 bits // per pixel respectively. // ---------------------------------------------------------------------- __property dword AlphaBltPixelBitDepths = { read=FGetAlphaBltPixelBitDepths, write=FSetAlphaBltPixelBitDepths, default=0 }; // ---------------------------------------------------------------------- // Property: AlphaBltSurfaceBitDepths // Description: The AlphaBltSurfaceBitDepths property has a value of // DDBD_1, DDBD_2, DDBD_4, or DDBD_8 representing that the // bit depth of the alpha surface on blits is 1, 2, 4 or 8 // bits per pixel respectively. // ---------------------------------------------------------------------- __property dword AlphaBltSurfaceBitDepths = { read=FGetAlphaBltSurfaceBitDepths, write=FSetAlphaBltSurfaceBitDepths, default=0 }; // ---------------------------------------------------------------------- // Property: AlphaOverlayConstBitDepths // Description: The AlphaOverlayConstBitDepths property has a value of // DDBD_2, DDBD_4, or DDBD_8 representing that the bit depth // of the alpha overlay constant is 2, 4 or 8 bits per pixel // respectively. // ---------------------------------------------------------------------- __property dword AlphaOverlayConstBitDepths = { read=FGetAlphaOverlayConstBitDepths, write=FSetAlphaOverlayConstBitDepths, default=0 }; // ---------------------------------------------------------------------- // Property: AlphaOverlayPixelBitDepths // Description: The AlphaOverlayPixelBitDepths property has a value of // DDBD_1, DDBD_2, DDBD_4, or DDBD_8 representing that the // bit depth of the alpha overlay pixels is 1, 2, 4 or 8 // bits per pixel respectively. // ---------------------------------------------------------------------- __property dword AlphaOverlayPixelBitDepths = { read=FGetAlphaOverlayPixelBitDepths, write=FSetAlphaOverlayPixelBitDepths, default=0 }; // ---------------------------------------------------------------------- // Property: AlphaOverlaySurfaceBitDepths // Description: The AlphaOverlaySurfaceBitDepths property has a value of // DDBD_1, DDBD_2, DDBD_4, or DDBD_8 representing that the // bit depth of the alpha overlay surface is 1, 2, 4 or 8 // bits per pixel respectively. // ---------------------------------------------------------------------- __property dword AlphaOverlaySurfaceBitDepths = { read=FGetAlphaOverlaySurfaceBitDepths, write=FSetAlphaOverlaySurfaceBitDepths, default=0 }; // ---------------------------------------------------------------------- // Property: CurrVideoPorts // Description: The CurrVideoPorts property defines the current number of // live video ports. // ---------------------------------------------------------------------- __property dword CurrVideoPorts = { read=FGetCurrVideoPorts, write=FSetCurrVideoPorts, default=0 }; // ---------------------------------------------------------------------- // Property: CurrVisibleOverlays // Description: The CurrVisibleOverlays property defines the current // number of visible overlays. // ---------------------------------------------------------------------- __property dword CurrVisibleOverlays = { read=FGetCurrVisibleOverlays, write=FSetCurrVisibleOverlays, default=0 }; // ---------------------------------------------------------------------- // Property: MaxOverlayStretch // Description: The MaxOverlayStretch property defines the maximum // overlay stretch factor. // ---------------------------------------------------------------------- __property dword MaxOverlayStretch = { read=FGetMaxOverlayStretch, write=FSetMaxOverlayStretch, default=0 }; // ---------------------------------------------------------------------- // Property: MaxVideoPorts // Description: The MaxVideoPorts property defines the maximum number of // live video ports that can be supported. // ---------------------------------------------------------------------- __property dword MaxVideoPorts = { read=FGetMaxVideoPorts, write=FSetMaxVideoPorts, default=0 }; // ---------------------------------------------------------------------- // Property: MaxVisibleOverlays // Description: The MaxVisibleOverlays property defines the maximum // number of visible overlays that can be supported. // ---------------------------------------------------------------------- __property dword MaxVisibleOverlays = { read=FGetMaxVisibleOverlays, write=FSetMaxVisibleOverlays, default=0 }; // ---------------------------------------------------------------------- // Property: MinOverlayStretch // Description: The MinOverlayStretch property defines the minimum // overlay stretch factor. // ---------------------------------------------------------------------- __property dword MinOverlayStretch = { read=FGetMinOverlayStretch, write=FSetMinOverlayStretch, default=0 }; // ---------------------------------------------------------------------- // Property: NLVBRops // Description: The NLVBRops property defines the raster operations that // are supported for nonlocal to local video memory blits. // ---------------------------------------------------------------------- __property dword NLVBRops[dword pIndex] = { read=FGetNLVBRops, write=FSetNLVBRops }; // ---------------------------------------------------------------------- // Property: NumFourCCCodes // Description: The NumFourCCCodes property defines the number of FourCC // codes. // ---------------------------------------------------------------------- __property dword NumFourCCCodes = { read=FGetNumFourCCCodes, write=FSetNumFourCCCodes, default=0 }; // ---------------------------------------------------------------------- // Property: Rops // Description: The Rops property defines the raster operations that are // supported. // ---------------------------------------------------------------------- __property dword Rops[dword pIndex] = { read=FGetRops, write=FSetRops }; // ---------------------------------------------------------------------- // Property: SCaps // Description: The SCaps property references a TDDSCaps component // describing the general surface capabilities that are // available. // ---------------------------------------------------------------------- __property TDDSCaps* SCaps = { read=FGetSCaps, write=FSetSCaps, default=NULL }; // ---------------------------------------------------------------------- // Property: SSBRops // Description: The SSBRops property defines the raster operations that // are supported for system memory to system memory blits. // ---------------------------------------------------------------------- __property dword SSBRops[dword pIndex] = { read=FGetSSBRops, write=FSetSSBRops }; // ---------------------------------------------------------------------- // Property: SVBRops // Description: The SVBRops property defines the raster operations that // are supported for system memory to display memory blits. // ---------------------------------------------------------------------- __property dword SVBRops[dword pIndex] = { read=FGetSVBRops, write=FSetSVBRops }; // ---------------------------------------------------------------------- // Property: Size // Description: The Size property defines the size, in bytes, of the // internal structure used by this component. // ---------------------------------------------------------------------- __property dword Size = { read=FGetSize, write=FSetSize, default=sizeof(DDCAPS) }; // ---------------------------------------------------------------------- // Property: VSBRops // Description: The VSBRops property defines the raster operations that // are supported for display memory to system memory blits. // ---------------------------------------------------------------------- __property dword VSBRops[dword pIndex] = { read=FGetVSBRops, write=FSetVSBRops }; // ---------------------------------------------------------------------- // Property: VidMemFree // Description: The VidMemFree property defines the total amount of // display memory minus any memory that is allocated to // surfaces. // This value indicates the memory available for any type of // surface, unlike TDx_Draw::GetAvailableVidMem() which // reports how much memory is available for a specific type // of surface. // ---------------------------------------------------------------------- __property dword VidMemFree = { read=FGetVidMemFree, write=FSetVidMemFree, default=0 }; // ---------------------------------------------------------------------- // Property: VidMemTotal // Description: The VidMemTotal property defines the total amount of // display memory, in bytes, minus any memory reserved for // the primary surface and private data structures used by // the driver. // TDx_Draw::GetAvailableVidMem() will report the same total // memory value as this property. // ---------------------------------------------------------------------- __property dword VidMemTotal = { read=FGetVidMemTotal, write=FSetVidMemTotal, default=0 }; // ---------------------------------------------------------------------- // Event: OnError() // Description: The OnError event is called when an error occurs in the // TDDCaps component. // ---------------------------------------------------------------------- __property TDx_Error OnError = {read=FOnError, write=FOnError, nodefault}; // ========================================================================== public: // ========================================================================== // ---------------------------------------------------------------------- // Property: CKeyCaps // Description: The CKeyCaps property defines flags indicating the // available color key capabilities. // The described effect applies when the flag is set. // Flags: DDCKEYCAPS_DESTBLT - // Support for RGB blitting while using a color key to // identify replacable pixels of the destination surface // is availaible. // DDCKEYCAPS_DESTBLTCLRSPACE - // Support for RGB blitting while using a color space to // identify replacable pixels of the destination surface // is availaible. // DDCKEYCAPS_DESTBLTCLRSPACEYUV - // Support for YUV blitting while using a color key to // identify replacable pixels of the destination surface // is availaible. // DDCKEYCAPS_DESTBLTYUV - // Support for YUV blitting while using a color key to // identify replacable pixels of the destination surface // is availaible. // DDCKEYCAPS_DESTOVERLAY - // Support for RGB overlaying while using a color key to // identify replacable pixels of the destination surface // is availaible. // DDCKEYCAPS_DESTOVERLAYCLRSPACE - // Support for RGB overlaying while using a color space to // identify replacable pixels of the destination surface // is availaible. // DDCKEYCAPS_DESTOVERLAYCLRSPACEYUV - // Support for YUV overlaying while using a color space to // identify replacable pixels of the destination surface // is availaible. // DDCKEYCAPS_DESTOVERLAYONEACTIVE - // Support is only available for one active destination // color key at a time for visible overlay surfaces. // DDCKEYCAPS_DESTOVERLAYYUV - // Support for YUV overlaying while using a color key to // identify replacable pixels of the destination surface // is availaible. // DDCKEYCAPS_NOCOSTOVERLAY - // Overlay color keying will incur no performance // degradation. // DDCKEYCAPS_SRCBLT - // Support for RGB blitting while using a color key to // identify which pixels of the source surface should not // be transferred is availaible. // DDCKEYCAPS_SRCBLTCLRSPACE - // Support for RGB blitting while using a color space to // identify which pixels of the source surface should not // be transferred is availaible. // DDCKEYCAPS_SRCBLTCLRSPACEYUV - // Support for YUV blitting while using a color space to // identify which pixels of the source surface should not // be transferred is availaible. // DDCKEYCAPS_SRCBLTYUV - // Support for YUV blitting while using a color key to // identify which pixels of the source surface should not // be transferred is availaible. // DDCKEYCAPS_SRCOVERLAY - // Support for RGB overlaying while using a color key to // identify which pixels of the source surface should not // be transferred is availaible. // DDCKEYCAPS_SRCOVERLAYCLRSPACE - // Support for RGB overlaying while using a color space to // identify which pixels of the source surface should not // be transferred is availaible. // DDCKEYCAPS_SRCOVERLAYCLRSPACEYUV - // Support for YUV overlaying while using a color key to // identify which pixels of the source surface should not // be transferred is availaible. // DDCKEYCAPS_SRCOVERLAYONEACTIVE - // Support is available for only one active source color // key at a time for visible overlay surfaces. // DDCKEYCAPS_SRCOVERLAYYUV - // Support for YUV overlaying while using a color key to // identify which pixels of the source surface should not // be transferred is availaible. // ---------------------------------------------------------------------- __property dword CKeyCaps = { read=FGetCKeyCaps, write=FSetCKeyCaps, default=0 }; // ---------------------------------------------------------------------- // Property: Caps // Description: The Caps property defines flags indicating the driver // specific capabilities that are available. // The described effect applies when the flag is set. // Flags: DDCAPS_3D - // Support for 3-D acceleration is available. // DDCAPS_ALIGNBOUNDARYDEST - // Support for destination overlay rectangles is limited // to those with the X axis aligned such as to be a // multiple of the value, in pixels, of // TDDCaps::AlignBoundaryDest. // DDCAPS_ALIGNBOUNDARYSRC - // Support for source overlay rectangles is limited to // those with the X axis aligned such as to be a multiple // of the value, in pixels, of TDDCaps::AlignBoundarySrc. // DDCAPS_ALIGNSIZEDEST - // Support for destination overlay rectangles is limited // to those with an X axis size that is a multiple of the // value, in pixels, of TDDCaps::AlignSizeDest. // DDCAPS_ALIGNSIZESRC - // Support for source overlay rectangles is limited to // those with an X axis size that is a multiple of the // value, in pixels, of TDDCaps::AlignSizeSrc. // DDCAPS_ALIGNSTRIDE - // The value of TDDCaps::AlignStrideAlign will be used to // define the stride alignment when creating display // memory surfaces. // DDCAPS_ALPHA - // Support for alpha only surfaces is available. // DDCAPS_BANKSWITCHED - // The display hardware uses bank switched memory. // When this flag is set make sure to copy aligned to // display memory as an unaligned copy may cause system // suspension or poor performance if the copy spans memory // banks. // DDCAPS_BLT - // Support for blitting is available. // DDCAPS_BLTCOLORFILL - // Support for color filling when blitting is available. // DDCAPS_BLTDEPTHFILL - // Support for depth filling z-buffers using the blitter // is available. // DDCAPS_BLTFOURCC - // Support for color space conversions during blits is // available. // DDCAPS_BLTQUEUE - // Support for asynchronous blitting is available. // DDCAPS_BLTSTRETCH - // Support for stretching during blits is available. // DDCAPS_CANBLTSYSMEM - // Support for blitting to or from system memory is // available. // DDCAPS_CANCLIP - // Support for clipping during blits is available. // DDCAPS_CANCLIPSTRETCHED - // Support for clipping while also stretching during blits // is available. // DDCAPS_COLORKEY - // Support for color keying in some form is available. // This could be blit and/or overlay color keying support. // Refer to TDDCaps::CKeyCaps for more detailed // information on color keying capabilities. // DDCAPS_COLORKEYHWASSIST - // Support for color keying is only partially hardware // assisted. // Some CPU and/or video memory resources may also be // required to execute color keyed operations. // If this flag is not set then full hardware support is // available. // DDCAPS_GDI - // The display hardware is being shared with the GDI. // DDCAPS_NOHARDWARE - // There is no hardware support available at all. // DDCAPS_OVERLAY - // Support for overlays is available. // DDCAPS_OVERLAYCANTCLIP - // Support for overlays is limited by the fact that // hardware clipping of overlays is not available. // DDCAPS_OVERLAYFOURCC - // Support for color space conversions during overlay // operations is available. // DDCAPS_OVERLAYSTRETCH - // Support for the stretching of overlays is available. // When this flag is set TDDCaps::MinOverlayStretch and // TDDCaps::MaxOverlayStretch will contain valid data. // DDCAPS_PALETTE - // Support for palette's on more surfaces than just the // primary surface is available. // DDCAPS_PALETTEVSYNC - // Support for synchronizing palette updates with the // vertical blank is available. // DDCAPS_READSCANLINE - // Support for retrieving the current scan line number // from the display hardware is available. // DDCAPS_VBI - // Support for hardware generated vertical blank // interrupts is available. // DDCAPS_ZBLTS - // Support for using z-buffers during blit operations is // available. // DDCAPS_ZOVERLAYS - // Support for using // TDx_DrawSurface::UpdateOverlayZOrder() to control // overlay layering is available. // ---------------------------------------------------------------------- __property dword Caps = { read=FGetCaps, write=FSetCaps, default=0 }; // ---------------------------------------------------------------------- // Property: Caps2 // Description: The Caps2 property defines flags indicating more of the // driver specific capabilities that are available. // The described effect applies when the flag is set. // Flags: DDCAPS2_AUTOFLIPOVERLAY - // Support for automatically flipping an overlay to the // next surface in a flip chain each time a video port // VSYNC occurs is available, but only when the surface is // actually recieving data from a video port. // The video port and the overlay effectively double // buffer the video without any CPU overhead. // When the video port data is non-interlaced or // non-interleaved, a flip will occur on every VSYNC. // When the video port data is being interleaved in // memory, a flip will occur on every other VSYNC. // DDCAPS2_CANBOBHARDWARE - // Support for individually displaying each field of an // interlaced video stream without artifacts is available. // DDCAPS2_CANBOBINTERLEAVED - // Support for the individual display of each field of a // interlaced video stream while it is interleaved in // memory is available. // This only applies if the surface is receiving data from // a video port and is zoomed at least 2 times in the // vertical direction. // DDCAPS2_CANBOBNONINTERLEAVED - // Support for the individual display of each field of a // interlaced video stream without interleaving in memory // is available. // This only applies if the surface is receiving data from // a video port and is zoomed at least 2 times in the // vertical direction. // DDCAPS2_CANCALIBRATEGAMMA - // Support for the automatic adjustment of the gamma ramp // to achieve identical results on different systems is // available. // Gamma calibration incurrs some overhead and thus should // not be used excessively. // DDCAPS2_CANDROPZ16BIT - // Support for converting 16 bit RGBZ values to 16 bit RGB // values is available. // There is no support for converting 8 bit RGBZ values. // DDCAPS2_CANFLIPODDEVEN - // Support for odd and even flip operations by the // hardware is available. // DDFLIP_ODD and DDFLIP_EVEN may be used in the Flags // parameter of TDx_DrawSurface::Flip() if this capability // is available. // DDCAPS2_CANMANAGETEXTURE - // The TDx_3D texture manager will put the surfaces it is // managing into nonlocal video memory. // This flag should not be set if your video drivers // cannot texture from local video memory. // DDCAPS2_CANRENDERWINDOWED - // Support for rendering while in windowed mode is // available. // DDCAPS2_CERTIFIED - // The display hardware has been certified by Microsoft. // DDCAPS2_COLORCONTROLOVERLAY - // The overlay surface contains color controls defining // contrast, brightness, etc. // DDCAPS2_COLORCONTROLPRIMARY - // The primary surface contains color controls defining // gamma, brightness, contrast, etc. // DDCAPS2_COPYFOURCC - // Support for blitting from any FOURCC surface to another // of the same format is available. // DDCAPS2_FLIPINTERVAL - // Support for the use of the various DDFLIP_INTERVAL // flags by TDx_DrawSurface::Flip() is available. // DDCAPS2_FLIPNOVSYNC - // Support for the use of DDFLIP_NOSYNC by // TDx_DrawSurface::Flip() is available. // DDCAPS2_NO2DDURING3DSCENE - // No 2-D operations may be performed on 3D surfaces // between calls to TDx_3DDevice::BeginScene() and // TDx_3DDevice::EndScene(). // DDCAPS2_NONLOCALVIDMEM - // Support for non local video memory surfaces is // available. // DDCAPS2_NONLOCALVIDMEMCAPS - // The blitting capabilities for non local video memory // surfaces are different from those on local video memory // surfaces. // DDCAPS2_NOPAGELOCKREQUIRED - // Support for DMA blit operations on non pagelocked // system memory surfaces is available. // DDCAPS2_PRIMARYGAMMA - // Support for dynamic primary surface gamma ramps is // available. // DDCAPS2_STEREO - // At least one stereo display mode more than the current // mode is supported by the video driver. // TDx_Draw::GetDisplayMode() or // TDx_Draw::EnumDisplayModes() can be used to retrieve // information about each stereo mode. // DDCAPS2_TEXMANINNONLOCALVIDMEM - // The TDx_3D texture manager will put the surfaces it is // managing into nonlocal video memory. // This flag should not be set if your video drivers // cannot texture from local video memory. // DDCAPS2_VIDEOPORT - // Support for live video is available. // DDCAPS2_WIDESURFACES - // Support for display memory surfaces wider than the // primary surface is available. // ---------------------------------------------------------------------- __property dword Caps2 = { read=FGetCaps2, write=FSetCaps2, default=0 }; // ---------------------------------------------------------------------- // Property: ErrorValue // Description: The ErrorValue property contains the last error value // returned from a call to a TDDCaps method or fget/fset. // eg. DD_OK or DDERR_SURFACELOST or TDX_ERROR // ---------------------------------------------------------------------- __property HRESULT ErrorValue = { read=FGetErrorValue, write=FSetErrorValue, default=DD_OK }; // ---------------------------------------------------------------------- // Property: FXAlphaCaps // Description: The FXAlphaCaps property defines flags indicating the // available alpha channel capabilities. // The described effect applies when the flag is set. // Flags: DDFXALPHACAPS_BLTALPHAEDGEBLEND - // Support for alpha blending around the edge of a source // color-keyed surface while blitting is available. // DDFXALPHACAPS_BLTALPHAPIXELS - // Support for blitting with the alpha information // included in the pixel format is available. // DDFXALPHACAPS_BLTALPHAPIXELSNEG - // Support for blitting with reversed alpha information // included in the pixel format is available. // This flag will only be set if DDCAPS_ALPHA in // TDDCaps::Caps is also set. // DDFXALPHACAPS_BLTALPHASURFACES - // Support for alpha only surfaces when blitting is // available. // DDFXALPHACAPS_BLTALPHASURFACESNEG - // Support for reversed alpha only surfaces when blitting // is available. // This flag will only be set if DDCAPS_ALPHA in // TDDCaps::Caps is also set. // DDFXALPHACAPS_OVERLAYALPHAEDGEBLEND - // Support for alpha blending around the edge of a source // color keyed surface when overlaying is available. // DDFXALPHACAPS_OVERLAYALPHAPIXELS - // Support for overlays with alpha information included in // the pixel format is available. // DDFXALPHACAPS_OVERLAYALPHAPIXELSNEG - // Support for overlays with reversed alpha information // included in the pixel format is available. // This flag will only be set if DDCAPS_ALPHA in // TDDCaps::Caps is also set. // DDFXALPHACAPS_OVERLAYALPHASURFACES - // Support for alpha only surfaces with overlays is // available. // DDFXALPHACAPS_OVERLAYALPHASURFACESNEG - // Support for reversed alpha only surfaces with overlays // is available. // This flag will only be set if DDCAPS_ALPHA in // TDDCaps::Caps is also set. // ---------------------------------------------------------------------- __property dword FXAlphaCaps = { read=FGetFXAlphaCaps, write=FSetFXAlphaCaps, default=0 }; // ---------------------------------------------------------------------- // Property: FXCaps // Description: The FXCaps property defines flags indicating the // available driver specific stretching and effects // capabilities. // The described effect applies when the flag is set. // Flags: DDFXCAPS_BLTALPHA - // Support for alpha blending while blitting is available. // DDFXCAPS_BLTARITHSTRETCHY - // Support for the arithmetic stretching or shrinking of a // surface along the Y axis while blitting is available. // DDFXCAPS_BLTARITHSTRETCHYN - // Support for the arithmetic stretching or shrinking of a // surface along the Y axis by an integer multiple, while // blitting, is available. // DDFXCAPS_BLTFILTER - // Support for surface reconstruction filtering of warped // blits is available. // DDFXCAPS_BLTMIRRORLEFTRIGHT - // Support for blitting while mirroring from left to right // by turning the surface on its Y axis is available. // DDFXCAPS_BLTMIRRORUPDOWN - // Support for blitting while mirroring from top to bottom // by turning the surface on its X axis is available. // DDFXCAPS_BLTROTATION - // Support for rotation by arbitrary amounts when blitting // is available. // DDFXCAPS_BLTROTATION90 - // Support for rotation by 90 degrees when blitting is // available. // DDFXCAPS_BLTSHRINKX - // Support for shrinking a surface along the X axis by an // arbitrary amount while blitting is available. // DDFXCAPS_BLTSHRINKXN - // Support for shrinking a surface along the X axis by an // integer divisor while blitting is available. // DDFXCAPS_BLTSHRINKY - // Support for shrinking a surface along the Y axis by an // arbitary amount while blitting is available. // DDFXCAPS_BLTSHRINKYN - // Support for shrinking a surface along the Y axis by an // integer divisor while blitting is available. // DDFXCAPS_BLTSTRETCHX - // Support for stretching a surface along the X axis by an // arbitrary amount while blitting is available. // DDFXCAPS_BLTSTRETCHXN - // Support for stretching a surface along the X axis by an // integer multiple while blitting is available. // DDFXCAPS_BLTSTRETCHY - // Support for stretching a surface along the Y axis by an // arbitrary amount while blitting is available. // DDFXCAPS_BLTSTRETCHYN - // Support for stretching a surface along the Y axis by an // integer multiple while blitting is available. // DDFXCAPS_OVERLAYALPHA - // Support for alpha blending overlays is available. // DDFXCAPS_OVERLAYARITHSTRETCHY - // Support for the arithmetic stretching or shrinking of a // surface along the Y axis while overlaying is available. // DDFXCAPS_OVERLAYARITHSTRETCHYN - // Support for the arithmetic stretching or shrinking of a // surface along the Y axis by an integer multiple, while // overlaying, is available. // DDFXCAPS_OVERLAYFILTER - // Support for surface reconstruction filtering of warped // overlay sprites is available. // This capability is not currently supported for overlays // displayed using TDx_DrawSurface::UpDateOverlay(). // DDFXCAPS_OVERLAYMIRRORLEFTRIGHT - // Support for mirroring an overlay from left to right by // turning the surface on its Y axis is available. // DDFXCAPS_OVERLAYMIRRORUPDOWN - // Support for mirroring an overlay from top to bottom by // turning the surface on its X axis is available. // DDFXCAPS_OVERLAYSHRINKX - // Support for shrinking an overlay surface along the X // axis by an arbitrary amount is available. // Only valid for overlay surfaces. // This refers to the surface's capabilities, not the // availability of shrinking. // DDFXCAPS_OVERLAYSHRINKXN - // Support for shrinking an overlay surface along the X // axis by an integer divisor is available. // Only valid for overlay surfaces. // This refers to the surface's capabilities, not the // availability of shrinking. // DDFXCAPS_OVERLAYSHRINKY - // Support for shrinking an overlay surface along the Y // axis by an arbitrary amount is available. // Only valid for overlay surfaces. // This refers to the surface's capabilities, not the // availability of shrinking. // DDFXCAPS_OVERLAYSHRINKYN - // Support for shrinking an overlay surface along the Y // axis by an integer divisor is available. // Only valid for overlay surfaces. // This refers to the surface's capabilities, not the // availability of shrinking. // DDFXCAPS_OVERLAYSTRETCHX - // Support for stretching an overlay surface along the X // axis by an arbitrary amount is available. // Only valid for overlay surfaces. // This refers to the surface's capabilities, not the // availability of stretching. // DDFXCAPS_OVERLAYSTRETCHXN - // Support for stretching an overlay surface along the X // axis by an integer multiple is available. // Only valid for overlay surfaces. // This refers to the surface's capabilities, not the // availability of stretching. // DDFXCAPS_OVERLAYSTRETCHY - // Support for stretching an overlay surface along the Y // axis by an arbitary amount is available. // Only valid for overlay surfaces. // This refers to the surface's capabilities, not the // availability of stretching. // DDFXCAPS_OVERLAYSTRETCHYN - // Support for stretching an overlay surface along the Y // axis by an integer multiplier is available. // Only valid for overlay surfaces. // This refers to the surface's capabilities, not the // availability of stretching. // ---------------------------------------------------------------------- __property dword FXCaps = { read=FGetFXCaps, write=FSetFXCaps, default=0 }; // ---------------------------------------------------------------------- // Property: NLVBCKeyCaps // Description: The NLVBCKeyCaps property defines flags indicating the // available driver specific color key capabilities for // nonlocal to local video memory blits in a way similar to // TDDCaps::CKeyCaps. // Only the blit related flags of this property should be // used. // The described effect applies when the flag is set. // ---------------------------------------------------------------------- __property dword NLVBCKeyCaps = { read=FGetNLVBCKeyCaps, write=FSetNLVBCKeyCaps, default=0 }; // ---------------------------------------------------------------------- // Property: NLVBCaps // Description: The NLVBCaps property defines flags indicating the // available driver specific capabilities for nonlocal to // local video memory blits in a way similar to // TDDCaps::Caps. // Only the blit related flags of this property should be // used. // The described effect applies when the flag is set. // ---------------------------------------------------------------------- __property dword NLVBCaps = { read=FGetNLVBCaps, write=FSetNLVBCaps, default=0 }; // ---------------------------------------------------------------------- // Property: NLVBCaps2 // Description: The NLVBCaps2 property defines flags indicating more of // the available driver specific capabilities for nonlocal // to local video memory blits in a way similar to // TDDCaps::Caps2. // Only the blit related flags of this property should be // used. // The described effect applies when the flag is set. // ---------------------------------------------------------------------- __property dword NLVBCaps2 = { read=FGetNLVBCaps2, write=FSetNLVBCaps2, default=0 }; // ---------------------------------------------------------------------- // Property: NLVBFXCaps // Description: The NLVBFXCaps property defines flags indicating the // available driver specific stretching and effects // capabilities for nonlocal to local video memory blits in // a way similar to TDDCaps::FXCaps. // Only the blit related flags of this property should be // used. // The described effect applies when the flag is set. // ---------------------------------------------------------------------- __property dword NLVBFXCaps = { read=FGetNLVBFXCaps, write=FSetNLVBFXCaps, default=0 }; // ---------------------------------------------------------------------- // Property: PalCaps // Description: The PalCaps property defines flags indicating palette // capabilities. // The described effect applies when the flag is set. // Flags: DDPCAPS_1BIT - // The palette index will be 1 bit. // There will be 2 entries in the color table. // DDPCAPS_2BIT - // The palette index will be 2 bits. // There will be 4 entries in the color table. // DDPCAPS_4BIT - // The palette index will be 4 bits. // There will be 16 entries in the color table. // DDPCAPS_8BIT - // The palette index will be 8 bits. // There will be 256 entries in the color table. // DDPCAPS_8BITENTRIES - // The palette index will reference an 8 bit color index. // This flag is only valid when DDPCAPS_1BIT, DDPCAPS_2BIT // or DDPCAPS_4BIT is set and the surface which is to use // the new palette has a bit depth of 8. // Each color entry is an 8 bit index into the destination // surface's 8 bpp palette. // DDPCAPS_ALLOW256 - // All 256 entries of the created palette may be accessed. // Entry 0 and entry 255 on 8-bit palettes are reserved // for system use unless this flag is set. // DDPCAPS_ALPHA - // Support for palettes with an alpha component is // available. // The peFlags member of the associated PALETTEENTRY // structure will be interpreted as an 8-bit alpha value. // Palettes utilizing this capability may only be attached // to textures. // DDPCAPS_PRIMARYSURFACE - // The palette is attached to the primary surface. // Changes to the palette will have an immediate effect on // the display unless the DDPCAPS_VSYNC capability is // specified and supported. // DDPCAPS_PRIMARYSURFACELEFT - // The palette is attached to the primary surface for the // left eye. // Changes to the palette will have an immediate effect on // the left eye display unless the DDPCAPS_VSYNC // capability is specified and supported. // DDPCAPS_VSYNC - // The palette can be modified synchronously with the // monitor's refresh rate. // ---------------------------------------------------------------------- __property dword PalCaps = { read=FGetPalCaps, write=FSetPalCaps, default=0 }; // ---------------------------------------------------------------------- // Property: SSBCKeyCaps // Description: The SSBCKeyCaps property defines flags indicating the // available driver specific color key capabilities for // system memory to system memory blits in a way similar to // TDDCaps::CKeyCaps. // Only the blit related flags of this property should be // used. // The described effect applies when the flag is set. // ---------------------------------------------------------------------- __property dword SSBCKeyCaps = { read=FGetSSBCKeyCaps, write=FSetSSBCKeyCaps, default=0 }; // ---------------------------------------------------------------------- // Property: SSBCaps // Description: The SSBCaps property defines flags indicating the // available driver specific capabilities for system memory // to system memory blits in a way similar to TDDCaps::Caps. // Only the blit related flags of this property should be // used. // The described effect applies when the flag is set. // ---------------------------------------------------------------------- __property dword SSBCaps = { read=FGetSSBCaps, write=FSetSSBCaps, default=0 }; // ---------------------------------------------------------------------- // Property: SVBCKeyCaps // Description: The SVBCKeyCaps property defines flags indicating the // available driver specific color key capabilities for // system memory to display memory blits in a way similar to // TDDCaps::CKeyCaps. // Only the blit related flags of this property should be // used. // The described effect applies when the flag is set. // ---------------------------------------------------------------------- __property dword SVBCKeyCaps = { read=FGetSVBCKeyCaps, write=FSetSVBCKeyCaps, default=0 }; // ---------------------------------------------------------------------- // Property: SVBCaps // Description: The SVBCaps property defines flags indicating the // available driver specific capabilities for system memory // to display memory blits in a way similar to // TDDCaps::Caps. // Only the blit related flags of this property should be // used. // The described effect applies when the flag is set. // ---------------------------------------------------------------------- __property dword SVBCaps = { read=FGetSVBCaps, write=FSetSVBCaps, default=0 }; // ---------------------------------------------------------------------- // Property: SVBCaps2 // Description: The SVBCaps2 property defines flags indicating more of // the available driver specific capabilities for system // memory to display memory blits in a way similar to // TDDCaps::Caps2. // Only the blit related flags of this property should be // used. // The described effect applies when the flag is set. // ---------------------------------------------------------------------- __property dword SVBCaps2 = { read=FGetSVBCaps2, write=FSetSVBCaps2, default=0 }; // ---------------------------------------------------------------------- // Property: SVBFXCaps // Description: The SVBFXCaps property defines flags indicating the // available driver specific stretching and effects // capabilities for system memory to display memory blits in // a way similar to TDDCaps::FXCaps. // Only the blit related flags of this property should be // used. // The described effect applies when the flag is set. // ---------------------------------------------------------------------- __property dword SVBFXCaps = { read=FGetSVBFXCaps, write=FSetSVBFXCaps, default=0 }; // ---------------------------------------------------------------------- // Property: SVCaps // Description: The SVCaps property defines a flag indicating whether // stereo vision capabilities are supported. // The described effect applies when the flag is set. // Flags: DDSVCAPS_STEREOSEQUENTIAL - // At least one stereo display mode more than the current // mode is supported by the video driver. // TDx_Draw::GetDisplayMode() or // TDx_Draw::EnumDisplayModes() can be used to retrieve // information about each stereo mode. // ---------------------------------------------------------------------- __property dword SVCaps = { read=FGetSVCaps, write=FSetSVCaps, default=0 }; // ---------------------------------------------------------------------- // Property: VSBCKeyCaps // Description: The VSBCKeyCaps property defines flags indicating the // available driver specific color key capabilities for // display memory to system memory blits in a way similar to // TDDCaps::CKeyCaps. // Only the blit related flags of this property should be // used. // The described effect applies when the flag is set. // ---------------------------------------------------------------------- __property dword VSBCKeyCaps = { read=FGetVSBCKeyCaps, write=FSetVSBCKeyCaps, default=0 }; // ---------------------------------------------------------------------- // Property: VSBCaps // Description: The VSBCaps property defines flags indicating the // available driver specific capabilities for display memory // to system memory blits in a way similar to TDDCaps::Caps. // Only the blit related flags of this property should be // used. // The described effect applies when the flag is set. // ---------------------------------------------------------------------- __property dword VSBCaps = { read=FGetVSBCaps, write=FSetVSBCaps, default=0 }; // ---------------------------------------------------------------------- // Property: VSBFXCaps // Description: The VSBFXCaps property defines flags indicating the // available driver specific stretching and effects // capabilities for display memory to system memory blits in // a way similar to TDDCaps::FXCaps. // Only the blit related flags of this property should be // used. // The described effect applies when the flag is set. // ---------------------------------------------------------------------- __property dword VSBFXCaps = { read=FGetVSBFXCaps, write=FSetVSBFXCaps, default=0 }; // ---------------------------------------------------------------------- // Method: Clear() // Description: The Clear() method can be used to clear the contents of // the TDDCaps's internal DDCAPS structure. // Note: if you have manually linked a structure member to a // chunk of memory, make sure you release this memory before // calling Clear(). // ---------------------------------------------------------------------- virtual void __fastcall Clear(); // ---------------------------------------------------------------------- // Property: CKeyCaps_Strings() // Description: This property returns a TStringList containing current // flag values for the CKeyCaps property. Note: Any memory // associated with these strings is released on destruction. // ---------------------------------------------------------------------- __property TStringList* CKeyCaps_Strings = { read=FGetCKeyCaps_Strings }; // ---------------------------------------------------------------------- // Property: Caps_Strings() // Description: This property returns a TStringList containing current // flag values for the Caps property. Note: Any memory // associated with these strings is released on destruction. // ---------------------------------------------------------------------- __property TStringList* Caps_Strings = { read=FGetCaps_Strings }; // ---------------------------------------------------------------------- // Property: Caps2_Strings() // Description: This property returns a TStringList containing current // flag values for the Caps2 property. Note: Any memory // associated with these strings is released on destruction. // ---------------------------------------------------------------------- __property TStringList* Caps2_Strings = { read=FGetCaps2_Strings }; // ---------------------------------------------------------------------- // Property: FXAlphaCaps_Strings() // Description: This property returns a TStringList containing current // flag values for the FXAlphaCaps property. Note: Any // memory associated with these strings is released on // destruction. // ---------------------------------------------------------------------- __property TStringList* FXAlphaCaps_Strings = { read=FGetFXAlphaCaps_Strings }; // ---------------------------------------------------------------------- // Property: FXCaps_Strings() // Description: This property returns a TStringList containing current // flag values for the FXCaps property. Note: Any memory // associated with these strings is released on destruction. // ---------------------------------------------------------------------- __property TStringList* FXCaps_Strings = { read=FGetFXCaps_Strings }; // ---------------------------------------------------------------------- // Property: NLVBCKeyCaps_Strings() // Description: This property returns a TStringList containing current // flag values for the NLVBCKeyCaps property. Note: Any // memory associated with these strings is released on // destruction. // ---------------------------------------------------------------------- __property TStringList* NLVBCKeyCaps_Strings = { read=FGetNLVBCKeyCaps_Strings }; // ---------------------------------------------------------------------- // Property: NLVBCaps_Strings() // Description: This property returns a TStringList containing current // flag values for the NLVBCaps property. Note: Any memory // associated with these strings is released on destruction. // ---------------------------------------------------------------------- __property TStringList* NLVBCaps_Strings = { read=FGetNLVBCaps_Strings }; // ---------------------------------------------------------------------- // Property: NLVBCaps2_Strings() // Description: This property returns a TStringList containing current // flag values for the NLVBCaps2 property. Note: Any memory // associated with these strings is released on destruction. // ---------------------------------------------------------------------- __property TStringList* NLVBCaps2_Strings = { read=FGetNLVBCaps2_Strings }; // ---------------------------------------------------------------------- // Property: NLVBFXCaps_Strings() // Description: This property returns a TStringList containing current // flag values for the NLVBFXCaps property. Note: Any memory // associated with these strings is released on destruction. // ---------------------------------------------------------------------- __property TStringList* NLVBFXCaps_Strings = { read=FGetNLVBFXCaps_Strings }; // ---------------------------------------------------------------------- // Property: PalCaps_Strings() // Description: This property returns a TStringList containing current // flag values for the PalCaps property. Note: Any memory // associated with these strings is released on destruction. // ---------------------------------------------------------------------- __property TStringList* PalCaps_Strings = { read=FGetPalCaps_Strings }; // ---------------------------------------------------------------------- // Property: SSBCKeyCaps_Strings() // Description: This property returns a TStringList containing current // flag values for the SSBCKeyCaps property. Note: Any // memory associated with these strings is released on // destruction. // ---------------------------------------------------------------------- __property TStringList* SSBCKeyCaps_Strings = { read=FGetSSBCKeyCaps_Strings }; // ---------------------------------------------------------------------- // Property: SSBCaps_Strings() // Description: This property returns a TStringList containing current // flag values for the SSBCaps property. Note: Any memory // associated with these strings is released on destruction. // ---------------------------------------------------------------------- __property TStringList* SSBCaps_Strings = { read=FGetSSBCaps_Strings }; // ---------------------------------------------------------------------- // Property: SVBCKeyCaps_Strings() // Description: This property returns a TStringList containing current // flag values for the SVBCKeyCaps property. Note: Any // memory associated with these strings is released on // destruction. // ---------------------------------------------------------------------- __property TStringList* SVBCKeyCaps_Strings = { read=FGetSVBCKeyCaps_Strings }; // ---------------------------------------------------------------------- // Property: SVBCaps_Strings() // Description: This property returns a TStringList containing current // flag values for the SVBCaps property. Note: Any memory // associated with these strings is released on destruction. // ---------------------------------------------------------------------- __property TStringList* SVBCaps_Strings = { read=FGetSVBCaps_Strings }; // ---------------------------------------------------------------------- // Property: SVBCaps2_Strings() // Description: This property returns a TStringList containing current // flag values for the SVBCaps2 property. Note: Any memory // associated with these strings is released on destruction. // ---------------------------------------------------------------------- __property TStringList* SVBCaps2_Strings = { read=FGetSVBCaps2_Strings }; // ---------------------------------------------------------------------- // Property: SVBFXCaps_Strings() // Description: This property returns a TStringList containing current // flag values for the SVBFXCaps property. Note: Any memory // associated with these strings is released on destruction. // ---------------------------------------------------------------------- __property TStringList* SVBFXCaps_Strings = { read=FGetSVBFXCaps_Strings }; // ---------------------------------------------------------------------- // Property: SVCaps_Strings() // Description: This property returns a TStringList containing current // flag values for the SVCaps property. Note: Any memory // associated with these strings is released on destruction. // ---------------------------------------------------------------------- __property TStringList* SVCaps_Strings = { read=FGetSVCaps_Strings }; // ---------------------------------------------------------------------- // Property: VSBCKeyCaps_Strings() // Description: This property returns a TStringList containing current // flag values for the VSBCKeyCaps property. Note: Any // memory associated with these strings is released on // destruction. // ---------------------------------------------------------------------- __property TStringList* VSBCKeyCaps_Strings = { read=FGetVSBCKeyCaps_Strings }; // ---------------------------------------------------------------------- // Property: VSBCaps_Strings() // Description: This property returns a TStringList containing current // flag values for the VSBCaps property. Note: Any memory // associated with these strings is released on destruction. // ---------------------------------------------------------------------- __property TStringList* VSBCaps_Strings = { read=FGetVSBCaps_Strings }; // ---------------------------------------------------------------------- // Property: VSBFXCaps_Strings() // Description: This property returns a TStringList containing current // flag values for the VSBFXCaps property. Note: Any memory // associated with these strings is released on destruction. // ---------------------------------------------------------------------- __property TStringList* VSBFXCaps_Strings = { read=FGetVSBFXCaps_Strings }; // ---------------------------------------------------------------------- // Constructor() and Destructor() // ---------------------------------------------------------------------- __fastcall TDDCaps(TComponent* Owner); virtual __fastcall ~TDDCaps(); // ---------------------------------------------------------------------- // Internal Structure Access // ---------------------------------------------------------------------- __property DDCAPS* Internal_DDCAPS_Ptr = { read=FGetInternal_DDCAPS_Ptr, nodefault }; void __fastcall Internal_DDCAPS_Update(); // ========================================================================== protected: // ========================================================================== // ---------------------------------------------------------------------- // Object Inspector 'Flag' Access Methods // ---------------------------------------------------------------------- TDDCaps_CKeyCaps_Set __fastcall FGetCKeyCaps_(); void __fastcall FSetCKeyCaps_( TDDCaps_CKeyCaps_Set pCKeyCaps_ ); TDDCaps_Caps_Set __fastcall FGetCaps_(); void __fastcall FSetCaps_( TDDCaps_Caps_Set pCaps_ ); TDDCaps_Caps2_Set __fastcall FGetCaps2_(); void __fastcall FSetCaps2_( TDDCaps_Caps2_Set pCaps2_ ); TDDCaps_FXAlphaCaps_Set __fastcall FGetFXAlphaCaps_(); void __fastcall FSetFXAlphaCaps_( TDDCaps_FXAlphaCaps_Set pFXAlphaCaps_ ); TDDCaps_FXCaps_Set __fastcall FGetFXCaps_(); void __fastcall FSetFXCaps_( TDDCaps_FXCaps_Set pFXCaps_ ); TDDCaps_CKeyCaps_Set __fastcall FGetNLVBCKeyCaps_(); void __fastcall FSetNLVBCKeyCaps_( TDDCaps_CKeyCaps_Set pNLVBCKeyCaps_ ); TDDCaps_Caps_Set __fastcall FGetNLVBCaps_(); void __fastcall FSetNLVBCaps_( TDDCaps_Caps_Set pNLVBCaps_ ); TDDCaps_Caps2_Set __fastcall FGetNLVBCaps2_(); void __fastcall FSetNLVBCaps2_( TDDCaps_Caps2_Set pNLVBCaps2_ ); TDDCaps_FXCaps_Set __fastcall FGetNLVBFXCaps_(); void __fastcall FSetNLVBFXCaps_( TDDCaps_FXCaps_Set pNLVBFXCaps_ ); TDDCaps_PalCaps_Set __fastcall FGetPalCaps_(); void __fastcall FSetPalCaps_( TDDCaps_PalCaps_Set pPalCaps_ ); TDDCaps_CKeyCaps_Set __fastcall FGetSSBCKeyCaps_(); void __fastcall FSetSSBCKeyCaps_( TDDCaps_CKeyCaps_Set pSSBCKeyCaps_ ); TDDCaps_Caps_Set __fastcall FGetSSBCaps_(); void __fastcall FSetSSBCaps_( TDDCaps_Caps_Set pSSBCaps_ ); TDDCaps_CKeyCaps_Set __fastcall FGetSVBCKeyCaps_(); void __fastcall FSetSVBCKeyCaps_( TDDCaps_CKeyCaps_Set pSVBCKeyCaps_ ); TDDCaps_Caps_Set __fastcall FGetSVBCaps_(); void __fastcall FSetSVBCaps_( TDDCaps_Caps_Set pSVBCaps_ ); TDDCaps_Caps2_Set __fastcall FGetSVBCaps2_(); void __fastcall FSetSVBCaps2_( TDDCaps_Caps2_Set pSVBCaps2_ ); TDDCaps_FXCaps_Set __fastcall FGetSVBFXCaps_(); void __fastcall FSetSVBFXCaps_( TDDCaps_FXCaps_Set pSVBFXCaps_ ); TDDCaps_SVCaps_Set __fastcall FGetSVCaps_(); void __fastcall FSetSVCaps_( TDDCaps_SVCaps_Set pSVCaps_ ); TDDCaps_CKeyCaps_Set __fastcall FGetVSBCKeyCaps_(); void __fastcall FSetVSBCKeyCaps_( TDDCaps_CKeyCaps_Set pVSBCKeyCaps_ ); TDDCaps_Caps_Set __fastcall FGetVSBCaps_(); void __fastcall FSetVSBCaps_( TDDCaps_Caps_Set pVSBCaps_ ); TDDCaps_FXCaps_Set __fastcall FGetVSBFXCaps_(); void __fastcall FSetVSBFXCaps_( TDDCaps_FXCaps_Set pVSBFXCaps_ ); // ---------------------------------------------------------------------- // Property Access Methods // ---------------------------------------------------------------------- dword __fastcall FGetAlignBoundaryDest(); void __fastcall FSetAlignBoundaryDest( dword pAlignBoundaryDest ); dword __fastcall FGetAlignBoundarySrc(); void __fastcall FSetAlignBoundarySrc( dword pAlignBoundarySrc ); dword __fastcall FGetAlignSizeDest(); void __fastcall FSetAlignSizeDest( dword pAlignSizeDest ); dword __fastcall FGetAlignSizeSrc(); void __fastcall FSetAlignSizeSrc( dword pAlignSizeSrc ); dword __fastcall FGetAlignStrideAlign(); void __fastcall FSetAlignStrideAlign( dword pAlignStrideAlign ); dword __fastcall FGetAlphaBltConstBitDepths(); void __fastcall FSetAlphaBltConstBitDepths( dword pAlphaBltConstBitDepths ); dword __fastcall FGetAlphaBltPixelBitDepths(); void __fastcall FSetAlphaBltPixelBitDepths( dword pAlphaBltPixelBitDepths ); dword __fastcall FGetAlphaBltSurfaceBitDepths(); void __fastcall FSetAlphaBltSurfaceBitDepths( dword pAlphaBltSurfaceBitDepths ); dword __fastcall FGetAlphaOverlayConstBitDepths(); void __fastcall FSetAlphaOverlayConstBitDepths( dword pAlphaOverlayConstBitDepths ); dword __fastcall FGetAlphaOverlayPixelBitDepths(); void __fastcall FSetAlphaOverlayPixelBitDepths( dword pAlphaOverlayPixelBitDepths ); dword __fastcall FGetAlphaOverlaySurfaceBitDepths(); void __fastcall FSetAlphaOverlaySurfaceBitDepths( dword pAlphaOverlaySurfaceBitDepths ); dword __fastcall FGetCKeyCaps(); void __fastcall FSetCKeyCaps( dword pCKeyCaps ); dword __fastcall FGetCaps(); void __fastcall FSetCaps( dword pCaps ); dword __fastcall FGetCaps2(); void __fastcall FSetCaps2( dword pCaps2 ); dword __fastcall FGetCurrVideoPorts(); void __fastcall FSetCurrVideoPorts( dword pCurrVideoPorts ); dword __fastcall FGetCurrVisibleOverlays(); void __fastcall FSetCurrVisibleOverlays( dword pCurrVisibleOverlays ); HRESULT __fastcall FGetErrorValue(); void __fastcall FSetErrorValue( HRESULT pErrorValue ); dword __fastcall FGetFXAlphaCaps(); void __fastcall FSetFXAlphaCaps( dword pFXAlphaCaps ); dword __fastcall FGetFXCaps(); void __fastcall FSetFXCaps( dword pFXCaps ); dword __fastcall FGetMaxOverlayStretch(); void __fastcall FSetMaxOverlayStretch( dword pMaxOverlayStretch ); dword __fastcall FGetMaxVideoPorts(); void __fastcall FSetMaxVideoPorts( dword pMaxVideoPorts ); dword __fastcall FGetMaxVisibleOverlays(); void __fastcall FSetMaxVisibleOverlays( dword pMaxVisibleOverlays ); dword __fastcall FGetMinOverlayStretch(); void __fastcall FSetMinOverlayStretch( dword pMinOverlayStretch ); dword __fastcall FGetNLVBCKeyCaps(); void __fastcall FSetNLVBCKeyCaps( dword pNLVBCKeyCaps ); dword __fastcall FGetNLVBCaps(); void __fastcall FSetNLVBCaps( dword pNLVBCaps ); dword __fastcall FGetNLVBCaps2(); void __fastcall FSetNLVBCaps2( dword pNLVBCaps2 ); dword __fastcall FGetNLVBFXCaps(); void __fastcall FSetNLVBFXCaps( dword pNLVBFXCaps ); dword __fastcall FGetNLVBRops( dword pIndex ); void __fastcall FSetNLVBRops( dword pIndex, dword pNLVBRops ); dword __fastcall FGetNumFourCCCodes(); void __fastcall FSetNumFourCCCodes( dword pNumFourCCCodes ); dword __fastcall FGetPalCaps(); void __fastcall FSetPalCaps( dword pPalCaps ); dword __fastcall FGetRops( dword pIndex ); void __fastcall FSetRops( dword pIndex, dword pRops ); TDDSCaps* __fastcall FGetSCaps(); void __fastcall FSetSCaps( TDDSCaps* pSCaps ); dword __fastcall FGetSSBCKeyCaps(); void __fastcall FSetSSBCKeyCaps( dword pSSBCKeyCaps ); dword __fastcall FGetSSBCaps(); void __fastcall FSetSSBCaps( dword pSSBCaps ); dword __fastcall FGetSSBRops( dword pIndex ); void __fastcall FSetSSBRops( dword pIndex, dword pSSBRops ); dword __fastcall FGetSVBCKeyCaps(); void __fastcall FSetSVBCKeyCaps( dword pSVBCKeyCaps ); dword __fastcall FGetSVBCaps(); void __fastcall FSetSVBCaps( dword pSVBCaps ); dword __fastcall FGetSVBCaps2(); void __fastcall FSetSVBCaps2( dword pSVBCaps2 ); dword __fastcall FGetSVBFXCaps(); void __fastcall FSetSVBFXCaps( dword pSVBFXCaps ); dword __fastcall FGetSVBRops( dword pIndex ); void __fastcall FSetSVBRops( dword pIndex, dword pSVBRops ); dword __fastcall FGetSVCaps(); void __fastcall FSetSVCaps( dword pSVCaps ); dword __fastcall FGetSize(); void __fastcall FSetSize( dword pSize ); dword __fastcall FGetVSBCKeyCaps(); void __fastcall FSetVSBCKeyCaps( dword pVSBCKeyCaps ); dword __fastcall FGetVSBCaps(); void __fastcall FSetVSBCaps( dword pVSBCaps ); dword __fastcall FGetVSBFXCaps(); void __fastcall FSetVSBFXCaps( dword pVSBFXCaps ); dword __fastcall FGetVSBRops( dword pIndex ); void __fastcall FSetVSBRops( dword pIndex, dword pVSBRops ); dword __fastcall FGetVidMemFree(); void __fastcall FSetVidMemFree( dword pVidMemFree ); dword __fastcall FGetVidMemTotal(); void __fastcall FSetVidMemTotal( dword pVidMemTotal ); // ---------------------------------------------------------------------- // Flag_Strings Access Methods // ---------------------------------------------------------------------- TStringList* __fastcall FGetCKeyCaps_Strings(); TStringList* __fastcall FGetCaps_Strings(); TStringList* __fastcall FGetCaps2_Strings(); TStringList* __fastcall FGetFXAlphaCaps_Strings(); TStringList* __fastcall FGetFXCaps_Strings(); TStringList* __fastcall FGetNLVBCKeyCaps_Strings(); TStringList* __fastcall FGetNLVBCaps_Strings(); TStringList* __fastcall FGetNLVBCaps2_Strings(); TStringList* __fastcall FGetNLVBFXCaps_Strings(); TStringList* __fastcall FGetPalCaps_Strings(); TStringList* __fastcall FGetSSBCKeyCaps_Strings(); TStringList* __fastcall FGetSSBCaps_Strings(); TStringList* __fastcall FGetSVBCKeyCaps_Strings(); TStringList* __fastcall FGetSVBCaps_Strings(); TStringList* __fastcall FGetSVBCaps2_Strings(); TStringList* __fastcall FGetSVBFXCaps_Strings(); TStringList* __fastcall FGetSVCaps_Strings(); TStringList* __fastcall FGetVSBCKeyCaps_Strings(); TStringList* __fastcall FGetVSBCaps_Strings(); TStringList* __fastcall FGetVSBFXCaps_Strings(); // ========================================================================== private: // ========================================================================== // ---------------------------------------------------------------------- // Internal Structure Access // ---------------------------------------------------------------------- DDCAPS* __fastcall FGetInternal_DDCAPS_Ptr(); void __fastcall FSetInternal_DDCAPS( DDCAPS* pDDCAPS ); // ---------------------------------------------------------------------- // Property Variables // ---------------------------------------------------------------------- HRESULT fErrorValue; TDDSCaps* fSCaps; // ---------------------------------------------------------------------- // Flags_Strings Variables // ---------------------------------------------------------------------- TStringList* fCKeyCaps_Strings; TStringList* fCaps_Strings; TStringList* fCaps2_Strings; TStringList* fFXAlphaCaps_Strings; TStringList* fFXCaps_Strings; TStringList* fNLVBCKeyCaps_Strings; TStringList* fNLVBCaps_Strings; TStringList* fNLVBCaps2_Strings; TStringList* fNLVBFXCaps_Strings; TStringList* fPalCaps_Strings; TStringList* fSSBCKeyCaps_Strings; TStringList* fSSBCaps_Strings; TStringList* fSVBCKeyCaps_Strings; TStringList* fSVBCaps_Strings; TStringList* fSVBCaps2_Strings; TStringList* fSVBFXCaps_Strings; TStringList* fSVCaps_Strings; TStringList* fVSBCKeyCaps_Strings; TStringList* fVSBCaps_Strings; TStringList* fVSBFXCaps_Strings; // ---------------------------------------------------------------------- // Structure Variables // ---------------------------------------------------------------------- DDCAPS fDDCAPS; // ---------------------------------------------------------------------- // Event Variables // ---------------------------------------------------------------------- TDx_Error FOnError; }; // -------------------------------------------------------------------------- #endif // --------------------------------------------------------------------------