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
AnimationStateComponent.h File Reference
#include <cstdint>
#include <optional>
#include "donner/base/EcsRegistry.h"
Include dependency graph for AnimationStateComponent.h:

Classes

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).
bool hasCompleted = false Whether this animation has completed at least one full cycle. Used to enforce restart="never": once ended, never restarts.
AnimationPhase phase = AnimationPhase::Before Current phase of this animation.
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.
bool wasActive = false Whether this animation was active in the previous frame. Used to enforce restart="whenNotActive".