Extract canvas stroke runtime and preview draw shells

This commit is contained in:
2026-06-16 20:22:01 +02:00
parent d6a7512b94
commit a05afb24f3
11 changed files with 1159 additions and 971 deletions

View File

@@ -0,0 +1,28 @@
#pragma once
#include "legacy_canvas_stroke_execution_services.h"
#include <array>
#include <vector>
class Canvas;
namespace pp::panopainter {
[[nodiscard]] LegacyCanvasStrokeMixPassShell make_legacy_canvas_stroke_mix_pass_shell(
Canvas& canvas,
const glm::vec2& bb_min,
const glm::vec2& bb_sz);
void legacy_canvas_stroke_end(Canvas& canvas);
void legacy_canvas_stroke_cancel(Canvas& canvas);
void legacy_canvas_stroke_draw_mix(Canvas& canvas, const glm::vec2& bb_min, const glm::vec2& bb_sz);
[[nodiscard]] std::array<std::vector<vertex_t>, 6> legacy_canvas_stroke_draw_project(
const Canvas& canvas,
std::array<vertex_t, 4>& B,
bool project_3d = false,
glm::mat4 mv = glm::mat4(1));
void legacy_canvas_stroke_update(Canvas& canvas, glm::vec3 point, float pressure);
void legacy_canvas_stroke_start(Canvas& canvas, glm::vec3 point, float pressure);
} // namespace pp::panopainter