From 8f7b71a6b5076cb767f90629314dd218892545d4 Mon Sep 17 00:00:00 2001 From: Ben Bridle Date: Wed, 2 Oct 2024 12:15:41 +1300 Subject: Add line breaks between methods --- src/lib.rs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/lib.rs b/src/lib.rs index 1ee51b4..91cbdbc 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -16,13 +16,16 @@ impl Buffer { let array = vec![Colour::BLACK; dimensions.area_usize()]; Self { array, dimensions } } + pub fn new_with_fill(dimensions: Dimensions, colour: Colour) -> Self { let array = vec![colour; dimensions.area_usize()]; Self { array, dimensions } } + pub fn fill(&mut self, colour: Colour) { self.array.iter_mut().for_each(|c| *c = colour); } + pub fn copy_into(&mut self, coords: Point, other: &Buffer) { let self_rect = Rect::from(self.dimensions); let other_rect = Rect::construct(coords, other.dimensions); @@ -49,19 +52,24 @@ impl Buffer { self_i += self_width; } } + pub fn resize(&mut self, dimensions: Dimensions) { self.array.resize(dimensions.area_usize(), Colour::BLACK); self.dimensions = dimensions; } + pub fn as_rows(&self) -> std::slice::ChunksExact { self.array.chunks_exact(self.dimensions.width as usize) } + pub fn as_slice(&self) -> &[Colour] { &self.array } + pub fn as_mut_slice(&mut self) -> &mut [Colour] { &mut self.array } + pub fn as_u32_slice(&self) -> &[u32] { unsafe { std::mem::transmute::<&[Colour], &[u32]>(&self.array) } } -- cgit v1.2.3-70-g09d2