diff options
Diffstat (limited to 'scene/main/window.cpp')
-rw-r--r-- | scene/main/window.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/scene/main/window.cpp b/scene/main/window.cpp index be2a0dca13..33946246b0 100644 --- a/scene/main/window.cpp +++ b/scene/main/window.cpp @@ -2115,13 +2115,17 @@ bool Window::is_auto_translating() const { return auto_translate; } +Transform2D Window::get_final_transform() const { + return window_transform * stretch_transform * global_canvas_transform; +} + Transform2D Window::get_screen_transform() const { Transform2D embedder_transform; if (_get_embedder()) { embedder_transform.translate_local(get_position()); embedder_transform = _get_embedder()->get_screen_transform() * embedder_transform; } - return embedder_transform * Viewport::get_screen_transform(); + return embedder_transform * get_final_transform(); } Transform2D Window::get_popup_base_transform() const { @@ -2130,7 +2134,7 @@ Transform2D Window::get_popup_base_transform() const { } Transform2D popup_base_transform; popup_base_transform.set_origin(get_position()); - popup_base_transform *= Viewport::get_screen_transform(); + popup_base_transform *= get_final_transform(); if (_get_embedder()) { return _get_embedder()->get_popup_base_transform() * popup_base_transform; } |