summaryrefslogblamecommitdiffstats
path: root/style/src/text.rs
blob: d5a16bef62c35a337ac2cfaeb39cc0b9bb16c585 (plain) (tree)
1
2
3
4
5
6
7
8
9
                                  
                       
 
                                 
                      
                                                  

                               
                                                 


                                                           
                               
                                      
                       


                                                             

                             
//! Change the appearance of text.
use crate::core::Color;

/// The style sheet of some text.
pub trait StyleSheet {
    /// The supported style of the [`StyleSheet`].
    type Style: Default + Copy;

    /// Produces the [`Appearance`] of some text.
    fn appearance(&self, style: Self::Style) -> Appearance;
}

/// The apperance of some text.
#[derive(Debug, Clone, Copy, Default)]
pub struct Appearance {
    /// The [`Color`] of the text.
    ///
    /// The default, `None`, means using the inherited color.
    pub color: Option<Color>,
}