docx_reader/documents/elements/
page_size.rs1use crate::types::*;
2
3use serde::Serialize;
4
5#[derive(Debug, Clone, PartialEq, Serialize)]
6#[serde(rename_all = "camelCase")]
7pub struct PageSize {
8 w: u32,
9 h: u32,
10 orient: Option<PageOrientationType>,
11}
12
13impl Default for PageSize {
16 fn default() -> PageSize {
17 PageSize {
18 w: 11906,
19 h: 16838,
20 orient: None,
21 }
22 }
23}
24
25impl PageSize {
26 pub fn new() -> PageSize {
27 Default::default()
28 }
29
30 pub fn size(self, w: u32, h: u32) -> PageSize {
31 PageSize {
32 w,
33 h,
34 orient: self.orient,
35 }
36 }
37
38 pub fn width(mut self, w: u32) -> PageSize {
39 self.w = w;
40 self
41 }
42
43 pub fn height(mut self, h: u32) -> PageSize {
44 self.h = h;
45 self
46 }
47
48 pub fn orient(mut self, o: PageOrientationType) -> PageSize {
49 self.orient = Some(o);
50 self
51 }
52}