-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathpreload.js
More file actions
26 lines (22 loc) · 1.16 KB
/
preload.js
File metadata and controls
26 lines (22 loc) · 1.16 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
const { contextBridge, ipcRenderer } = require('electron')
contextBridge.exposeInMainWorld('AnimaAPI', {
saveProject: (data) => ipcRenderer.send('save-project', data),
openProject: (callback) => ipcRenderer.send('open-project'),
saveExportedFile: (data) => ipcRenderer.send('save-exported-file', data),
sendCrashReport: (report) => ipcRenderer.send('report-crash', report),
sendSpriteSheet: (data) => ipcRenderer.send('save-sprite-sheet', data),
saveGif: (data) => ipcRenderer.send('save-gif', data),
exportFrames: (data) => ipcRenderer.send('export-frames', data),
saveProjectTo: (filePath, data) => ipcRenderer.send('save-project-to', filePath, data),
onProjectLoaded: (callback) => {
ipcRenderer.on('project-loaded', (event, rawData) => callback(rawData));
},
onMenuAction: (actionType, callback) => {
ipcRenderer.removeAllListeners(`menu-${actionType}`);
ipcRenderer.on(`menu-${actionType}`, (event, ...args) => callback(...args));
},
onEvent: (channel, callback) => {
ipcRenderer.removeAllListeners(channel);
ipcRenderer.on(channel, (event, ...args) => callback(...args));
}
});