From 9d4bc891744528c586e55fc6a7893c2f7c30a29e Mon Sep 17 00:00:00 2001 From: Cyberarm Date: Fri, 4 Sep 2026 10:31:02 -0500 Subject: [PATCH] Fix Widget element unable to find children element tooltips if the widget's parent(s) had been scrolled --- lib/cyberarm_engine/ui/elements/widget.rb | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/lib/cyberarm_engine/ui/elements/widget.rb b/lib/cyberarm_engine/ui/elements/widget.rb index ad8b8b7..bccbe89 100644 --- a/lib/cyberarm_engine/ui/elements/widget.rb +++ b/lib/cyberarm_engine/ui/elements/widget.rb @@ -24,7 +24,16 @@ module CyberarmEngine # Enable child elements to display their tooltips # but fall back to the Widget if no hit element has a tip def tip - elements = hit_element?(window.mouse_x, window.mouse_y) + parent_scroll_position = CyberarmEngine::Vector.new + + element = self + while (parent_element = element.parent) + parent_scroll_position += parent_element.scroll_position + + element = parent_element + end + + elements = hit_element?(window.mouse_x - parent_scroll_position.x, window.mouse_y - parent_scroll_position.y) return @tip unless elements