1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
use std::fmt;

use minimad::Line;

use crate::skin::MadSkin;

pub struct FormattedLine<'s, 'l> {
    pub skin: &'s MadSkin,
    pub line: Line<'l>,
}

impl<'s, 'l> FormattedLine<'s, 'l> {
    pub fn new(skin: &'s MadSkin, text: &'l str) -> FormattedLine<'s, 'l> {
        FormattedLine {
            skin,
            line: Line::from(text),
        }
    }
}

impl fmt::Display for FormattedLine<'_, '_> {
    fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
        self.skin.fmt_line(f, &self.line)
    }
}