let mut y = 0;
for paragraph in &heading.0 {
// XXX substitute heading variables
- layout.set_markup(¶graph.markup);
+ layout.set_markup(¶graph.text);
layout.set_alignment(horz_align_to_pango(paragraph.align));
layout.set_width(width as i32);
for paragraph in &heading.0 {
w.create_element("vtx:text")
.with_attribute(("text", "title"))
- .write_text_content(BytesText::new(¶graph.markup))?;
+ .write_text_content(BytesText::new(¶graph.text))?;
}
Ok(())
})?;
#[derive(Clone, Debug, PartialEq)]
pub struct Paragraph {
- pub markup: String,
+ pub text: String,
pub align: HorzAlign,
pub font_style: FontStyle,
}
impl Default for Paragraph {
fn default() -> Self {
Self {
- markup: Default::default(),
+ text: Default::default(),
align: HorzAlign::Left,
font_style: FontStyle::default().with_size(10),
}
impl HtmlOutput for Paragraphs {
fn start_paragraph(&mut self, align: HorzAlign) {
- if !self.current.markup.is_empty() {
+ if !self.current.text.is_empty() {
self.end_paragraph();
}
self.current.align = align;
}
fn text(&mut self) -> &mut String {
- &mut self.current.markup
+ &mut self.current.text
}
}
let mut output = Paragraphs::default();
if parse2(input, &mut output, &mut font_style).is_ok() {
- if !output.current.markup.is_empty() {
+ if !output.current.text.is_empty() {
output.end_paragraph();
}
output.finished
} else if !input.is_empty() {
vec![Paragraph {
- markup: input.into(),
+ text: input.into(),
..Paragraph::default()
}]
} else {
r#"<p align="left"><b>bold</b><br><i>italic</i><BR><b><i>bold italic</i></b><br><font color="red" face="Serif">red serif</font><br><font size="7">big</font><br></p>not in a paragraph<p align="right">right justified</p><p align="center">centered</p>trailing"#,
);
dbg!(¶graphs);
+ assert_eq!(paragraphs.len(), 5);
/*
assert_eq!(
paragraph,