Donner
C++20 SVG rendering library
Loading...
Searching...
No Matches
RenderingInstanceComponent.h File Reference
Include dependency graph for RenderingInstanceComponent.h:
This graph shows which files directly or indirectly include this file:

Classes

struct  donner::svg::components::SubtreeInfo
 Created on the start of a subtree, to inform the renderer about which element ends the current subtree, plus how many isolated layers need to be popped when the subtree is complete. More...
 
struct  donner::svg::components::PaintResolvedReference
 Contains rendering information for a paint server, such as the subtree needed if it establishes an isolated layer, and where the paint server is located. More...
 
struct  donner::svg::components::ResolvedClipPath
 Contains resolved information about the clip-path property, such as which element it is pointing to. More...
 
struct  donner::svg::components::ResolvedMask
 Contains resolved information about the mask property, such as which element it is pointing to. More...
 
struct  donner::svg::components::ResolvedMarker
 
struct  donner::svg::components::RenderingInstanceComponent
 An instance of the entity in the rendering tree. 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,.
 

Typedefs

using donner::svg::components::ResolvedPaintServer
 The resolved paint server for a fill or stroke.
 
using donner::svg::components::ResolvedFilterEffect = std::variant<std::vector<FilterEffect>, ResolvedReference>
 The resolved filter effect for a filter.
 

Functions

bool donner::svg::components::HasPaint (const ResolvedPaintServer &paint)
 Returns true if the paint server is not a PaintServer::None.
 

Class Documentation

◆ donner::svg::components::SubtreeInfo

struct donner::svg::components::SubtreeInfo

Created on the start of a subtree, to inform the renderer about which element ends the current subtree, plus how many isolated layers need to be popped when the subtree is complete.

Class Members
Entity firstRenderedEntity Indicates the first entity within the current subtree. The renderer will continue rendering entities until it reaches this one, then it will pop restorePopDepth isolated layers from the render state.
Entity lastRenderedEntity Indicates the last entity within the current subtree. The renderer will continue rendering entities until it reaches this one, then it will pop restorePopDepth isolated layers from the render state.
int restorePopDepth = 0 How many isolated layers to pop after rendering this entity.

◆ donner::svg::components::PaintResolvedReference

struct donner::svg::components::PaintResolvedReference

Contains rendering information for a paint server, such as the subtree needed if it establishes an isolated layer, and where the paint server is located.

Collaboration diagram for donner::svg::components::PaintResolvedReference:
[legend]
Class Members
optional< Color > fallback Fallback color to use if this paint fails to instantiate. This can happen for various reasons, such as if a gradient has no stops (making it invalid).
ResolvedReference reference Reference to the paint server element.
optional< SubtreeInfo > subtreeInfo If this paint server creates a subtree, such as for patterns, contains subtree info to inform the renderer how to render it.