summaryrefslogtreecommitdiffstats
path: root/core/os/os.cpp
diff options
context:
space:
mode:
authorMarcelo Fernandez <marcelofg55@gmail.com>2018-02-12 14:17:29 -0300
committerMarcelo Fernandez <marcelofg55@gmail.com>2018-02-12 15:45:41 -0300
commitea1d726a4603fdd6bd4dfa6c1fa3128cfb2915c7 (patch)
tree109889d417d20c47442d9bcae765fb7f0703018d /core/os/os.cpp
parentf961ba004b1d67cbc0835202930fa8d16b8ff07a (diff)
downloadredot-engine-ea1d726a4603fdd6bd4dfa6c1fa3128cfb2915c7.tar.gz
Added OS::center_window to center the window precisely on desktop platforms
Diffstat (limited to 'core/os/os.cpp')
-rw-r--r--core/os/os.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/core/os/os.cpp b/core/os/os.cpp
index c6e5de703c..422acf95dc 100644
--- a/core/os/os.cpp
+++ b/core/os/os.cpp
@@ -616,6 +616,17 @@ bool OS::has_feature(const String &p_feature) {
return false;
}
+void OS::center_window() {
+
+ if (is_window_fullscreen()) return;
+
+ Size2 scr = get_screen_size(get_current_screen());
+ Size2 wnd = get_real_window_size();
+ int x = scr.width / 2 - wnd.width / 2;
+ int y = scr.height / 2 - wnd.height / 2;
+ set_window_position(Vector2(x, y));
+}
+
OS::OS() {
void *volatile stack_bottom;