INNER CODE UNIT · Rust
recording_counter_buffer
free-explorers/veshell · src/embedder/backend/render/mod.rs:337
fn recording_counter_buffer(
chip: &crate::capture::RecordingChipData,
scale: f64,
) -> Option<MemoryRenderBuffer> {
let integer_scale = scale.round().max(1.0) as i32;
let seconds = chip.seconds.min(99 * 60 + 59);
RECORDING_BUFFERS.with(|cache| {
let mut cache = cache.borrow_mut();
if let Some(buffer) = cache.counters.get(&(seconds, integer_scale)) {
return Some(buffer.clone());
}
let (data, size) = recording_counter_bitmap(chip, scale)?;
let buffer = MemoryRenderBuffer::from_slice(
&data,
Fourcc::Argb8888,
size,
integer_scale,
Transform::Normal,