Merge pull request #77899 from bruvzg/emb_center

Use initial position property for embedded windows to center on parent window.
This commit is contained in:
Rémi Verschelde 2023-06-09 12:15:07 +02:00
commit 37fc598ee1
No known key found for this signature in database
GPG key ID: C3336907360768E1

View file

@ -776,6 +776,9 @@ void Window::set_visible(bool p_visible) {
} else {
if (visible) {
embedder = embedder_vp;
if (initial_position != WINDOW_INITIAL_POSITION_ABSOLUTE) {
position = (embedder->get_visible_rect().size - size) / 2;
}
embedder->_sub_window_register(this);
RS::get_singleton()->viewport_set_update_mode(get_viewport_rid(), RS::VIEWPORT_UPDATE_WHEN_PARENT_VISIBLE);
} else {
@ -1163,6 +1166,9 @@ void Window::_notification(int p_what) {
if (embedded) {
// Create as embedded.
if (embedder) {
if (initial_position != WINDOW_INITIAL_POSITION_ABSOLUTE) {
position = (embedder->get_visible_rect().size - size) / 2;
}
embedder->_sub_window_register(this);
RS::get_singleton()->viewport_set_update_mode(get_viewport_rid(), RS::VIEWPORT_UPDATE_WHEN_PARENT_VISIBLE);
_update_window_size();