diff options
author | James Rowe <jroweboy@gmail.com> | 2016-05-03 00:07:17 -0600 |
---|---|---|
committer | James Rowe <jroweboy@gmail.com> | 2016-11-05 02:55:41 -0600 |
commit | 2b1654ad9bbd8af53f22434d350704a1a1d0a285 (patch) | |
tree | 0da3cc7a1c622c1a659f4b2a8c5c08984dabd5c3 /src/core | |
parent | 1f70365faa75e5dc25108d22bf0a0399b93761df (diff) |
Support additional screen layouts.
Allows users to choose a single screen layout or a large screen layout.
Adds a configuration option to change the prominent screen.
Diffstat (limited to 'src/core')
-rw-r--r-- | src/core/settings.cpp | 7 | ||||
-rw-r--r-- | src/core/settings.h | 11 |
2 files changed, 18 insertions, 0 deletions
diff --git a/src/core/settings.cpp b/src/core/settings.cpp index 4a0969b00..05f41f798 100644 --- a/src/core/settings.cpp +++ b/src/core/settings.cpp @@ -7,6 +7,8 @@ #include "settings.h" #include "video_core/video_core.h" +#include "common/emu_window.h" + namespace Settings { Values values = {}; @@ -20,6 +22,11 @@ void Apply() { VideoCore::g_shader_jit_enabled = values.use_shader_jit; VideoCore::g_scaled_resolution_enabled = values.use_scaled_resolution; + if (VideoCore::g_emu_window) { + auto layout = VideoCore::g_emu_window->GetFramebufferLayout(); + VideoCore::g_emu_window->UpdateCurrentFramebufferLayout(layout.width, layout.height); + } + AudioCore::SelectSink(values.sink_id); AudioCore::EnableStretching(values.enable_audio_stretching); } diff --git a/src/core/settings.h b/src/core/settings.h index 5a64f8018..e931953d7 100644 --- a/src/core/settings.h +++ b/src/core/settings.h @@ -10,7 +10,15 @@ namespace Settings { +enum class LayoutOption { + Default, + SingleScreen, + LargeScreen, + Custom, +}; + namespace NativeInput { + enum Values { // directly mapped keys A, @@ -84,6 +92,9 @@ struct Values { bool use_scaled_resolution; bool use_vsync; + LayoutOption layout_option; + bool swap_screen; + float bg_red; float bg_green; float bg_blue; |