Skip to main content

Module preview

Module preview 

Source
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§

PreviewTarget
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.