diff options
author | dec05eba <dec05eba@protonmail.com> | 2025-04-14 11:38:52 +0200 |
---|---|---|
committer | dec05eba <dec05eba@protonmail.com> | 2025-04-14 11:38:52 +0200 |
commit | 0018788780d756dbf0d3a77f6b40b384183348f7 (patch) | |
tree | 63c8e5f5f0ffb60f85d500c35d4aa2d1d5c73e56 /src/gui/Widget.cpp | |
parent | e3e6c3c3b9485f5cdb375eec77b3ae0f1f8a4135 (diff) |
Redesign audio to support multiple audio tracks explicitly
Diffstat (limited to 'src/gui/Widget.cpp')
-rw-r--r-- | src/gui/Widget.cpp | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/src/gui/Widget.cpp b/src/gui/Widget.cpp index 8732bd7..66cf193 100644 --- a/src/gui/Widget.cpp +++ b/src/gui/Widget.cpp @@ -1,14 +1,15 @@ #include "../../include/gui/Widget.hpp" +#include <vector> namespace gsr { + static std::vector<std::unique_ptr<Widget>> widgets_to_remove; + Widget::Widget() { } Widget::~Widget() { remove_widget_as_selected_in_parent(); - // if(parent_widget) - // parent_widget->remove_child_widget(this); } void Widget::set_position(mgl::vec2f position) { @@ -62,4 +63,15 @@ namespace gsr { void Widget::set_visible(bool visible) { this->visible = visible; } + + void add_widget_to_remove(std::unique_ptr<Widget> widget) { + widgets_to_remove.push_back(std::move(widget)); + } + + void remove_widgets_to_be_removed() { + for(size_t i = 0; i < widgets_to_remove.size(); ++i) { + widgets_to_remove[i].reset(); + } + widgets_to_remove.clear(); + } }
\ No newline at end of file |