aboutsummaryrefslogtreecommitdiff
path: root/evc/src/view.rs
diff options
context:
space:
mode:
Diffstat (limited to 'evc/src/view.rs')
-rw-r--r--evc/src/view.rs11
1 files changed, 9 insertions, 2 deletions
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<T> 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<T> 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<Pixel>) {
+ for x in 0..self.size.0 {
+ for y in 0..self.size.1 {
+ self[(x, y)] = pixels[x + y * self.size.0]
+ }
+ }
+ }
}
impl<T: Index<(usize, usize), Output = Pixel>> Index<(usize, usize)> for View<&T> {