summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRémi Verschelde <remi@verschelde.fr>2021-02-14 12:54:04 +0100
committerGitHub <noreply@github.com>2021-02-14 12:54:04 +0100
commitb21f854b7f573bcbc963d5346ed37231c29446b6 (patch)
treedb47f8e3872339fbee3d1dd4402f125de28d3f23
parentb9aa2d0dfb5ec6e93e1dc3604fba92606c1a2398 (diff)
parent466cf0b466570f70ac4dc0f5a8a4b58f513a1545 (diff)
Merge pull request #45910 from Ansraer/default-scale-highres-monitor
Adjust auto scale on 4k monitors to 150%
-rw-r--r--editor/editor_node.cpp4
-rw-r--r--editor/editor_settings.cpp4
-rw-r--r--editor/project_manager.cpp4
3 files changed, 12 insertions, 0 deletions
diff --git a/editor/editor_node.cpp b/editor/editor_node.cpp
index acf63d7cde..57fa552845 100644
--- a/editor/editor_node.cpp
+++ b/editor/editor_node.cpp
@@ -5687,6 +5687,10 @@ EditorNode::EditorNode() {
if (DisplayServer::get_singleton()->screen_get_dpi(screen) >= 192 && DisplayServer::get_singleton()->screen_get_size(screen).y >= 1400) {
// hiDPI display.
scale = 2.0;
+ } else if (DisplayServer::get_singleton()->screen_get_size(screen).y >= 1700) {
+ // Likely a hiDPI display, but we aren't certain due to the returned DPI.
+ // Use an intermediate scale to handle this situation.
+ scale = 1.5;
} else if (DisplayServer::get_singleton()->screen_get_size(screen).y <= 800) {
// Small loDPI display. Use a smaller display scale so that editor elements fit more easily.
// Icons won't look great, but this is better than having editor elements overflow from its window.
diff --git a/editor/editor_settings.cpp b/editor/editor_settings.cpp
index 6026181615..b6fa2f6d03 100644
--- a/editor/editor_settings.cpp
+++ b/editor/editor_settings.cpp
@@ -337,6 +337,10 @@ void EditorSettings::_load_defaults(Ref<ConfigFile> p_extra_config) {
if (DisplayServer::get_singleton()->screen_get_dpi(screen) >= 192 && DisplayServer::get_singleton()->screen_get_size(screen).y >= 1400) {
// hiDPI display.
scale = 2.0;
+ } else if (DisplayServer::get_singleton()->screen_get_size(screen).y >= 1700) {
+ // Likely a hiDPI display, but we aren't certain due to the returned DPI.
+ // Use an intermediate scale to handle this situation.
+ scale = 1.5;
} else if (DisplayServer::get_singleton()->screen_get_size(screen).y <= 800) {
// Small loDPI display. Use a smaller display scale so that editor elements fit more easily.
// Icons won't look great, but this is better than having editor elements overflow from its window.
diff --git a/editor/project_manager.cpp b/editor/project_manager.cpp
index 4667d80057..7b00c688fa 100644
--- a/editor/project_manager.cpp
+++ b/editor/project_manager.cpp
@@ -2383,6 +2383,10 @@ ProjectManager::ProjectManager() {
if (DisplayServer::get_singleton()->screen_get_dpi(screen) >= 192 && DisplayServer::get_singleton()->screen_get_size(screen).y >= 1400) {
// hiDPI display.
scale = 2.0;
+ } else if (DisplayServer::get_singleton()->screen_get_size(screen).y >= 1700) {
+ // Likely a hiDPI display, but we aren't certain due to the returned DPI.
+ // Use an intermediate scale to handle this situation.
+ scale = 1.5;
} else if (DisplayServer::get_singleton()->screen_get_size(screen).y <= 800) {
// Small loDPI display. Use a smaller display scale so that editor elements fit more easily.
// Icons won't look great, but this is better than having editor elements overflow from its window.