#pragma once

#include "Image.h"
#include "IImageWriter.h"

#include <memory>
#include <string>

class PngWriter : public IImageWriter
{
public:
    PngWriter();
    ~PngWriter();

    static std::unique_ptr<PngWriter> Create();

    void write(const Path& path, Image* image) override;

private:
    std::unique_ptr<IImageWriter> mWriterImpl;
};

using PngWriterPtr = std::unique_ptr<PngWriter>;
