Expand description
The program preview’s intermediate target and its letterbox geometry (ADR-0143).
While a secondary surface is attached, the frame is drawn once into the
intermediate here and reaches its real destination by
copy_texture_to_texture — exact, no shader, no sampling. The same
intermediate is then sampled, scaled and letterboxed onto the console. One
render, one frame, two destinations.
Not behind the text feature, unlike super::aux_target. The console
that consumes a preview is text-gated, but the intermediate is a render path
and the property that matters about it — that a frame routed through it is
byte-identical to one drawn straight at the target — is asserted on the
headless capture path, which compiles with glyphon out.
§One owner
PreviewService holds every resource the concern has — the intermediate,
the readback and the frame the readback produced — and Renderer holds one
of it. Three loose fields there could each be opened, closed, resized and
drained separately, and an accessor that moved two of them and forgot the
third looked exactly like one that moved all three.
Structs§
- Preview
Target - The offscreen a frame is drawn into while a preview is open, plus the view and identity its two consumers need.
- Rect
- A rectangle in a console surface’s device pixels, origin top-left.
Functions§
- preview_
rect - Where to draw the program preview inside a console surface, letterboxed.