electron_sys/interface/
print_to_pdf_options.rs

1use crate::interface::Size;
2use wasm_bindgen::prelude::*;
3
4#[wasm_bindgen]
5#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialOrd, PartialEq)]
6pub struct PrintToPdfOptions {
7    landscape: Option<bool>,
8    margins_type: Option<usize>,
9    page_size: Option<Size>,
10    print_background: Option<bool>,
11    print_selection_only: Option<bool>,
12}
13
14#[wasm_bindgen]
15impl PrintToPdfOptions {
16    #[wasm_bindgen(constructor)]
17    pub fn new(
18        landscape: Option<bool>,
19        margins_type: Option<usize>,
20        page_size: Option<Size>,
21        print_background: Option<bool>,
22        print_selection_only: Option<bool>,
23    ) -> PrintToPdfOptions {
24        PrintToPdfOptions {
25            landscape,
26            margins_type,
27            page_size,
28            print_background,
29            print_selection_only,
30        }
31    }
32
33    #[wasm_bindgen(getter)]
34    pub fn landscape(&self) -> Option<bool> {
35        self.landscape
36    }
37
38    #[wasm_bindgen(getter, js_name = "marginsType")]
39    pub fn margins_type(&self) -> Option<usize> {
40        self.margins_type
41    }
42
43    #[wasm_bindgen(getter, js_name = "pageSize")]
44    pub fn page_size(&self) -> Option<Size> {
45        self.page_size
46    }
47
48    #[wasm_bindgen(getter, js_name = "printBackground")]
49    pub fn print_background(&self) -> Option<bool> {
50        self.print_background
51    }
52
53    #[wasm_bindgen(getter, js_name = "printSelectionOnly")]
54    pub fn print_selection_only(&self) -> Option<bool> {
55        self.print_selection_only
56    }
57}