Skip to main content

ansiq_widgets/
text.rs

1use ansiq_core::{Element, ElementKind, Layout, Style, TextProps};
2
3pub struct Text<Message = ()> {
4    element: Element<Message>,
5}
6
7impl<Message> Text<Message> {
8    pub fn new(content: impl Into<String>) -> Self {
9        Self {
10            element: Element::new(ElementKind::Text(TextProps {
11                content: content.into(),
12            })),
13        }
14    }
15
16    pub fn style(mut self, style: Style) -> Self {
17        self.element.style = style;
18        self
19    }
20
21    pub fn layout(mut self, layout: Layout) -> Self {
22        self.element.layout = layout;
23        self
24    }
25
26    pub fn build(self) -> Element<Message> {
27        self.element
28    }
29}