Donner SVG main
0.8.0 ยท 382bd0190.8.0 main
SVG editor and embeddable C⁠+⁠+⁠20 engine.
Loading...
Searching...
No Matches
AnimationValueSampler.h File Reference
Include dependency graph for AnimationValueSampler.h:
This graph shows which files directly or indirectly include this file:

Namespaces

namespace  donner
 Top-level Donner namespace, which is split into different sub-namespaces such as donner::svg and donner::css.
namespace  donner::svg
 Donner SVG library, which can load, manipulate and render SVG files.
namespace  donner::svg::components
 Contains the implementation of the Donner ECS,.

Functions

template<typename Value, typename Sampler>
std::optional< Value > donner::svg::components::detail::SampleContextualAnimationRecipeImpl (const ContextualLengthRecipe &recipe, const Value &base, Value underlying, Sampler &sampler)
 Recursive implementation of donner::svg::components::SampleContextualAnimationRecipe.
template<typename Value, typename Sampler>
std::optional< Value > donner::svg::components::SampleContextualAnimationRecipe (const ContextualLengthRecipe &recipe, Value underlying, Sampler &&sampler)
 Fold an admitted contextual animation stack, rebuilding frozen to-only underliers as needed.
std::optional< std::pair< std::string, std::string > > donner::svg::components::SampleAnimationValue (double progress, double iteration, const SetAnimationComponent *setComp, const AnimateValueComponent *valueComp, const AnimateTransformComponent *transformComp, const std::string &underlying, const AnimationValueContext &context, AnimationResourceBudget *budget=nullptr)
 Sample one animation without document or timing side effects.
std::optional< Lengthd > donner::svg::components::SampleContextualLengthRecipe (const ContextualLengthRecipe &recipe, Lengthd underlying, const AnimationValueContext &context)
 Evaluate an admitted contextual length stack with the shared interpolation rules.

Function Documentation

◆ SampleContextualAnimationRecipeImpl()

template<typename Value, typename Sampler>
std::optional< Value > donner::svg::components::detail::SampleContextualAnimationRecipeImpl ( const ContextualLengthRecipe & recipe,
const Value & base,
Value underlying,
Sampler & sampler )

Recursive implementation of donner::svg::components::SampleContextualAnimationRecipe.

Parameters
recipeAdmitted stack to fold.
baseValue that frozen-underlying layers start from.
underlyingValue beneath the first layer.
samplerCallable(sample, lowerValue) returning a contributed value or nullopt.