mirror of
https://github.com/Halofreak1990/XFXFramework
synced 2024-12-26 13:49:34 +01:00
Added implicit conversion to base types to all primary types (UInt32 et al) Added implicit conversion from System::String to const char*
176 lines
4.7 KiB
C++
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_
|