#[cfg(feature = "serde")]
use serde::Serialize;
use crate::raw::drawing::fill::fill_rectangle::XlsxFillRectangle;
use crate::raw::drawing::st_types::st_percentage_to_float;
#[cfg_attr(feature = "serde", derive(Serialize))]
#[derive(Debug, PartialEq, PartialOrd, Clone)]
pub struct FillRectangle {
pub bottom_offset: f64,
pub left_offset: f64,
pub right_offset: f64,
pub top_offset: f64,
}
impl FillRectangle {
pub(crate) fn default() -> Self {
return Self {
bottom_offset: 0.0,
left_offset: 0.0,
right_offset: 0.0,
top_offset: 0.0,
};
}
pub(crate) fn from_raw(raw_rect: Option<XlsxFillRectangle>) -> Self {
let Some(raw_rect) = raw_rect else {
return Self::default();
};
return Self {
bottom_offset: st_percentage_to_float(raw_rect.b.unwrap_or(0)),
left_offset: st_percentage_to_float(raw_rect.l.unwrap_or(0)),
right_offset: st_percentage_to_float(raw_rect.r.unwrap_or(0)),
top_offset: st_percentage_to_float(raw_rect.t.unwrap_or(0)),
};
}
}