From fe1769cf46eae3047c5b66acadea37790c0d198a Mon Sep 17 00:00:00 2001 From: lisyarus Date: Tue, 3 May 2022 15:43:55 +0300 Subject: [PATCH] Support retrieving item bboxes in ui::selector --- libs/ui/include/psemek/ui/selector.hpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/libs/ui/include/psemek/ui/selector.hpp b/libs/ui/include/psemek/ui/selector.hpp index 41497d9e..433b2ef1 100644 --- a/libs/ui/include/psemek/ui/selector.hpp +++ b/libs/ui/include/psemek/ui/selector.hpp @@ -43,6 +43,8 @@ namespace psemek::ui virtual callback_type on_selected() const; + virtual geom::box const & item_box(std::size_t index) const { return child_boxes_[index]; } + protected: // extra width for each element with a submenu @@ -55,8 +57,6 @@ namespace psemek::ui virtual void release_submenu(); - std::vector> child_boxes_; - private: std::vector> children_; std::vector children_range_; @@ -66,6 +66,8 @@ namespace psemek::ui selector * active_submenu_ = nullptr; float active_submenu_y_ = 0.f; + std::vector> child_boxes_; + std::optional selected_; callback_type callback_;