MinGW32: Fix EnumDisplayMonitors callback calling convention compile error

This commit is contained in:
Jonathan G Rennison
2021-04-14 20:49:26 +01:00
parent b4b3638f1b
commit 205673715c

View File

@@ -918,10 +918,8 @@ void VideoDriver_Win32Base::EditBoxLostFocus()
SetCandidatePos(this->main_wnd);
}
std::vector<int> VideoDriver_Win32Base::GetListOfMonitorRefreshRates()
BOOL CALLBACK EnumDisplayMonitorsCallback(HMONITOR hMonitor, HDC hDC, LPRECT rc, LPARAM data)
{
std::vector<int> rates = {};
EnumDisplayMonitors(nullptr, nullptr, [](HMONITOR hMonitor, HDC hDC, LPRECT rc, LPARAM data) -> BOOL {
auto &list = *reinterpret_cast<std::vector<int>*>(data);
MONITORINFOEX monitorInfo = {};
@@ -935,7 +933,12 @@ std::vector<int> VideoDriver_Win32Base::GetListOfMonitorRefreshRates()
if (devMode.dmDisplayFrequency != 0) list.push_back(devMode.dmDisplayFrequency);
return true;
}, reinterpret_cast<LPARAM>(&rates));
}
std::vector<int> VideoDriver_Win32Base::GetListOfMonitorRefreshRates()
{
std::vector<int> rates = {};
EnumDisplayMonitors(nullptr, nullptr, (MONITORENUMPROC)&EnumDisplayMonitorsCallback, reinterpret_cast<LPARAM>(&rates));
return rates;
}