Initial Commit
This commit is contained in:
73
preload.cjs
Normal file
73
preload.cjs
Normal file
@@ -0,0 +1,73 @@
|
||||
const { contextBridge, ipcRenderer } = require('electron');
|
||||
|
||||
contextBridge.exposeInMainWorld('api', {
|
||||
// Konfiguration
|
||||
getConfig: () => ipcRenderer.invoke('get-config'),
|
||||
getPages: () => ipcRenderer.invoke('get-pages'),
|
||||
getCurrentPage: () => ipcRenderer.invoke('get-current-page'),
|
||||
getDeviceStatus: () => ipcRenderer.invoke('get-device-status'),
|
||||
|
||||
// Button-Konfig
|
||||
setButtonConfig: (pageIndex, buttonIndex, config) =>
|
||||
ipcRenderer.invoke('set-button-config', { pageIndex, buttonIndex, config }),
|
||||
resetButtonConfig: (pageIndex, buttonIndex) =>
|
||||
ipcRenderer.invoke('reset-button-config', { pageIndex, buttonIndex }),
|
||||
swapButtonConfigs: (pageIndex, sourceIndex, targetIndex) =>
|
||||
ipcRenderer.invoke('swap-button-configs', { pageIndex, sourceIndex, targetIndex }),
|
||||
|
||||
// Knob-Konfiguration
|
||||
setKnobConfig: (knobIndex, config) =>
|
||||
ipcRenderer.invoke('set-knob-config', { knobIndex, config }),
|
||||
resetKnobConfig: (knobIndex) =>
|
||||
ipcRenderer.invoke('reset-knob-config', { knobIndex }),
|
||||
|
||||
// Circle-Button-Konfig
|
||||
setCircleButtonConfig: (index, config) =>
|
||||
ipcRenderer.invoke('set-circle-button-config', { index, config }),
|
||||
|
||||
// Seitenverwaltung
|
||||
addPage: () => ipcRenderer.invoke('add-page'),
|
||||
deletePage: (pageIndex) => ipcRenderer.invoke('delete-page', pageIndex),
|
||||
renamePage: (pageIndex, name) => ipcRenderer.invoke('rename-page', { pageIndex, name }),
|
||||
switchPage: (pageIndex) => ipcRenderer.invoke('switch-page', pageIndex),
|
||||
setPageFocusConfig: (pageIndex, config) =>
|
||||
ipcRenderer.invoke('set-page-focus-config', { pageIndex, config }),
|
||||
|
||||
// Rendering
|
||||
renderPage: () => ipcRenderer.invoke('render-page'),
|
||||
|
||||
// Datei-Operationen
|
||||
selectImage: () => ipcRenderer.invoke('select-image'),
|
||||
readImageData: (filePath) => ipcRenderer.invoke('read-image-data', filePath),
|
||||
exportConfig: () => ipcRenderer.invoke('export-config'),
|
||||
importConfig: () => ipcRenderer.invoke('import-config'),
|
||||
|
||||
// Geraet
|
||||
reconnectDevice: () => ipcRenderer.invoke('reconnect-device'),
|
||||
setSetting: (key, value) => ipcRenderer.invoke('set-setting', { key, value }),
|
||||
|
||||
// Fenstersteuerung
|
||||
minimizeWindow: () => ipcRenderer.invoke('window-minimize'),
|
||||
maximizeWindow: () => ipcRenderer.invoke('window-maximize'),
|
||||
closeWindow: () => ipcRenderer.invoke('window-close'),
|
||||
|
||||
// Event-Listener
|
||||
onDeviceStatus: (callback) => {
|
||||
ipcRenderer.on('device-status', (event, data) => callback(data));
|
||||
},
|
||||
onButtonPress: (callback) => {
|
||||
ipcRenderer.on('button-press', (event, data) => callback(data));
|
||||
},
|
||||
onKnobRotate: (callback) => {
|
||||
ipcRenderer.on('knob-rotate', (event, data) => callback(data));
|
||||
},
|
||||
onPageChanged: (callback) => {
|
||||
ipcRenderer.on('page-changed', (event, data) => callback(data));
|
||||
},
|
||||
onMetricUpdate: (callback) => {
|
||||
ipcRenderer.on('metric-update', (event, data) => callback(data));
|
||||
},
|
||||
onButtonToggle: (callback) => {
|
||||
ipcRenderer.on('button-toggle', (event, data) => callback(data));
|
||||
}
|
||||
});
|
||||
Reference in New Issue
Block a user