Improve GUI scaling
This commit is contained in:
parent
4e0bbd68a6
commit
f4848f1a71
@ -2101,6 +2101,20 @@ void GUIFormSpecMenu::regenerateGui(v2u32 screensize)
|
|||||||
double fitx_imgsize;
|
double fitx_imgsize;
|
||||||
double fity_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
|
// Pad the screensize with 5% of the screensize on all sides to ensure
|
||||||
// that even the largest formspecs don't touch the screen borders.
|
// that even the largest formspecs don't touch the screen borders.
|
||||||
v2f padded_screensize(
|
v2f padded_screensize(
|
||||||
@ -2108,32 +2122,13 @@ void GUIFormSpecMenu::regenerateGui(v2u32 screensize)
|
|||||||
mydata.screensize.Y * 0.9f
|
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 /
|
fitx_imgsize = padded_screensize.X /
|
||||||
((5.0 / 4.0) * (0.5 + mydata.invsize.X));
|
((5.0 / 4.0) * (0.5 + mydata.invsize.X));
|
||||||
fity_imgsize = padded_screensize.Y /
|
fity_imgsize = padded_screensize.Y /
|
||||||
((15.0 / 13.0) * (0.85 + mydata.invsize.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
|
#endif
|
||||||
// Try to use the preferred imgsize, but if that's bigger than the maximum
|
// Try to use the preferred imgsize, but if that's bigger than the maximum
|
||||||
// size, use the maximum size.
|
// size, use the maximum size.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user