diff options
author | zhupengfei <zhupengfei321@sina.cn> | 2018-08-31 08:16:16 +0200 |
---|---|---|
committer | fearlessTobi <thm.frey@gmail.com> | 2018-12-18 22:54:41 +0100 |
commit | a2be49305d8c5c66cfa2ec2060688013cf3729b9 (patch) | |
tree | 2a2e38805ae8af0718628682d7e911ccb253fc16 /src/core | |
parent | Merge pull request #1868 from lioncash/config (diff) | |
download | yuzu-a2be49305d8c5c66cfa2ec2060688013cf3729b9.tar yuzu-a2be49305d8c5c66cfa2ec2060688013cf3729b9.tar.gz yuzu-a2be49305d8c5c66cfa2ec2060688013cf3729b9.tar.bz2 yuzu-a2be49305d8c5c66cfa2ec2060688013cf3729b9.tar.lz yuzu-a2be49305d8c5c66cfa2ec2060688013cf3729b9.tar.xz yuzu-a2be49305d8c5c66cfa2ec2060688013cf3729b9.tar.zst yuzu-a2be49305d8c5c66cfa2ec2060688013cf3729b9.zip |
Diffstat (limited to '')
-rw-r--r-- | src/core/frontend/framebuffer_layout.cpp | 15 | ||||
-rw-r--r-- | src/core/frontend/framebuffer_layout.h | 7 |
2 files changed, 22 insertions, 0 deletions
diff --git a/src/core/frontend/framebuffer_layout.cpp b/src/core/frontend/framebuffer_layout.cpp index 8f07aedc9..f8662d193 100644 --- a/src/core/frontend/framebuffer_layout.cpp +++ b/src/core/frontend/framebuffer_layout.cpp @@ -6,6 +6,7 @@ #include "common/assert.h" #include "core/frontend/framebuffer_layout.h" +#include "core/settings.h" namespace Layout { @@ -42,4 +43,18 @@ FramebufferLayout DefaultFrameLayout(unsigned width, unsigned height) { return res; } +FramebufferLayout FrameLayoutFromResolutionScale(u16 res_scale) { + int width, height; + + if (Settings::values.use_docked_mode) { + width = ScreenDocked::WidthDocked * res_scale; + height = ScreenDocked::HeightDocked * res_scale; + } else { + width = ScreenUndocked::Width * res_scale; + height = ScreenUndocked::Height * res_scale; + } + + return DefaultFrameLayout(width, height); +} + } // namespace Layout diff --git a/src/core/frontend/framebuffer_layout.h b/src/core/frontend/framebuffer_layout.h index f3fddfa94..e06647794 100644 --- a/src/core/frontend/framebuffer_layout.h +++ b/src/core/frontend/framebuffer_layout.h @@ -9,6 +9,7 @@ namespace Layout { enum ScreenUndocked : unsigned { Width = 1280, Height = 720 }; +enum ScreenDocked : unsigned { WidthDocked = 1920, HeightDocked = 1080 }; /// Describes the layout of the window framebuffer struct FramebufferLayout { @@ -34,4 +35,10 @@ struct FramebufferLayout { */ FramebufferLayout DefaultFrameLayout(unsigned width, unsigned height); +/** + * Convenience method to get frame layout by resolution scale + * @param res_scale resolution scale factor + */ +FramebufferLayout FrameLayoutFromResolutionScale(u16 res_scale); + } // namespace Layout |