blob: a11de2848c0d88ad8a244a22cfd2f4bd19540447 [file] [log] [blame]
#ifndef _RIVE_CUBIC_VERTEX_HPP_
#define _RIVE_CUBIC_VERTEX_HPP_
#include "rive/generated/shapes/cubic_vertex_base.hpp"
#include "rive/math/vec2d.hpp"
namespace rive
{
class Vec2D;
class CubicVertex : public CubicVertexBase
{
protected:
bool m_InValid = false;
bool m_OutValid = false;
Vec2D m_InPoint;
Vec2D m_OutPoint;
virtual void computeIn() = 0;
virtual void computeOut() = 0;
public:
const Vec2D& outPoint();
const Vec2D& inPoint();
const Vec2D& renderOut();
const Vec2D& renderIn();
void outPoint(const Vec2D& value);
void inPoint(const Vec2D& value);
void xChanged() override;
void yChanged() override;
void deform(Mat2D& worldTransform, float* boneTransforms) override;
};
} // namespace rive
#endif