const { contextBridge, ipcRenderer } = require("electron"); contextBridge.exposeInMainWorld("api", { select_blend_file: () => { return ipcRenderer.invoke("select-blend-file"); }, get_cameras: (str_path) => { return ipcRenderer.invoke("get-cameras", str_path); }, start_render: (obj_config) => { return ipcRenderer.invoke("start-render", obj_config); }, pause_render: () => { return ipcRenderer.invoke("pause-render"); }, stop_render: () => { return ipcRenderer.invoke("stop-render"); }, save_config: (obj_config) => { return ipcRenderer.invoke("save-config", obj_config); }, load_config: () => { return ipcRenderer.invoke("load-config"); }, select_output_folder: () => { return ipcRenderer.invoke("select-output-folder"); }, read_image: (str_path) => { return ipcRenderer.invoke("read-image", str_path); }, on_render_progress: (fn_callback) => { ipcRenderer.on("render-progress", (event, obj_data) => { fn_callback(obj_data); }); }, on_render_complete: (fn_callback) => { ipcRenderer.on("render-complete", (event, obj_data) => { fn_callback(obj_data); }); }, on_render_error: (fn_callback) => { ipcRenderer.on("render-error", (event, obj_data) => { fn_callback(obj_data); }); }, on_preview_update: (fn_callback) => { ipcRenderer.on("preview-update", (event, str_image_path) => { fn_callback(str_image_path); }); }, on_log: (fn_callback) => { ipcRenderer.on("log", (event, str_message) => { fn_callback(str_message); }); }, });