Immutable command stream captured from a prepared SVG document.
More...
#include "donner/svg/renderer/RenderSnapshot.h"
|
|
| RenderSnapshot () |
| | Create an empty render snapshot.
|
|
| ~RenderSnapshot () |
| | Destructor.
|
|
| RenderSnapshot (RenderSnapshot &&other) noexcept |
| | Move constructor.
|
|
RenderSnapshot & | operator= (RenderSnapshot &&other) noexcept |
| | Move assignment.
|
|
| RenderSnapshot (const RenderSnapshot &other)=delete |
|
RenderSnapshot & | operator= (const RenderSnapshot &other)=delete |
|
std::uint64_t | sourceRevision () const |
| | Source document revision observed when this snapshot was captured.
|
|
std::size_t | commandCount () const |
| | Number of renderer commands stored in this snapshot.
|
| std::size_t | estimatedCommandStorageBytes () const |
| | Estimated bytes used by the snapshot command stream.
|
| std::size_t | liveRegistryReferenceCountForTesting (const Registry ®istry) const |
| | Count snapshot-owned command references that still point at registry.
|
|
bool | fontPayloadLimitExceeded () const |
| | True when snapshot text exceeded the font-byte budget and some fonts were omitted.
|
| void | replay (RendererInterface &renderer) const |
| | Replay the captured command stream into renderer.
|
|
|
static constexpr std::size_t | kMaximumCapturedFontBytes = 128 * 1024 * 1024 |
| | Maximum font bytes copied into one snapshot across all source registries.
|
|
|
class | RenderSnapshotRecorder |
|
class | RendererDriver |
Immutable command stream captured from a prepared SVG document.
Snapshot capture may inspect the live ECS registry, but replay emits only the recorded renderer commands. Resource references embedded in those commands point at snapshot-owned storage so backend replay does not dereference the live document registry.
◆ estimatedCommandStorageBytes()
| std::size_t donner::svg::RenderSnapshot::estimatedCommandStorageBytes |
( |
| ) |
const |
|
nodiscard |
Estimated bytes used by the snapshot command stream.
This counts the command vector allocation and snapshot implementation object. It intentionally does not include nested allocations owned by command payloads, such as paths, text spans, filter graphs, or paint-server resource components.
◆ liveRegistryReferenceCountForTesting()
| std::size_t donner::svg::RenderSnapshot::liveRegistryReferenceCountForTesting |
( |
const Registry & | registry | ) |
const |
|
nodiscard |
Count snapshot-owned command references that still point at registry.
This is a test-only invariant helper: a captured snapshot should not retain any EntityHandle into the live document registry.
- Parameters
-
| registry | Registry that must not be referenced by replay payloads. |
◆ replay()
Replay the captured command stream into renderer.
- Parameters
-
| renderer | Backend receiving the recorded commands. |
The documentation for this class was generated from the following file: