summaryrefslogtreecommitdiff
path: root/src/core
diff options
context:
space:
mode:
authorGravatar SonofUgly2017-02-01 00:22:47 -0800
committerGravatar SonofUgly2017-02-23 10:49:56 -0800
commite0a4450bbd40d69d288023ab5a95eaa0b00100fd (patch)
tree288cacc8a345cea50d8c6a25c17e4ebbb1ec41d9 /src/core
parentMerge pull request #2485 from Kloen/killing-warnings-computehash64 (diff)
downloadyuzu-e0a4450bbd40d69d288023ab5a95eaa0b00100fd.tar.gz
yuzu-e0a4450bbd40d69d288023ab5a95eaa0b00100fd.tar.xz
yuzu-e0a4450bbd40d69d288023ab5a95eaa0b00100fd.zip
Add custom layout settings.
Diffstat (limited to 'src/core')
-rw-r--r--src/core/frontend/emu_window.cpp26
-rw-r--r--src/core/settings.h10
2 files changed, 24 insertions, 12 deletions
diff --git a/src/core/frontend/emu_window.cpp b/src/core/frontend/emu_window.cpp
index 1541cc39d..e5b1147a5 100644
--- a/src/core/frontend/emu_window.cpp
+++ b/src/core/frontend/emu_window.cpp
@@ -116,17 +116,21 @@ void EmuWindow::GyroscopeChanged(float x, float y, float z) {
116 116
117void EmuWindow::UpdateCurrentFramebufferLayout(unsigned width, unsigned height) { 117void EmuWindow::UpdateCurrentFramebufferLayout(unsigned width, unsigned height) {
118 Layout::FramebufferLayout layout; 118 Layout::FramebufferLayout layout;
119 switch (Settings::values.layout_option) { 119 if (Settings::values.custom_layout == true) {
120 case Settings::LayoutOption::SingleScreen: 120 layout = Layout::CustomFrameLayout(width, height);
121 layout = Layout::SingleFrameLayout(width, height, Settings::values.swap_screen); 121 } else {
122 break; 122 switch (Settings::values.layout_option) {
123 case Settings::LayoutOption::LargeScreen: 123 case Settings::LayoutOption::SingleScreen:
124 layout = Layout::LargeFrameLayout(width, height, Settings::values.swap_screen); 124 layout = Layout::SingleFrameLayout(width, height, Settings::values.swap_screen);
125 break; 125 break;
126 case Settings::LayoutOption::Default: 126 case Settings::LayoutOption::LargeScreen:
127 default: 127 layout = Layout::LargeFrameLayout(width, height, Settings::values.swap_screen);
128 layout = Layout::DefaultFrameLayout(width, height, Settings::values.swap_screen); 128 break;
129 break; 129 case Settings::LayoutOption::Default:
130 default:
131 layout = Layout::DefaultFrameLayout(width, height, Settings::values.swap_screen);
132 break;
133 }
130 } 134 }
131 NotifyFramebufferLayoutChanged(layout); 135 NotifyFramebufferLayoutChanged(layout);
132} 136}
diff --git a/src/core/settings.h b/src/core/settings.h
index e22ce0f16..52cebc627 100644
--- a/src/core/settings.h
+++ b/src/core/settings.h
@@ -14,7 +14,6 @@ enum class LayoutOption {
14 Default, 14 Default,
15 SingleScreen, 15 SingleScreen,
16 LargeScreen, 16 LargeScreen,
17 Custom,
18}; 17};
19 18
20namespace NativeInput { 19namespace NativeInput {
@@ -94,6 +93,15 @@ struct Values {
94 93
95 LayoutOption layout_option; 94 LayoutOption layout_option;
96 bool swap_screen; 95 bool swap_screen;
96 bool custom_layout;
97 u16 custom_top_left;
98 u16 custom_top_top;
99 u16 custom_top_right;
100 u16 custom_top_bottom;
101 u16 custom_bottom_left;
102 u16 custom_bottom_top;
103 u16 custom_bottom_right;
104 u16 custom_bottom_bottom;
97 105
98 float bg_red; 106 float bg_red;
99 float bg_green; 107 float bg_green;