Extract canvas clear command planning

This commit is contained in:
2026-06-03 11:35:20 +02:00
parent c56d301b29
commit 888e94a77c
8 changed files with 251 additions and 2 deletions

View File

@@ -10,6 +10,7 @@
#include "app_core/brush_ui.h"
#include "app_core/canvas_tool_ui.h"
#include "app_core/document_layer.h"
#include "app_core/document_canvas.h"
#include "app_core/app_status.h"
#include "app_core/history_ui.h"
#include "settings.h"
@@ -149,8 +150,13 @@ void App::init_toolbar_main()
{
button->on_click = [this](Node*) {
//exit(0);
if (canvas)
canvas->m_canvas->clear({ 0, 0, 0, 0 });
const auto plan = pp::app::plan_document_canvas_clear(static_cast<bool>(canvas));
if (plan && plan.value().clears_canvas)
canvas->m_canvas->clear({
plan.value().r,
plan.value().g,
plan.value().b,
plan.value().a });
};
}
if (auto* button = layout[main_id]->find<NodeButton>("btn-popup"))