INNER CODE UNIT · Rust
recording_chip_buffer
free-explorers/veshell · src/embedder/backend/render/mod.rs:311
fn recording_chip_buffer(
chip: &crate::capture::RecordingChipData,
scale: f64,
) -> MemoryRenderBuffer {
let integer_scale = scale.round().max(1.0) as i32;
RECORDING_BUFFERS.with(|cache| {
let mut cache = cache.borrow_mut();
if let Some((cached_scale, buffer)) = cache.chip.as_ref() {
if *cached_scale == integer_scale {
return buffer.clone();
}
}
let (data, size) = recording_chip_bitmap(chip, scale);
let buffer = MemoryRenderBuffer::from_slice(
&data,
Fourcc::Argb8888,
size,
integer_scale,