From ffa562d252085ebf83fad56022bea998932ffe75 Mon Sep 17 00:00:00 2001 From: Jurn Wubben Date: Sat, 24 Jan 2026 21:10:31 +0100 Subject: [PATCH] Added defaults --- src/escpos.rs | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/src/escpos.rs b/src/escpos.rs index 93fc910..4532580 100644 --- a/src/escpos.rs +++ b/src/escpos.rs @@ -13,35 +13,39 @@ pub enum EscPosError { } #[repr(u8)] -#[derive(Debug, Deserialize)] +#[derive(Debug, Deserialize, Default)] #[serde(rename_all = "lowercase")] pub enum QREcc { Low = 48, + #[default] Medium = 49, Quartile = 50, High = 51, } #[repr(u8)] -#[derive(Debug, Deserialize)] +#[derive(Debug, Deserialize, Default)] #[serde(rename_all = "lowercase")] pub enum BARTextPosition { Hidden = 0, Above = 1, + #[default] Below = 2, Both = 3, } #[repr(u8)] -#[derive(Debug, Deserialize)] +#[derive(Debug, Deserialize, Default)] #[serde(rename_all = "lowercase")] pub enum BARType { + #[default] Code128 = 0x49, Ean13 = 0x43, Upca = 0x41, } -#[derive(Debug, Deserialize)] +#[derive(Debug, Deserialize, Default)] #[serde(rename_all = "lowercase")] pub enum ImageOrientation { + #[default] Preserve, Largest, LargestOrientation, @@ -155,7 +159,7 @@ impl EscPosBuilder { img: &DynamicImage, orientation: Option, ) -> () { - let orientation = orientation.unwrap_or(ImageOrientation::Preserve); + let orientation = orientation.unwrap_or_default(); let mw = self.max_width as u32; let mut image = img.clone(); @@ -207,7 +211,7 @@ impl EscPosBuilder { pub fn write_qr(&mut self, text: &str, size: Option, ecc: Option) -> () { let mut buf: Vec = vec![]; - let ecc = ecc.unwrap_or(QREcc::Medium); + let ecc = ecc.unwrap_or_default(); let size = match size { Some(v) => v.clamp(6, 15), None => 10, @@ -259,8 +263,8 @@ impl EscPosBuilder { ) -> Result<(), EscPosError> { let height: u8 = height.unwrap_or(80); let mod_width: u8 = mod_width.unwrap_or(2); - let text_position = text_position.unwrap_or(BARTextPosition::Below) as u8; - let bar_type = bar_type.unwrap_or(BARType::Code128); + let text_position = text_position.unwrap_or_default() as u8; + let bar_type = bar_type.unwrap_or_default(); let text = text.as_bytes(); let len = text.len() as u8;