16#ifndef AEONGUI_SVGANIMATEELEMENT_H
17#define AEONGUI_SVGANIMATEELEMENT_H
19#include "SVGAnimationElement.hpp"
20#include "aeongui/Color.hpp"
61 Color InterpolateColor (
double aProgress )
const;
62 double InterpolateNumber (
double aProgress )
const;
63 void ApplyGeometryToCanvas (
Canvas& aCanvas )
const;
64 bool mIsColorAnimation{
false};
65 bool mIsGeometryAnimation{
false};
66 bool mIsPathAnimation{
false};
67 double mOriginalValue{0.0};
70 std::vector<Color> mColorValues;
71 std::vector<double> mNumericValues;
Abstract 2D rendering surface.
Definition Canvas.hpp:40
Base class for all nodes in the DOM tree.
Definition Node.hpp:42
bool IsPathAnimation() const
Check if this animation rebuilds the parent path.
Definition SVGAnimateElement.cpp:155
void ApplyToCanvas(Canvas &aCanvas) const override
Apply the animation effect to the canvas.
Definition SVGAnimateElement.cpp:201
SVGAnimateElement(const DOMString &aTagName, AttributeMap &&aAttributes, Node *aParent)
Construct an SVGAnimateElement.
Definition SVGAnimateElement.cpp:27
bool IsGeometryAnimation() const
Check if this animation targets a geometry attribute.
Definition SVGAnimateElement.cpp:150
~SVGAnimateElement() override
Destructor.
double GetInterpolatedValue() const
Get the current interpolated numeric value.
Definition SVGAnimateElement.cpp:160
SVGAnimationElement(const DOMString &aTagName, AttributeMap &&aAttributes, Node *aParent)
Construct an SVGAnimationElement.
Definition SVGAnimationElement.cpp:26
Pixel Color Union. The Color union allows access to each unsigned 8 bit RGBA color component individu...
Definition Color.hpp:185