Bläddra i källkod

Merge pull request #49468 from menip/FixGetScreenPosition

Fix Control::get_screen_position() not considering viewport scale
Rémi Verschelde 4 år sedan
förälder
incheckning
a525e77740
1 ändrade filer med 1 tillägg och 1 borttagningar
  1. 1 1
      scene/gui/control.cpp

+ 1 - 1
scene/gui/control.cpp

@@ -1488,7 +1488,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_global_position();
+	Point2 global_pos = get_viewport()->get_canvas_transform().xform(get_global_position());
 	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();