diff --git a/src/core/frontend/framebuffer_layout.cpp b/src/core/frontend/framebuffer_layout.cpp index 7cf52a29cd..510ce04366 100644 --- a/src/core/frontend/framebuffer_layout.cpp +++ b/src/core/frontend/framebuffer_layout.cpp @@ -1,4 +1,4 @@ -// Copyright 2016 Citra Emulator Project +// Copyright Citra Emulator Project / Azahar Emulator Project // Licensed under GPLv2 or any later version // Refer to the license.txt file included. @@ -443,8 +443,19 @@ FramebufferLayout FrameLayoutFromResolutionScale(u32 res_scale, bool is_secondar Settings::values.upright_screen.GetValue(), 1, Settings::SmallScreenPosition::MiddleRight); - case Settings::LayoutOption::Default: + case Settings::LayoutOption::HybridScreen: default: + width = (Core::kScreenTopWidth + Core::kScreenBottomWidth) * res_scale; + height = (Core::kScreenTopHeight + Core::kScreenBottomHeight) * res_scale; + + if (Settings::values.upright_screen.GetValue()) { + std::swap(width, height); + } + + return HybridScreenLayout(width, height, Settings::values.swap_screen.GetValue(), + Settings::values.upright_screen.GetValue()); + + case Settings::LayoutOption::Default: width = Core::kScreenTopWidth * res_scale; height = (Core::kScreenTopHeight + Core::kScreenBottomHeight) * res_scale;