3 style::{Style, StyledString},
13 pub struct UnderlinedText {
17 pub struct HorizontalLine;
20 pub fn new(text: impl Into<String>, style: Style) -> Self {
22 text: Text::new(StyledString::new(text.into(), style)),
27 impl Element for UnderlinedText {
33 ) -> Result<RenderResult, Error> {
34 let result = self.text.render(context, area.clone(), style)?;
36 Position::new(0.0, result.size.height),
37 Position::new(result.size.width, result.size.height),
39 area.draw_line(points, style);
44 impl Element for HorizontalLine {
50 ) -> Result<RenderResult, Error> {
54 Position::new(s.width, 0.0),
56 area.draw_line(points, style);
57 let mut result = RenderResult::default();
58 result.size.width = s.width;
59 result.size.height = style.line_height(&context.font_cache) * 0.5;