|
|
Donner SVG 0.8.0-pre
SVG editor and embeddable C++20 engine.
|
The per-frame document presentation decision. More...
#include "donner/editor/DocumentPresenter.h"
Public Member Functions | |
| virtual DocumentPresentationResult | resolveExternalSurface (const DocumentPresentationFrame &frame)=0 |
| Stage 1: open the frame and resolve the transform this frame's document pixels are placed with. | |
| virtual bool | presentUnderlay (std::optional< FramebufferUnderlayPlan > plan)=0 |
| Stage 2: install this frame's framebuffer underlay plan, or clear the underlay when there is nothing directly presentable. | |
| virtual std::uint64_t | refusedUnderlayPresentCount () const =0 |
| Count of stage-2 calls refused because no frame was open. Diagnostic only. | |
The per-frame document presentation decision.
Driven in two ordered stages per frame, because the shell's own work sits between them:
Calling the stages out of order is a programming error; implementations refuse the second stage rather than installing a plan against a frame that was never opened.
|
pure virtual |
Stage 2: install this frame's framebuffer underlay plan, or clear the underlay when there is nothing directly presentable.
Closes the frame.
| plan | Tiles and placement for the underlay, or std::nullopt. |
Implemented in donner::editor::FramebufferUnderlayPresenter.
|
nodiscardpure virtual |
Count of stage-2 calls refused because no frame was open. Diagnostic only.
Implemented in donner::editor::FramebufferUnderlayPresenter.
|
pure virtual |
Stage 1: open the frame and resolve the transform this frame's document pixels are placed with.
| frame | Per-frame presentation inputs. |
Implemented in donner::editor::FramebufferUnderlayPresenter.