#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& 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 m_EnumeratedOutputs; uint32 m_DesiredWidth; uint32 m_DesiredHeight; uint32 m_DesiredRefreshRate; DataFormat::Enumeration m_DesiredFormat; };