docx_reader/documents/elements/
page_margin.rs

1use crate::types::PageMargin;
2
3// These values were based on microsoft office word2019 windows edition.
4// <w:pgMar w:top="1985" w:right="1701" w:bottom="1701" w:left="1701" w:header="851" w:footer="992" w:gutter="0"/>
5impl Default for PageMargin {
6	fn default() -> PageMargin {
7		PageMargin {
8			top: 1985,
9			left: 1701,
10			bottom: 1701,
11			right: 1701,
12			header: 851,
13			footer: 992,
14			gutter: 0,
15		}
16	}
17}
18
19impl PageMargin {
20	pub fn new() -> PageMargin {
21		Default::default()
22	}
23
24	pub fn top(self, v: i32) -> PageMargin {
25		PageMargin { top: v, ..self }
26	}
27
28	pub fn left(self, v: i32) -> PageMargin {
29		PageMargin { left: v, ..self }
30	}
31
32	pub fn bottom(self, v: i32) -> PageMargin {
33		PageMargin { bottom: v, ..self }
34	}
35
36	pub fn right(self, v: i32) -> PageMargin {
37		PageMargin { right: v, ..self }
38	}
39
40	pub fn header(self, v: i32) -> PageMargin {
41		PageMargin { header: v, ..self }
42	}
43
44	pub fn footer(self, v: i32) -> PageMargin {
45		PageMargin { footer: v, ..self }
46	}
47
48	pub fn gutter(self, v: i32) -> PageMargin {
49		PageMargin { gutter: v, ..self }
50	}
51}