#include "rive/bones/skinnable.hpp"
#include "rive/shapes/points_path.hpp"

using namespace rive;

Skinnable* Skinnable::from(Component* component)
{
    switch (component->coreType())
    {
        case PointsPath::typeKey:
            return component->as<PointsPath>();
            break;
    }
    return nullptr;
}

void Skinnable::skin(Skin* skin) { m_Skin = skin; }