35 lines
1.7 KiB
C++
35 lines
1.7 KiB
C++
#include "IDeviceEnumerator.h"
|
|
|
|
|
|
class DisplayAdapter
|
|
: public IDisplayAdapter
|
|
{
|
|
public:
|
|
DisplayAdapter(IDXGIAdapter* ar_Adapter_, ID3D10Device* ar_Device_ = NULL);
|
|
virtual ~DisplayAdapter();
|
|
|
|
virtual size_t get_DedicatedSystemMemory() const { return m_AdapterDesc.DedicatedSystemMemory; }
|
|
virtual size_t get_DedicatedVideoMemory() const { return m_AdapterDesc.DedicatedVideoMemory; }
|
|
virtual size_t get_SharedSystemMemory() const { return m_AdapterDesc.SharedSystemMemory; }
|
|
virtual const std::vector<IOutputDevice*>& get_DeviceOutputs() const { return m_EnumeratedOutputs; }
|
|
virtual bool get_HasEnumerated() const { return m_HasEnumerated; }
|
|
virtual IDXGIAdapter* get_Adapter() const { return m_Adapter; }
|
|
|
|
virtual string16 get_Name() const { return m_AdapterDesc.Description; }
|
|
virtual bool TryEnumerate(uint32 argDesiredWidth = 0, uint32 argDesiredHeight = 0, uint32 argDesiredRefreshRate = 0, DataFormat::Enumeration argDesiredFormat = DataFormat::Unknown);
|
|
virtual IOutputDevice* FindBestOutput(bool argAllowToEnumerate = false, uint32 argDesiredWidth = 0, uint32 argDesiredHeight = 0, uint32 argDesiredRefreshRate = 0, DataFormat::Enumeration argDesiredFormat = DataFormat::Unknown);
|
|
virtual IDisplayMode* FindBestDisplayMode(bool argAllowToEnumerate = false, uint32 argDesiredWidth = 0, uint32 argDesiredHeight = 0, uint32 argDesiredRefreshRate = 0, DataFormat::Enumeration argDesiredFormat = DataFormat::Unknown);
|
|
|
|
private:
|
|
IDXGIAdapter* m_Adapter;
|
|
ID3D10Device* m_Device;
|
|
DXGI_ADAPTER_DESC m_AdapterDesc;
|
|
bool m_HasEnumerated;
|
|
|
|
std::vector<IOutputDevice*> m_EnumeratedOutputs;
|
|
uint32 m_DesiredWidth;
|
|
uint32 m_DesiredHeight;
|
|
uint32 m_DesiredRefreshRate;
|
|
DataFormat::Enumeration m_DesiredFormat;
|
|
};
|