port from perforce
This commit is contained in:
35
aiwaz/Aiwaz/DeviceEnumerator/OutputDevice.h
Normal file
35
aiwaz/Aiwaz/DeviceEnumerator/OutputDevice.h
Normal file
@@ -0,0 +1,35 @@
|
||||
#include "IDeviceEnumerator.h"
|
||||
|
||||
|
||||
class OutputDevice
|
||||
: public IOutputDevice
|
||||
{
|
||||
public:
|
||||
OutputDevice(IDXGIOutput* ar_Output_, ID3D10Device* ar_Device_ = NULL);
|
||||
virtual ~OutputDevice();
|
||||
|
||||
virtual bool get_IsAttachedToDesktop() const { return m_OutputDesc.AttachedToDesktop == TRUE; }
|
||||
virtual HMONITOR get_MonitorHandle() const { return m_OutputDesc.Monitor; }
|
||||
virtual RECT get_DesktopCoordinates() const { return m_OutputDesc.DesktopCoordinates; }
|
||||
virtual const std::vector<IDisplayMode*>& get_DisplayModes() const { return m_DisplayModes; }
|
||||
virtual bool get_HasEnumerated() const { return m_HasEnumerated; }
|
||||
|
||||
virtual bool TryEnumerate(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 string16 get_Name() const { return m_OutputDesc.DeviceName; }
|
||||
|
||||
private:
|
||||
void GatherDisplayModes();
|
||||
|
||||
private:
|
||||
IDXGIOutput* m_Output;
|
||||
ID3D10Device* m_Device;
|
||||
DXGI_OUTPUT_DESC m_OutputDesc;
|
||||
bool m_HasEnumerated;
|
||||
|
||||
std::vector<IDisplayMode*> m_DisplayModes;
|
||||
uint32 m_DesiredWidth;
|
||||
uint32 m_DesiredHeight;
|
||||
uint32 m_DesiredRefreshRate;
|
||||
DataFormat::Enumeration m_DesiredFormat;
|
||||
};
|
||||
Reference in New Issue
Block a user