diff options
author | Morph <39850852+Morph1984@users.noreply.github.com> | 2020-02-14 00:06:26 -0500 |
---|---|---|
committer | Morph <39850852+Morph1984@users.noreply.github.com> | 2020-02-14 00:06:26 -0500 |
commit | 20dc2e3622df0c97e4d41030fd66df1087f8ef7b (patch) | |
tree | d65cf6f3fb951033508ac51b4387fb1df95e9e8b /src/core/frontend/framebuffer_layout.cpp | |
parent | 22f58cca5e0be7a40c8c8fbebe3d45fb68dfcf10 (diff) |
Address feedback
Diffstat (limited to 'src/core/frontend/framebuffer_layout.cpp')
-rw-r--r-- | src/core/frontend/framebuffer_layout.cpp | 32 |
1 files changed, 16 insertions, 16 deletions
diff --git a/src/core/frontend/framebuffer_layout.cpp b/src/core/frontend/framebuffer_layout.cpp index d8821f8fd9..1b4f0255eb 100644 --- a/src/core/frontend/framebuffer_layout.cpp +++ b/src/core/frontend/framebuffer_layout.cpp @@ -27,22 +27,9 @@ FramebufferLayout DefaultFrameLayout(u32 width, u32 height) { // so just calculate them both even if the other isn't showing. FramebufferLayout res{width, height}; - const auto window_aspect_ratio = static_cast<float>(height) / width; - float emulation_aspect_ratio; - - switch (static_cast<Aspect>(Settings::values.aspect_ratio)) { - case Aspect::AspectDefault: - emulation_aspect_ratio = static_cast<float>(ScreenUndocked::Height) / ScreenUndocked::Width; - break; - case Aspect::Aspect21by9: - emulation_aspect_ratio = 9.f / 21; - break; - case Aspect::AspectStretch: - emulation_aspect_ratio = window_aspect_ratio; - break; - default: - emulation_aspect_ratio = static_cast<float>(ScreenUndocked::Height) / ScreenUndocked::Width; - } + const float window_aspect_ratio = static_cast<float>(height) / width; + float emulation_aspect_ratio = EmulationAspectRatio( + static_cast<Aspect>(Settings::values.aspect_ratio), window_aspect_ratio); const Common::Rectangle<u32> screen_window_area{0, 0, width, height}; Common::Rectangle<u32> screen = MaxRectangle(screen_window_area, emulation_aspect_ratio); @@ -71,4 +58,17 @@ FramebufferLayout FrameLayoutFromResolutionScale(u32 res_scale) { return DefaultFrameLayout(width, height); } +float EmulationAspectRatio(Aspect aspect, float window_aspect_ratio) { + switch (aspect) { + case Aspect::Default: + return static_cast<float>(ScreenUndocked::Height) / ScreenUndocked::Width; + case Aspect::Aspect21by9: + return 9.0f / 21.0f; + case Aspect::StretchToWindow: + return window_aspect_ratio; + default: + return static_cast<float>(ScreenUndocked::Height) / ScreenUndocked::Width; + } +} + } // namespace Layout |