1
0
Fork 0
mirror of https://github.com/luanti-org/luanti.git synced 2025-08-11 17:51:04 +00:00

Store whether window is maximized (#12861)

This commit is contained in:
DS 2023-04-14 21:04:03 +02:00 committed by GitHub
parent 0b08e1b1d2
commit d49d80a4a0
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 64 additions and 36 deletions

View file

@ -249,9 +249,6 @@ void GUIEngine::run()
unsigned int text_height = g_fontengine->getTextHeight();
irr::core::dimension2d<u32> previous_screen_size(g_settings->getU16("screen_w"),
g_settings->getU16("screen_h"));
// Reset fog color
{
video::SColor fog_color;
@ -268,20 +265,13 @@ void GUIEngine::run()
fog_end, fog_density, fog_pixelfog, fog_rangefog);
}
while (m_rendering_engine->run() && (!m_startgame) && (!m_kill)) {
const irr::core::dimension2d<u32> initial_screen_size(
g_settings->getU16("screen_w"),
g_settings->getU16("screen_h")
);
const bool initial_window_maximized = g_settings->getBool("window_maximized");
const irr::core::dimension2d<u32> &current_screen_size =
m_rendering_engine->get_video_driver()->getScreenSize();
// Verify if window size has changed and save it if it's the case
// Ensure evaluating settings->getBool after verifying screensize
// First condition is cheaper
if (previous_screen_size != current_screen_size &&
current_screen_size != irr::core::dimension2d<u32>(0,0) &&
g_settings->getBool("autosave_screensize")) {
g_settings->setU16("screen_w", current_screen_size.Width);
g_settings->setU16("screen_h", current_screen_size.Height);
previous_screen_size = current_screen_size;
}
while (m_rendering_engine->run() && (!m_startgame) && (!m_kill)) {
//check if we need to update the "upper left corner"-text
if (text_height != g_fontengine->getTextHeight()) {
@ -321,6 +311,8 @@ void GUIEngine::run()
m_menu->getAndroidUIInput();
#endif
}
RenderingEngine::autosaveScreensizeAndCo(initial_screen_size, initial_window_maximized);
}
/******************************************************************************/