#ifndef _RIVE_TENDON_HPP_
#define _RIVE_TENDON_HPP_

#include "rive/generated/bones/tendon_base.hpp"
#include "rive/math/mat2d.hpp"
#include <stdio.h>

namespace rive {
class Bone;
class Tendon : public TendonBase {
private:
    Mat2D m_InverseBind;
    Bone* m_Bone = nullptr;

public:
    Bone* bone() const { return m_Bone; }
    const Mat2D& inverseBind() const { return m_InverseBind; }
    StatusCode onAddedDirty(CoreContext* context) override;
    StatusCode onAddedClean(CoreContext* context) override;
};
} // namespace rive

#endif