#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
pub struct Typography {
pub font_families: ::std::option::Option<::std::vec::Vec<crate::types::Font>>,
pub axis_title_font_configuration: ::std::option::Option<crate::types::FontConfiguration>,
pub axis_label_font_configuration: ::std::option::Option<crate::types::FontConfiguration>,
pub legend_title_font_configuration: ::std::option::Option<crate::types::FontConfiguration>,
pub legend_value_font_configuration: ::std::option::Option<crate::types::FontConfiguration>,
pub data_label_font_configuration: ::std::option::Option<crate::types::FontConfiguration>,
pub visual_title_font_configuration: ::std::option::Option<crate::types::VisualTitleFontConfiguration>,
pub visual_subtitle_font_configuration: ::std::option::Option<crate::types::VisualSubtitleFontConfiguration>,
}
impl Typography {
pub fn font_families(&self) -> &[crate::types::Font] {
self.font_families.as_deref().unwrap_or_default()
}
pub fn axis_title_font_configuration(&self) -> ::std::option::Option<&crate::types::FontConfiguration> {
self.axis_title_font_configuration.as_ref()
}
pub fn axis_label_font_configuration(&self) -> ::std::option::Option<&crate::types::FontConfiguration> {
self.axis_label_font_configuration.as_ref()
}
pub fn legend_title_font_configuration(&self) -> ::std::option::Option<&crate::types::FontConfiguration> {
self.legend_title_font_configuration.as_ref()
}
pub fn legend_value_font_configuration(&self) -> ::std::option::Option<&crate::types::FontConfiguration> {
self.legend_value_font_configuration.as_ref()
}
pub fn data_label_font_configuration(&self) -> ::std::option::Option<&crate::types::FontConfiguration> {
self.data_label_font_configuration.as_ref()
}
pub fn visual_title_font_configuration(&self) -> ::std::option::Option<&crate::types::VisualTitleFontConfiguration> {
self.visual_title_font_configuration.as_ref()
}
pub fn visual_subtitle_font_configuration(&self) -> ::std::option::Option<&crate::types::VisualSubtitleFontConfiguration> {
self.visual_subtitle_font_configuration.as_ref()
}
}
impl Typography {
pub fn builder() -> crate::types::builders::TypographyBuilder {
crate::types::builders::TypographyBuilder::default()
}
}
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
#[non_exhaustive]
pub struct TypographyBuilder {
pub(crate) font_families: ::std::option::Option<::std::vec::Vec<crate::types::Font>>,
pub(crate) axis_title_font_configuration: ::std::option::Option<crate::types::FontConfiguration>,
pub(crate) axis_label_font_configuration: ::std::option::Option<crate::types::FontConfiguration>,
pub(crate) legend_title_font_configuration: ::std::option::Option<crate::types::FontConfiguration>,
pub(crate) legend_value_font_configuration: ::std::option::Option<crate::types::FontConfiguration>,
pub(crate) data_label_font_configuration: ::std::option::Option<crate::types::FontConfiguration>,
pub(crate) visual_title_font_configuration: ::std::option::Option<crate::types::VisualTitleFontConfiguration>,
pub(crate) visual_subtitle_font_configuration: ::std::option::Option<crate::types::VisualSubtitleFontConfiguration>,
}
impl TypographyBuilder {
pub fn font_families(mut self, input: crate::types::Font) -> Self {
let mut v = self.font_families.unwrap_or_default();
v.push(input);
self.font_families = ::std::option::Option::Some(v);
self
}
pub fn set_font_families(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::Font>>) -> Self {
self.font_families = input;
self
}
pub fn get_font_families(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::Font>> {
&self.font_families
}
pub fn axis_title_font_configuration(mut self, input: crate::types::FontConfiguration) -> Self {
self.axis_title_font_configuration = ::std::option::Option::Some(input);
self
}
pub fn set_axis_title_font_configuration(mut self, input: ::std::option::Option<crate::types::FontConfiguration>) -> Self {
self.axis_title_font_configuration = input;
self
}
pub fn get_axis_title_font_configuration(&self) -> &::std::option::Option<crate::types::FontConfiguration> {
&self.axis_title_font_configuration
}
pub fn axis_label_font_configuration(mut self, input: crate::types::FontConfiguration) -> Self {
self.axis_label_font_configuration = ::std::option::Option::Some(input);
self
}
pub fn set_axis_label_font_configuration(mut self, input: ::std::option::Option<crate::types::FontConfiguration>) -> Self {
self.axis_label_font_configuration = input;
self
}
pub fn get_axis_label_font_configuration(&self) -> &::std::option::Option<crate::types::FontConfiguration> {
&self.axis_label_font_configuration
}
pub fn legend_title_font_configuration(mut self, input: crate::types::FontConfiguration) -> Self {
self.legend_title_font_configuration = ::std::option::Option::Some(input);
self
}
pub fn set_legend_title_font_configuration(mut self, input: ::std::option::Option<crate::types::FontConfiguration>) -> Self {
self.legend_title_font_configuration = input;
self
}
pub fn get_legend_title_font_configuration(&self) -> &::std::option::Option<crate::types::FontConfiguration> {
&self.legend_title_font_configuration
}
pub fn legend_value_font_configuration(mut self, input: crate::types::FontConfiguration) -> Self {
self.legend_value_font_configuration = ::std::option::Option::Some(input);
self
}
pub fn set_legend_value_font_configuration(mut self, input: ::std::option::Option<crate::types::FontConfiguration>) -> Self {
self.legend_value_font_configuration = input;
self
}
pub fn get_legend_value_font_configuration(&self) -> &::std::option::Option<crate::types::FontConfiguration> {
&self.legend_value_font_configuration
}
pub fn data_label_font_configuration(mut self, input: crate::types::FontConfiguration) -> Self {
self.data_label_font_configuration = ::std::option::Option::Some(input);
self
}
pub fn set_data_label_font_configuration(mut self, input: ::std::option::Option<crate::types::FontConfiguration>) -> Self {
self.data_label_font_configuration = input;
self
}
pub fn get_data_label_font_configuration(&self) -> &::std::option::Option<crate::types::FontConfiguration> {
&self.data_label_font_configuration
}
pub fn visual_title_font_configuration(mut self, input: crate::types::VisualTitleFontConfiguration) -> Self {
self.visual_title_font_configuration = ::std::option::Option::Some(input);
self
}
pub fn set_visual_title_font_configuration(mut self, input: ::std::option::Option<crate::types::VisualTitleFontConfiguration>) -> Self {
self.visual_title_font_configuration = input;
self
}
pub fn get_visual_title_font_configuration(&self) -> &::std::option::Option<crate::types::VisualTitleFontConfiguration> {
&self.visual_title_font_configuration
}
pub fn visual_subtitle_font_configuration(mut self, input: crate::types::VisualSubtitleFontConfiguration) -> Self {
self.visual_subtitle_font_configuration = ::std::option::Option::Some(input);
self
}
pub fn set_visual_subtitle_font_configuration(mut self, input: ::std::option::Option<crate::types::VisualSubtitleFontConfiguration>) -> Self {
self.visual_subtitle_font_configuration = input;
self
}
pub fn get_visual_subtitle_font_configuration(&self) -> &::std::option::Option<crate::types::VisualSubtitleFontConfiguration> {
&self.visual_subtitle_font_configuration
}
pub fn build(self) -> crate::types::Typography {
crate::types::Typography {
font_families: self.font_families,
axis_title_font_configuration: self.axis_title_font_configuration,
axis_label_font_configuration: self.axis_label_font_configuration,
legend_title_font_configuration: self.legend_title_font_configuration,
legend_value_font_configuration: self.legend_value_font_configuration,
data_label_font_configuration: self.data_label_font_configuration,
visual_title_font_configuration: self.visual_title_font_configuration,
visual_subtitle_font_configuration: self.visual_subtitle_font_configuration,
}
}
}