Переглянути джерело

Inlcude CanvasLayer transform into calculation of Control screen position

Markus Sauermann 3 роки тому
батько
коміт
f01e1ce1dd
1 змінених файлів з 1 додано та 1 видалено
  1. 1 1
      scene/gui/control.cpp

+ 1 - 1
scene/gui/control.cpp

@@ -2070,7 +2070,7 @@ Point2 Control::get_global_position() const {
 
 
 Point2 Control::get_screen_position() const {
 Point2 Control::get_screen_position() const {
 	ERR_FAIL_COND_V(!is_inside_tree(), Point2());
 	ERR_FAIL_COND_V(!is_inside_tree(), Point2());
-	Point2 global_pos = get_viewport()->get_canvas_transform().xform(get_global_position());
+	Point2 global_pos = get_global_transform_with_canvas().get_origin();
 	Window *w = Object::cast_to<Window>(get_viewport());
 	Window *w = Object::cast_to<Window>(get_viewport());
 	if (w && !w->is_embedding_subwindows()) {
 	if (w && !w->is_embedding_subwindows()) {
 		global_pos += w->get_position();
 		global_pos += w->get_position();