/******************************************************** * GraphicsDeviceCapabilities.h * * * * XFX GraphicsDeviceCapabilities definition file * * Copyright © XFX Team. All Rights Reserved * ********************************************************/ #ifndef _XFX_GRAPHICS_GRAPHICSDEVICECAPABILITIES_ #define _XFX_GRAPHICS_GRAPHICSDEVICECAPABILITIES_ #include #include "Enums.h" using namespace System; namespace XFX { namespace Graphics { // Represents the capabilities of the hardware. class GraphicsDeviceCapabilities : public IDisposable, virtual Object { protected: void Dispose(bool disposing); public: struct BlendCaps; struct CompareCaps; struct CursorCaps; struct DeclarationTypeCaps; struct DeviceCaps; struct DriverCaps; struct FilterCaps; int AdapterOrdinalInGroup(); CompareCaps AlphaCompareCapabilities(); FilterCaps CubeTextureFilterCapabilities(); CursorCaps CursorCapabilities(); DeclarationTypeCaps DeclarationTypeCapabilities(); CompareCaps DepthBufferCompareCapabilities(); BlendCaps DestinationBlendCapabilities(); DeviceCaps DeviceCapabilities(); DeviceType_t getDeviceType(); DriverCaps DriverCapabilities(); void Dispose(); bool Equals(const GraphicsDeviceCapabilities obj) const; int GetHashCode() const; char* ToString() const; bool operator!=(const GraphicsDeviceCapabilities other) const; bool operator==(const GraphicsDeviceCapabilities other) const; public: // Represents the texture addressing capabilities for Texture structures. struct AddressCaps : virtual Object { bool SupportsBorder(); bool SupportsClamp(); bool SupportsIndependentUV(); bool SupportsMirror(); bool SupportsMirrorOnce(); bool SupportsWrap(); bool Equals(const AddressCaps obj) const; int GetHashCode() const; char* ToString() const; bool operator!=(const AddressCaps other) const; bool operator==(const AddressCaps other) const; }; // Represents the supported blend capabilities. struct BlendCaps : virtual Object { int SupportsBlendFactor(); int SupportsBothInverseSourceAlpha(); int SupportsBothSourceAlpha(); int SupportsDestinationAlpha(); bool Equals(const BlendCaps obj) const; int GetHashCode() const; char* ToString() const; bool operator!=(const BlendCaps other) const; bool operator==(const BlendCaps other) const; }; // Represents comparison capabilities. struct CompareCaps : virtual Object { bool SupportsAlways(); bool SupportsEqual(); bool SupportsGreater(); bool SupportsGreaterEqual(); bool SupportsLess(); bool SupportsLessEqual(); bool SupportsNever(); bool SupportsNotEqual(); bool Equals(const CompareCaps obj) const; int GetHashCode() const; char* ToString() const; bool operator!=(const CompareCaps other) const; bool operator==(const CompareCaps other) const; }; // Represents hardware support for cursors. struct CursorCaps { bool SupportsColor(); bool SupportsLowResolution(); bool Equals(const CursorCaps obj) const; int GetHashCode() const; char* ToString() const; bool operator!=(const CursorCaps other) const; bool operator==(const CursorCaps other) const; }; // Represents data types contained in a vertex declaration. struct DeclarationTypeCaps : virtual Object { bool SupportsByte4(); bool SupportsHalfVector2(); bool SupportsHalfVector4(); bool SupportsNormalized101010(); bool SupportsNormalizedShort2(); bool SupportsNormalizedShort4(); bool SupportsRg32(); bool SupportsRgba32(); bool SupportsRgba64(); bool SupportsUInt101010(); bool Equals(const DeclarationTypeCaps obj) const; int GetHashCode() const; char* ToString() const; bool operator!=(const DeclarationTypeCaps other) const; bool operator==(const DeclarationTypeCaps other) const; }; // Represents device-specific capabilities. struct DeviceCaps : virtual Object { bool CanDrawSystemToNonLocal(); bool CanRenderAfterFlip(); bool IsDirect3D9Driver(); bool SupportsDrawPrimitives2(); bool SupportsDrawPrimitives2Ex(); bool Equals(const DeviceCaps obj) const; int GetHashCode() const; char* ToString() const; bool operator!=(const DeviceCaps other) const; bool operator==(const DeviceCaps other) const; }; // Represents texture filter capabilities. struct FilterCaps { bool Equals(const FilterCaps obj) const; int GetHashCode() const; char* ToString() const; bool operator!=(const FilterCaps other) const; bool operator==(const FilterCaps other) const; }; }; } } #endif //_XFX_GRAPHICS_GRAPHICSDEVICECAPABILITIES_