#include "rive/bones/root_bone.hpp"

using namespace rive;

StatusCode RootBone::onAddedClean(CoreContext* context)
{
	// Intentionally doesn't call Super(Bone)::onAddedClean and goes straight to
	// the super.super TransformComponent as that assumes the parent must be a
	// Bone while a root bone is a special case Bone that can be parented to
	// other TransformComponents.
	return TransformComponent::onAddedClean(context);
}

void RootBone::xChanged() { markTransformDirty(); }
void RootBone::yChanged() { markTransformDirty(); }