Merge pull request #26105 from nekomatata/texture-button-mask-fix

TextureButton with click mask only can be clicked
This commit is contained in:
Rémi Verschelde 2019-02-21 14:48:43 +01:00 committed by GitHub
commit 47c4ec7f1d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -64,7 +64,9 @@ bool TextureButton::has_point(const Point2 &p_point) const {
Rect2 rect = Rect2();
Size2 mask_size = click_mask->get_size();
if (_tile) {
if (_position_rect.no_area()) {
rect.size = mask_size;
} else if (_tile) {
// if the stretch mode is tile we offset the point to keep it inside the mask size
rect.size = mask_size;
if (_position_rect.has_point(point)) {
@ -216,6 +218,8 @@ void TextureButton::_notification(int p_what) {
draw_texture_rect(texdraw, _position_rect, _tile);
else
draw_texture_rect_region(texdraw, _position_rect, _texture_region);
} else {
_position_rect = Rect2();
}
if (has_focus() && focused.is_valid()) {