diff options
| author | 2020-02-14 14:39:04 -0500 | |
|---|---|---|
| committer | 2020-02-14 14:39:04 -0500 | |
| commit | c3d0a0d6277c97d6e3c99914358dce15cc26871c (patch) | |
| tree | 17d032c03feb8a38938515d5fe9cb9f020d5af01 /src/core/frontend/framebuffer_layout.cpp | |
| parent | Address feedback (diff) | |
| download | yuzu-c3d0a0d6277c97d6e3c99914358dce15cc26871c.tar.gz yuzu-c3d0a0d6277c97d6e3c99914358dce15cc26871c.tar.xz yuzu-c3d0a0d6277c97d6e3c99914358dce15cc26871c.zip | |
Add 4:3 aspect ratio and address feedback
Diffstat (limited to 'src/core/frontend/framebuffer_layout.cpp')
| -rw-r--r-- | src/core/frontend/framebuffer_layout.cpp | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/src/core/frontend/framebuffer_layout.cpp b/src/core/frontend/framebuffer_layout.cpp index 1b4f0255e..2dc795d56 100644 --- a/src/core/frontend/framebuffer_layout.cpp +++ b/src/core/frontend/framebuffer_layout.cpp | |||
| @@ -28,8 +28,8 @@ FramebufferLayout DefaultFrameLayout(u32 width, u32 height) { | |||
| 28 | FramebufferLayout res{width, height}; | 28 | FramebufferLayout res{width, height}; |
| 29 | 29 | ||
| 30 | const float window_aspect_ratio = static_cast<float>(height) / width; | 30 | const float window_aspect_ratio = static_cast<float>(height) / width; |
| 31 | float emulation_aspect_ratio = EmulationAspectRatio( | 31 | const float emulation_aspect_ratio = EmulationAspectRatio( |
| 32 | static_cast<Aspect>(Settings::values.aspect_ratio), window_aspect_ratio); | 32 | static_cast<AspectRatio>(Settings::values.aspect_ratio), window_aspect_ratio); |
| 33 | 33 | ||
| 34 | const Common::Rectangle<u32> screen_window_area{0, 0, width, height}; | 34 | const Common::Rectangle<u32> screen_window_area{0, 0, width, height}; |
| 35 | Common::Rectangle<u32> screen = MaxRectangle(screen_window_area, emulation_aspect_ratio); | 35 | Common::Rectangle<u32> screen = MaxRectangle(screen_window_area, emulation_aspect_ratio); |
| @@ -58,13 +58,15 @@ FramebufferLayout FrameLayoutFromResolutionScale(u32 res_scale) { | |||
| 58 | return DefaultFrameLayout(width, height); | 58 | return DefaultFrameLayout(width, height); |
| 59 | } | 59 | } |
| 60 | 60 | ||
| 61 | float EmulationAspectRatio(Aspect aspect, float window_aspect_ratio) { | 61 | float EmulationAspectRatio(AspectRatio aspect, float window_aspect_ratio) { |
| 62 | switch (aspect) { | 62 | switch (aspect) { |
| 63 | case Aspect::Default: | 63 | case AspectRatio::Default: |
| 64 | return static_cast<float>(ScreenUndocked::Height) / ScreenUndocked::Width; | 64 | return static_cast<float>(ScreenUndocked::Height) / ScreenUndocked::Width; |
| 65 | case Aspect::Aspect21by9: | 65 | case AspectRatio::R4_3: |
| 66 | return 3.0f / 4.0f; | ||
| 67 | case AspectRatio::R21_9: | ||
| 66 | return 9.0f / 21.0f; | 68 | return 9.0f / 21.0f; |
| 67 | case Aspect::StretchToWindow: | 69 | case AspectRatio::StretchToWindow: |
| 68 | return window_aspect_ratio; | 70 | return window_aspect_ratio; |
| 69 | default: | 71 | default: |
| 70 | return static_cast<float>(ScreenUndocked::Height) / ScreenUndocked::Width; | 72 | return static_cast<float>(ScreenUndocked::Height) / ScreenUndocked::Width; |