pub struct RetainedLedger {
pub entries: HashMap<u64, RetainedEntry>,
pub frame: u64,
}Expand description
The set of retained pages the renderer reported resident after a frame.
Fields§
§entries: HashMap<u64, RetainedEntry>Resident pages by raw RetainedKey.
frame: u64The paint serial (PaintOutcome::paint_serial)
of the most recent scene whose retained-store commit the renderer
completed before publishing this ledger. A refused or failed frame does
not advance it; the empty ledger a store clear, surface destroy or
scale change publishes carries the last committed serial (0 before
any). See RetainedLedger::covers.
Implementations§
Source§impl RetainedLedger
impl RetainedLedger
Sourcepub fn from_entries(
frame: u64,
entries: impl IntoIterator<Item = (u64, (u32, u32), f32)>,
) -> Self
pub fn from_entries( frame: u64, entries: impl IntoIterator<Item = (u64, (u32, u32), f32)>, ) -> Self
Build a ledger from (key, extent_px, scale) triples, describing the
store after the scene painted at serial frame was committed.
Sourcepub fn covers(&self, serial: u64) -> bool
pub fn covers(&self, serial: u64) -> bool
Whether the renderer had committed the scene painted at serial (or a
later one) when it published this ledger: frame >= serial. Serial 0
— a paint no render root numbered — is covered by every ledger.
Sourcepub fn is_resident(
&self,
key: RetainedKey,
extent_px: (u32, u32),
scale: f32,
) -> bool
pub fn is_resident( &self, key: RetainedKey, extent_px: (u32, u32), scale: f32, ) -> bool
Whether key is resident at exactly extent_px and (within 1e-3)
scale. A page rasterized at another size or scale is not reusable.