1
0
mirror of https://github.com/narzoul/DDrawCompat synced 2024-12-30 08:55:36 +01:00
DDrawCompat/DDrawCompat/Win32/DisplayMode.h
2024-04-14 15:09:19 +02:00

52 lines
1.0 KiB
C++

#pragma once
#include <map>
#include <Windows.h>
#include <Common/Comparison.h>
#include <Gdi/Region.h>
namespace Win32
{
namespace DisplayMode
{
struct DisplayMode
{
DWORD width;
DWORD height;
DWORD bpp;
DWORD refreshRate;
};
struct EmulatedDisplayMode : DisplayMode
{
std::wstring deviceName;
};
struct MonitorInfo : MONITORINFOEXW
{
RECT rcReal;
RECT rcDpiAware;
RECT rcEmulated;
DWORD bpp;
DWORD dpiScale;
bool isEmulated;
};
std::ostream& operator<<(std::ostream& os, const MonitorInfo& mi);
std::map<HMONITOR, MonitorInfo> getAllMonitorInfo();
DWORD getBpp();
EmulatedDisplayMode getEmulatedDisplayMode();
const MonitorInfo& getMonitorInfo(HMONITOR monitor = nullptr);
const MonitorInfo& getMonitorInfo(HWND hwnd);
const MonitorInfo& getMonitorInfo(POINT pt);
const MonitorInfo& getMonitorInfo(const std::wstring& deviceName);
ULONG queryDisplaySettingsUniqueness();
ULONG queryEmulatedDisplaySettingsUniqueness();
void installHooks();
}
}