Share document export readiness reporting

This commit is contained in:
2026-06-05 20:19:46 +02:00
parent 2d33f9d928
commit ebc84373e6
9 changed files with 181 additions and 87 deletions

View File

@@ -481,6 +481,29 @@ pp::foundation::Result<DocumentFrameFacePngExportResult> export_document_frame_f
return pp::foundation::Result<DocumentFrameFacePngExportResult>::success(std::move(result));
}
pp::foundation::Result<DocumentFrameExportReadinessResult> prepare_document_frame_export_readiness(
DocumentFrameCompositeRequest request)
{
auto recorded_upload = record_document_frame_upload(DocumentFrameUploadRequest {
.document = request.document,
.frame_index = request.frame_index,
.clear_color = request.clear_color,
});
if (!recorded_upload) {
return pp::foundation::Result<DocumentFrameExportReadinessResult>::failure(recorded_upload.status());
}
auto face_pngs = export_document_frame_face_pngs(request);
if (!face_pngs) {
return pp::foundation::Result<DocumentFrameExportReadinessResult>::failure(face_pngs.status());
}
DocumentFrameExportReadinessResult result;
result.recorded_upload = std::move(recorded_upload.value());
result.face_pngs = std::move(face_pngs.value());
return pp::foundation::Result<DocumentFrameExportReadinessResult>::success(std::move(result));
}
bool stroke_composite_requires_feedback(
pp::paint::BlendMode layer_blend_mode,
pp::paint::StrokeBlendMode stroke_blend_mode,

View File

@@ -146,6 +146,11 @@ struct DocumentFrameFacePngExportResult {
std::uint64_t encoded_bytes = 0;
};
struct DocumentFrameExportReadinessResult {
RecordedDocumentFrameUploadResult recorded_upload {};
DocumentFrameFacePngExportResult face_pngs {};
};
[[nodiscard]] pp::foundation::Status composite_layer(
std::span<pp::paint::Rgba> destination,
pp::renderer::Extent2D extent,
@@ -167,6 +172,9 @@ struct DocumentFrameFacePngExportResult {
[[nodiscard]] pp::foundation::Result<DocumentFrameFacePngExportResult> export_document_frame_face_pngs(
DocumentFrameCompositeRequest request);
[[nodiscard]] pp::foundation::Result<DocumentFrameExportReadinessResult> prepare_document_frame_export_readiness(
DocumentFrameCompositeRequest request);
[[nodiscard]] bool stroke_composite_requires_feedback(
pp::paint::BlendMode layer_blend_mode,
pp::paint::StrokeBlendMode stroke_blend_mode,