Extract stroke mix request wiring
This commit is contained in:
@@ -340,6 +340,38 @@ struct LegacyCanvasStrokeMixPassResult {
|
||||
std::size_t composed_planes = 0;
|
||||
};
|
||||
|
||||
[[nodiscard]] inline LegacyCanvasStrokeMixPassRequest make_legacy_canvas_stroke_mix_pass_request(
|
||||
std::string_view context,
|
||||
glm::vec2 resolution,
|
||||
std::span<const LegacyCanvasStrokeMixPassPlane> planes,
|
||||
std::function<void()> bind_mix_samplers,
|
||||
std::function<void()> unbind_mix_samplers,
|
||||
std::function<void(int, const glm::mat4&)> setup_plane_shader,
|
||||
std::function<void(int)> bind_layer_texture,
|
||||
std::function<void(int)> bind_stroke_texture,
|
||||
std::function<void(int)> bind_mask_texture,
|
||||
std::function<void()> draw_plane,
|
||||
std::function<void(int)> unbind_mask_texture,
|
||||
std::function<void(int)> unbind_stroke_texture,
|
||||
std::function<void(int)> unbind_layer_texture)
|
||||
{
|
||||
return LegacyCanvasStrokeMixPassRequest {
|
||||
.context = context,
|
||||
.resolution = resolution,
|
||||
.planes = planes,
|
||||
.bind_mix_samplers = std::move(bind_mix_samplers),
|
||||
.unbind_mix_samplers = std::move(unbind_mix_samplers),
|
||||
.setup_plane_shader = std::move(setup_plane_shader),
|
||||
.bind_layer_texture = std::move(bind_layer_texture),
|
||||
.bind_stroke_texture = std::move(bind_stroke_texture),
|
||||
.bind_mask_texture = std::move(bind_mask_texture),
|
||||
.draw_plane = std::move(draw_plane),
|
||||
.unbind_mask_texture = std::move(unbind_mask_texture),
|
||||
.unbind_stroke_texture = std::move(unbind_stroke_texture),
|
||||
.unbind_layer_texture = std::move(unbind_layer_texture),
|
||||
};
|
||||
}
|
||||
|
||||
struct LegacyCanvasStrokeDualPassRequest {
|
||||
std::string_view context;
|
||||
std::function<void()> bind_brush_tip;
|
||||
|
||||
Reference in New Issue
Block a user