Route stroke face sample ordering through helper
This commit is contained in:
@@ -192,6 +192,32 @@ std::size_t execute_legacy_canvas_stroke_frame_faces(
|
||||
return executed_faces;
|
||||
}
|
||||
|
||||
template <typename Frames, typename BeginFrame, typename BeginFace, typename ExecuteSample, typename FinishFace>
|
||||
std::size_t execute_legacy_canvas_stroke_frame_samples(
|
||||
Frames&& frames,
|
||||
BeginFrame&& begin_frame,
|
||||
BeginFace&& begin_face,
|
||||
ExecuteSample&& execute_sample,
|
||||
FinishFace&& finish_face)
|
||||
{
|
||||
std::size_t executed_faces = 0;
|
||||
for (auto& frame : frames) {
|
||||
begin_frame(frame);
|
||||
for (int face_index = 0; face_index < 6; ++face_index) {
|
||||
auto& vertices = frame.shapes[face_index];
|
||||
if (vertices.size() < 3) {
|
||||
continue;
|
||||
}
|
||||
|
||||
begin_face(frame, face_index, vertices);
|
||||
auto sample_dirty_box = execute_sample(frame, face_index, vertices);
|
||||
finish_face(frame, face_index, sample_dirty_box);
|
||||
++executed_faces;
|
||||
}
|
||||
}
|
||||
return executed_faces;
|
||||
}
|
||||
|
||||
[[nodiscard]] inline pp::paint_renderer::CanvasStrokeBox legacy_canvas_stroke_box(glm::vec4 box) noexcept
|
||||
{
|
||||
return pp::paint_renderer::CanvasStrokeBox {
|
||||
|
||||
Reference in New Issue
Block a user