electron_sys/interface/
print_to_pdf_options.rs1use 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}