Merge pull request #52824 from e8newallm/52680

Updated Tabs to not update excessively
This commit is contained in:
Rémi Verschelde 2021-09-26 19:35:58 +02:00 committed by GitHub
commit 73668c59aa
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -98,29 +98,45 @@ void Tabs::gui_input(const Ref<InputEvent> &p_event) {
if (mm.is_valid()) {
Point2 pos = mm->get_position();
highlight_arrow = -1;
if (buttons_visible) {
Ref<Texture2D> incr = get_theme_icon(SNAME("increment"));
Ref<Texture2D> decr = get_theme_icon(SNAME("decrement"));
if (is_layout_rtl()) {
if (pos.x < decr->get_width()) {
highlight_arrow = 1;
if (highlight_arrow != 1) {
highlight_arrow = 1;
update();
}
} else if (pos.x < incr->get_width() + decr->get_width()) {
highlight_arrow = 0;
if (highlight_arrow != 0) {
highlight_arrow = 0;
update();
}
} else if (highlight_arrow != -1) {
highlight_arrow = -1;
update();
}
} else {
int limit_minus_buttons = get_size().width - incr->get_width() - decr->get_width();
if (pos.x > limit_minus_buttons + decr->get_width()) {
highlight_arrow = 1;
if (highlight_arrow != 1) {
highlight_arrow = 1;
update();
}
} else if (pos.x > limit_minus_buttons) {
highlight_arrow = 0;
if (highlight_arrow != 0) {
highlight_arrow = 0;
update();
}
} else if (highlight_arrow != -1) {
highlight_arrow = -1;
update();
}
}
}
_update_hover();
update();
return;
}