summaryrefslogtreecommitdiff
path: root/editor
diff options
context:
space:
mode:
authorC.Even <c.even@live.cn>2022-03-26 19:52:56 +0800
committerC.Even <c.even@live.cn>2022-03-26 20:03:04 +0800
commit56d372ef0cf66d7960a8109c0563d5df817e458a (patch)
treed5ed33327aaf87384484bd120b4e120aeb146852 /editor
parentfec24869948ae07d615b31b984296b60505c1671 (diff)
Fix project manager window centering in multi-monitor situation
* When main screen's position in not (0,0) and editor scale is larger than 1, the project manager window was not centered in main screen
Diffstat (limited to 'editor')
-rw-r--r--editor/project_manager.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/editor/project_manager.cpp b/editor/project_manager.cpp
index d011d7a7e7..0879d0dd18 100644
--- a/editor/project_manager.cpp
+++ b/editor/project_manager.cpp
@@ -2872,10 +2872,11 @@ ProjectManager::ProjectManager() {
if (scale_factor > 1.0) {
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;
Vector2i window_position;
- window_position.x = (screen_size.x - window_size.x) / 2;
- window_position.y = (screen_size.y - window_size.y) / 2;
+ 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);
}