use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct FontConfig {
#[serde(rename = "bold", skip_serializing_if = "Option::is_none")]
pub bold: Option<bool>,
#[serde(rename = "color", skip_serializing_if = "Option::is_none")]
pub color: Option<Box<models::ThemeColor>>,
#[serde(rename = "family", skip_serializing_if = "Option::is_none")]
pub family: Option<Family>,
#[serde(rename = "fontSize", skip_serializing_if = "Option::is_none")]
pub font_size: Option<i32>,
#[serde(rename = "italic", skip_serializing_if = "Option::is_none")]
pub italic: Option<bool>,
}
impl FontConfig {
pub fn new() -> FontConfig {
FontConfig {
bold: None,
color: None,
family: None,
font_size: None,
italic: None,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Family {
#[serde(rename = "PAGE_THEME_FONT_FAMILY_UNSPECIFIED")]
PageThemeFontFamilyUnspecified,
#[serde(rename = "PAGE_THEME_FONT_FAMILY_DEFAULT")]
PageThemeFontFamilyDefault,
#[serde(rename = "PAGE_THEME_FONT_FAMILY_ARIAL")]
PageThemeFontFamilyArial,
#[serde(rename = "PAGE_THEME_FONT_FAMILY_HELVETICA")]
PageThemeFontFamilyHelvetica,
#[serde(rename = "PAGE_THEME_FONT_FAMILY_VERDANA")]
PageThemeFontFamilyVerdana,
#[serde(rename = "PAGE_THEME_FONT_FAMILY_GEORGIA")]
PageThemeFontFamilyGeorgia,
#[serde(rename = "PAGE_THEME_FONT_FAMILY_TIMES_NEW_ROMAN")]
PageThemeFontFamilyTimesNewRoman,
#[serde(rename = "PAGE_THEME_FONT_FAMILY_COURIER_NEW")]
PageThemeFontFamilyCourierNew,
}
impl Default for Family {
fn default() -> Family {
Self::PageThemeFontFamilyUnspecified
}
}