def get_hovered_menu(self, mouse_pos):
        """Return True if the menu manager is hovered.

        mouse_pos (2-tuple of integers)
            represents the current mouse position.

        Meant to be used by external objects, to check
        whether the mouse hovered over the menu manager, in
        order to determine whether to give focus to the it.
        """
        ### if the menu is scrollable, return True if the
        ### menu manager rect is hovered (since in this case
        ### checking the child wouldn't be enough, because
        ### we could be hovering an arrow; also, since it is
        ### scrollable, all the area of the menu manager rect
        ### is filled with widgets, children or arrows, so
        ### checking the area for collision means something
        ### is hovered anyway)
        if self.is_scrollable():
            return self.rect.collidepoint(mouse_pos)

        ### otherwise, check its children (since checking the
        ### rect wouldn't mean a child is hovered: there may
        ### be areas inside the menu rect which have no
        ### children, depending on additional menu parameters
        ### specified when instantiating it; we are only
        ### interested if the mouse hovers a child)
        else:

            # return whether any child was found
            # colliding with the mouse position

            return any(
                child for child in self.children if child.rect.collidepoint(mouse_pos)
            )
Return True if the menu manager is hovered.

        mouse_pos (2-tuple of integers)
            represents the current mouse position.

        Meant to be used by external objects, to check
        whether the mouse hovered over the menu manager, in
        order to determine whether to give focus to the it.
        
nodezator/menu/behaviour.py