Donner 0.5.1
Embeddable browser-grade SVG2 engine
Loading...
Searching...
No Matches
CompositorLayer.h File Reference
#include <cstdint>
#include <optional>
#include "donner/base/EcsRegistry.h"
#include "donner/base/Transform.h"
#include "donner/base/Vector2.h"
#include "donner/svg/renderer/RendererInterface.h"
Include dependency graph for CompositorLayer.h:
This graph shows which files directly or indirectly include this file:

Classes

class  donner::svg::compositor::CompositorLayer
 Represents a single compositor layer with its cached bitmap and dirty state. 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.

Enumerations

enum class  donner::svg::compositor::FallbackReason : uint16_t {
  None = 0 ,
  BlendMode = 1 << 0 ,
  Filter = 1 << 1 ,
  ClipPath = 1 << 2 ,
  Mask = 1 << 3 ,
  Markers = 1 << 4 ,
  ExternalPaint = 1 << 5 ,
  IsolatedLayer = 1 << 6
}
 Flags indicating which compositing features on a promoted entity require conservative fallback (full re-rasterization on every frame rather than bitmap caching). More...

Functions

constexpr FallbackReason donner::svg::compositor::operator| (FallbackReason a, FallbackReason b)
 Bitwise OR.
constexpr FallbackReason donner::svg::compositor::operator& (FallbackReason a, FallbackReason b)
 Bitwise AND.
constexpr FallbackReasondonner::svg::compositor::operator|= (FallbackReason &a, FallbackReason b)
 Bitwise OR assignment.

Enumeration Type Documentation

◆ FallbackReason

enum class donner::svg::compositor::FallbackReason : uint16_t
strong

Flags indicating which compositing features on a promoted entity require conservative fallback (full re-rasterization on every frame rather than bitmap caching).

Each flag corresponds to an SVG feature that cannot be correctly rendered in isolation when the entity is composited separately from the rest of the scene.

Enumerator
BlendMode 

Entity has mix-blend-mode != normal, requiring interaction with backdrop.

Filter 

Entity has a filter effect, which may reference sourceGraphic/BackgroundImage.

ClipPath 

Entity has a clip-path referencing elements outside the promoted subtree.

Mask 

Entity has a mask referencing elements outside the promoted subtree.

Markers 

Entity has markers, whose rendering depends on the containing document context.

ExternalPaint 

Entity has a paint server (gradient/pattern) referencing external elements.

IsolatedLayer 

Entity establishes an isolation group (opacity < 1 composed with siblings).