electron_sys/module/
clipboard.rs

1use crate::{
2    class::NativeImage,
3    interface::{Data, ReadBookmark},
4};
5use js_sys::JsString;
6use node_sys::Buffer;
7use wasm_bindgen::prelude::*;
8
9#[wasm_bindgen(module = "electron")]
10extern {
11    #[wasm_bindgen]
12    pub type Clipboard;
13
14    pub static clipboard: Clipboard;
15
16    //******************//
17    // Instance Methods //
18    //******************//
19
20    #[wasm_bindgen(method, js_name = "availableFormats")]
21    pub fn available_formats(this: &Clipboard, r#type: Option<&str>) -> Box<[JsValue]>;
22
23    #[wasm_bindgen(method)]
24    pub fn clear(this: &Clipboard, r#type: Option<&str>);
25
26    #[wasm_bindgen(method)]
27    pub fn has(this: &Clipboard, format: &str, r#type: Option<&str>) -> bool;
28
29    #[wasm_bindgen(method)]
30    pub fn read(this: &Clipboard, format: &str) -> JsString;
31
32    #[wasm_bindgen(method, js_name = "readBookmark")]
33    pub fn read_bookmark(this: &Clipboard) -> ReadBookmark;
34
35    #[wasm_bindgen(method, js_name = "readBuffer")]
36    pub fn read_buffer(this: &Clipboard) -> Buffer;
37
38    #[wasm_bindgen(method, js_name = "readFindText")]
39    pub fn read_find_text(this: &Clipboard) -> JsString;
40
41    #[wasm_bindgen(method, js_name = "readHTML")]
42    pub fn read_html(this: &Clipboard, kind: &str) -> JsString;
43
44    #[wasm_bindgen(method, js_name = "readImage")]
45    pub fn read_image(this: &Clipboard, kind: &str) -> NativeImage;
46
47    #[wasm_bindgen(method, js_name = "readRTF")]
48    pub fn read_rtf(this: &Clipboard, kind: &str) -> JsString;
49
50    #[wasm_bindgen(method, js_name = "readText")]
51    pub fn read_text(this: &Clipboard, kind: &str) -> JsString;
52
53    #[wasm_bindgen(method)]
54    pub fn write(this: &Clipboard, data: Data, kind: &str);
55
56    #[wasm_bindgen(method, js_name = "writeBookmark")]
57    pub fn write_bookmark(this: &Clipboard, title: &str, url: &str, kind: Option<&str>);
58
59    #[wasm_bindgen(method, js_name = "writeBuffer")]
60    pub fn write_buffer(this: &Clipboard, format: &str, buffer: &Buffer, kind: Option<&str>);
61
62    #[wasm_bindgen(method, js_name = "writeFindText")]
63    pub fn write_find_text(this: &Clipboard, text: &str);
64
65    #[wasm_bindgen(method, js_name = "writeHTML")]
66    pub fn write_html(this: &Clipboard, markup: &str, kind: &str);
67
68    #[wasm_bindgen(method, js_name = "writeImage")]
69    pub fn write_image(this: &Clipboard, image: &NativeImage, kind: &str);
70
71    #[wasm_bindgen(method, js_name = "writeRTF")]
72    pub fn write_rtf(this: &Clipboard, text: &str, kind: &str);
73
74    #[wasm_bindgen(method, js_name = "writeText")]
75    pub fn write_text(this: &Clipboard, text: &str, kind: &str);
76}