summaryrefslogtreecommitdiffstats
path: root/src/core
diff options
context:
space:
mode:
Diffstat (limited to 'src/core')
-rw-r--r--src/core/settings.cpp7
-rw-r--r--src/core/settings.h11
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;