Donner SVG 0.8.0
0.8.0 ยท ebf353960.8.0 main
SVG editor and embeddable C⁠+⁠+⁠20 engine.
Loading...
Searching...
No Matches
FontResourceGraph.h File Reference
#include <array>
#include <cstddef>
#include <memory>
#include <optional>
#include <span>
#include <unordered_map>
#include <unordered_set>
#include <vector>
#include "donner/base/EcsRegistry.h"
#include "donner/svg/SVGDocumentHandle.h"
#include "donner/svg/resources/FontCatalogTypes.h"
Include dependency graph for FontResourceGraph.h:
This graph shows which files directly or indirectly include this file:

Classes

class  donner::svg::components::ScopedFontResourceRender
 A render scope accepts exclusions only after its caller completes the corresponding traversal. More...
class  donner::svg::components::FontResourceGraph
 A frame-local snapshot of the font dependencies and resolved reference ranges of the render tree. More...
struct  donner::svg::components::FontResourceGraph::Collection
 Owned result of following the prepared references reachable from a target. More...
class  donner::svg::components::FontResourceGraphCache
 Bounded reuse within one render preparation or font-refresh traversal. No entry survives the operation, and preparation changes invalidate both the graph and its target collections. More...
struct  donner::svg::components::FontResourceGraphCache::Stats
 Work and reuse counters for one cache lifetime. More...
struct  donner::svg::components::FontResourceGraphCache::Entry::TargetCollection
 Cached target result bound to the render scope that last reused it. 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

void donner::svg::components::InvalidateFontResourcePreparation (Registry &registry)
 Advance the document's font-preparation epoch so cached dependency evidence is rebuilt.

Class Documentation

◆ donner::svg::components::FontResourceGraph::Collection

struct donner::svg::components::FontResourceGraph::Collection

Owned result of following the prepared references reachable from a target.

Class Members
vector< FontFaceDependency > dependencies
bool needsRender = false
bool resourceLimit = false
vector< Entity > textRoots Reached geometry owners, for guarded layout preparation.

◆ donner::svg::components::FontResourceGraphCache::Stats

struct donner::svg::components::FontResourceGraphCache::Stats

Work and reuse counters for one cache lifetime.

Class Members
size_t cacheHits = 0 Target collections reused.
size_t graphBuilds = 0 Dependency graphs constructed.
bool resourceLimit = false True after the work ceiling is exhausted.
size_t targetCollections = 0 Target traversals computed.
size_t work = 0 Charged units against the cache work ceiling.