#include <optional>#include <string>#include <string_view>#include <vector>#include "donner/base/Length.h"#include "donner/css/Color.h"Classes | |
| struct | donner::svg::components::AnimationValueContext |
| Context required to resolve relative units and currentColor for an animated value. 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,. | |
Functions | |
| bool | donner::svg::components::IsContextualScalarAttribute (std::string_view attribute) |
| Whether a CSS scalar stack needs the final instance's parent cascade. | |
| bool | donner::svg::components::IsContextualPaintAttribute (std::string_view attribute) |
| Whether a paint/color stack needs the final instance's cascade. | |
| std::optional< std::string > | donner::svg::components::SerializeAnimationUrl (std::string_view href) |
| Serialize an escaped, quoted CSS URL within the animation output envelope. | |
| std::optional< std::vector< Lengthd > > | donner::svg::components::ParseAnimationLengths (std::string_view input) |
| Parse a finite length list within the animation numeric-value limit. | |
| bool | donner::svg::components::ValidAnimationNumericOperand (std::string_view input, const AnimationValueContext &context) |
| Validate a source operand against the target's numeric grammar before interpolation. | |
| std::optional< Lengthd > | donner::svg::components::ParseAnimationLength (std::string_view attribute, std::string_view value) |
| Parse one animated length, including axis-appropriate refX/refY reference keywords. | |
| std::optional< std::string > | donner::svg::components::CombineAnimationValues (std::string_view first, std::string_view second, double firstWeight, double secondWeight, const AnimationValueContext &context, bool secondIsOffset=false) |
| Combine compatible numeric, length-list, or color values with linear weights. | |
| std::optional< double > | donner::svg::components::AnimationValueDistance (std::string_view first, std::string_view second, const AnimationValueContext &context) |
| Compute the paced distance between compatible values. | |
| struct donner::svg::components::AnimationValueContext |
Context required to resolve relative units and currentColor for an animated value.
| Class Members | ||
|---|---|---|
| bool | angleValue = false | Marker orientation operands use SVG angle units. |
| RGBA | currentColor = css::RGBA::RGB(0, 0, 0) | Resolved currentColor. |
| Extent | extent = Lengthd::Extent::Mixed | Percentage reference axis. |
| FontMetrics | fontMetrics | Font and viewport unit metrics. |
| bool | integerValue = false | Round interpolated numeric values to the nearest integer. |
| bool | lengthValuesAreOffsets = false | Sample operands are displacements, not positions. |
| bool | linearRgb = false | Interpolate colors in linear-light RGB when requested. Map mixed-unit filter lengths to user-space pixels while keeping additive offsets origin-free. |
| bool | mappedLengths = false | |
| size_t | maximumNumbers = 0 | |
| bool | numberPair = false | Repeat one coordinate for number-optional-number values. |
| bool | percentageNumbers | Percentages represent fractions of one, not viewport lengths. |
| double | percentageOrigin = 0 | Origin added only to percentage positions. |
| bool | referenceValue = false | References are discrete and non-additive. Zero accepts general values; otherwise only this many dimensionless operands are allowed. |
| double | unitlessOrigin = 0 | Origin added only to unitless positions. |
| double | unitlessScale = 1 | User units represented by one unitless coordinate. |
| Box2d | viewBox {{0, 0}, {300, 150}} | Current SVG viewport in user units. |