INNER CODE UNIT · Rust

size

FooIbar/EhViewer · app/src/main/rust/src/ffi/android.rs:50

            let size = info.canvas_width * info.canvas_height * 4;
            unsafe { copy_nonoverlapping(buf, dst, size as usize) };
            handle.unlock_pixels()?;
        }
        Ok(timestamp)
    })
}

fn ptr_as_image<'local, P: CustomPixel>(
    ptr: *const !,
    w: u32,
    h: u32,
) -> ImageBuffer<P, &'local [P::Subpixel]> {
    let size = (w * h * P::CHANNEL_COUNT as u32) as usize;
    let buffer = unsafe { &*slice_from_raw_parts(ptr as *const P::Subpixel, size) };
    ImageBuffer::from_raw(w, h, buffer).unwrap()
}

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…