Ver Fonte

Fix Control::get_screen_position() not considering viewport scale

menip há 4 anos atrás
pai
commit
ae324444ba
1 ficheiros alterados com 1 adições e 1 exclusões
  1. 1 1
      scene/gui/control.cpp

+ 1 - 1
scene/gui/control.cpp

@@ -1504,7 +1504,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();