Improve GUI scaling
parent
4e0bbd68a6
commit
f4848f1a71
|
@ -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.
|
||||
|
|
Loading…
Reference in New Issue