Skip to main content

Module retained_present

Module retained_present 

Expand description

Drawing for a presenter that keeps the desktop between frames.

Such a presenter rasterizes a strip once into a canvas as wide as its content and shows the strip’s pan by reading that canvas at an offset. The strip is then drawn in canvas coordinates: where its windows sit with no pan, so the encoded scene does not change while the pan does, and a pan draws nothing.

Structs§

PanReplay
A frame that only moved laid-out content: nothing reached a widget, the document, focus or presence since the last frame, and layout re-applied positions without measuring. While one is drawn (PanFrame::Replayed), a strip drawn in screen space may show a window at rest by replaying its last drawing moved to where the window is now. Every other frame draws every window.
RetainedScene
Restores the enclosing draw policy even on an early return or unwind.

Enums§

PanFrame
What the frame being drawn lets a strip drawn in screen space do with the drawings it keeps of its windows (crate::widget::GroupRow).

Functions§

begin_retained_scene
Start drawing one frame for such a presenter. unbake_scroll draws strip content in canvas coordinates. The flag is thread-local and cleared by end_retained_scene.
end_retained_scene
The frame is drawn.
note_replayed
Count one window shown by replaying its drawing.
pan_frame
The number of the frame being drawn (PanReplay::begin).
pan_frame_kind
What the frame being drawn lets a strip do with its windows’ drawings (PanReplay).
pan_replay
Whether the frame being drawn may replay windows at rest (PanReplay).
take_replayed
Windows replayed since the last call.
unbake_scroll
Whether strip content should be drawn in canvas coordinates.