update: tooltip conditions
This commit is contained in:
+17
-22
@@ -68,30 +68,25 @@ void GUI::updateTooltip(float delta) {
|
|||||||
if (hover == nullptr || !hover->isInside(Events::cursor)) {
|
if (hover == nullptr || !hover->isInside(Events::cursor)) {
|
||||||
return resetTooltip();
|
return resetTooltip();
|
||||||
}
|
}
|
||||||
float mouseDelta = glm::length(Events::delta);
|
if (tooltipTimer + delta >= hover->getTooltipDelay()) {
|
||||||
if (mouseDelta < 1.0f || tooltipTimer >= hover->getTooltipDelay()) {
|
auto label = std::dynamic_pointer_cast<gui::Label>(get("tooltip.label"));
|
||||||
if (tooltipTimer + delta >= hover->getTooltipDelay()) {
|
const auto& text = hover->getTooltip();
|
||||||
auto label = std::dynamic_pointer_cast<gui::Label>(get("tooltip.label"));
|
if (text.empty() && tooltip->isVisible()) {
|
||||||
const auto& text = hover->getTooltip();
|
return resetTooltip();
|
||||||
if (text.empty() && tooltip->isVisible()) {
|
}
|
||||||
return resetTooltip();
|
if (label && !text.empty()) {
|
||||||
}
|
tooltip->setVisible(true);
|
||||||
if (label && !text.empty()) {
|
label->setText(langs::get(text));
|
||||||
tooltip->setVisible(true);
|
auto size = label->getSize()+glm::vec2(4.0f);
|
||||||
label->setText(langs::get(text));
|
auto pos = Events::cursor+glm::vec2(10.0f);
|
||||||
auto size = label->getSize()+glm::vec2(4.0f);
|
auto rootSize = container->getSize();
|
||||||
auto pos = Events::cursor+glm::vec2(10.0f);
|
pos.x = glm::min(pos.x, rootSize.x-size.x);
|
||||||
auto rootSize = container->getSize();
|
pos.y = glm::min(pos.y, rootSize.y-size.y);
|
||||||
pos.x = glm::min(pos.x, rootSize.x-size.x);
|
tooltip->setSize(size);
|
||||||
pos.y = glm::min(pos.y, rootSize.y-size.y);
|
tooltip->setPos(pos);
|
||||||
tooltip->setSize(size);
|
|
||||||
tooltip->setPos(pos);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
tooltipTimer += delta;
|
|
||||||
} else {
|
|
||||||
resetTooltip();
|
|
||||||
}
|
}
|
||||||
|
tooltipTimer += delta;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// @brief Mouse related input and logic handling
|
/// @brief Mouse related input and logic handling
|
||||||
|
|||||||
Reference in New Issue
Block a user