#include "rive/shapes/paint/fill.hpp"

using namespace rive;

PathSpace Fill::pathSpace() const { return PathSpace::Local; }

RenderPaint* Fill::initRenderPaint(ShapePaintMutator* mutator)
{
    auto renderPaint = Super::initRenderPaint(mutator);
    renderPaint->style(RenderPaintStyle::fill);
    return renderPaint;
}

void Fill::draw(Renderer* renderer, CommandPath* path)
{
    if (!isVisible())
    {
        return;
    }
    auto renderPath = path->renderPath();
    renderPath->fillRule((FillRule)fillRule());
    renderer->drawPath(renderPath, renderPaint());
}