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. - Retained
Scene - 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_scrolldraws strip content in canvas coordinates. The flag is thread-local and cleared byend_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.