Fixed full screen mode for resolutions different than current desktop size
This commit is contained in:
parent
d32663d569
commit
236a424955
1 changed files with 9 additions and 8 deletions
|
|
@ -1003,16 +1003,15 @@ HWND VulkanExampleBase::setupWindow(HINSTANCE hinstance, WNDPROC wndproc)
|
||||||
|
|
||||||
if (settings.fullscreen)
|
if (settings.fullscreen)
|
||||||
{
|
{
|
||||||
DEVMODE dmScreenSettings;
|
|
||||||
memset(&dmScreenSettings, 0, sizeof(dmScreenSettings));
|
|
||||||
dmScreenSettings.dmSize = sizeof(dmScreenSettings);
|
|
||||||
dmScreenSettings.dmPelsWidth = screenWidth;
|
|
||||||
dmScreenSettings.dmPelsHeight = screenHeight;
|
|
||||||
dmScreenSettings.dmBitsPerPel = 32;
|
|
||||||
dmScreenSettings.dmFields = DM_BITSPERPEL | DM_PELSWIDTH | DM_PELSHEIGHT;
|
|
||||||
|
|
||||||
if ((width != (uint32_t)screenWidth) && (height != (uint32_t)screenHeight))
|
if ((width != (uint32_t)screenWidth) && (height != (uint32_t)screenHeight))
|
||||||
{
|
{
|
||||||
|
DEVMODE dmScreenSettings;
|
||||||
|
memset(&dmScreenSettings, 0, sizeof(dmScreenSettings));
|
||||||
|
dmScreenSettings.dmSize = sizeof(dmScreenSettings);
|
||||||
|
dmScreenSettings.dmPelsWidth = width;
|
||||||
|
dmScreenSettings.dmPelsHeight = height;
|
||||||
|
dmScreenSettings.dmBitsPerPel = 32;
|
||||||
|
dmScreenSettings.dmFields = DM_BITSPERPEL | DM_PELSWIDTH | DM_PELSHEIGHT;
|
||||||
if (ChangeDisplaySettings(&dmScreenSettings, CDS_FULLSCREEN) != DISP_CHANGE_SUCCESSFUL)
|
if (ChangeDisplaySettings(&dmScreenSettings, CDS_FULLSCREEN) != DISP_CHANGE_SUCCESSFUL)
|
||||||
{
|
{
|
||||||
if (MessageBox(NULL, "Fullscreen Mode not supported!\n Switch to window mode?", "Error", MB_YESNO | MB_ICONEXCLAMATION) == IDYES)
|
if (MessageBox(NULL, "Fullscreen Mode not supported!\n Switch to window mode?", "Error", MB_YESNO | MB_ICONEXCLAMATION) == IDYES)
|
||||||
|
|
@ -1024,6 +1023,8 @@ HWND VulkanExampleBase::setupWindow(HINSTANCE hinstance, WNDPROC wndproc)
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
screenWidth = width;
|
||||||
|
screenHeight = height;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue