#include "rive/shapes/triangle.hpp"
#include "rive/component_dirt.hpp"
#include "rive/math/circle_constant.hpp"

using namespace rive;

Triangle::Triangle()
{
	addVertex(&m_Vertex1);
	addVertex(&m_Vertex2);
	addVertex(&m_Vertex3);
}

void Triangle::update(ComponentDirt value)
{
	if (hasDirt(value, ComponentDirt::Path))
	{
		auto ox = -originX() * width();
		auto oy = -originY() * height();

		m_Vertex1.x(ox + width() / 2);
		m_Vertex1.y(oy);

		m_Vertex2.x(ox + width());
		m_Vertex2.y(oy + height());

		m_Vertex3.x(ox);
		m_Vertex3.y(oy + height());
	}

	Super::update(value);
}