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}