Donner SVG Editor & Engine
SVG-native editor and embeddable SVG2 + CSS3 engine in C++20, with GPU (WebGPU) and compact CPU renderers, built for correctness, security, and performance.
Loading...
Searching...
No Matches
AnimationTimingComponent.h File Reference
#include <cstdint>
#include <optional>
#include <string>
#include "donner/svg/components/animation/ClockValue.h"
Include dependency graph for AnimationTimingComponent.h:

Classes

struct  donner::svg::components::AnimationTimingComponent
 Stores timing attributes for an animation element. More...

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,.

Enumerations

enum class  donner::svg::components::AnimationFill : uint8_t {
  donner::svg::components::Remove ,
  donner::svg::components::Freeze
}
 Fill behavior when an animation finishes. More...
enum class  donner::svg::components::AnimationRestart : uint8_t {
  donner::svg::components::Always ,
  donner::svg::components::WhenNotActive ,
  donner::svg::components::Never
}
 Restart behavior for an animation. More...

Class Documentation

◆ donner::svg::components::AnimationTimingComponent

struct donner::svg::components::AnimationTimingComponent

Stores timing attributes for an animation element.

These correspond to the SMIL timing attributes: begin, dur, end, repeatCount, repeatDur, fill, restart, min, max.

Slice 1: begin/end support offset (clock) values only. Syncbase references (id.begin/id.end) are deferred; see docs/design_docs/animation.md.

Class Members
optional< ClockValue > beginOffset Parsed begin offset in seconds (from the earliest offset value in the begin list).
optional< string > beginValue Raw begin attribute value (semicolon-separated list of time values).
optional< ClockValue > dur The dur attribute: simple duration of the animation.
optional< ClockValue > endOffset Parsed end offset in seconds.
optional< string > endValue Raw end attribute value.
AnimationFill fill = AnimationFill::Remove fill: what to do when the animation ends.
optional< ClockValue > max max: maximum active duration.
optional< ClockValue > min min: minimum active duration.
optional< double > repeatCount repeatCount: number of iterations. Use infinity for "indefinite".
optional< ClockValue > repeatDur repeatDur: total repeat duration.
AnimationRestart restart = AnimationRestart::Always restart: when the animation can restart.