Support retrieving item bboxes in ui::selector
This commit is contained in:
parent
8354ee1753
commit
fe1769cf46
1 changed files with 4 additions and 2 deletions
|
|
@ -43,6 +43,8 @@ namespace psemek::ui
|
||||||
|
|
||||||
virtual callback_type on_selected() const;
|
virtual callback_type on_selected() const;
|
||||||
|
|
||||||
|
virtual geom::box<float, 2> const & item_box(std::size_t index) const { return child_boxes_[index]; }
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
// extra width for each element with a submenu
|
// extra width for each element with a submenu
|
||||||
|
|
@ -55,8 +57,6 @@ namespace psemek::ui
|
||||||
|
|
||||||
virtual void release_submenu();
|
virtual void release_submenu();
|
||||||
|
|
||||||
std::vector<geom::box<float, 2>> child_boxes_;
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
std::vector<std::shared_ptr<element>> children_;
|
std::vector<std::shared_ptr<element>> children_;
|
||||||
std::vector<element *> children_range_;
|
std::vector<element *> children_range_;
|
||||||
|
|
@ -66,6 +66,8 @@ namespace psemek::ui
|
||||||
selector * active_submenu_ = nullptr;
|
selector * active_submenu_ = nullptr;
|
||||||
float active_submenu_y_ = 0.f;
|
float active_submenu_y_ = 0.f;
|
||||||
|
|
||||||
|
std::vector<geom::box<float, 2>> child_boxes_;
|
||||||
|
|
||||||
std::optional<std::size_t> selected_;
|
std::optional<std::size_t> selected_;
|
||||||
|
|
||||||
callback_type callback_;
|
callback_type callback_;
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue