1 #ifndef _RIVE_ROOT_BONE_BASE_HPP_
2 #define _RIVE_ROOT_BONE_BASE_HPP_
3 #include "bones/bone.hpp"
4 #include "core/field_types/core_double_type.hpp"
7 class RootBoneBase : public Bone
13 static const int typeKey = 41;
15 /// Helper to quickly determine if a core object extends another without
17 bool isTypeOf(int typeKey) const override
21 case RootBoneBase::typeKey:
22 case BoneBase::typeKey:
23 case SkeletalComponentBase::typeKey:
24 case TransformComponentBase::typeKey:
25 case ContainerComponentBase::typeKey:
26 case ComponentBase::typeKey:
33 int coreType() const override { return typeKey; }
35 static const int xPropertyKey = 90;
36 static const int yPropertyKey = 91;
42 inline float x() const override { return m_X; }
53 inline float y() const override { return m_Y; }
64 bool deserialize(int propertyKey, BinaryReader& reader) override
69 m_X = CoreDoubleType::deserialize(reader);
72 m_Y = CoreDoubleType::deserialize(reader);
75 return Bone::deserialize(propertyKey, reader);
79 virtual void xChanged() {}
80 virtual void yChanged() {}