electron_sys/module/
clipboard.rs1use 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 #[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}