Extract stroke commit sequence wrapper
This commit is contained in:
@@ -1154,6 +1154,32 @@ static auto make_canvas_stroke_commit_request(
|
|||||||
return pp::panopainter::make_legacy_canvas_stroke_commit_request(faces, sequence, commit_callbacks);
|
return pp::panopainter::make_legacy_canvas_stroke_commit_request(faces, sequence, commit_callbacks);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
template <typename SetActiveTextureUnit>
|
||||||
|
static auto execute_canvas_stroke_commit_request(
|
||||||
|
Canvas& canvas,
|
||||||
|
const glm::vec4& vp,
|
||||||
|
const glm::vec4& cc,
|
||||||
|
bool blend,
|
||||||
|
SetActiveTextureUnit&& set_active_texture_unit,
|
||||||
|
ActionStroke* action,
|
||||||
|
const Stroke* current_stroke,
|
||||||
|
const pp::paint_renderer::CanvasStrokeCommitSequencePlan& sequence,
|
||||||
|
const pp::paint_renderer::CanvasStrokeCommitMaterialPlan& stroke_material)
|
||||||
|
{
|
||||||
|
return execute_canvas_stroke_commit_sequence([&]() {
|
||||||
|
return make_canvas_stroke_commit_request(
|
||||||
|
canvas,
|
||||||
|
vp,
|
||||||
|
cc,
|
||||||
|
blend,
|
||||||
|
std::forward<SetActiveTextureUnit>(set_active_texture_unit),
|
||||||
|
action,
|
||||||
|
current_stroke,
|
||||||
|
sequence,
|
||||||
|
stroke_material);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
static void stamp_canvas_stroke_commit_action(
|
static void stamp_canvas_stroke_commit_action(
|
||||||
Canvas& canvas,
|
Canvas& canvas,
|
||||||
ActionStroke* action)
|
ActionStroke* action)
|
||||||
@@ -1947,9 +1973,7 @@ 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);
|
||||||
[[maybe_unused]] const auto commit_result = execute_canvas_stroke_commit_sequence(
|
[[maybe_unused]] const auto commit_result = execute_canvas_stroke_commit_request(
|
||||||
[&]() {
|
|
||||||
return make_canvas_stroke_commit_request(
|
|
||||||
*this,
|
*this,
|
||||||
vp,
|
vp,
|
||||||
cc,
|
cc,
|
||||||
@@ -1968,7 +1992,6 @@ void Canvas::stroke_commit()
|
|||||||
.pattern_enabled = stroke_material.composite_pass.use_pattern,
|
.pattern_enabled = stroke_material.composite_pass.use_pattern,
|
||||||
}),
|
}),
|
||||||
stroke_material);
|
stroke_material);
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void Canvas::stroke_commit_timelapse()
|
void Canvas::stroke_commit_timelapse()
|
||||||
|
|||||||
Reference in New Issue
Block a user