#pragma once

#include "AbstractPainter.h"

#include <unordered_map>
#include <memory>

class DrawingContext;
class OpenGlMeshPainter;
class OpenGlTextPainter;

class TriMesh;

class OpenGlPainter : public AbstractPainter
{
public:
    OpenGlPainter();
    void paint(DrawingContext* context) override;

private:
    std::unique_ptr<OpenGlMeshPainter> mMeshPainter;
    std::unique_ptr<OpenGlTextPainter> mTextPainter;
};


