#include "rive/drawable.hpp"
#include "rive/artboard.hpp"
#include "rive/shapes/clipping_shape.hpp"
#include "rive/shapes/path_composer.hpp"
#include "rive/shapes/shape.hpp"

using namespace rive;

void Drawable::addClippingShape(ClippingShape* shape)
{
	m_ClippingShapes.push_back(shape);
}

bool Drawable::clip(Renderer* renderer) const
{
	if (m_ClippingShapes.size() == 0)
	{
		return false;
	}

	renderer->save();

	for (auto clippingShape : m_ClippingShapes)
	{
		if (!clippingShape->isVisible())
		{
			continue;
		}

		RenderPath* renderPath = clippingShape->renderPath();

		assert(renderPath != nullptr);
		renderer->clipPath(renderPath);
	}
	return true;
}