docx_reader/documents/elements/
doc_defaults.rs1use 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}