use crate::constants::*;
#[derive(Clone)]
pub struct StyleSpec {
pub font_size: u32,
pub font_family: String,
pub text_color: Option<String>,
pub background_color: Option<String>,
}
impl Default for StyleSpec {
fn default() -> Self {
StyleSpec {
font_size: DEFAULT_STYLE_FONT_SIZE,
font_family: DEFAULT_STYLE_FONT_FAMILY.into(),
text_color: Some(DEFAULT_STYLE_TEXT_COLOR.into()),
background_color: Some(DEFAULT_STYLE_BACKGROUND_COLOR.into()),
}
}
}
pub(crate) fn extract_style_primitives(style: &StyleSpec) -> (u32, &str, &str, &str) {
(
style.font_size,
&style.font_family,
style
.text_color
.as_deref()
.unwrap_or(DEFAULT_STYLE_TEXT_COLOR),
style
.background_color
.as_deref()
.unwrap_or(DEFAULT_STYLE_BACKGROUND_COLOR),
)
}