Files
bluflame/aiwaz/Aiwaz/DeviceEnumerator/DisplayAdapter.h
2026-04-18 22:31:51 +02:00

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;
};