Support retrieving item bboxes in ui::selector

This commit is contained in:
Nikita Lisitsa 2022-05-03 15:43:55 +03:00
parent 8354ee1753
commit fe1769cf46

View file

@ -43,6 +43,8 @@ namespace psemek::ui
virtual callback_type on_selected() const;
virtual geom::box<float, 2> 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<geom::box<float, 2>> child_boxes_;
private:
std::vector<std::shared_ptr<element>> children_;
std::vector<element *> children_range_;
@ -66,6 +66,8 @@ namespace psemek::ui
selector * active_submenu_ = nullptr;
float active_submenu_y_ = 0.f;
std::vector<geom::box<float, 2>> child_boxes_;
std::optional<std::size_t> selected_;
callback_type callback_;