Donner SVG main
0.8.0 ยท 382bd0190.8.0 main
SVG editor and embeddable C⁠+⁠+⁠20 engine.
Loading...
Searching...
No Matches
FontPaintDependenciesComponent.h File Reference
#include <cstddef>
#include <cstdint>
#include <memory>
#include <unordered_set>
#include <vector>
#include "donner/base/EcsRegistry.h"
#include "donner/svg/resources/FontCatalogTypes.h"
Include dependency graph for FontPaintDependenciesComponent.h:

Classes

struct  donner::svg::components::ChildFontPaintDependencies
 Owned evidence for pixels drawn from a separate registry. The weak handle does not keep an obsolete source document alive. Its budget and revision cannot be replaced by a parent's face. More...
struct  donner::svg::components::FontPaintDependenciesComponent
 Faces used by lazy paint work on one consuming rendering instance. These snapshots survive temporary offscreen traversals and include external SVG images as separate consumers. More...
struct  donner::svg::components::FontResourcePreparationState
 Changes to prepared geometry or captured child evidence invalidate operation-local graph caches. More...
struct  donner::svg::components::RenderedFontResourceScope
 Exclusions belong only to the last completed render. Target preflight never consults this proof. 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,.

Variables

constexpr std::size_t donner::svg::components::kMaximumFontChildDocuments = 64
 Use the existing parsed-child envelope for recursive traversal and per-host child references.

Class Documentation

◆ donner::svg::components::ChildFontPaintDependencies

struct donner::svg::components::ChildFontPaintDependencies

Owned evidence for pixels drawn from a separate registry. The weak handle does not keep an obsolete source document alive. Its budget and revision cannot be replaced by a parent's face.

Class Members
weak_ptr< DocumentState > document
vector< FontFaceDependency > fontDependencies
uint64_t fontResourceRevision = 0
bool needsRender = false
uint64_t preparationEpoch = 0
vector< FontFaceDependency > renderedFontDependencies
bool renderedNeedsRender = false
bool renderedResourceLimit = false
uint64_t renderScopeToken = 0
bool resourceLimit = false
Entity target = entt::null

◆ donner::svg::components::FontPaintDependenciesComponent

struct donner::svg::components::FontPaintDependenciesComponent

Faces used by lazy paint work on one consuming rendering instance. These snapshots survive temporary offscreen traversals and include external SVG images as separate consumers.

Class Members
vector< ChildFontPaintDependencies > children
vector< FontFaceDependency > fontDependencies
uint64_t fontResourceRevision = 0
bool prepared = false
bool resourceLimit = false

◆ donner::svg::components::FontResourcePreparationState

struct donner::svg::components::FontResourcePreparationState

Changes to prepared geometry or captured child evidence invalidate operation-local graph caches.

Class Members
uint64_t epoch = 0

◆ donner::svg::components::RenderedFontResourceScope

struct donner::svg::components::RenderedFontResourceScope

Exclusions belong only to the last completed render. Target preflight never consults this proof.

Class Members
bool complete = false
Entity coverageRoot = entt::null
size_t depth = 0
unordered_set< Entity > excluded
uint64_t fontResourceRevision = 0
unordered_set< Entity > painted
bool pendingComplete = true
Entity pendingCoverageRoot = entt::null
unordered_set< Entity > pendingExcluded
uint64_t preparationEpoch = 0
uint64_t token = 0