71 lines
3.4 KiB
C++
71 lines
3.4 KiB
C++
#pragma once
|
|
|
|
#include "Resource.h"
|
|
#include <vector>
|
|
|
|
|
|
struct IOutputDevice;
|
|
struct IDisplayAdapter;
|
|
struct IDisplayMode;
|
|
|
|
|
|
struct __declspec(novtable) IDeviceEnumerator
|
|
{
|
|
virtual ~IDeviceEnumerator() {}
|
|
virtual bool get_HasEnumerated() const = 0;
|
|
virtual const std::vector<IDisplayAdapter*>& get_DeviceAdapters() const = 0;
|
|
|
|
virtual bool TryEnumerate(uint32 argDesiredWidth = 0, uint32 argDesiredHeight = 0, uint32 argDesiredRefreshRate = 0, DataFormat::Enumeration argDesiredFormat = DataFormat::Unknown) = 0;
|
|
virtual IDisplayAdapter* FindBestAdapter(bool argAllowToEnumerate = false, uint32 argDesiredWidth = 0, uint32 argDesiredHeight = 0, uint32 argDesiredRefreshRate = 0, DataFormat::Enumeration argDesiredFormat = DataFormat::Unknown) = 0;
|
|
virtual IOutputDevice* FindBestOutput(bool argAllowToEnumerate = false, uint32 argDesiredWidth = 0, uint32 argDesiredHeight = 0, uint32 argDesiredRefreshRate = 0, DataFormat::Enumeration argDesiredFormat = DataFormat::Unknown) = 0;
|
|
virtual IDisplayMode* FindBestDisplayMode(bool argAllowToEnumerate = false, uint32 argDesiredWidth = 0, uint32 argDesiredHeight = 0, uint32 argDesiredRefreshRate = 0, DataFormat::Enumeration argDesiredFormat = DataFormat::Unknown) = 0;
|
|
|
|
virtual void Verbose() = 0;
|
|
};
|
|
|
|
|
|
struct IDXGIAdapter;
|
|
struct __declspec(novtable) IDisplayAdapter
|
|
{
|
|
virtual ~IDisplayAdapter() {}
|
|
|
|
virtual size_t get_DedicatedSystemMemory() const = 0;
|
|
virtual size_t get_DedicatedVideoMemory() const = 0;
|
|
virtual size_t get_SharedSystemMemory() const = 0;
|
|
virtual const std::vector<IOutputDevice*>& get_DeviceOutputs() const = 0;
|
|
virtual bool get_HasEnumerated() const = 0;
|
|
virtual IDXGIAdapter* get_Adapter() const = 0;
|
|
|
|
virtual string16 get_Name() const = 0;
|
|
virtual bool TryEnumerate(uint32 argDesiredWidth = 0, uint32 argDesiredHeight = 0, uint32 argDesiredRefreshRate = 0, DataFormat::Enumeration argDesiredFormat = DataFormat::Unknown) = 0;
|
|
virtual IOutputDevice* FindBestOutput(bool argAllowToEnumerate = false, uint32 argDesiredWidth = 0, uint32 argDesiredHeight = 0, uint32 argDesiredRefreshRate = 0, DataFormat::Enumeration argDesiredFormat = DataFormat::Unknown) = 0;
|
|
virtual IDisplayMode* FindBestDisplayMode(bool argAllowToEnumerate = false, uint32 argDesiredWidth = 0, uint32 argDesiredHeight = 0, uint32 argDesiredRefreshRate = 0, DataFormat::Enumeration argDesiredFormat = DataFormat::Unknown) = 0;
|
|
};
|
|
|
|
|
|
struct __declspec(novtable) IOutputDevice
|
|
{
|
|
virtual ~IOutputDevice() {}
|
|
|
|
virtual bool get_IsAttachedToDesktop() const = 0;
|
|
virtual HMONITOR get_MonitorHandle() const = 0;
|
|
virtual RECT get_DesktopCoordinates() const = 0;
|
|
virtual const std::vector<IDisplayMode*>& get_DisplayModes() const = 0;
|
|
virtual bool get_HasEnumerated() const = 0;
|
|
|
|
virtual bool TryEnumerate(uint32 argDesiredWidth = 0, uint32 argDesiredHeight = 0, uint32 argDesiredRefreshRate = 0, DataFormat::Enumeration argDesiredFormat = DataFormat::Unknown) = 0;
|
|
virtual IDisplayMode* FindBestDisplayMode(bool argAllowToEnumerate = false, uint32 argDesiredWidth = 0, uint32 argDesiredHeight = 0, uint32 argDesiredRefreshRate = 0, DataFormat::Enumeration argDesiredFormat = DataFormat::Unknown) = 0;
|
|
virtual string16 get_Name() const = 0;
|
|
};
|
|
|
|
|
|
struct __declspec(novtable) IDisplayMode
|
|
{
|
|
virtual ~IDisplayMode() {}
|
|
|
|
virtual uint32 get_Width() const = 0;
|
|
virtual uint32 get_Height() const = 0;
|
|
virtual uint32 get_RefreshRate() const = 0;
|
|
virtual DataFormat::Enumeration get_Format() const = 0;
|
|
};
|