|  | #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 |