#pragma once #include "IDeviceEnumerator.h" class DeviceEnumerator : public IDeviceEnumerator { public: DeviceEnumerator(ID3D10Device* ar_Device_ = NULL); virtual ~DeviceEnumerator(); virtual bool get_HasEnumerated() const { return m_HasEnumerated; } virtual const std::vector& get_DeviceAdapters() const { return m_EnumeratedAdapters; } virtual bool TryEnumerate(uint32 argDesiredWidth = 0, uint32 argDesiredHeight = 0, uint32 argDesiredRefreshRate = 0, DataFormat::Enumeration argDesiredFormat = DataFormat::Unknown); virtual IDisplayAdapter* FindBestAdapter(bool argAllowToEnumerate = false, 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); virtual void Verbose(); private: IDXGIFactory* m_DXGIFactory; ID3D10Device* m_Device; bool m_HasEnumerated; std::vector m_EnumeratedAdapters; uint32 m_DesiredWidth; uint32 m_DesiredHeight; uint32 m_DesiredRefreshRate; DataFormat::Enumeration m_DesiredFormat; };