#include "pch.h" #include "legacy_document_image_import_services.h" #include "canvas.h" #include "canvas_modes.h" #include namespace pp::panopainter { namespace { class LegacyDocumentImageImportServices final : public pp::app::DocumentImageImportServices { public: LegacyDocumentImageImportServices(Canvas* canvas, CanvasModeTransform* import_mode, Image image) noexcept : canvas_(canvas) , import_mode_(import_mode) , image_(std::move(image)) { } void import_equirectangular(std::string_view import_path) override { if (canvas_) canvas_->import_equirectangular(std::string(import_path)); } void enter_transform_import(std::string_view) override { if (!canvas_ || !import_mode_) return; import_mode_->m_action = CanvasModeTransform::ActionType::Import; import_mode_->m_source_image = std::move(image_); Canvas::set_mode(kCanvasMode::Import); } private: Canvas* canvas_ = nullptr; CanvasModeTransform* import_mode_ = nullptr; Image image_; }; } // namespace pp::foundation::Status execute_legacy_document_image_import_plan( const pp::app::DocumentImageImportPlan& plan, std::string_view path, Canvas* canvas, CanvasModeTransform* import_mode, Image image) { LegacyDocumentImageImportServices services(canvas, import_mode, std::move(image)); return pp::app::execute_document_image_import_plan(plan, path, services); } } // namespace pp::panopainter