electron_sys/module/
native_image.rs

1use crate::{
2    class::NativeImage,
3    interface::{CreateFromBitmapOptions, CreateFromBufferOptions},
4};
5use node_sys::Buffer;
6use wasm_bindgen::prelude::*;
7
8#[wasm_bindgen(module = "electron")]
9extern {
10    #[wasm_bindgen]
11    pub type NativeImageModule;
12
13    #[wasm_bindgen(js_name = "nativeImage")]
14    pub static native_image: NativeImageModule;
15
16    #[wasm_bindgen(method, js_name = "createEmpty")]
17    pub fn create_empty(this: &NativeImageModule) -> NativeImage;
18
19    #[wasm_bindgen(method, js_name = "createFromBitmap")]
20    pub fn create_from_bitmap(
21        this: &NativeImageModule,
22        buffer: &Buffer,
23        options: CreateFromBitmapOptions,
24    ) -> NativeImage;
25
26    #[wasm_bindgen(method, js_name = "createFromBuffer")]
27    pub fn create_from_buffer(
28        this: &NativeImageModule,
29        buffer: &Buffer,
30        options: Option<CreateFromBufferOptions>,
31    ) -> NativeImage;
32
33    #[wasm_bindgen(method, js_name = "createFromDataURL")]
34    pub fn create_from_data_url(this: &NativeImageModule, data_url: &str) -> NativeImage;
35
36    #[wasm_bindgen(method, js_name = "createFromNamedImage")]
37    pub fn create_from_named_image(
38        this: &NativeImageModule,
39        image_name: &str,
40        hsl_shift: Option<Box<[JsValue]>>,
41    ) -> NativeImage;
42
43    #[wasm_bindgen(method, js_name = "createFromPath")]
44    pub fn create_from_path(this: &NativeImageModule, path: &str) -> NativeImage;
45}