#pragma once #include namespace massivedynamic { class Renderer { protected: const std::vector& pixels; size_t sourceSize; size_t targetSize; public: Renderer(const std::vector& pixels, size_t sourceSize, size_t targetSize) : pixels(pixels), sourceSize(sourceSize), targetSize(targetSize) {} Renderer(const Renderer&&) = delete; Renderer(Renderer&) = delete; virtual ~Renderer() = default; virtual void render(const std::string& filename) = 0; }; }