geng_ui/widgets/
text.rs

1use super::*;
2
3pub struct Text<T: AsRef<str>, F: AsRef<Font>> {
4    text: T,
5    font: F,
6    size: f32,
7    color: Rgba<f32>,
8}
9
10impl<T: AsRef<str>, F: AsRef<Font>> Text<T, F> {
11    pub fn new(text: T, font: F, size: f32, color: Rgba<f32>) -> Self {
12        Self {
13            text,
14            font,
15            size,
16            color,
17        }
18    }
19}
20
21impl<T: AsRef<str>, F: AsRef<Font>> Widget for Text<T, F> {
22    fn calc_constraints(&mut self, cx: &ConstraintsContext) -> Constraints {
23        calc_text_constraints(self.text.as_ref(), self.font.as_ref(), self.size, cx)
24    }
25    fn draw(&mut self, cx: &mut DrawContext) {
26        draw_text(self.text.as_ref(), self.font.as_ref(), self.color, cx);
27    }
28}