Donner SVG 0.8.0
0.8.0 ยท ebf353960.8.0 main
SVG editor and embeddable C⁠+⁠+⁠20 engine.
Loading...
Searching...
No Matches
AnimationStateComponent.h File Reference
#include <cstdint>
#include <vector>
#include "donner/base/EcsRegistry.h"
Include dependency graph for AnimationStateComponent.h:

Classes

struct  donner::svg::components::AnimationInterval
 One resolved active interval, with the unconstrained repeating duration. More...
struct  donner::svg::components::AnimationStateComponent
 Runtime state of an animation element, computed each frame by the AnimationSystem. 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::AnimationPhase : uint8_t {
  donner::svg::components::Before ,
  donner::svg::components::Active ,
  donner::svg::components::After
}
 Phase of an animation element's lifecycle. More...

Class Documentation

◆ donner::svg::components::AnimationStateComponent

struct donner::svg::components::AnimationStateComponent

Runtime state of an animation element, computed each frame by the AnimationSystem.

This component is emplaced on animation entities and updated when the document time changes.

Class Members
double activeDuration = 0.0 Computed active duration in seconds.
double beginTime = 0.0 Resolved begin time in seconds (from timing attributes).
vector< double > eventBeginTimes Retained runtime begin instance times, sorted in document seconds.
vector< double > eventEndTimes Retained runtime end instance times, sorted in document seconds.
vector< AnimationInterval > intervals Resolved intervals for syncbase dependencies and lifecycle observation.
AnimationPhase phase = AnimationPhase::Before Current phase of this animation.
double repeatDuration = 0 Duration of repeating content before min/max/end constraints.
double simpleDuration = 0.0 Computed simple duration in seconds. 0 means unresolved, infinity means indefinite.
Entity targetEntity = entt::null The entity being targeted by this animation. Resolved from href or parent element.