summaryrefslogtreecommitdiff
path: root/src/lib.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib.rs')
-rw-r--r--src/lib.rs7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/lib.rs b/src/lib.rs
index abcd80f..99c9529 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -2,7 +2,7 @@ pub use colour::Colour;
pub use geometry::HasDimensions;
use std::ops::{Deref, DerefMut, Index, IndexMut};
-use std::slice::SliceIndex;
+use std::slice::{ChunksExact, ChunksExactMut, SliceIndex};
pub type Point = geometry::Point<i32>;
pub type Dimensions = geometry::Dimensions<u32>;
@@ -61,10 +61,13 @@ impl Buffer {
self.dimensions = dimensions;
}
- pub fn as_rows(&self) -> std::slice::ChunksExact<Colour> {
+ pub fn as_rows(&self) -> ChunksExact<Colour> {
self.pixels.chunks_exact(self.dimensions.width as usize)
}
+ pub fn as_mut_rows(&mut self) -> ChunksExactMut<Colour> {
+ self.pixels.chunks_exact_mut(self.dimensions.width as usize)
+ }
pub fn as_u32_slice(&self) -> &[u32] {
unsafe { std::mem::transmute::<&[Colour], &[u32]>(&self.pixels) }