#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();
}