Remove scrollable page from gsr page, fix crash when navigating back

This commit is contained in:
dec05eba
2024-08-24 14:08:25 +02:00
parent 54c60d9a18
commit b8e6949dfb
13 changed files with 136 additions and 88 deletions

View File

@@ -19,14 +19,13 @@ namespace gsr {
}
// Process widgets by visibility (backwards)
for(auto it = widgets.rbegin(), end = widgets.rend(); it != end; ++it) {
if(it->get() != selected_widget) {
if(!(*it)->on_event(event, window, offset))
return widgets.for_each_reverse([selected_widget, &window, &event, offset](std::unique_ptr<Widget> &widget) {
if(widget.get() != selected_widget) {
if(!widget->on_event(event, window, offset))
return false;
}
}
return true;
return true;
});
}
void StaticPage::draw(mgl::Window &window, mgl::vec2f offset) {
@@ -46,9 +45,10 @@ namespace gsr {
};
mgl_window_set_scissor(window.internal_window(), &new_scissor);
for(auto &widget : widgets) {
for(size_t i = 0; i < widgets.size(); ++i) {
auto &widget = widgets[i];
if(widget.get() != selected_widget)
widget->draw(window, offset);
widget->draw(window, position);
}
if(selected_widget)