| #include "rive/shapes/vertex.hpp" | |
| using namespace rive; | |
| Vec2D Vertex::renderTranslation() | |
| { | |
| if (hasWeight()) | |
| { | |
| return m_Weight->translation(); | |
| } | |
| return Vec2D(x(), y()); | |
| } | |
| void Vertex::xChanged() { markGeometryDirty(); } | |
| void Vertex::yChanged() { markGeometryDirty(); } | |
| void Vertex::deform(const Mat2D& worldTransform, const float* boneTransforms) | |
| { | |
| // A skinned vertex with no Weight: in the editor, a vertex authored or | |
| // hydrated after the skin was bound, or a Weight that missed its coop | |
| // batch. Nothing at import rejects it either, so hold the bind position | |
| // rather than dereference null. | |
| if (m_Weight == nullptr) | |
| { | |
| return; | |
| } | |
| m_Weight->translation() = Weight::deform(Vec2D(x(), y()), | |
| m_Weight->indices(), | |
| m_Weight->values(), | |
| worldTransform, | |
| boneTransforms); | |
| } |