From caedde012caea9a85930c6fbafc7ea1b97b82814 Mon Sep 17 00:00:00 2001 From: Filip Vincze <vincze.filip@gmail.com> Date: Tue, 3 Dec 2024 13:12:45 +0100 Subject: [PATCH] buffer_handler refactoring --- src/handlers/buffer_handler.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/handlers/buffer_handler.cpp b/src/handlers/buffer_handler.cpp index 59bf3a8..bcd9c53 100644 --- a/src/handlers/buffer_handler.cpp +++ b/src/handlers/buffer_handler.cpp @@ -20,20 +20,27 @@ namespace mak { // Recreate background and border buffers if present if (background) { + // Assuming buffers for all states are the same auto* buffer = ui_system()->get_buffers_folder(background)->find<Link>(UiElement::enabled_link_name())->target<Buffer>(); buffer->clear(); auto path = buffer->folder()->path(); - buffer_generators()->insert_procedural_rectangle(contract(element->get_rect().hi), buffer->name(), path); + buffer_generators()->insert_procedural_rectangle(contract(element->get_normalized_size().hi), buffer->name(), path); } if (border) { + // Assuming buffers for all states are the same auto* buffer = ui_system()->get_buffers_folder(border)->find<Link>(UiElement::enabled_link_name())->target<Buffer>(); buffer->clear(); auto path = buffer->folder()->path(); - buffer_generators()->insert_procedural_rectangle(contract(element->get_rect().hi), buffer->name(), path); + buffer_generators()->insert_procedural_rectangle_wireframe(contract(element->get_normalized_size().hi), buffer->name(), path); } // Update objects to show updated buffer + for (Folder* subfolder : element->get_foreground_folder()->subfolders()) { + if (auto* sub_element = dynamic_cast<UiElement*>(subfolder)) { + on_size_changed(sub_element); + } + } element->update_objects(); } -- GitLab