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); }, check_queue: (obj_config) => { return ipcRenderer.invoke("check-queue", 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); }); }, get_blender_path: () => { return ipcRenderer.invoke("get-blender-path"); }, set_blender_path: (str_path) => { return ipcRenderer.invoke("set-blender-path", str_path); }, select_blender_exe: () => { return ipcRenderer.invoke("select-blender-exe"); }, on_blender_path_status: (fn_callback) => { ipcRenderer.on("blender-path-status", (event, obj_data) => { fn_callback(obj_data); }); }, get_notification_config: () => { return ipcRenderer.invoke("get-notification-config"); }, set_notification_config: (obj_config) => { return ipcRenderer.invoke("set-notification-config", obj_config); }, check_for_updates: () => { return ipcRenderer.invoke("check-for-updates"); }, apply_update: (str_tag_name) => { return ipcRenderer.invoke("apply-update", str_tag_name); }, on_update_available: (fn_callback) => { ipcRenderer.on("update-available", (event, obj_data) => { fn_callback(obj_data); }); }, on_update_progress: (fn_callback) => { ipcRenderer.on("update-progress", (event, obj_data) => { fn_callback(obj_data); }); }, on_update_error: (fn_callback) => { ipcRenderer.on("update-error", (event, obj_data) => { fn_callback(obj_data); }); }, });