Extract stroke commit plan assembly
This commit is contained in:
@@ -1180,6 +1180,24 @@ static auto execute_canvas_stroke_commit_request(
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static pp::paint_renderer::CanvasStrokeCommitSequencePlan
|
||||||
|
make_canvas_stroke_commit_sequence_plan(
|
||||||
|
const Canvas& canvas,
|
||||||
|
kCanvasMode current_mode,
|
||||||
|
int current_layer_idx,
|
||||||
|
bool smask_active,
|
||||||
|
const pp::paint_renderer::CanvasStrokeCommitMaterialPlan& stroke_material)
|
||||||
|
{
|
||||||
|
return pp::paint_renderer::plan_canvas_stroke_commit_sequence(
|
||||||
|
pp::paint_renderer::CanvasStrokeCommitRequest {
|
||||||
|
.erase_mode = current_mode == kCanvasMode::Erase,
|
||||||
|
.alpha_locked = canvas.m_layers[current_layer_idx]->m_alpha_locked,
|
||||||
|
.selection_mask_active = smask_active,
|
||||||
|
.dual_stroke_enabled = stroke_material.composite_pass.use_dual,
|
||||||
|
.pattern_enabled = stroke_material.composite_pass.use_pattern,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
static void stamp_canvas_stroke_commit_action(
|
static void stamp_canvas_stroke_commit_action(
|
||||||
Canvas& canvas,
|
Canvas& canvas,
|
||||||
ActionStroke* action)
|
ActionStroke* action)
|
||||||
@@ -1973,6 +1991,12 @@ void Canvas::stroke_commit()
|
|||||||
|
|
||||||
const auto& b = m_current_stroke->m_brush;
|
const auto& b = m_current_stroke->m_brush;
|
||||||
const auto stroke_material = canvas_stroke_material_plan(*b, false);
|
const auto stroke_material = canvas_stroke_material_plan(*b, false);
|
||||||
|
const auto stroke_commit_sequence = make_canvas_stroke_commit_sequence_plan(
|
||||||
|
*this,
|
||||||
|
m_current_mode,
|
||||||
|
m_current_layer_idx,
|
||||||
|
m_smask_active,
|
||||||
|
stroke_material);
|
||||||
[[maybe_unused]] const auto commit_result = execute_canvas_stroke_commit_request(
|
[[maybe_unused]] const auto commit_result = execute_canvas_stroke_commit_request(
|
||||||
*this,
|
*this,
|
||||||
vp,
|
vp,
|
||||||
@@ -1983,14 +2007,7 @@ void Canvas::stroke_commit()
|
|||||||
},
|
},
|
||||||
action,
|
action,
|
||||||
m_current_stroke,
|
m_current_stroke,
|
||||||
pp::paint_renderer::plan_canvas_stroke_commit_sequence(
|
stroke_commit_sequence,
|
||||||
pp::paint_renderer::CanvasStrokeCommitRequest {
|
|
||||||
.erase_mode = m_current_mode == kCanvasMode::Erase,
|
|
||||||
.alpha_locked = m_layers[m_current_layer_idx]->m_alpha_locked,
|
|
||||||
.selection_mask_active = m_smask_active,
|
|
||||||
.dual_stroke_enabled = stroke_material.composite_pass.use_dual,
|
|
||||||
.pattern_enabled = stroke_material.composite_pass.use_pattern,
|
|
||||||
}),
|
|
||||||
stroke_material);
|
stroke_material);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user