#include "rive/text/text_variation_modifier.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;
}