1
0
mirror of https://github.com/Halofreak1990/XFXFramework synced 2024-12-26 13:49:34 +01:00
XFXFramework/include/Graphics/GraphicsDeviceCapabilities.h
Tom Lint 52ef14a94b Transition from SVN to Git
Added implicit conversion to base types to all primary types (UInt32 et
al)
Added implicit conversion from System::String to const char*
2013-05-05 18:18:41 +02:00

176 lines
4.7 KiB
C++

/********************************************************
* GraphicsDeviceCapabilities.h *
* *
* XFX GraphicsDeviceCapabilities definition file *
* Copyright © XFX Team. All Rights Reserved *
********************************************************/
#ifndef _XFX_GRAPHICS_GRAPHICSDEVICECAPABILITIES_
#define _XFX_GRAPHICS_GRAPHICSDEVICECAPABILITIES_
#include <System.h>
#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_