diff --git a/src/lib.rs b/src/lib.rs index 0ab0e1c..8394bbc 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -210,7 +210,18 @@ impl DoubleFrame { impl DoubleFrame { pub fn draw_pixel(&mut self, x: u16, y: u16, colour: PixelColour) { - todo!() + self.partial_window.update_partial_window(x, x, y, y); + let x_i = x / 8; + let x_shift = x % 8; + let i = y * (EPD_WIDTH as u16 / 8) + x_i; + match colour { + PixelColour::Black => { + self.new.0[i as usize] &= !(1 << x_shift); + }, + PixelColour::White => { + self.new.0[i as usize] |= 1 << x_shift; + }, + } } }