Fix Popup hover and height calculation are off by some pixels
This was caused by an incorrect calculation of the v_separation where it was not needed
This commit is contained in:
parent
aa5b6ed13e
commit
18fedd9c13
@ -237,8 +237,7 @@ int PopupMenu::_get_items_total_height() const {
|
|||||||
items_total_height += _get_item_height(i) + theme_cache.v_separation;
|
items_total_height += _get_item_height(i) + theme_cache.v_separation;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Subtract a separator which is not needed for the last item.
|
return items_total_height;
|
||||||
return items_total_height - theme_cache.v_separation;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int PopupMenu::_get_mouse_over(const Point2 &p_over) const {
|
int PopupMenu::_get_mouse_over(const Point2 &p_over) const {
|
||||||
@ -247,14 +246,14 @@ int PopupMenu::_get_mouse_over(const Point2 &p_over) const {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Accounts for margin in the margin container
|
// Accounts for margin in the margin container
|
||||||
Point2 ofs = theme_cache.panel_style->get_offset() + Point2(0, theme_cache.v_separation / 2);
|
Point2 ofs = theme_cache.panel_style->get_offset();
|
||||||
|
|
||||||
if (ofs.y > p_over.y) {
|
if (ofs.y > p_over.y) {
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (int i = 0; i < items.size(); i++) {
|
for (int i = 0; i < items.size(); i++) {
|
||||||
ofs.y += i > 0 ? theme_cache.v_separation : (float)theme_cache.v_separation / 2;
|
ofs.y += theme_cache.v_separation;
|
||||||
|
|
||||||
ofs.y += _get_item_height(i);
|
ofs.y += _get_item_height(i);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user