Thin retained app and render runtime seams
This commit is contained in:
57
src/legacy_document_image_import_services.cpp
Normal file
57
src/legacy_document_image_import_services.cpp
Normal file
@@ -0,0 +1,57 @@
|
||||
#include "pch.h"
|
||||
|
||||
#include "legacy_document_image_import_services.h"
|
||||
|
||||
#include "canvas.h"
|
||||
#include "canvas_modes.h"
|
||||
|
||||
#include <utility>
|
||||
|
||||
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
|
||||
Reference in New Issue
Block a user