From b903f5a5e9250691bab6644200b244a0da961219 Mon Sep 17 00:00:00 2001 From: cc Date: Wed, 20 Aug 2025 21:01:36 -0700 Subject: Move flood fill Make it crate-available --- src/label_formats/large_label_format.rs | 29 +---------------------------- 1 file changed, 1 insertion(+), 28 deletions(-) (limited to 'src/label_formats/large_label_format.rs') diff --git a/src/label_formats/large_label_format.rs b/src/label_formats/large_label_format.rs index 244c7d3..6ad19b3 100644 --- a/src/label_formats/large_label_format.rs +++ b/src/label_formats/large_label_format.rs @@ -1,4 +1,4 @@ -use super::LabelFormat; +use super::{LabelFormat,flood}; pub struct LargeLabelFormat { pub buffer: Vec, @@ -15,33 +15,6 @@ impl std::fmt::Debug for LargeLabelFormat { } } -fn flood(source: &LargeLabelFormat, destination: &mut Vec, - x: usize, y: usize, - from_color: u32, to_color: u16) { - let width = source.width; - let destination_color = destination[x + y * width]; - if destination_color != 0 { - return; - } - let source_color = source.buffer[x + y * width]; - if source_color != from_color { - return; - } - destination[x + y * width] = to_color; - if x > 0 { - flood(source, destination, x-1, y, from_color, to_color); - } - if (x+1) < width { - flood(source, destination, x+1, y, from_color, to_color); - } - if y > 0 { - flood(source, destination, x, y-1, from_color, to_color); - } - if (y+1) < source.height { - flood(source, destination, x, y+1, from_color, to_color); - } -} - impl LargeLabelFormat { pub fn compress(&self) -> LabelFormat { let mut label: u16 = 1; -- cgit v1.2.1