summaryrefslogtreecommitdiffstats
path: root/scene/main/window.cpp
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2023-01-26 16:00:14 +0100
committerRémi Verschelde <rverschelde@gmail.com>2023-01-26 16:00:14 +0100
commit13e20fed9947c70ab08644be9ba74ac2a4329a1f (patch)
tree442e4867eb336862abde7f7334cbb486ef113f4c /scene/main/window.cpp
parent296dea77fe9a7a438e3c127899537fa9b75c1050 (diff)
parentc4ed247f5f49eeda614290bf8e0b61df9a6f089e (diff)
downloadredot-engine-13e20fed9947c70ab08644be9ba74ac2a4329a1f.tar.gz
Merge pull request #68627 from Sauermann/fix-tooltip-position
Fix position of Tooltips
Diffstat (limited to 'scene/main/window.cpp')
-rw-r--r--scene/main/window.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/scene/main/window.cpp b/scene/main/window.cpp
index 2c6599d849..3ceb27b3e6 100644
--- a/scene/main/window.cpp
+++ b/scene/main/window.cpp
@@ -2104,6 +2104,19 @@ Transform2D Window::get_screen_transform() const {
return embedder_transform * Viewport::get_screen_transform();
}
+Transform2D Window::get_popup_base_transform() const {
+ if (is_embedding_subwindows()) {
+ return Transform2D();
+ }
+ Transform2D window_transform;
+ window_transform.set_origin(get_position());
+ window_transform *= Viewport::get_screen_transform();
+ if (_get_embedder()) {
+ return _get_embedder()->get_popup_base_transform() * window_transform;
+ }
+ return window_transform;
+}
+
void Window::_bind_methods() {
ClassDB::bind_method(D_METHOD("set_title", "title"), &Window::set_title);
ClassDB::bind_method(D_METHOD("get_title"), &Window::get_title);