Export document frame faces as PNGs
This commit is contained in:
@@ -6007,6 +6007,10 @@ int plan_canvas_document_snapshot(int argc, char** argv)
|
||||
std::size_t renderer_command_count = 0;
|
||||
std::size_t renderer_upload_command_count = 0;
|
||||
std::size_t renderer_transition_command_count = 0;
|
||||
bool face_png_export_ready = false;
|
||||
std::size_t face_png_export_faces = 0;
|
||||
std::uint64_t face_png_export_bytes = 0;
|
||||
std::size_t face_png_export_payloads = 0;
|
||||
if (save_report.can_export_ppi) {
|
||||
const auto exported = pp::app::export_document_canvas_save_snapshot_to_ppi(value);
|
||||
if (!exported) {
|
||||
@@ -6044,6 +6048,22 @@ int plan_canvas_document_snapshot(int argc, char** argv)
|
||||
renderer_command_count = recorded_upload.value().command_count;
|
||||
renderer_upload_command_count = recorded_upload.value().upload_command_count;
|
||||
renderer_transition_command_count = recorded_upload.value().transition_command_count;
|
||||
|
||||
const auto face_pngs = pp::paint_renderer::export_document_frame_face_pngs(
|
||||
pp::paint_renderer::DocumentFrameCompositeRequest {
|
||||
.document = &document,
|
||||
.frame_index = document.active_frame_index(),
|
||||
.clear_color = {},
|
||||
});
|
||||
if (!face_pngs) {
|
||||
print_error("plan-canvas-document-snapshot", face_pngs.status().message);
|
||||
return 2;
|
||||
}
|
||||
|
||||
face_png_export_ready = true;
|
||||
face_png_export_faces = face_pngs.value().face_count;
|
||||
face_png_export_bytes = face_pngs.value().encoded_bytes;
|
||||
face_png_export_payloads = face_pngs.value().composite.face_payload_count;
|
||||
}
|
||||
|
||||
std::cout << "{\"ok\":true,\"command\":\"plan-canvas-document-snapshot\""
|
||||
@@ -6084,6 +6104,10 @@ int plan_canvas_document_snapshot(int argc, char** argv)
|
||||
<< ",\"commands\":" << renderer_command_count
|
||||
<< ",\"uploadCommands\":" << renderer_upload_command_count
|
||||
<< ",\"transitionCommands\":" << renderer_transition_command_count
|
||||
<< "},\"facePngExport\":{\"ready\":" << json_bool(face_png_export_ready)
|
||||
<< ",\"faces\":" << face_png_export_faces
|
||||
<< ",\"bytes\":" << face_png_export_bytes
|
||||
<< ",\"facePayloads\":" << face_png_export_payloads
|
||||
<< "}"
|
||||
<< "}}\n";
|
||||
return 0;
|
||||
|
||||
Reference in New Issue
Block a user