#include "rive/text/text_variation_modifier.hpp"
#include "rive/text/text_modifier_group.hpp"
#include "rive/text_engine.hpp"

using namespace rive;

float TextVariationModifier::modify(
    Font* font,
    std::unordered_map<uint32_t, float>& variations,
    float fontSize,
    float strength) const
{
    auto itr = variations.find(axisTag());

    float fromValue =
        itr != variations.end() ? itr->second : font->getAxisValue(axisTag());
    variations[axisTag()] = fromValue * (1 - strength) + axisValue() * strength;
    return fontSize;
}

void TextVariationModifier::axisValueChanged()
{
    parent()->as<TextModifierGroup>()->shapeModifierChanged();
}