diff options
Diffstat (limited to '')
| -rw-r--r-- | src/citra_qt/configure_graphics.cpp | 76 |
1 files changed, 74 insertions, 2 deletions
diff --git a/src/citra_qt/configure_graphics.cpp b/src/citra_qt/configure_graphics.cpp index cea7db388..54f799b47 100644 --- a/src/citra_qt/configure_graphics.cpp +++ b/src/citra_qt/configure_graphics.cpp | |||
| @@ -18,10 +18,81 @@ ConfigureGraphics::ConfigureGraphics(QWidget* parent) | |||
| 18 | 18 | ||
| 19 | ConfigureGraphics::~ConfigureGraphics() {} | 19 | ConfigureGraphics::~ConfigureGraphics() {} |
| 20 | 20 | ||
| 21 | enum class Resolution : int { | ||
| 22 | Auto, | ||
| 23 | Scale1x, | ||
| 24 | Scale2x, | ||
| 25 | Scale3x, | ||
| 26 | Scale4x, | ||
| 27 | Scale5x, | ||
| 28 | Scale6x, | ||
| 29 | Scale7x, | ||
| 30 | Scale8x, | ||
| 31 | Scale9x, | ||
| 32 | Scale10x, | ||
| 33 | }; | ||
| 34 | |||
| 35 | float ToResolutionFactor(Resolution option) { | ||
| 36 | switch (option) { | ||
| 37 | case Resolution::Auto: | ||
| 38 | return 0.f; | ||
| 39 | case Resolution::Scale1x: | ||
| 40 | return 1.f; | ||
| 41 | case Resolution::Scale2x: | ||
| 42 | return 2.f; | ||
| 43 | case Resolution::Scale3x: | ||
| 44 | return 3.f; | ||
| 45 | case Resolution::Scale4x: | ||
| 46 | return 4.f; | ||
| 47 | case Resolution::Scale5x: | ||
| 48 | return 5.f; | ||
| 49 | case Resolution::Scale6x: | ||
| 50 | return 6.f; | ||
| 51 | case Resolution::Scale7x: | ||
| 52 | return 7.f; | ||
| 53 | case Resolution::Scale8x: | ||
| 54 | return 8.f; | ||
| 55 | case Resolution::Scale9x: | ||
| 56 | return 9.f; | ||
| 57 | case Resolution::Scale10x: | ||
| 58 | return 10.f; | ||
| 59 | } | ||
| 60 | return 0.f; | ||
| 61 | } | ||
| 62 | |||
| 63 | Resolution FromResolutionFactor(float factor) { | ||
| 64 | if (factor == 0.f) { | ||
| 65 | return Resolution::Auto; | ||
| 66 | } else if (factor == 1.f) { | ||
| 67 | return Resolution::Scale1x; | ||
| 68 | } else if (factor == 2.f) { | ||
| 69 | return Resolution::Scale2x; | ||
| 70 | } else if (factor == 3.f) { | ||
| 71 | return Resolution::Scale3x; | ||
| 72 | } else if (factor == 4.f) { | ||
| 73 | return Resolution::Scale4x; | ||
| 74 | } else if (factor == 5.f) { | ||
| 75 | return Resolution::Scale5x; | ||
| 76 | } else if (factor == 6.f) { | ||
| 77 | return Resolution::Scale6x; | ||
| 78 | } else if (factor == 7.f) { | ||
| 79 | return Resolution::Scale7x; | ||
| 80 | } else if (factor == 8.f) { | ||
| 81 | return Resolution::Scale8x; | ||
| 82 | } else if (factor == 9.f) { | ||
| 83 | return Resolution::Scale9x; | ||
| 84 | } else if (factor == 10.f) { | ||
| 85 | return Resolution::Scale10x; | ||
| 86 | } | ||
| 87 | return Resolution::Auto; | ||
| 88 | } | ||
| 89 | |||
| 21 | void ConfigureGraphics::setConfiguration() { | 90 | void ConfigureGraphics::setConfiguration() { |
| 22 | ui->toggle_hw_renderer->setChecked(Settings::values.use_hw_renderer); | 91 | ui->toggle_hw_renderer->setChecked(Settings::values.use_hw_renderer); |
| 92 | ui->resolution_factor_combobox->setEnabled(Settings::values.use_hw_renderer); | ||
| 23 | ui->toggle_shader_jit->setChecked(Settings::values.use_shader_jit); | 93 | ui->toggle_shader_jit->setChecked(Settings::values.use_shader_jit); |
| 24 | ui->toggle_scaled_resolution->setChecked(Settings::values.use_scaled_resolution); | 94 | ui->resolution_factor_combobox->setCurrentIndex( |
| 95 | static_cast<int>(FromResolutionFactor(Settings::values.resolution_factor))); | ||
| 25 | ui->toggle_vsync->setChecked(Settings::values.use_vsync); | 96 | ui->toggle_vsync->setChecked(Settings::values.use_vsync); |
| 26 | ui->toggle_framelimit->setChecked(Settings::values.toggle_framelimit); | 97 | ui->toggle_framelimit->setChecked(Settings::values.toggle_framelimit); |
| 27 | ui->layout_combobox->setCurrentIndex(static_cast<int>(Settings::values.layout_option)); | 98 | ui->layout_combobox->setCurrentIndex(static_cast<int>(Settings::values.layout_option)); |
| @@ -31,7 +102,8 @@ void ConfigureGraphics::setConfiguration() { | |||
| 31 | void ConfigureGraphics::applyConfiguration() { | 102 | void ConfigureGraphics::applyConfiguration() { |
| 32 | Settings::values.use_hw_renderer = ui->toggle_hw_renderer->isChecked(); | 103 | Settings::values.use_hw_renderer = ui->toggle_hw_renderer->isChecked(); |
| 33 | Settings::values.use_shader_jit = ui->toggle_shader_jit->isChecked(); | 104 | Settings::values.use_shader_jit = ui->toggle_shader_jit->isChecked(); |
| 34 | Settings::values.use_scaled_resolution = ui->toggle_scaled_resolution->isChecked(); | 105 | Settings::values.resolution_factor = |
| 106 | ToResolutionFactor(static_cast<Resolution>(ui->resolution_factor_combobox->currentIndex())); | ||
| 35 | Settings::values.use_vsync = ui->toggle_vsync->isChecked(); | 107 | Settings::values.use_vsync = ui->toggle_vsync->isChecked(); |
| 36 | Settings::values.toggle_framelimit = ui->toggle_framelimit->isChecked(); | 108 | Settings::values.toggle_framelimit = ui->toggle_framelimit->isChecked(); |
| 37 | Settings::values.layout_option = | 109 | Settings::values.layout_option = |