summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnsraer <jacky2611@gmail.com>2021-02-12 00:07:19 +0100
committerAnsraer <jacky2611@gmail.com>2021-02-12 01:12:25 +0100
commit466cf0b466570f70ac4dc0f5a8a4b58f513a1545 (patch)
tree433cbe331031cfedc9a27fda955f081047c154af
parente5bb89cdd5e92fa6fdeff78aad08bf0cbfbcc692 (diff)
Adjust auto scale on high res displays
-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 e7291b014f..dba19df578 100644
--- a/editor/editor_node.cpp
+++ b/editor/editor_node.cpp
@@ -5671,6 +5671,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 d813ae9353..b874139022 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 afbed0c610..16d319a5d5 100644
--- a/editor/project_manager.cpp
+++ b/editor/project_manager.cpp
@@ -2385,6 +2385,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.