docx_reader/documents/elements/
doc_defaults.rs

1use serde::Serialize;
2
3use crate::RunProperty;
4
5use super::run_property_default::*;
6use super::RunFonts;
7
8#[derive(Debug, Clone, PartialEq, Serialize)]
9#[serde(rename_all = "camelCase")]
10pub struct DocDefaults {
11	run_property_default: RunPropertyDefault,
12}
13
14impl DocDefaults {
15	pub fn new() -> DocDefaults {
16		Default::default()
17	}
18
19	pub fn size(mut self, size: usize) -> Self {
20		self.run_property_default = self.run_property_default.size(size);
21		self
22	}
23
24	pub fn spacing(mut self, spacing: i32) -> Self {
25		self.run_property_default = self.run_property_default.spacing(spacing);
26		self
27	}
28
29	pub fn fonts(mut self, font: RunFonts) -> Self {
30		self.run_property_default = self.run_property_default.fonts(font);
31		self
32	}
33
34	pub(crate) fn run_property(mut self, p: RunProperty) -> Self {
35		self.run_property_default = self.run_property_default.run_property(p);
36		self
37	}
38}
39
40impl Default for DocDefaults {
41	fn default() -> Self {
42		let run_property_default = RunPropertyDefault::new();
43		DocDefaults {
44			run_property_default,
45		}
46	}
47}