MCPcopy Index your code
hub / github.com/explodingcamera/tinywasm / write_framebuffer

Method write_framebuffer

examples/doom/src/runtime.rs:68–77  ·  view source on GitHub ↗
(&mut self, dst: &mut [u32])

Source from the content-addressed store, hash-verified

66 }
67
68 pub fn write_framebuffer(&mut self, dst: &mut [u32]) -> Result<()> {
69 let ptr = self.framebuffer.call(&mut self.store, ())? as usize;
70 self.memory.read_exact(&self.store, ptr, &mut self.framebuffer_bytes)?;
71 for (index, pixel) in dst.iter_mut().enumerate() {
72 let byte_index = index * 4;
73 let chunk = &self.framebuffer_bytes[byte_index..byte_index + 4];
74 *pixel = ((chunk[0] as u32) << 16) | ((chunk[1] as u32) << 8) | chunk[2] as u32;
75 }
76 Ok(())
77 }
78
79 pub fn key_down(&mut self, key: i32) -> Result<()> {
80 self.key_down.call(&mut self.store, key)?;

Callers 1

presentMethod · 0.80

Calls 2

callMethod · 0.80
read_exactMethod · 0.45

Tested by

no test coverage detected