diff --git a/src/guiFormSpecMenu.cpp b/src/guiFormSpecMenu.cpp index 3144d7b0..2733f335 100644 --- a/src/guiFormSpecMenu.cpp +++ b/src/guiFormSpecMenu.cpp @@ -2101,6 +2101,20 @@ void GUIFormSpecMenu::regenerateGui(v2u32 screensize) double fitx_imgsize; double fity_imgsize; +#if defined(__ANDROID__) || defined(__IOS__) + fitx_imgsize = mydata.screensize.X / + ((5.0 / 4.0) * (0.5 + mydata.invsize.X)); + fity_imgsize = mydata.screensize.Y / + ((15.0 / 13.0) * (0.85 + mydata.invsize.Y)); + + // In Android, the preferred imgsize should be larger to accommodate the + // smaller screensize. + double prefer_imgsize = mydata.screensize.Y / 10 * gui_scaling; + + // Try to fit 13 coordinates on large tablets. + if (g_settings->getBool("device_is_tablet")) + prefer_imgsize = mydata.screensize.Y / 13 * gui_scaling; +#else // Pad the screensize with 5% of the screensize on all sides to ensure // that even the largest formspecs don't touch the screen borders. v2f padded_screensize( @@ -2108,32 +2122,13 @@ void GUIFormSpecMenu::regenerateGui(v2u32 screensize) mydata.screensize.Y * 0.9f ); - fitx_imgsize = mydata.screensize.X / - ((5.0 / 4.0) * (0.5 + mydata.invsize.X)); - fity_imgsize = mydata.screensize.Y / - ((15.0 / 13.0) * (0.85 + mydata.invsize.Y)); - -#if defined(__ANDROID__) || defined(__IOS__) - // In Android, the preferred imgsize should be larger to accommodate the - // smaller screensize. - double prefer_imgsize = mydata.screensize.Y / 10 * gui_scaling; - - // Try to fit 13 coordinates on large tablets. - if (g_settings->getBool("device_is_tablet")) - prefer_imgsize = padded_screensize.Y / 13 * gui_scaling; - - fitx_imgsize = floor(mydata.screensize.X / - (1.5 * (0.5 + mydata.invsize.X))); - fity_imgsize = floor(mydata.screensize.Y / - (1.15 * (0.85 + mydata.invsize.Y))); -#else - // Desktop computers have more space, so try to fit 15 coordinates. - double prefer_imgsize = padded_screensize.Y / 15 * gui_scaling; - fitx_imgsize = padded_screensize.X / ((5.0 / 4.0) * (0.5 + mydata.invsize.X)); fity_imgsize = padded_screensize.Y / ((15.0 / 13.0) * (0.85 + mydata.invsize.Y)); + + // Desktop computers have more space, so try to fit 15 coordinates. + double prefer_imgsize = padded_screensize.Y / 15 * gui_scaling; #endif // Try to use the preferred imgsize, but if that's bigger than the maximum // size, use the maximum size.