diff options
author | floppyhammer <tannhauser_chen@outlook.com> | 2022-03-27 11:06:44 +0800 |
---|---|---|
committer | floppyhammer <tannhauser_chen@outlook.com> | 2022-03-27 11:06:44 +0800 |
commit | 536d7581bac51b72481c78cd4763558ed387c977 (patch) | |
tree | 055031e264317ee89e78ce6bcff35e0984f0ef47 /editor | |
parent | f0407ad14de5e8c4c668ba4e6a983d2211022d9a (diff) |
Fix project manager window size not applying display scale correctly
Diffstat (limited to 'editor')
-rw-r--r-- | editor/project_manager.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/editor/project_manager.cpp b/editor/project_manager.cpp index 0879d0dd18..cd95f97286 100644 --- a/editor/project_manager.cpp +++ b/editor/project_manager.cpp @@ -2873,10 +2873,16 @@ ProjectManager::ProjectManager() { Vector2i window_size = DisplayServer::get_singleton()->window_get_size(); Vector2i screen_size = DisplayServer::get_singleton()->screen_get_size(); Vector2i screen_position = DisplayServer::get_singleton()->screen_get_position(); - window_size *= scale_factor; + + // Consider the editor display scale. + window_size.x = round((float)window_size.x * scale_factor); + window_size.y = round((float)window_size.y * scale_factor); + + // Make the window centered on the screen. Vector2i window_position; window_position.x = screen_position.x + (screen_size.x - window_size.x) / 2; window_position.y = screen_position.y + (screen_size.y - window_size.y) / 2; + DisplayServer::get_singleton()->window_set_size(window_size); DisplayServer::get_singleton()->window_set_position(window_position); } |