mirror of https://github.com/stella-emu/stella.git
refine ROM viewer font size calculation
define zoom factor for R77
This commit is contained in:
parent
506bb0bd06
commit
4b66fc08f1
|
@ -145,7 +145,7 @@ LauncherDialog::LauncherDialog(OSystem& osystem, DialogContainer& parent,
|
||||||
TIAConstants::viewableHeight*imgZoom);
|
TIAConstants::viewableHeight*imgZoom);
|
||||||
|
|
||||||
// Calculate font area, and in the process the font that can be used
|
// Calculate font area, and in the process the font that can be used
|
||||||
Common::Size fontArea(romWidth - 16, myList->getHeight() - imgSize.h - 16);
|
Common::Size fontArea(romWidth - 16, myList->getHeight() - imgSize.h - 12);
|
||||||
const GUI::Font& rominfoFont = getRomInfoFont(fontArea);
|
const GUI::Font& rominfoFont = getRomInfoFont(fontArea);
|
||||||
|
|
||||||
myRomInfoWidget = new RomInfoWidget(this, rominfoFont,
|
myRomInfoWidget = new RomInfoWidget(this, rominfoFont,
|
||||||
|
@ -343,10 +343,13 @@ float LauncherDialog::getRomInfoZoom(int listHeight) const
|
||||||
zoom = float(_w - 58 - MIN_LAUNCHER_CHARS * instance().frameBuffer().launcherFont().getMaxCharWidth())
|
zoom = float(_w - 58 - MIN_LAUNCHER_CHARS * instance().frameBuffer().launcherFont().getMaxCharWidth())
|
||||||
/ TIAConstants::viewableWidth;
|
/ TIAConstants::viewableWidth;
|
||||||
}
|
}
|
||||||
if((listHeight - 20 - zoom * TIAConstants::viewableHeight)
|
if((listHeight - 12 - zoom * TIAConstants::viewableHeight) <
|
||||||
/ instance().frameBuffer().smallFont().getLineHeight() < MIN_ROMINFO_LINES)
|
MIN_ROMINFO_ROWS * instance().frameBuffer().smallFont().getLineHeight() +
|
||||||
|
MIN_ROMINFO_LINES * instance().frameBuffer().smallFont().getFontHeight())
|
||||||
{
|
{
|
||||||
zoom = float(listHeight - 20 - MIN_ROMINFO_LINES * instance().frameBuffer().smallFont().getLineHeight())
|
zoom = float(listHeight - 12 -
|
||||||
|
MIN_ROMINFO_ROWS * instance().frameBuffer().smallFont().getLineHeight() -
|
||||||
|
MIN_ROMINFO_LINES * instance().frameBuffer().smallFont().getFontHeight())
|
||||||
/ TIAConstants::viewableHeight;
|
/ TIAConstants::viewableHeight;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -367,11 +370,13 @@ const GUI::Font& LauncherDialog::getRomInfoFont(const Common::Size& area) const
|
||||||
// TODO: Perhaps offer a setting to override the font used?
|
// TODO: Perhaps offer a setting to override the font used?
|
||||||
|
|
||||||
// Try to pick a font that works best, based on the available area
|
// Try to pick a font that works best, based on the available area
|
||||||
if(area.h / instance().frameBuffer().launcherFont().getLineHeight() >= MIN_ROMINFO_LINES &&
|
if(area.h >= uInt32(MIN_ROMINFO_ROWS * instance().frameBuffer().launcherFont().getLineHeight()
|
||||||
area.w/ instance().frameBuffer().launcherFont().getMaxCharWidth() >= MIN_ROMINFO_CHARS)
|
+ MIN_ROMINFO_LINES * instance().frameBuffer().launcherFont().getFontHeight())
|
||||||
|
&& area.w >= uInt32(MIN_ROMINFO_CHARS * instance().frameBuffer().launcherFont().getMaxCharWidth()))
|
||||||
return instance().frameBuffer().launcherFont();
|
return instance().frameBuffer().launcherFont();
|
||||||
else if(area.h / instance().frameBuffer().infoFont().getLineHeight() >= MIN_ROMINFO_LINES &&
|
else if(area.h >= uInt32(MIN_ROMINFO_ROWS * instance().frameBuffer().infoFont().getLineHeight()
|
||||||
area.w / instance().frameBuffer().infoFont().getMaxCharWidth() >= MIN_ROMINFO_CHARS)
|
+ MIN_ROMINFO_LINES * instance().frameBuffer().infoFont().getFontHeight())
|
||||||
|
&& area.w >= uInt32(MIN_ROMINFO_CHARS * instance().frameBuffer().infoFont().getMaxCharWidth()))
|
||||||
return instance().frameBuffer().infoFont();
|
return instance().frameBuffer().infoFont();
|
||||||
else
|
else
|
||||||
return instance().frameBuffer().smallFont();
|
return instance().frameBuffer().smallFont();
|
||||||
|
|
|
@ -88,7 +88,8 @@ class LauncherDialog : public Dialog
|
||||||
private:
|
private:
|
||||||
static constexpr int MIN_LAUNCHER_CHARS = 24;
|
static constexpr int MIN_LAUNCHER_CHARS = 24;
|
||||||
static constexpr int MIN_ROMINFO_CHARS = 24;
|
static constexpr int MIN_ROMINFO_CHARS = 24;
|
||||||
static constexpr int MIN_ROMINFO_LINES = 8;
|
static constexpr int MIN_ROMINFO_ROWS = 7; // full lines
|
||||||
|
static constexpr int MIN_ROMINFO_LINES = 2; // extra lines
|
||||||
|
|
||||||
void center() override { positionAt(0); }
|
void center() override { positionAt(0); }
|
||||||
void handleKeyDown(StellaKey key, StellaMod mod, bool repeated) override;
|
void handleKeyDown(StellaKey key, StellaMod mod, bool repeated) override;
|
||||||
|
|
|
@ -51,7 +51,7 @@ SettingsR77::SettingsR77()
|
||||||
|
|
||||||
setPermanent("launcherres", "1280x720");
|
setPermanent("launcherres", "1280x720");
|
||||||
setPermanent("launcherfont", "large");
|
setPermanent("launcherfont", "large");
|
||||||
setPermanent("romviewer", "2");
|
setPermanent("romviewer", "1.6");
|
||||||
setPermanent("exitlauncher", "true");
|
setPermanent("exitlauncher", "true");
|
||||||
|
|
||||||
setTemporary("minimal_ui", true);
|
setTemporary("minimal_ui", true);
|
||||||
|
|
Loading…
Reference in New Issue