Extract draw merge branch dispatch object helper
This commit is contained in:
@@ -514,6 +514,16 @@ static void execute_canvas_draw_merge_plane_final_composite(
|
||||
bool draw_checkerboard,
|
||||
bool use_blend);
|
||||
|
||||
static pp::panopainter::LegacyCanvasDrawMergeLayerCompositeExecution make_canvas_draw_merge_branch_dispatch(
|
||||
Canvas& canvas,
|
||||
int plane_index,
|
||||
int layer_index,
|
||||
const std::shared_ptr<Layer>& layer,
|
||||
const Brush& brush,
|
||||
const glm::mat4& ortho,
|
||||
bool copy_blend_destination,
|
||||
bool draw_checkerboard);
|
||||
|
||||
static void execute_canvas_draw_merge_branch_body(
|
||||
Canvas& canvas,
|
||||
int plane_index,
|
||||
@@ -535,7 +545,28 @@ static void execute_canvas_draw_merge_branch_body(
|
||||
canvas.m_current_stroke && canvas.m_current_mode == kCanvasMode::Erase && canvas.m_show_tmp && canvas.m_current_layer_idx == layer_index,
|
||||
canvas.m_current_stroke && canvas.m_show_tmp && canvas.m_current_layer_idx == layer_index,
|
||||
use_blend,
|
||||
pp::panopainter::LegacyCanvasDrawMergeLayerCompositeExecution {
|
||||
make_canvas_draw_merge_branch_dispatch(
|
||||
canvas,
|
||||
plane_index,
|
||||
layer_index,
|
||||
layer,
|
||||
brush,
|
||||
ortho,
|
||||
copy_blend_destination,
|
||||
draw_checkerboard));
|
||||
}
|
||||
|
||||
static pp::panopainter::LegacyCanvasDrawMergeLayerCompositeExecution make_canvas_draw_merge_branch_dispatch(
|
||||
Canvas& canvas,
|
||||
int plane_index,
|
||||
int layer_index,
|
||||
const std::shared_ptr<Layer>& layer,
|
||||
const Brush& brush,
|
||||
const glm::mat4& ortho,
|
||||
bool copy_blend_destination,
|
||||
bool draw_checkerboard)
|
||||
{
|
||||
return pp::panopainter::LegacyCanvasDrawMergeLayerCompositeExecution {
|
||||
.execute_temporary_erase = [&] {
|
||||
execute_canvas_draw_merge_temporary_erase_dispatch(
|
||||
canvas,
|
||||
@@ -583,7 +614,7 @@ static void execute_canvas_draw_merge_branch_body(
|
||||
make_canvas_draw_merge_layer_blend_dispatch(
|
||||
canvas));
|
||||
},
|
||||
});
|
||||
};
|
||||
}
|
||||
|
||||
static auto make_canvas_draw_merge_temporary_erase_dispatch(
|
||||
|
||||
Reference in New Issue
Block a user