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