#pragma once #include "DrawingSurface.h" #include "DrawingContext.h" #include "AbstractPainter.h" #include "Image.h" #include "PngWriter.h" #include "Scene.h" class TestRenderer { public: TestRenderer(unsigned width = 1000, unsigned height = 1000) { mSurface = std::make_unique(); mSurface->setSize(width, height); mDrawingContext = std::make_unique(mSurface.get()); } Scene* getScene() const { return mSurface->getScene(); } void write(const Path& path) { mDrawingContext->paint(); auto image = mSurface->getImage(); PngWriter writer; writer.setPath(path); writer.write(image); } private: std::unique_ptr mSurface; std::unique_ptr mDrawingContext; };