summaryrefslogtreecommitdiffstats
path: root/native/src/renderer/text.rs
blob: 5c189d89ce96b1f1447136a8a6292be7923aa084 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
use crate::alignment;
use crate::{Color, Rectangle, Renderer};

pub trait Text: Renderer {
    /// The font type used.
    type Font: Default + Copy;

    fn fill_text(&mut self, section: Section<'_, Self::Font>);
}

#[derive(Debug, Clone, Copy)]
pub struct Section<'a, Font> {
    pub content: &'a str,
    pub bounds: Rectangle,
    pub size: Option<f32>,
    pub color: Option<Color>,
    pub font: Font,
    pub horizontal_alignment: alignment::Horizontal,
    pub vertical_alignment: alignment::Vertical,
}