blob: a0918c90e1ead665eb2fc5fe8c70b148c6531976 [file] [log] [blame]
#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();
}