forked from Mirrorlandia_minetest/minetest
Make it possible again to see item tooltips on Android (#14029)
This change is a quick fix so that item tooltips show again on Android.
This commit is contained in:
parent
0f3ac7c956
commit
771da80bbb
@ -3643,7 +3643,7 @@ void GUIFormSpecMenu::drawMenu()
|
|||||||
NULL, m_client, IT_ROT_HOVERED);
|
NULL, m_client, IT_ROT_HOVERED);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* TODO find way to show tooltips on touchscreen */
|
// On touchscreens, m_pointer is set by GUIModalMenu::preprocessEvent instead.
|
||||||
#ifndef HAVE_TOUCHSCREENGUI
|
#ifndef HAVE_TOUCHSCREENGUI
|
||||||
m_pointer = RenderingEngine::get_raw_device()->getCursorControl()->getPosition();
|
m_pointer = RenderingEngine::get_raw_device()->getCursorControl()->getPosition();
|
||||||
#endif
|
#endif
|
||||||
|
@ -99,6 +99,7 @@ void GUIInventoryList::draw()
|
|||||||
(i / m_geom.X) * m_slot_spacing.Y);
|
(i / m_geom.X) * m_slot_spacing.Y);
|
||||||
core::rect<s32> rect = imgrect + base_pos + p;
|
core::rect<s32> rect = imgrect + base_pos + p;
|
||||||
ItemStack item = ilist->getItem(item_i);
|
ItemStack item = ilist->getItem(item_i);
|
||||||
|
ItemStack orig_item = item;
|
||||||
|
|
||||||
bool selected = selected_item
|
bool selected = selected_item
|
||||||
&& m_invmgr->getInventory(selected_item->inventoryloc) == inv
|
&& m_invmgr->getInventory(selected_item->inventoryloc) == inv
|
||||||
@ -147,13 +148,19 @@ void GUIInventoryList::draw()
|
|||||||
// Draw item stack
|
// Draw item stack
|
||||||
drawItemStack(driver, m_font, item, rect, &AbsoluteClippingRect,
|
drawItemStack(driver, m_font, item, rect, &AbsoluteClippingRect,
|
||||||
client, rotation_kind);
|
client, rotation_kind);
|
||||||
// Add hovering tooltip
|
}
|
||||||
if (hovering && !selected_item) {
|
|
||||||
std::string tooltip = item.getDescription(client->idef());
|
// Add hovering tooltip
|
||||||
if (m_fs_menu->doTooltipAppendItemname())
|
bool show_tooltip = !item.empty() && hovering && !selected_item;
|
||||||
tooltip += "\n[" + item.name + "]";
|
#ifdef HAVE_TOUCHSCREENGUI
|
||||||
m_fs_menu->addHoveredItemTooltip(tooltip);
|
// Make it possible to see item tooltips on touchscreens
|
||||||
}
|
show_tooltip |= hovering && selected && m_fs_menu->getSelectedAmount() != 0;
|
||||||
|
#endif
|
||||||
|
if (show_tooltip) {
|
||||||
|
std::string tooltip = orig_item.getDescription(client->idef());
|
||||||
|
if (m_fs_menu->doTooltipAppendItemname())
|
||||||
|
tooltip += "\n[" + orig_item.name + "]";
|
||||||
|
m_fs_menu->addHoveredItemTooltip(tooltip);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user