Donner SVG 0.8.0
0.8.0 ยท ebf353960.8.0 main
SVG editor and embeddable C⁠+⁠+⁠20 engine.
Loading...
Searching...
No Matches
StyleSystem.h File Reference
#include <memory>
#include <optional>
#include <unordered_map>
#include <unordered_set>
#include <utility>
#include <vector>
#include "donner/base/EcsRegistry.h"
#include "donner/base/FileOffset.h"
#include "donner/base/ParseWarningSink.h"
#include "donner/css/Specificity.h"
#include "donner/css/selectors/SelectorMatchOptions.h"
#include "donner/svg/components/DocumentResourceFamilyBudget.h"
#include "donner/svg/components/style/ComputedStyleComponent.h"
#include "donner/svg/components/style/ExternalUseStyleContext.h"
Include dependency graph for StyleSystem.h:
This graph shows which files directly or indirectly include this file:

Classes

class  donner::svg::components::StyleResourceBudget
 Aggregate stylesheet cascade and selector traversal budget for one style-computation pass. More...
struct  donner::svg::components::StyleResourceBudget::Limits
 Independent cascade, traversal, and retained-property limits. More...
class  donner::svg::components::StyleResourceBudget::OwnerScope
 Shared owner scope; nested recording and fallback work preserves the current allowance. More...
class  donner::svg::components::StyleResourceBudget::ActiveRegistryScope
 Keep mutable document storage active throughout preparation, drawing and restoration. More...
struct  donner::svg::components::MatchedStyleRule
 Diagnostic record for one stylesheet rule that matched an element. More...
struct  donner::svg::components::StyleRuleAtSourceOffset
 Stylesheet rule found at a document source offset. More...
class  donner::svg::components::StyleSystem
 Computes stylesheet information for elements, applying the CSS cascade and inheritance rules. 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,.

Class Documentation

◆ donner::svg::components::StyleResourceBudget::Limits

struct donner::svg::components::StyleResourceBudget::Limits

Independent cascade, traversal, and retained-property limits.

Class Members
size_t complexPropertyBytes = kMaximumComplexPropertyBytes Maximum retained complex-property bytes for this budget.
size_t declarationApplications = kMaximumDeclarationApplications Maximum declaration applications.
size_t declarationByteWork = kMaximumDeclarationByteWork Maximum aggregate declaration source bytes charged.
size_t declarationComponentWork = kMaximumDeclarationComponentWork Maximum aggregate declaration component work units.
size_t ruleElementMatches = kMaximumRuleElementMatches Maximum rule-to-element matches.
size_t selectorTraversalSteps = css::SelectorTraversalBudget::kMaximumSteps Maximum selector traversal steps.