1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-12-01 23:12:49 +02:00

Support for changing resolution without game restart

This commit is contained in:
Ivan Savenko
2023-05-04 22:33:25 +03:00
parent 97426a3f7c
commit fd3933e589
10 changed files with 53 additions and 7 deletions

View File

@@ -547,7 +547,7 @@ static void handleEvent(SDL_Event & ev)
case EUserEvent::FULLSCREEN_TOGGLED:
{
boost::unique_lock<boost::recursive_mutex> lock(*CPlayerInterface::pim);
GH.windowHandler().onFullscreenChanged();
GH.windowHandler().onScreenResize();
break;
}
default:
@@ -564,7 +564,7 @@ static void handleEvent(SDL_Event & ev)
#ifndef VCMI_IOS
{
boost::unique_lock<boost::recursive_mutex> lock(*CPlayerInterface::pim);
GH.windowHandler().onFullscreenChanged();
GH.windowHandler().onScreenResize();
}
#endif
break;
@@ -593,8 +593,10 @@ static void handleEvent(SDL_Event & ev)
static void mainLoop()
{
SettingsListener resChanged = settings.listen["video"]["fullscreen"];
SettingsListener resChanged = settings.listen["video"]["resolution"];
SettingsListener fsChanged = settings.listen["video"]["fullscreen"];
resChanged([](const JsonNode &newState){ CGuiHandler::pushUserEvent(EUserEvent::FULLSCREEN_TOGGLED); });
fsChanged([](const JsonNode &newState){ CGuiHandler::pushUserEvent(EUserEvent::FULLSCREEN_TOGGLED); });
inGuiThread.reset(new bool(true));
assert(GH.mainFPSmng);