#pragma once

class DrawingContext;

class AbstractPainter
{
public:
    AbstractPainter(DrawingContext* context)
        : mDrawingContext(context)
    {

    }

    virtual ~AbstractPainter() = default;
    virtual void paint() = 0;
    virtual bool supportsGeometryPrimitives() const { return false; };

protected:
    DrawingContext* mDrawingContext{ nullptr };
};
