From cc1f02a71bd3ad5235ac92dec2d9c516c74f8b1c Mon Sep 17 00:00:00 2001 From: metamuffin Date: Tue, 6 Dec 2022 08:41:48 +0100 Subject: decode somewhat works --- evc/src/view.rs | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'evc/src/view.rs') diff --git a/evc/src/view.rs b/evc/src/view.rs index 983fe67..f37e57c 100644 --- a/evc/src/view.rs +++ b/evc/src/view.rs @@ -25,7 +25,7 @@ impl View<&mut T> { let vert = self.size.0 > self.size.1; [ Self { - frame: unsafe { std::mem::transmute::<_, &mut T>(&mut self.frame) }, + frame: unsafe { std::mem::transmute::<&mut T, &mut T>(&mut self.frame) }, offset: self.offset, size: if vert { (self.size.0 / 2, self.size.1) @@ -34,7 +34,7 @@ impl View<&mut T> { }, }, Self { - frame: unsafe { std::mem::transmute::<_, &mut T>(&mut self.frame) }, + frame: unsafe { std::mem::transmute::<&mut T, &mut T>(&mut self.frame) }, offset: if vert { (self.offset.0 + self.size.0 / 2, self.offset.1) } else { @@ -109,6 +109,13 @@ impl View<&mut Frame> { } } } + pub fn set_pixels(&mut self, pixels: &Vec) { + for x in 0..self.size.0 { + for y in 0..self.size.1 { + self[(x, y)] = pixels[x + y * self.size.0] + } + } + } } impl> Index<(usize, usize)> for View<&T> { -- cgit v1.2.3-70-g09d2