Removed justify node

This commit is contained in:
Jurn Wubben 2026-01-24 20:28:29 +01:00
parent 3e6ce77549
commit a6c067ac43
2 changed files with 54 additions and 76 deletions

View file

@ -134,10 +134,6 @@ impl EscPosBuilder {
self.extend(&[0x1B, b'd', amount]) self.extend(&[0x1B, b'd', amount])
} }
pub fn write_justify(&mut self, justify: JustifyOrientation) {
self.extend(&[0x1B, b'a', justify as u8]);
}
pub fn write_text(&mut self, text: &str, text_effect: Option<&[TextEffect]>) -> () { pub fn write_text(&mut self, text: &str, text_effect: Option<&[TextEffect]>) -> () {
let mut buf: Vec<u8> = vec![]; let mut buf: Vec<u8> = vec![];
buf.reserve(12 + text.len()); buf.reserve(12 + text.len());

View file

@ -7,8 +7,6 @@ use std::{error::Error, io::stdin};
mod escpos; mod escpos;
use escpos::{BARTextPosition, BARType, EscPosBuilder, ImageOrientation, QREcc, TextEffect}; use escpos::{BARTextPosition, BARType, EscPosBuilder, ImageOrientation, QREcc, TextEffect};
use crate::escpos::JustifyOrientation;
#[derive(Debug, Deserialize)] #[derive(Debug, Deserialize)]
struct Document { struct Document {
#[serde(rename = "$value")] #[serde(rename = "$value")]
@ -27,9 +25,6 @@ enum Node {
#[serde(rename = "p")] #[serde(rename = "p")]
Text(Text), Text(Text),
#[serde(rename = "justify")]
Justify(Justify),
#[serde(rename = "img")] #[serde(rename = "img")]
Img(Img), Img(Img),
@ -43,15 +38,6 @@ enum Node {
Feed(Feed), Feed(Feed),
} }
#[derive(Debug, Deserialize)]
struct Justify {
#[serde(rename = "@align")]
pub align: JustifyOrientation,
#[serde(rename = "$value")]
pub value: Vec<Node>,
}
#[derive(Debug, Deserialize)] #[derive(Debug, Deserialize)]
struct Heading { struct Heading {
#[serde(rename = "$value")] #[serde(rename = "$value")]
@ -141,7 +127,8 @@ where
Ok(Some(out)) Ok(Some(out))
} }
fn handle_node(node: Node, builder: &mut EscPosBuilder) -> Result<(), Box<dyn Error>> { fn handle_document(doc: Document, builder: &mut EscPosBuilder) -> Result<(), Box<dyn Error>> {
for node in doc.children {
match node { match node {
Node::PlainText(ref t) => { Node::PlainText(ref t) => {
builder.write_text(t.trim(), None); builder.write_text(t.trim(), None);
@ -163,13 +150,7 @@ fn handle_node(node: Node, builder: &mut EscPosBuilder) -> Result<(), Box<dyn Er
builder.write_feed(None); builder.write_feed(None);
} }
Node::Justify(t) => {
builder.write_justify(t.align);
for i in t.value {
handle_node(i, builder)?;
}
builder.write_justify(JustifyOrientation::default());
}
Node::Img(img) => { Node::Img(img) => {
let dynimg = image::open(&img.src)?; let dynimg = image::open(&img.src)?;
builder.write_bitmap(&dynimg, img.orientation); builder.write_bitmap(&dynimg, img.orientation);
@ -190,17 +171,18 @@ fn handle_node(node: Node, builder: &mut EscPosBuilder) -> Result<(), Box<dyn Er
if value.is_empty() { if value.is_empty() {
return Ok(()); return Ok(());
}; };
builder.write_barcode(&value, b.height, b.mod_width, b.text_position, b.bar_type)?; builder.write_barcode(
&value,
b.height,
b.mod_width,
b.text_position,
b.bar_type,
)?;
} }
Node::Feed(f) => { Node::Feed(f) => {
builder.write_feed(f.amount); builder.write_feed(f.amount);
} }
} }
Ok(())
}
fn handle_document(doc: Document, builder: &mut EscPosBuilder) -> Result<(), Box<dyn Error>> {
for node in doc.children {
handle_node(node, builder)?;
} }
Ok(()) Ok(())
} }