#ifndef TD3DPrimCapsH #define TD3DPrimCapsH // ========================================================================== // File: TD3DPrimCaps.H // Authors: BCB_Code_Generator v1.70, // Darren Dwyer (source code, documentation, demos, website), // Hugh Edwards (documentation, icons), // Brian Austin (documentation) // Description: This file defines the TD3DPrimCaps Component // // "TDx_3DI_Library v1.70" // (c) 2003 BCB-Tools.com Pty. Ltd., Sydney, Australia. // All Rights Reserved. // // Refer to the 'Licence.Txt' file for licencing & copyright information. // ========================================================================== // -------------------------------------------------------------------------- #include "TDx_Library_Defns.H" #include "TDx_Library_Functions.H" // -------------------------------------------------------------------------- #include "TDx_3DI_Library_Defns.H" #include "TDx_3DI_Library_Functions.H" // ========================================================================== // Set: TD3DPrimCapsMiscCaps_Set // Description: A set of mangled DirectX flag names that are used to set the // TD3DPrimCaps::MiscCaps property using the BCB Object // Inspector. For detailed descriptions of each flag, see the // MiscCaps property description below. // ========================================================================== enum TD3DPrimCaps_MiscCaps_Flags { d3dpmisccaps_conformant, d3dpmisccaps_cullccw, d3dpmisccaps_cullcw, d3dpmisccaps_cullnone, d3dpmisccaps_linepatternrep, d3dpmisccaps_maskplanes, d3dpmisccaps_maskz }; typedef Set< TD3DPrimCaps_MiscCaps_Flags, d3dpmisccaps_conformant, d3dpmisccaps_maskz > TD3DPrimCaps_MiscCaps_Set; // ========================================================================== // Set: TD3DPrimCapsRasterCaps_Set // Description: A set of mangled DirectX flag names that are used to set the // TD3DPrimCaps::RasterCaps property using the BCB Object // Inspector. For detailed descriptions of each flag, see the // RasterCaps property description below. // ========================================================================== enum TD3DPrimCaps_RasterCaps_Flags { d3dprastercaps_anisotropy, d3dprastercaps_antialiasedges, d3dprastercaps_antialiassortdependent, d3dprastercaps_antialiassortindependent, d3dprastercaps_dither, d3dprastercaps_fogrange, d3dprastercaps_fogtable, d3dprastercaps_fogvertex, d3dprastercaps_mipmaplodbias, d3dprastercaps_pat, d3dprastercaps_rop2, d3dprastercaps_stipple, d3dprastercaps_subpixel, d3dprastercaps_subpixelx, d3dprastercaps_translucentsortindependent, d3dprastercaps_wbuffer, d3dprastercaps_wfog, d3dprastercaps_xor, d3dprastercaps_zbias, d3dprastercaps_zbufferlesshsr, d3dprastercaps_zfog, d3dprastercaps_ztest }; typedef Set< TD3DPrimCaps_RasterCaps_Flags, d3dprastercaps_anisotropy, d3dprastercaps_ztest > TD3DPrimCaps_RasterCaps_Set; // ========================================================================== // Set: TD3DPrimCapsShadeCaps_Set // Description: A set of mangled DirectX flag names that are used to set the // TD3DPrimCaps::ShadeCaps property using the BCB Object // Inspector. For detailed descriptions of each flag, see the // ShadeCaps property description below. // ========================================================================== enum TD3DPrimCaps_ShadeCaps_Flags { d3dpshadecaps_alphaflatblend, d3dpshadecaps_alphaflatstippled, d3dpshadecaps_alphagouraudblend, d3dpshadecaps_alphagouraudstippled, d3dpshadecaps_alphaphongblend, d3dpshadecaps_alphaphongstippled, d3dpshadecaps_colorflatmono, d3dpshadecaps_colorflatrgb, d3dpshadecaps_colorgouraudmono, d3dpshadecaps_colorgouraudrgb, d3dpshadecaps_colorphongmono, d3dpshadecaps_colorphongrgb, d3dpshadecaps_fogflat, d3dpshadecaps_foggouraud, d3dpshadecaps_fogphong, d3dpshadecaps_specularflatmono, d3dpshadecaps_specularflatrgb, d3dpshadecaps_speculargouraudmono, d3dpshadecaps_speculargouraudrgb, d3dpshadecaps_specularphongmono, d3dpshadecaps_specularphongrgb }; typedef Set< TD3DPrimCaps_ShadeCaps_Flags, d3dpshadecaps_alphaflatblend, d3dpshadecaps_specularphongrgb > TD3DPrimCaps_ShadeCaps_Set; // ========================================================================== // Set: TD3DPrimCapsSrcBlendCaps_Set // Description: A set of mangled DirectX flag names that are used to set the // TD3DPrimCaps::SrcBlendCaps property using the BCB Object // Inspector. For detailed descriptions of each flag, see the // SrcBlendCaps property description below. // ========================================================================== enum TD3DPrimCaps_SrcBlendCaps_Flags { d3dpblendcaps_bothinvsrcalpha, d3dpblendcaps_destalpha_, d3dpblendcaps_destcolor_, d3dpblendcaps_invdestalpha, d3dpblendcaps_invdestcolor_, d3dpblendcaps_invsrcalpha_, d3dpblendcaps_invsrccolor_, d3dpblendcaps_one_, d3dpblendcaps_srcalpha_, d3dpblendcaps_srcalphasat, d3dpblendcaps_srccolor, d3dpblendcaps_zero }; typedef Set< TD3DPrimCaps_SrcBlendCaps_Flags, d3dpblendcaps_bothinvsrcalpha, d3dpblendcaps_zero > TD3DPrimCaps_SrcBlendCaps_Set; // ========================================================================== // Set: TD3DPrimCapsTextureAddressCaps_Set // Description: A set of mangled DirectX flag names that are used to set the // TD3DPrimCaps::TextureAddressCaps property using the BCB // Object Inspector. For detailed descriptions of each flag, see // the TextureAddressCaps property description below. // ========================================================================== enum TD3DPrimCaps_TextureAddressCaps_Flags { d3dptaddresscaps_border, d3dptaddresscaps_clamp, d3dptaddresscaps_independentuv, d3dptaddresscaps_mirror, d3dptaddresscaps_wrap }; typedef Set< TD3DPrimCaps_TextureAddressCaps_Flags, d3dptaddresscaps_border, d3dptaddresscaps_wrap > TD3DPrimCaps_TextureAddressCaps_Set; // ========================================================================== // Set: TD3DPrimCapsTextureCaps_Set // Description: A set of mangled DirectX flag names that are used to set the // TD3DPrimCaps::TextureCaps property using the BCB Object // Inspector. For detailed descriptions of each flag, see the // TextureCaps property description below. // ========================================================================== enum TD3DPrimCaps_TextureCaps_Flags { d3dptexturecaps_alpha, d3dptexturecaps_alphapalette, d3dptexturecaps_border, d3dptexturecaps_colorkeyblend, d3dptexturecaps_cubemap, d3dptexturecaps_nonpow2conditional, d3dptexturecaps_perspective, d3dptexturecaps_pow2, d3dptexturecaps_projected, d3dptexturecaps_squareonly, d3dptexturecaps_texrepeatnotscaledbysize, d3dptexturecaps_transparency }; typedef Set< TD3DPrimCaps_TextureCaps_Flags, d3dptexturecaps_alpha, d3dptexturecaps_transparency > TD3DPrimCaps_TextureCaps_Set; // ========================================================================== // Set: TD3DPrimCapsTextureFilterCaps_Set // Description: A set of mangled DirectX flag names that are used to set the // TD3DPrimCaps::TextureFilterCaps property using the BCB Object // Inspector. For detailed descriptions of each flag, see the // TextureFilterCaps property description below. // ========================================================================== enum TD3DPrimCaps_TextureFilterCaps_Flags { d3dptfiltercaps_linear, d3dptfiltercaps_linearmiplinear, d3dptfiltercaps_linearmipnearest, d3dptfiltercaps_magfaflatcubic, d3dptfiltercaps_magfanisotropic, d3dptfiltercaps_magfgaussiancubic, d3dptfiltercaps_magflinear, d3dptfiltercaps_magfpoint, d3dptfiltercaps_minfanisotropic, d3dptfiltercaps_minflinear, d3dptfiltercaps_minfpoint, d3dptfiltercaps_mipflinear, d3dptfiltercaps_mipfpoint, d3dptfiltercaps_miplinear, d3dptfiltercaps_mipnearest, d3dptfiltercaps_nearest }; typedef Set< TD3DPrimCaps_TextureFilterCaps_Flags, d3dptfiltercaps_linear, d3dptfiltercaps_nearest > TD3DPrimCaps_TextureFilterCaps_Set; // ========================================================================== // Set: TD3DPrimCapsZCmpCaps_Set // Description: A set of mangled DirectX flag names that are used to set the // TD3DPrimCaps::ZCmpCaps property using the BCB Object // Inspector. For detailed descriptions of each flag, see the // ZCmpCaps property description below. // ========================================================================== enum TD3DPrimCaps_ZCmpCaps_Flags { d3dpcmpcaps_always, d3dpcmpcaps_equal, d3dpcmpcaps_greater_, d3dpcmpcaps_greaterequal_, d3dpcmpcaps_less_, d3dpcmpcaps_lessequal_, d3dpcmpcaps_never, d3dpcmpcaps_notequal }; typedef Set< TD3DPrimCaps_ZCmpCaps_Flags, d3dpcmpcaps_always, d3dpcmpcaps_notequal > TD3DPrimCaps_ZCmpCaps_Set; // -------------------------------------------------------------------------- // ========================================================================== // Class: TD3DPrimCaps // Description: The TD3DPrimCaps component wraps the DirectX D3DPRIMCAPS // structure, which defines the device capabilities for each // type of primitive. // // This component defines several properties of the // TD3DDeviceDesc component when creating or querying devices. // ========================================================================== #if (__BORLANDC__ >= 0x0530) // BCB Version 3 + class PACKAGE TD3DPrimCaps : public TComponent { // -------------------------------------------------------------------------- #else // BCB Version 1 class TD3DPrimCaps : public TComponent { #endif // ========================================================================== __published: // ========================================================================== // ---------------------------------------------------------------------- // Property: AlphaCmpCaps_ // Description: The AlphaCmpCaps property indicates which alpha test // comparisons are available. // The described effect applies when the flag is set. // // Alpha tests are not supported if only 0, // D3DPCMPCAPS_ALWAYS or D3DPCMPCAPS_NEVER are set. // Note: This property is used to set the various DirectX Flags // for the 'AlphaCmpCaps' property via the BCB Object // Inspector. For detailed descriptions of each flag, see // the AlphaCmpCaps property description below. // ---------------------------------------------------------------------- __property TD3DPrimCaps_ZCmpCaps_Set AlphaCmpCaps_ = { read=FGetAlphaCmpCaps_, write=FSetAlphaCmpCaps_, nodefault }; // ---------------------------------------------------------------------- // Property: DestBlendCaps_ // Description: The DestBlendCaps property indicate the destination // blending capablilties that are available. // The described effect applies when the flag is set. // // Each component of the RGBA value is denoted by the // corresponding capitalised letter, source and destination // being indicated by s and d respectively. // Note: This property is used to set the various DirectX Flags // for the 'DestBlendCaps' property via the BCB Object // Inspector. For detailed descriptions of each flag, see // the DestBlendCaps property description below. // ---------------------------------------------------------------------- __property TD3DPrimCaps_SrcBlendCaps_Set DestBlendCaps_ = { read=FGetDestBlendCaps_, write=FSetDestBlendCaps_, nodefault }; // ---------------------------------------------------------------------- // Property: MiscCaps_ // Description: These flags indicate the general capabilities of the // primitive. // The described effect applies when the flag is set. // Note: This property is used to set the various DirectX Flags // for the 'MiscCaps' property via the BCB Object Inspector. // For detailed descriptions of each flag, see the MiscCaps // property description below. // ---------------------------------------------------------------------- __property TD3DPrimCaps_MiscCaps_Set MiscCaps_ = { read=FGetMiscCaps_, write=FSetMiscCaps_, nodefault }; // ---------------------------------------------------------------------- // Property: RasterCaps_ // Description: These flags provide information on the raster drawing // capabilities of the device. // The described effect applies when the flag is set. // Note: This property is used to set the various DirectX Flags // for the 'RasterCaps' property via the BCB Object // Inspector. For detailed descriptions of each flag, see // the RasterCaps property description below. // ---------------------------------------------------------------------- __property TD3DPrimCaps_RasterCaps_Set RasterCaps_ = { read=FGetRasterCaps_, write=FSetRasterCaps_, nodefault }; // ---------------------------------------------------------------------- // Property: ShadeCaps_ // Description: The ShadeCaps property indicate the shading operations // that the device is capable of performing. // The described effect applies when the flag is set. // // Flat shade mode uses the specular and color component of // the first vertex in a triangle to shade the whole face. // Gouraud shade mode interpolates the color and intensity // of adjacent vertices across the space that separates them // in a linear fashion. // Phong shade mode calculates the appropriate shade value // for each pixel but is not yet supported in DirectX. // Monochrome shading modes use the specular component's // blue channel for the white intensity. // Any commands the device supports are assumed to also // support the flat shading mode. // When a mode doesn't support alpha components, alpha is // interpreted as being at maximum intensity (255). // // The color, specular highlights, fog, and alpha // interpolants of a triangle each have capability flags // that an application can use to find out how they are // implemented by the device driver. These are modified by // the shading mode, color model, and whether the alpha // component of a color is blended or stippled. // Note: This property is used to set the various DirectX Flags // for the 'ShadeCaps' property via the BCB Object // Inspector. For detailed descriptions of each flag, see // the ShadeCaps property description below. // ---------------------------------------------------------------------- __property TD3DPrimCaps_ShadeCaps_Set ShadeCaps_ = { read=FGetShadeCaps_, write=FSetShadeCaps_, nodefault }; // ---------------------------------------------------------------------- // Property: SrcBlendCaps_ // Description: The SrcBlendCaps property indicate the source blending // capablilties that are available. // The described effect applies when the flag is set. // // Each component of the RGBA value is denoted by the // corresponding capitalised letter, source and destination // being indicated by s and d respectively. // Note: This property is used to set the various DirectX Flags // for the 'SrcBlendCaps' property via the BCB Object // Inspector. For detailed descriptions of each flag, see // the SrcBlendCaps property description below. // ---------------------------------------------------------------------- __property TD3DPrimCaps_SrcBlendCaps_Set SrcBlendCaps_ = { read=FGetSrcBlendCaps_, write=FSetSrcBlendCaps_, nodefault }; // ---------------------------------------------------------------------- // Property: TextureAddressCaps_ // Description: The TextureAddressCaps property indicates which texture // addressing 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 'TextureAddressCaps' property via the BCB Object // Inspector. For detailed descriptions of each flag, see // the TextureAddressCaps property description below. // ---------------------------------------------------------------------- __property TD3DPrimCaps_TextureAddressCaps_Set TextureAddressCaps_ = { read=FGetTextureAddressCaps_, write=FSetTextureAddressCaps_, nodefault }; // ---------------------------------------------------------------------- // Property: TextureCaps_ // Description: The TextureCaps property flags indicates which texture // mapping capabilities are available. // The described effect applies when the flag is set. // Note: This property is used to set the various DirectX Flags // for the 'TextureCaps' property via the BCB Object // Inspector. For detailed descriptions of each flag, see // the TextureCaps property description below. // ---------------------------------------------------------------------- __property TD3DPrimCaps_TextureCaps_Set TextureCaps_ = { read=FGetTextureCaps_, write=FSetTextureCaps_, nodefault }; // ---------------------------------------------------------------------- // Property: TextureFilterCaps_ // Description: The TextureFilterCaps property indicates the texture map // filtering 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 'TextureFilterCaps' property via the BCB Object // Inspector. For detailed descriptions of each flag, see // the TextureFilterCaps property description below. // ---------------------------------------------------------------------- __property TD3DPrimCaps_TextureFilterCaps_Set TextureFilterCaps_ = { read=FGetTextureFilterCaps_, write=FSetTextureFilterCaps_, nodefault }; // ---------------------------------------------------------------------- // Property: ZCmpCaps_ // Description: These flags indicate what Z buffer comparison functions // are available. // The described effect applies when the flag is set. // // Z comparisons determine whether or not to draw a // z-buffered pixel. // Note: This property is used to set the various DirectX Flags // for the 'ZCmpCaps' property via the BCB Object Inspector. // For detailed descriptions of each flag, see the ZCmpCaps // property description below. // ---------------------------------------------------------------------- __property TD3DPrimCaps_ZCmpCaps_Set ZCmpCaps_ = { read=FGetZCmpCaps_, write=FSetZCmpCaps_, nodefault }; // ---------------------------------------------------------------------- // Property: Size // Description: Contains the size, in bytes, of this object. // // ---------------------------------------------------------------------- __property dword Size = { read=FGetSize, write=FSetSize, default=sizeof(D3DPRIMCAPS) }; // ---------------------------------------------------------------------- // Property: StippleHeight // Description: The StippleHeight property defines the maximum stipple // pattern height supported. // This can have a maximum value of 32. // ---------------------------------------------------------------------- __property dword StippleHeight = { read=FGetStippleHeight, write=FSetStippleHeight, default=0 }; // ---------------------------------------------------------------------- // Property: StippleWidth // Description: The StippleWidth property defines the maximum stipple // pattern width supported. // This can have a maximum value of 32. // ---------------------------------------------------------------------- __property dword StippleWidth = { read=FGetStippleWidth, write=FSetStippleWidth, default=0 }; // ---------------------------------------------------------------------- // Property: TextureBlendCaps // Description: NOT USED // Texture blending capabilties are available through // TD3DDeviceDesc->TextureOpCaps. // ---------------------------------------------------------------------- __property dword TextureBlendCaps = { read=FGetTextureBlendCaps, write=FSetTextureBlendCaps, default=0 }; // ---------------------------------------------------------------------- // Event: OnError() // Description: The OnError event is called when an error occurs in the // TD3DPrimCaps component. // ---------------------------------------------------------------------- __property TDx_Error OnError = {read=FOnError, write=FOnError, nodefault}; // ========================================================================== public: // ========================================================================== // ---------------------------------------------------------------------- // Property: AlphaCmpCaps // Description: The AlphaCmpCaps property indicates which alpha test // comparisons are available. // The described effect applies when the flag is set. // // Alpha tests are not supported if only 0, // D3DPCMPCAPS_ALWAYS or D3DPCMPCAPS_NEVER are set. // Flags: D3DPCMPCAPS_ALWAYS - // Alpha testing is unavailable and all alpha tests will // be passed. // D3DPCMPCAPS_EQUAL - // Equality alpha testing is available, the test being // passed if the new alpha value is equal to the current // alpha value. // D3DPCMPCAPS_GREATER - // Greater than alpha testing is available, the test being // passed if the new alpha value is greater than the // current alpha value. // D3DPCMPCAPS_GREATEREQUAL - // Greater than or equal to alpha testing is available, // the test being passed if the new alpha value is greater // than or equal to the current alpha value. // D3DPCMPCAPS_LESS - // Less than alpha testing is available, the test being // passed if the new alpha value is less than the current // alpha value. // D3DPCMPCAPS_LESSEQUAL - // Less than or equal to alpha testing is available, the // test being passed if the new alpha value is less than // or equal to the current alpha value. // D3DPCMPCAPS_NEVER - // Alpha testing is unavailable and all alpha tests will // be failed. // D3DPCMPCAPS_NOTEQUAL - // Not equal alpha testing is available, the test being // passed if the new alpha value is not equal to the // current alpha value. // ---------------------------------------------------------------------- __property dword AlphaCmpCaps = { read=FGetAlphaCmpCaps, write=FSetAlphaCmpCaps, default=0 }; // ---------------------------------------------------------------------- // Property: DestBlendCaps // Description: The DestBlendCaps property indicate the destination // blending capablilties that are available. // The described effect applies when the flag is set. // // Each component of the RGBA value is denoted by the // corresponding capitalised letter, source and destination // being indicated by s and d respectively. // Flags: D3DPBLENDCAPS_BOTHINVSRCALPHA - // Support for using the inverted source alpha value as // the source blend factor and the source alpha value as // the destination blend factor of is available. // Source blend factor: (1-As, 1-As, 1-As, 1-As) // Destination blend factor: (As, As, As, As) // The destination blend selection is overridden. // D3DPBLENDCAPS_DESTALPHA - // Support for using the destination alpha value as the // blend factor is available. // Blend factor: (Ad, Ad, Ad, Ad) // D3DPBLENDCAPS_DESTCOLOR - // Support for using the destination color as the blend // factor is available. // Blend factor: (Rd, Gd, Bd, Ad) // D3DPBLENDCAPS_INVDESTALPHA - // Support for using the inverted destination alpha value // as the blend factor is available. // Blend factor: (1-Ad, 1-Ad, 1-Ad, 1-Ad) // D3DPBLENDCAPS_INVDESTCOLOR - // Support for using the inverted destination color as the // blend factor is available. // Blend factor: (1-Rd, 1-Gd, 1-Bd, 1-Ad) // D3DPBLENDCAPS_INVSRCALPHA - // Support for using the inverted source alpha value as // the blend factor is available. // Blend factor: (1-As, 1-As, 1-As, 1-As) // D3DPBLENDCAPS_INVSRCCOLOR - // Support for using the inverted source color as the // blend factor is available. // Blend factor: (1-Rs, 1-Gs, 1-Bs, 1-As) // D3DPBLENDCAPS_ONE - // Support for a blend factor of 1 is available. // Blend factor: (1, 1, 1, 1) // D3DPBLENDCAPS_SRCALPHA - // Support for using the source alpha value as the blend // factor is available. // Blend factor: (As, As, As, As) // D3DPBLENDCAPS_SRCALPHASAT - // Support for using the lower of the source alpha value // or inverted destination alpha value as the blend factor // is available. // Blend factor: (min(As, 1-Ad), min(As, 1-Ad), min(As, // 1-Ad), 1) // D3DPBLENDCAPS_SRCCOLOR - // Support for using the source color as the blend factor // is available. // Blend factor: (Rs, Gs, Bs, As) // D3DPBLENDCAPS_ZERO - // Support for a blend factor of 0 is available. // Blend factor: (0, 0, 0, 0) // ---------------------------------------------------------------------- __property dword DestBlendCaps = { read=FGetDestBlendCaps, write=FSetDestBlendCaps, default=0 }; // ---------------------------------------------------------------------- // Property: ErrorValue // Description: The ErrorValue property contains the last error value // returned from a call to a TD3DPrimCaps method or // fget/fset. eg. D3D_OK or DDERR_SURFACELOST or TDX_ERROR // ---------------------------------------------------------------------- __property HRESULT ErrorValue = { read=FGetErrorValue, write=FSetErrorValue, default=D3D_OK }; // ---------------------------------------------------------------------- // Property: MiscCaps // Description: These flags indicate the general capabilities of the // primitive. // The described effect applies when the flag is set. // Flags: D3DPMISCCAPS_CONFORMANT - // The device is OpenGL compliant. // D3DPMISCCAPS_CULLCCW - // Support for counterclockwise culling of triangle // primitives is available. // // Software rendering uses a fixed culling order and thus // cannot change the culling mode. // D3DPMISCCAPS_CULLCW - // Support for clockwise culling of triangle primitives is // available. // // Software renderering uses a fixed culling order and // thus cannot change the culling mode. // D3DPMISCCAPS_CULLNONE - // Support for culling is not available. // D3DPMISCCAPS_LINEPATTERNREP - // Support for higher values than one in // TD3DLinePattern->RepeatFactor is available. // // This flag only applies only to line drawing primitives. // D3DPMISCCAPS_MASKPLANES - // Support for color plane bitmasks is available. // D3DPMISCCAPS_MASKZ - // Support for enabling and disabling z-buffer // modification on pixel operations is available. // ---------------------------------------------------------------------- __property dword MiscCaps = { read=FGetMiscCaps, write=FSetMiscCaps, default=0 }; // ---------------------------------------------------------------------- // Property: RasterCaps // Description: These flags provide information on the raster drawing // capabilities of the device. // The described effect applies when the flag is set. // Flags: D3DPRASTERCAPS_ANISOTROPY - // Support for anisotropic filtering is available. // D3DPRASTERCAPS_ANTIALIASEDGES - // Support for antialias on lines forming the convex // outline of an object is available. // D3DPRASTERCAPS_ANTIALIASSORTDEPENDENT - // Support for antialiasing is dependant on the sort order // of the polygons. // // The application must draw polygons in the right order // for antialiasing to occur (back to front or front to // back). // // D3DPRASTERCAPS_ANTIALIASSORTINDEPENDENT - // Support for antialiasing is independant of the sort // order of the polygons. // D3DPRASTERCAPS_DITHER - // Support for dithering to improve color resolution is // available. // D3DPRASTERCAPS_FOGRANGE - // Support for range based fog is available. // Range based fog is computed using distance from viewer, // rather than relying on the z-buffer. // D3DPRASTERCAPS_FOGTABLE - // Support for fog values that are calculated by referring // to a lookup table of fog values indexed to the z-buffer // is available. // D3DPRASTERCAPS_FOGVERTEX - // The fog value is calculated by the device during the // lighting operation. // This calculated value is stored in the alpha component // of the TD3DColor in TD3DTLVertex::Specular. // The fog value is then interpolated during raturization. // D3DPRASTERCAPS_MIPMAPLODBIAS - // Support for level of detail (LOD) mipmap bias // adjustments is available. // This amounts to a sharpness setting for mipmaps. // D3DPRASTERCAPS_PAT - // Support for patterned drawing using // D3DRENDERSTATE_LINEPATTERN for lines or one of the // D3DRENDERSTATE_STIPPLEPATTERN render states for fills // is available. // D3DPRASTERCAPS_ROP2 - // Support for raster operations other than R2_COPYPEN is // available. // D3DPRASTERCAPS_STIPPLE - // Support for the stippling of polygons to simulate // translucency is available. // // D3DPRASTERCAPS_SUBPIXEL - // Support for the subpixel placement of z, color, and // texture data, rather than approximating to the nearest // integer pixel coordinate, is available. // // This feature cannot be enabled and disabled, it is // either available or not depending on the device. // This flag is here to allow applications to better // determine rendering quality. // D3DPRASTERCAPS_SUBPIXELX - // Support for subpixel placement is only available along // the X axis. // // Subpixel correction takes place along the X axis and is // clamped to an integer Y axis scan line. // D3DPRASTERCAPS_TRANSLUCENTSORTINDEPENDENT - // Translucency support is independant on the sort order // of polygons. // D3DPRASTERCAPS_WBUFFER - // Support for depth buffering using the w-buffer is // available. // D3DPRASTERCAPS_WFOG - // Support for w-buffer based fog is available. // D3DPRASTERCAPS_XOR - // Support for XOR operations is available. // // When D3DPRIM_RASTER_ROP2 is set then XOR operations // must be supported regardless of this flags value. // D3DPRASTERCAPS_ZBIAS - // Support for Z bias values is available. // // Z bias establishes a display order for images with the // same Z axis value. A good example of why you may wish // to use Z bias would be a shadow on a wall. Both occupy // the same depth, but by giving the shadow a higher Z // bias than the wall will give the right appearance // without sorting. // D3DPRASTERCAPS_ZBUFFERLESSHSR - // Support for the removal of non visible (hidden) // surfaces without sorting polygons or allocating a // z-buffer is available. // // The technique used to perform hidden surface removal is // dependent on the hardware and is transparent to the // application. // // This kind of hidden surface removal takes place when // the rendering target surface has no Z buffer attached // but the Z buffer comparison test is still enabled. // D3DPRASTERCAPS_ZFOG - // Support for z-buffer based fog is available. // D3DPRASTERCAPS_ZTEST - // Support for Z test operations is available. // // This renders a virtual primitive and indicates whether // any pixels would have been rendered. // ---------------------------------------------------------------------- __property dword RasterCaps = { read=FGetRasterCaps, write=FSetRasterCaps, default=0 }; // ---------------------------------------------------------------------- // Property: ShadeCaps // Description: The ShadeCaps property indicate the shading operations // that the device is capable of performing. // The described effect applies when the flag is set. // // Flat shade mode uses the specular and color component of // the first vertex in a triangle to shade the whole face. // Gouraud shade mode interpolates the color and intensity // of adjacent vertices across the space that separates them // in a linear fashion. // Phong shade mode calculates the appropriate shade value // for each pixel but is not yet supported in DirectX. // Monochrome shading modes use the specular component's // blue channel for the white intensity. // Any commands the device supports are assumed to also // support the flat shading mode. // When a mode doesn't support alpha components, alpha is // interpreted as being at maximum intensity (255). // // The color, specular highlights, fog, and alpha // interpolants of a triangle each have capability flags // that an application can use to find out how they are // implemented by the device driver. These are modified by // the shading mode, color model, and whether the alpha // component of a color is blended or stippled. // Flags: D3DPSHADECAPS_ALPHAFLATBLEND - // Support for an alpha component when flat shade mode // blending is available. // The alpha component of the first vertex is used for the // entire primitive. // D3DPSHADECAPS_ALPHAFLATSTIPPLED - // Support for an alpha component when flat shade mode // stippling is available. // The alpha component of the first vertex is used for the // entire primitive. // D3DPSHADECAPS_ALPHAGOURAUDBLEND - // Support for an alpha component when gouraud shade mode // blending is available. // The alpha component of adjacent vertices is // interpolated across the space between them in a linear // fashion. // D3DPSHADECAPS_ALPHAGOURAUDSTIPPLED - // Support for an alpha component when gouraud shade mode // stippling is available. // The alpha component of adjacent vertices is // interpolated across the space between them in a linear // fashion. // D3DPSHADECAPS_ALPHAPHONGBLEND - // Support for an alpha component when phong shade mode // blending is available. // The alpha component of each pixel is calculated // individually. // // Phong shading is not available in Dx7. // D3DPSHADECAPS_ALPHAPHONGSTIPPLED - // Support for an alpha component when phong shade mode // stippling is available. // The alpha component of each pixel is calculated // individually. // // Phong shading is not available in Dx7. // D3DPSHADECAPS_COLORFLATMONO - // Support for monochrome flat shade mode blending is // available. // The blue component of the first vertex is used as a // greyscale value for the entire primitive. // D3DPSHADECAPS_COLORFLATRGB - // Support for colored flat shade mode blending is // available. // The color components of the first vertex are used for // the entire primitive. // D3DPSHADECAPS_COLORGOURAUDMONO - // Support for monochrome gouraud shade mode blending is // available. // The blue component of adjacent vertices is used as a // greyscale value and interpolated across the space // between them in a linear fashion. // D3DPSHADECAPS_COLORGOURAUDRGB - // Support for color gouraud shade mode blending is // available. // The color components of adjacent vertices are // interpolated across the space between them in a linear // fashion. // D3DPSHADECAPS_COLORPHONGMONO - // Support for monochrome phong shade mode blending is // available. // The greyscale value of each pixel is calculated // individually. // // Phong shading is not available in Dx7. // D3DPSHADECAPS_COLORPHONGRGB - // Support for color phong shade mode blending is // available. // The color components of each pixel are calculated // individually. // // Phong shading is not available in Dx7. // D3DPSHADECAPS_FOGFLAT - // Support for fog when using the flat shading mode is // available. // D3DPSHADECAPS_FOGGOURAUD - // Support for fog when using the gouraud shading mode is // available. // D3DPSHADECAPS_FOGPHONG - // Support for fog when using the phong shading mode is // available. // // Phong shading is not available in Dx7. // D3DPSHADECAPS_SPECULARFLATMONO - // Support for monochrome specular highlights when using // the flat shade mode is available. // D3DPSHADECAPS_SPECULARFLATRGB - // Support for colored specular highlights when using the // flat shade mode is available. // D3DPSHADECAPS_SPECULARGOURAUDMONO - // Support for monochrome specular highlights when using // the gouraud shade mode is available. // D3DPSHADECAPS_SPECULARGOURAUDRGB - // Support for colored specular highlights when using the // gouraud shade mode is available. // D3DPSHADECAPS_SPECULARPHONGMONO - // Support for monochrome specular highlights when using // the phong shade mode is available. // // Phong shading is not available in Dx7. // D3DPSHADECAPS_SPECULARPHONGRGB - // Support for colored specular highlights when using the // phong shade mode is available. // // Phong shading is not available in Dx7. // ---------------------------------------------------------------------- __property dword ShadeCaps = { read=FGetShadeCaps, write=FSetShadeCaps, default=0 }; // ---------------------------------------------------------------------- // Property: SrcBlendCaps // Description: The SrcBlendCaps property indicate the source blending // capablilties that are available. // The described effect applies when the flag is set. // // Each component of the RGBA value is denoted by the // corresponding capitalised letter, source and destination // being indicated by s and d respectively. // Flags: D3DPBLENDCAPS_BOTHINVSRCALPHA - // Support for using the inverted source alpha value as // the source blend factor and the source alpha value as // the destination blend factor of is available. // Source blend factor: (1-As, 1-As, 1-As, 1-As) // Destination blend factor: (As, As, As, As) // The destination blend selection is overridden. // D3DPBLENDCAPS_DESTALPHA - // Support for using the destination alpha value as the // blend factor is available. // Blend factor: (Ad, Ad, Ad, Ad) // D3DPBLENDCAPS_DESTCOLOR - // Support for using the destination color as the blend // factor is available. // Blend factor: (Rd, Gd, Bd, Ad) // D3DPBLENDCAPS_INVDESTALPHA - // Support for using the inverted destination alpha value // as the blend factor is available. // Blend factor: (1-Ad, 1-Ad, 1-Ad, 1-Ad) // D3DPBLENDCAPS_INVDESTCOLOR - // Support for using the inverted destination color as the // blend factor is available. // Blend factor: (1-Rd, 1-Gd, 1-Bd, 1-Ad) // D3DPBLENDCAPS_INVSRCALPHA - // Support for using the inverted source alpha value as // the blend factor is available. // Blend factor: (1-As, 1-As, 1-As, 1-As) // D3DPBLENDCAPS_INVSRCCOLOR - // Support for using the inverted source color as the // blend factor is available. // Blend factor: (1-Rs, 1-Gs, 1-Bs, 1-As) // D3DPBLENDCAPS_ONE - // Support for a blend factor of 1 is available. // Blend factor: (1, 1, 1, 1) // D3DPBLENDCAPS_SRCALPHA - // Support for using the source alpha value as the blend // factor is available. // Blend factor: (As, As, As, As) // D3DPBLENDCAPS_SRCALPHASAT - // Support for using the lower of the source alpha value // or inverted destination alpha value as the blend factor // is available. // Blend factor: (min(As, 1-Ad), min(As, 1-Ad), min(As, // 1-Ad), 1) // D3DPBLENDCAPS_SRCCOLOR - // Support for using the source color as the blend factor // is available. // Blend factor: (Rs, Gs, Bs, As) // D3DPBLENDCAPS_ZERO - // Support for a blend factor of 0 is available. // Blend factor: (0, 0, 0, 0) // ---------------------------------------------------------------------- __property dword SrcBlendCaps = { read=FGetSrcBlendCaps, write=FSetSrcBlendCaps, default=0 }; // ---------------------------------------------------------------------- // Property: TextureAddressCaps // Description: The TextureAddressCaps property indicates which texture // addressing capabilities are supported. // The described effect applies when the flag is set. // Flags: D3DPTADDRESSCAPS_BORDER - // Support for texture coordinates outside the range 0.0 // to 1.0 being set to a border color is available. // D3DPTADDRESSCAPS_CLAMP - // Support for texture clamping to addresses is available. // D3DPTADDRESSCAPS_INDEPENDENTUV - // Support for separate texture addressing modes for the U // and V texture coordinates is available. // D3DPTADDRESSCAPS_MIRROR - // Support for the mirroring of textures to addresses is // available. // // Mirrored texture addressing is like tiled texture // addressing except the texture is flipped every integer // junction, thus 0 to 1 may be addressed normally, 1 to 2 // would then be mirrored, 2 to 3 would be normal, etc. // D3DPTADDRESSCAPS_WRAP - // Support for wrapping textures to addresses is // available. // // Wrapping allows the wrap around of texture coordinates // in the U, V or both directions. // ---------------------------------------------------------------------- __property dword TextureAddressCaps = { read=FGetTextureAddressCaps, write=FSetTextureAddressCaps, default=0 }; // ---------------------------------------------------------------------- // Property: TextureCaps // Description: The TextureCaps property flags indicates which texture // mapping capabilities are available. // The described effect applies when the flag is set. // Flags: D3DPTEXTURECAPS_ALPHA - // Support for RGBA textures when using decal and modulate // texture filtering modes is available. // // Regardless of this value, alpha must be supported in // the decal mask, decal alpha and modulate alpha // filtering modes if they are available. // D3DPTEXTURECAPS_ALPHAPALETTE - // Support for alpha palettized texture surfaces is // available. // D3DPTEXTURECAPS_BORDER - // NOT USED // Superseded by the // TD3DPrimCaps::TextureAddressCaps.D3DPTADDRESSCAPS_BORDER // flag. // D3DPTEXTURECAPS_COLORKEYBLEND - // Support for alpha blended colorkeying is available. // D3DPTEXTURECAPS_CUBEMAP - // Support for cubic environment maps (cubemaps) is // available. // D3DPTEXTURECAPS_NONPOW2CONDITIONAL - // Support for textures with dimensions that are not // powers of 2 is available. // // To use this capability, the addressing mode must be set // to D3DTADDRESS_CLAMP and texture wrapping disabled // (D3DRENDERSTATE_WRAPn = 0). // D3DPTEXTURECAPS_PERSPECTIVE - // Support for perspective correction is available. // D3DPTEXTURECAPS_POW2 - // The U and V texture dimensions must always be powers of // two. // D3DPTEXTURECAPS_PROJECTED - // Support for projected texture transforms is available. // // Setting the D3DTTFF_PROJECTED texture transformation // flag means transformed texture coordinates will be // divided by the last texture coordinate. // D3DPTEXTURECAPS_SQUAREONLY - // The U and V texture dimensions must always be equal. // D3DPTEXTURECAPS_TEXREPEATNOTSCALEDBYSIZE - // Support for not scaling texture idices by texture size // prior to interpolation is available. // D3DPTEXTURECAPS_TRANSPARENCY - // Support for texture transparency is available. // // Texture pixels that are the current transparent color // are not drawn. // ---------------------------------------------------------------------- __property dword TextureCaps = { read=FGetTextureCaps, write=FSetTextureCaps, default=0 }; // ---------------------------------------------------------------------- // Property: TextureFilterCaps // Description: The TextureFilterCaps property indicates the texture map // filtering capabilities that are available. // The described effect applies when the flag is set. // Flags: D3DPTFILTERCAPS_LINEAR - // Support for bilinear filtering is available. // D3DPTFILTERCAPS_LINEARMIPLINEAR - // Support for trilinear interpolation between mipmaps is // available. // // Bilinear filtering of the two nearest mipmap pixels // then linear interpolation of the two resultant colors. // D3DPTFILTERCAPS_LINEARMIPNEAREST - // Support for linear interpolation between two mipmaps is // available. // // Linear interpolation of the two nearest mipmap pixels. // D3DPTFILTERCAPS_MAGFAFLATCUBIC - // Support for magnifying textures using per-stage flat // cubic filtering is available. // D3DPTFILTERCAPS_MAGFANISOTROPIC - // Support for magnifying textures using per-stage // anisotropic filtering is available. // D3DPTFILTERCAPS_MAGFGAUSSIANCUBIC - // Support for magnifying textures using per-stage gausian // cubic filtering is available. // D3DPTFILTERCAPS_MAGFLINEAR - // Support for magnifying textures using per-stage // bilinear interpolation filtering is available. // D3DPTFILTERCAPS_MAGFPOINT - // Support for magnifying textures using per-stage point // sampled filtering is available. // D3DPTFILTERCAPS_MINFANISOTROPIC - // Support for minifying textures using per-stage // anisotropic filtering is available. // D3DPTFILTERCAPS_MINFLINEAR - // Support for minifying textures using per-stage bilinear // interpolation filtering is available. // D3DPTFILTERCAPS_MINFPOINT - // Support for minifying textures using per-stage point // sampled filtering is available. // D3DPTFILTERCAPS_MIPFLINEAR - // Support for per-stage trilinear interpolation filtering // of mipmaps is available. // D3DPTFILTERCAPS_MIPFPOINT - // Support for per-stage point sampled filtering of // mipmaps is available. // D3DPTFILTERCAPS_MIPLINEAR - // Support for bilinear filtering of the nearest mipmap // pixel is available. // D3DPTFILTERCAPS_MIPNEAREST - // Support for using the nearest mipmap pixel is // available. // D3DPTFILTERCAPS_NEAREST - // Support for using the nearest texture pixel is // available. // // ---------------------------------------------------------------------- __property dword TextureFilterCaps = { read=FGetTextureFilterCaps, write=FSetTextureFilterCaps, default=0 }; // ---------------------------------------------------------------------- // Property: ZCmpCaps // Description: These flags indicate what Z buffer comparison functions // are available. // The described effect applies when the flag is set. // // Z comparisons determine whether or not to draw a // z-buffered pixel. // Flags: D3DPCMPCAPS_ALWAYS - // Z-comparisions are not supported and all z-comparisions // will be passed. // D3DPCMPCAPS_EQUAL - // Equality z-comparisons are available, the test being // passed if the new z-value is equal to the current // z-value. // D3DPCMPCAPS_GREATER - // Greater than z-comparisions are available, the test // being passed if the new z-value is greater than the // current z-value. // D3DPCMPCAPS_GREATEREQUAL - // Greater than or equal to z-comparisons are available, // the test being passed if the new z-value is greater // than or equal to the current z-value. // D3DPCMPCAPS_LESS - // Less than z-comparisions are available, the test being // passed if the new z-value is less than the current // z-value. // D3DPCMPCAPS_LESSEQUAL - // Less than or equal to z-comparisions are available, the // test being passed if the new z-value is less than or // equal to the current z-value. // D3DPCMPCAPS_NEVER - // Z-comparisions are unavailable and all z-comparisions // will be failed. // D3DPCMPCAPS_NOTEQUAL - // Not equal z-comparisions are available, the test being // passed if the new z-value is not equal to the current // z-value. // ---------------------------------------------------------------------- __property dword ZCmpCaps = { read=FGetZCmpCaps, write=FSetZCmpCaps, default=0 }; // ---------------------------------------------------------------------- // Method: Clear() // Description: The Clear() method can be used to clear the contents of // the TD3DPrimCaps's internal D3DPRIMCAPS 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: AlphaCmpCaps_Strings() // Description: This property returns a TStringList containing current // flag values for the AlphaCmpCaps property. Note: Any // memory associated with these strings is released on // destruction. // ---------------------------------------------------------------------- __property TStringList* AlphaCmpCaps_Strings = { read=FGetAlphaCmpCaps_Strings }; // ---------------------------------------------------------------------- // Property: DestBlendCaps_Strings() // Description: This property returns a TStringList containing current // flag values for the DestBlendCaps property. Note: Any // memory associated with these strings is released on // destruction. // ---------------------------------------------------------------------- __property TStringList* DestBlendCaps_Strings = { read=FGetDestBlendCaps_Strings }; // ---------------------------------------------------------------------- // Property: MiscCaps_Strings() // Description: This property returns a TStringList containing current // flag values for the MiscCaps property. Note: Any memory // associated with these strings is released on destruction. // ---------------------------------------------------------------------- __property TStringList* MiscCaps_Strings = { read=FGetMiscCaps_Strings }; // ---------------------------------------------------------------------- // Property: RasterCaps_Strings() // Description: This property returns a TStringList containing current // flag values for the RasterCaps property. Note: Any memory // associated with these strings is released on destruction. // ---------------------------------------------------------------------- __property TStringList* RasterCaps_Strings = { read=FGetRasterCaps_Strings }; // ---------------------------------------------------------------------- // Property: ShadeCaps_Strings() // Description: This property returns a TStringList containing current // flag values for the ShadeCaps property. Note: Any memory // associated with these strings is released on destruction. // ---------------------------------------------------------------------- __property TStringList* ShadeCaps_Strings = { read=FGetShadeCaps_Strings }; // ---------------------------------------------------------------------- // Property: SrcBlendCaps_Strings() // Description: This property returns a TStringList containing current // flag values for the SrcBlendCaps property. Note: Any // memory associated with these strings is released on // destruction. // ---------------------------------------------------------------------- __property TStringList* SrcBlendCaps_Strings = { read=FGetSrcBlendCaps_Strings }; // ---------------------------------------------------------------------- // Property: TextureAddressCaps_Strings() // Description: This property returns a TStringList containing current // flag values for the TextureAddressCaps property. Note: // Any memory associated with these strings is released on // destruction. // ---------------------------------------------------------------------- __property TStringList* TextureAddressCaps_Strings = { read=FGetTextureAddressCaps_Strings }; // ---------------------------------------------------------------------- // Property: TextureCaps_Strings() // Description: This property returns a TStringList containing current // flag values for the TextureCaps property. Note: Any // memory associated with these strings is released on // destruction. // ---------------------------------------------------------------------- __property TStringList* TextureCaps_Strings = { read=FGetTextureCaps_Strings }; // ---------------------------------------------------------------------- // Property: TextureFilterCaps_Strings() // Description: This property returns a TStringList containing current // flag values for the TextureFilterCaps property. Note: Any // memory associated with these strings is released on // destruction. // ---------------------------------------------------------------------- __property TStringList* TextureFilterCaps_Strings = { read=FGetTextureFilterCaps_Strings }; // ---------------------------------------------------------------------- // Property: ZCmpCaps_Strings() // Description: This property returns a TStringList containing current // flag values for the ZCmpCaps property. Note: Any memory // associated with these strings is released on destruction. // ---------------------------------------------------------------------- __property TStringList* ZCmpCaps_Strings = { read=FGetZCmpCaps_Strings }; // ---------------------------------------------------------------------- // Constructor() and Destructor() // ---------------------------------------------------------------------- __fastcall TD3DPrimCaps(TComponent* Owner); virtual __fastcall ~TD3DPrimCaps(); // ---------------------------------------------------------------------- // Internal Structure Access // ---------------------------------------------------------------------- __property D3DPRIMCAPS* Internal_D3DPRIMCAPS_Ptr = { read=FGetInternal_D3DPRIMCAPS_Ptr, nodefault }; void __fastcall Internal_D3DPRIMCAPS_Update(); // ========================================================================== protected: // ========================================================================== // ---------------------------------------------------------------------- // Object Inspector 'Flag' Access Methods // ---------------------------------------------------------------------- TD3DPrimCaps_ZCmpCaps_Set __fastcall FGetAlphaCmpCaps_(); void __fastcall FSetAlphaCmpCaps_( TD3DPrimCaps_ZCmpCaps_Set pAlphaCmpCaps_ ); TD3DPrimCaps_SrcBlendCaps_Set __fastcall FGetDestBlendCaps_(); void __fastcall FSetDestBlendCaps_( TD3DPrimCaps_SrcBlendCaps_Set pDestBlendCaps_ ); TD3DPrimCaps_MiscCaps_Set __fastcall FGetMiscCaps_(); void __fastcall FSetMiscCaps_( TD3DPrimCaps_MiscCaps_Set pMiscCaps_ ); TD3DPrimCaps_RasterCaps_Set __fastcall FGetRasterCaps_(); void __fastcall FSetRasterCaps_( TD3DPrimCaps_RasterCaps_Set pRasterCaps_ ); TD3DPrimCaps_ShadeCaps_Set __fastcall FGetShadeCaps_(); void __fastcall FSetShadeCaps_( TD3DPrimCaps_ShadeCaps_Set pShadeCaps_ ); TD3DPrimCaps_SrcBlendCaps_Set __fastcall FGetSrcBlendCaps_(); void __fastcall FSetSrcBlendCaps_( TD3DPrimCaps_SrcBlendCaps_Set pSrcBlendCaps_ ); TD3DPrimCaps_TextureAddressCaps_Set __fastcall FGetTextureAddressCaps_(); void __fastcall FSetTextureAddressCaps_( TD3DPrimCaps_TextureAddressCaps_Set pTextureAddressCaps_ ); TD3DPrimCaps_TextureCaps_Set __fastcall FGetTextureCaps_(); void __fastcall FSetTextureCaps_( TD3DPrimCaps_TextureCaps_Set pTextureCaps_ ); TD3DPrimCaps_TextureFilterCaps_Set __fastcall FGetTextureFilterCaps_(); void __fastcall FSetTextureFilterCaps_( TD3DPrimCaps_TextureFilterCaps_Set pTextureFilterCaps_ ); TD3DPrimCaps_ZCmpCaps_Set __fastcall FGetZCmpCaps_(); void __fastcall FSetZCmpCaps_( TD3DPrimCaps_ZCmpCaps_Set pZCmpCaps_ ); // ---------------------------------------------------------------------- // Property Access Methods // ---------------------------------------------------------------------- dword __fastcall FGetAlphaCmpCaps(); void __fastcall FSetAlphaCmpCaps( dword pAlphaCmpCaps ); dword __fastcall FGetDestBlendCaps(); void __fastcall FSetDestBlendCaps( dword pDestBlendCaps ); HRESULT __fastcall FGetErrorValue(); void __fastcall FSetErrorValue( HRESULT pErrorValue ); dword __fastcall FGetMiscCaps(); void __fastcall FSetMiscCaps( dword pMiscCaps ); dword __fastcall FGetRasterCaps(); void __fastcall FSetRasterCaps( dword pRasterCaps ); dword __fastcall FGetShadeCaps(); void __fastcall FSetShadeCaps( dword pShadeCaps ); dword __fastcall FGetSize(); void __fastcall FSetSize( dword pSize ); dword __fastcall FGetSrcBlendCaps(); void __fastcall FSetSrcBlendCaps( dword pSrcBlendCaps ); dword __fastcall FGetStippleHeight(); void __fastcall FSetStippleHeight( dword pStippleHeight ); dword __fastcall FGetStippleWidth(); void __fastcall FSetStippleWidth( dword pStippleWidth ); dword __fastcall FGetTextureAddressCaps(); void __fastcall FSetTextureAddressCaps( dword pTextureAddressCaps ); dword __fastcall FGetTextureBlendCaps(); void __fastcall FSetTextureBlendCaps( dword pTextureBlendCaps ); dword __fastcall FGetTextureCaps(); void __fastcall FSetTextureCaps( dword pTextureCaps ); dword __fastcall FGetTextureFilterCaps(); void __fastcall FSetTextureFilterCaps( dword pTextureFilterCaps ); dword __fastcall FGetZCmpCaps(); void __fastcall FSetZCmpCaps( dword pZCmpCaps ); // ---------------------------------------------------------------------- // Flag_Strings Access Methods // ---------------------------------------------------------------------- TStringList* __fastcall FGetAlphaCmpCaps_Strings(); TStringList* __fastcall FGetDestBlendCaps_Strings(); TStringList* __fastcall FGetMiscCaps_Strings(); TStringList* __fastcall FGetRasterCaps_Strings(); TStringList* __fastcall FGetShadeCaps_Strings(); TStringList* __fastcall FGetSrcBlendCaps_Strings(); TStringList* __fastcall FGetTextureAddressCaps_Strings(); TStringList* __fastcall FGetTextureCaps_Strings(); TStringList* __fastcall FGetTextureFilterCaps_Strings(); TStringList* __fastcall FGetZCmpCaps_Strings(); // ========================================================================== private: // ========================================================================== // ---------------------------------------------------------------------- // Internal Structure Access // ---------------------------------------------------------------------- D3DPRIMCAPS* __fastcall FGetInternal_D3DPRIMCAPS_Ptr(); void __fastcall FSetInternal_D3DPRIMCAPS( D3DPRIMCAPS* pD3DPRIMCAPS ); // ---------------------------------------------------------------------- // Property Variables // ---------------------------------------------------------------------- HRESULT fErrorValue; // ---------------------------------------------------------------------- // Flags_Strings Variables // ---------------------------------------------------------------------- TStringList* fAlphaCmpCaps_Strings; TStringList* fDestBlendCaps_Strings; TStringList* fMiscCaps_Strings; TStringList* fRasterCaps_Strings; TStringList* fShadeCaps_Strings; TStringList* fSrcBlendCaps_Strings; TStringList* fTextureAddressCaps_Strings; TStringList* fTextureCaps_Strings; TStringList* fTextureFilterCaps_Strings; TStringList* fZCmpCaps_Strings; // ---------------------------------------------------------------------- // Structure Variables // ---------------------------------------------------------------------- D3DPRIMCAPS fD3DPRIMCAPS; // ---------------------------------------------------------------------- // Event Variables // ---------------------------------------------------------------------- TDx_Error FOnError; }; // -------------------------------------------------------------------------- #endif // --------------------------------------------------------------------------