diff options
| author | Hugo Locurcio | 2018-03-22 20:20:42 +0100 |
|---|---|---|
| committer | Hugo Locurcio | 2018-03-23 14:04:39 +0100 |
| commit | 61bf0d10d533200486c138dc5b34914081af63e1 (patch) | |
| tree | 50d8475aff4561dce34d21e4e9607b552de6fbc0 /editor/project_manager.cpp | |
| parent | cc34406b5d48c8c09d51c0c8fe6d94b91303745f (diff) | |
| download | godot-61bf0d10d533200486c138dc5b34914081af63e1.tar.gz godot-61bf0d10d533200486c138dc5b34914081af63e1.tar.zst godot-61bf0d10d533200486c138dc5b34914081af63e1.zip | |
Overhaul the display scaling editor settings
This adds more scaling options, in addition to a custom scaling option
which allows any scale between 0.75 and 3.0 to be used.
Diffstat (limited to '')
| -rw-r--r-- | editor/project_manager.cpp | 49 |
1 files changed, 37 insertions, 12 deletions
diff --git a/editor/project_manager.cpp b/editor/project_manager.cpp index 5f93e984c..de98c89db 100644 --- a/editor/project_manager.cpp +++ b/editor/project_manager.cpp @@ -1517,18 +1517,43 @@ ProjectManager::ProjectManager() { EditorSettings::get_singleton()->set_optimize_save(false); //just write settings as they came { - int dpi_mode = EditorSettings::get_singleton()->get("interface/editor/hidpi_mode"); - if (dpi_mode == 0) { - const int screen = OS::get_singleton()->get_current_screen(); - editor_set_scale(OS::get_singleton()->get_screen_dpi(screen) >= 192 && OS::get_singleton()->get_screen_size(screen).x > 2000 ? 2.0 : 1.0); - } else if (dpi_mode == 1) { - editor_set_scale(0.75); - } else if (dpi_mode == 2) { - editor_set_scale(1.0); - } else if (dpi_mode == 3) { - editor_set_scale(1.5); - } else if (dpi_mode == 4) { - editor_set_scale(2.0); + int display_scale = EditorSettings::get_singleton()->get("interface/editor/display_scale"); + float custom_display_scale = EditorSettings::get_singleton()->get("interface/editor/custom_display_scale"); + + switch (display_scale) { + case 0: { + // Try applying a suitable display scale automatically + const int screen = OS::get_singleton()->get_current_screen(); + editor_set_scale(OS::get_singleton()->get_screen_dpi(screen) >= 192 && OS::get_singleton()->get_screen_size(screen).x > 2000 ? 2.0 : 1.0); + } break; + + case 1: { + editor_set_scale(0.75); + } break; + + case 2: { + editor_set_scale(1.0); + } break; + + case 3: { + editor_set_scale(1.25); + } break; + + case 4: { + editor_set_scale(1.5); + } break; + + case 5: { + editor_set_scale(1.75); + } break; + + case 6: { + editor_set_scale(2.0); + } break; + + default: { + editor_set_scale(custom_display_scale); + } break; } } |
