use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct BadgeConfig {
#[serde(default = "crate::defaults::bool_false")]
pub badge_enabled: bool,
#[serde(default = "crate::defaults::badge_format")]
pub badge_format: String,
#[serde(default = "crate::defaults::badge_color")]
pub badge_color: [u8; 3],
#[serde(default = "crate::defaults::badge_color_alpha")]
pub badge_color_alpha: f32,
#[serde(default = "crate::defaults::badge_font")]
pub badge_font: String,
#[serde(default = "crate::defaults::bool_true")]
pub badge_font_bold: bool,
#[serde(default = "crate::defaults::badge_top_margin")]
pub badge_top_margin: f32,
#[serde(default = "crate::defaults::badge_right_margin")]
pub badge_right_margin: f32,
#[serde(default = "crate::defaults::badge_max_width")]
pub badge_max_width: f32,
#[serde(default = "crate::defaults::badge_max_height")]
pub badge_max_height: f32,
}
impl Default for BadgeConfig {
fn default() -> Self {
Self {
badge_enabled: crate::defaults::bool_false(),
badge_format: crate::defaults::badge_format(),
badge_color: crate::defaults::badge_color(),
badge_color_alpha: crate::defaults::badge_color_alpha(),
badge_font: crate::defaults::badge_font(),
badge_font_bold: crate::defaults::bool_true(),
badge_top_margin: crate::defaults::badge_top_margin(),
badge_right_margin: crate::defaults::badge_right_margin(),
badge_max_width: crate::defaults::badge_max_width(),
badge_max_height: crate::defaults::badge_max_height(),
}
}
}