From a57f8f41bb145f2af5f2d9e2b706ebbe88875d2d Mon Sep 17 00:00:00 2001 From: MihailRis Date: Thu, 6 Jun 2024 11:29:30 +0300 Subject: [PATCH] update: tooltip conditions --- src/graphics/ui/GUI.cpp | 39 +++++++++++++++++---------------------- 1 file changed, 17 insertions(+), 22 deletions(-) diff --git a/src/graphics/ui/GUI.cpp b/src/graphics/ui/GUI.cpp index ac32af78..c7ef8a1f 100644 --- a/src/graphics/ui/GUI.cpp +++ b/src/graphics/ui/GUI.cpp @@ -68,30 +68,25 @@ void GUI::updateTooltip(float delta) { if (hover == nullptr || !hover->isInside(Events::cursor)) { return resetTooltip(); } - float mouseDelta = glm::length(Events::delta); - if (mouseDelta < 1.0f || tooltipTimer >= hover->getTooltipDelay()) { - if (tooltipTimer + delta >= hover->getTooltipDelay()) { - auto label = std::dynamic_pointer_cast(get("tooltip.label")); - const auto& text = hover->getTooltip(); - if (text.empty() && tooltip->isVisible()) { - return resetTooltip(); - } - if (label && !text.empty()) { - tooltip->setVisible(true); - label->setText(langs::get(text)); - auto size = label->getSize()+glm::vec2(4.0f); - auto pos = Events::cursor+glm::vec2(10.0f); - auto rootSize = container->getSize(); - pos.x = glm::min(pos.x, rootSize.x-size.x); - pos.y = glm::min(pos.y, rootSize.y-size.y); - tooltip->setSize(size); - tooltip->setPos(pos); - } + if (tooltipTimer + delta >= hover->getTooltipDelay()) { + auto label = std::dynamic_pointer_cast(get("tooltip.label")); + const auto& text = hover->getTooltip(); + if (text.empty() && tooltip->isVisible()) { + return resetTooltip(); + } + if (label && !text.empty()) { + tooltip->setVisible(true); + label->setText(langs::get(text)); + auto size = label->getSize()+glm::vec2(4.0f); + auto pos = Events::cursor+glm::vec2(10.0f); + auto rootSize = container->getSize(); + pos.x = glm::min(pos.x, rootSize.x-size.x); + pos.y = glm::min(pos.y, rootSize.y-size.y); + tooltip->setSize(size); + tooltip->setPos(pos); } - tooltipTimer += delta; - } else { - resetTooltip(); } + tooltipTimer += delta; } /// @brief Mouse related input and logic handling