Browse Source

GUI: Touch screen button click area now is synced with its draw

(cherry picked from commit 1cba7fb1804c35917c075e323b6d303f5a900df6)
Mateo Kuruk Miccino 5 years ago
parent
commit
e253451a5b
1 changed files with 3 additions and 2 deletions
  1. 3 2
      scene/2d/touch_screen_button.cpp

+ 3 - 2
scene/2d/touch_screen_button.cpp

@@ -260,9 +260,10 @@ bool TouchScreenButton::_is_point_inside(const Point2 &p_point) {
 	bool check_rect = true;
 
 	if (shape.is_valid()) {
-
 		check_rect = false;
-		Transform2D xform = shape_centered ? Transform2D().translated(shape->get_rect().size * 0.5f) : Transform2D();
+
+		Vector2 size = texture.is_null() ? shape->get_rect().size : texture->get_size();
+		Transform2D xform = shape_centered ? Transform2D().translated(size * 0.5f) : Transform2D();
 		touched = shape->collide(xform, unit_rect, Transform2D(0, coord + Vector2(0.5, 0.5)));
 	}