use std::collections::BTreeMap;
#[cfg(feature = "serde")]
use serde::Serialize;
use crate::{
common_types::HexColor,
packaging::relationship::XlsxRelationships,
raw::{
drawing::{
scheme::color_scheme::XlsxColorScheme, text::paragraph::line_break::XlsxTextLineBreak,
},
spreadsheet::workbook::defined_name::XlsxDefinedNames,
},
};
use super::{font::Font, text_run_properties::TextRunProperties};
#[derive(Debug, Clone, PartialEq)]
#[cfg_attr(feature = "serde", derive(Serialize))]
pub struct LineBreak {
pub run_properties: TextRunProperties,
}
impl LineBreak {
pub(crate) fn from_raw(
raw: XlsxTextLineBreak,
default_properties: Option<TextRunProperties>,
drawing_relationship: XlsxRelationships,
defined_names: XlsxDefinedNames,
image_bytes: BTreeMap<String, Vec<u8>>,
color_scheme: Option<XlsxColorScheme>,
ref_font: Option<Font>,
font_ref_color: Option<HexColor>,
) -> Self {
return Self {
run_properties: TextRunProperties::from_raw(
raw.clone().text_run_properties,
default_properties.clone(),
drawing_relationship.clone(),
defined_names.clone(),
image_bytes.clone(),
color_scheme.clone(),
ref_font.clone(),
font_ref_color.clone(),
),
};
}
}