Export layer collections through paint renderer
This commit is contained in:
@@ -10,6 +10,7 @@
|
||||
#include <cstdint>
|
||||
#include <memory>
|
||||
#include <span>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
namespace pp::paint_renderer {
|
||||
@@ -155,6 +156,50 @@ struct DocumentFrameEquirectangularPngExportResult {
|
||||
std::size_t composited_layer_face_count = 0;
|
||||
};
|
||||
|
||||
struct DocumentLayerEquirectangularPngExportRequest {
|
||||
const pp::document::CanvasDocument* document = nullptr;
|
||||
std::size_t frame_index = 0;
|
||||
pp::paint::Rgba clear_color {};
|
||||
};
|
||||
|
||||
struct DocumentLayerEquirectangularPng {
|
||||
std::size_t layer_index = 0;
|
||||
std::string layer_name;
|
||||
pp::renderer::Extent2D face_extent {};
|
||||
pp::renderer::Extent2D equirectangular_extent {};
|
||||
std::vector<std::byte> png;
|
||||
std::uint64_t encoded_bytes = 0;
|
||||
std::size_t face_payload_count = 0;
|
||||
std::size_t composited_layer_face_count = 0;
|
||||
};
|
||||
|
||||
struct DocumentLayerEquirectangularPngExportResult {
|
||||
std::vector<DocumentLayerEquirectangularPng> layers;
|
||||
std::uint64_t encoded_bytes = 0;
|
||||
std::size_t layer_count = 0;
|
||||
};
|
||||
|
||||
struct DocumentAnimationFrameEquirectangularPngExportRequest {
|
||||
const pp::document::CanvasDocument* document = nullptr;
|
||||
pp::paint::Rgba clear_color {};
|
||||
};
|
||||
|
||||
struct DocumentAnimationFrameEquirectangularPng {
|
||||
std::size_t frame_index = 0;
|
||||
pp::renderer::Extent2D face_extent {};
|
||||
pp::renderer::Extent2D equirectangular_extent {};
|
||||
std::vector<std::byte> png;
|
||||
std::uint64_t encoded_bytes = 0;
|
||||
std::size_t face_payload_count = 0;
|
||||
std::size_t composited_layer_face_count = 0;
|
||||
};
|
||||
|
||||
struct DocumentAnimationFrameEquirectangularPngExportResult {
|
||||
std::vector<DocumentAnimationFrameEquirectangularPng> frames;
|
||||
std::uint64_t encoded_bytes = 0;
|
||||
std::size_t frame_count = 0;
|
||||
};
|
||||
|
||||
struct DocumentFrameExportReadinessResult {
|
||||
RecordedDocumentFrameUploadResult recorded_upload {};
|
||||
DocumentFrameFacePngExportResult face_pngs {};
|
||||
@@ -187,6 +232,13 @@ export_document_frame_equirectangular_png(const DocumentFrameCompositeResult& co
|
||||
[[nodiscard]] pp::foundation::Result<DocumentFrameEquirectangularPngExportResult>
|
||||
export_document_frame_equirectangular_png(DocumentFrameCompositeRequest request);
|
||||
|
||||
[[nodiscard]] pp::foundation::Result<DocumentLayerEquirectangularPngExportResult>
|
||||
export_document_layers_equirectangular_pngs(DocumentLayerEquirectangularPngExportRequest request);
|
||||
|
||||
[[nodiscard]] pp::foundation::Result<DocumentAnimationFrameEquirectangularPngExportResult>
|
||||
export_document_animation_frames_equirectangular_pngs(
|
||||
DocumentAnimationFrameEquirectangularPngExportRequest request);
|
||||
|
||||
[[nodiscard]] pp::foundation::Result<DocumentFrameExportReadinessResult> prepare_document_frame_export_readiness(
|
||||
DocumentFrameCompositeRequest request);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user