|
|
Donner 0.5.0
Embeddable browser-grade SVG2 engine
|
#include <entt/entt.hpp>#include <optional>#include "donner/base/Length.h"#include "donner/base/RcString.h"#include "donner/base/SmallVector.h"#include "donner/svg/components/RenderingInstanceComponent.h"#include "donner/svg/core/DominantBaseline.h"#include "donner/svg/core/FontStretch.h"#include "donner/svg/core/FontStyle.h"#include "donner/svg/core/FontVariant.h"#include "donner/svg/core/LengthAdjust.h"#include "donner/base/Path.h"#include "donner/svg/core/Stroke.h"#include "donner/svg/core/TextAnchor.h"#include "donner/svg/core/TextDecoration.h"#include "donner/svg/core/Visibility.h"Classes | |
| struct | donner::svg::components::ComputedTextComponent |
| Pre‑computed layout information for a text subtree. More... | |
| struct | donner::svg::components::ComputedTextComponent::TextSpan |
| A contiguous slice of text with fully resolved layout attributes. More... | |
| struct | donner::svg::components::ComputedTextComponent::TextSpan::AncestorShift |
| Unresolved baseline-shift values from ancestor tspan elements. Each entry is the ancestor's (baseline-shift keyword, baseline-shift Lengthd, font-size in pixels). Layout engines resolve each entry using font OS/2 metrics for sub/super or toPixels() for explicit lengths, then sum to get the total ancestor shift. 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,. | |
| struct donner::svg::components::ComputedTextComponent |
Pre‑computed layout information for a text subtree.
A ComputedTextComponent is attached by the layout system to the root "<text>" element after all "<text>", "<tspan>", and "<textPath>" descendants have been resolved. It stores the final, absolute positions for each contiguous slice of text, allowing the renderer to iterate quickly without re‑evaluating attribute vectors on every frame.
The component contains a single public field, spans, which is the computed list of text spans.
| Class Members | ||
|---|---|---|
| SmallVector< TextSpan, 1 > | spans | |
| struct donner::svg::components::ComputedTextComponent::TextSpan::AncestorShift |
Unresolved baseline-shift values from ancestor tspan elements. Each entry is the ancestor's (baseline-shift keyword, baseline-shift Lengthd, font-size in pixels). Layout engines resolve each entry using font OS/2 metrics for sub/super or toPixels() for explicit lengths, then sum to get the total ancestor shift.
| Class Members | ||
|---|---|---|
| double | fontSizePx | |
| BaselineShiftKeyword | keyword | |
| Lengthd | shift | |