#include "PainterFactory.h"

#ifdef HAS_OPENGL
#include "OpenGlPainter.h"
#include "OpenGlMeshPainter.h"
#include "OpenGlTextPainter.h"
#include "OpenGlShaderProgram.h"
#include "OpenGlFontTexture.h"
#endif

#include "Grid.h"

#include "RasterPainter.h"

#include "DrawingContext.h"

std::unique_ptr<AbstractPainter> PainterFactory::Create(DrawingMode drawMode)
{
#ifdef HAS_OPENGL
    if (drawMode == DrawingMode::GRAPH)
    {
        return std::make_unique<OpenGlPainter>();
    }
    else
    {
        return std::make_unique<RasterPainter>();
    }
#else
    return std::make_unique<RasterPainter>();
#endif
}


