#ifndef _RIVE_CONSTRAINT_HPP_
#define _RIVE_CONSTRAINT_HPP_
#include "rive/generated/constraints/constraint_base.hpp"
#include <stdio.h>
namespace rive {
    class TransformComponent;
    class Mat2D;

    class Constraint : public ConstraintBase {
    public:
        void strengthChanged() override;
        StatusCode onAddedClean(CoreContext* context) override;
        virtual void markConstraintDirty();
        virtual void constrain(TransformComponent* component) = 0;
        void buildDependencies() override;
        void onDirty(ComponentDirt dirt) override;
    };

    const Mat2D& getParentWorld(const TransformComponent& component);
} // namespace rive

#endif