blob: b4ee4e45b1ec866eaed5418bcdef22618c6e3379 [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(const Mat2D& worldTransform,
const float* boneTransforms) override;
};
} // namespace rive
#endif