#pragma once #include "Image.h" #include "IImageWriter.h" #include #include class PngWriter : public IImageWriter { public: PngWriter(); ~PngWriter(); static std::unique_ptr Create(); void write(const Path& path, Image* image) override; private: std::unique_ptr mWriterImpl; }; using PngWriterPtr = std::unique_ptr;