Extract pad stroke copy region helper

This commit is contained in:
2026-06-13 23:10:48 +02:00
parent 884357e18e
commit d03f0c6371
5 changed files with 55 additions and 8 deletions

View File

@@ -1934,6 +1934,32 @@ void legacy_canvas_stroke_dual_pass_brush_tip_dispatch_preserves_order(pp::tests
PP_EXPECT(h, steps == expected);
}
void legacy_canvas_stroke_pad_copy_region_preserves_coordinates(pp::tests::Harness& h)
{
std::vector<std::string> steps;
pp::panopainter::execute_legacy_canvas_stroke_pad_copy_region(
pp::paint_renderer::CanvasStrokeCopyRegion {
.x = 7,
.y = 11,
.width = 13,
.height = 17,
},
[&](int src_x, int src_y, int dst_x, int dst_y, int width, int height) {
steps.emplace_back(
std::to_string(src_x) + "," +
std::to_string(src_y) + "," +
std::to_string(dst_x) + "," +
std::to_string(dst_y) + "," +
std::to_string(width) + "," +
std::to_string(height));
});
const std::vector<std::string> expected {
"7,11,7,11,13,17",
};
PP_EXPECT(h, steps == expected);
}
void plans_canvas_stroke_commit_erase_sequence(pp::tests::Harness& h)
{
const auto plan = plan_canvas_stroke_commit_sequence(
@@ -3812,6 +3838,9 @@ int main()
harness.run(
"legacy_canvas_stroke_dual_pass_brush_tip_dispatch_preserves_order",
legacy_canvas_stroke_dual_pass_brush_tip_dispatch_preserves_order);
harness.run(
"legacy_canvas_stroke_pad_copy_region_preserves_coordinates",
legacy_canvas_stroke_pad_copy_region_preserves_coordinates);
harness.run("plans_canvas_stroke_commit_erase_sequence", plans_canvas_stroke_commit_erase_sequence);
harness.run("plans_canvas_stroke_commit_composite_sequence", plans_canvas_stroke_commit_composite_sequence);
harness.run(