UNPKG

logitech-brio-zoom-control

Version:

Cross-platform native library for controlling Logitech MX Brio camera zoom with 4K video support in Electron applications

29 lines (24 loc) 1.34 kB
// Electron Preload Script // Save as: preload.js const { contextBridge, ipcRenderer } = require('electron'); // Expose protected methods that allow the renderer process to use // the ipcRenderer without exposing the entire object contextBridge.exposeInMainWorld('cameraAPI', { // Device management discoverDevices: () => ipcRenderer.invoke('camera:discover'), initializeDevice: (deviceId) => ipcRenderer.invoke('camera:initialize', deviceId), initializeFirstDevice: () => ipcRenderer.invoke('camera:initialize-first'), releaseDevice: () => ipcRenderer.invoke('camera:release'), // Zoom control getZoomCapabilities: () => ipcRenderer.invoke('camera:zoom:capabilities'), setZoomAbsolute: (zoomValue) => ipcRenderer.invoke('camera:zoom:set-absolute', zoomValue), setZoomRelative: (zoomDelta) => ipcRenderer.invoke('camera:zoom:set-relative', zoomDelta), getZoomValue: () => ipcRenderer.invoke('camera:zoom:get'), // Convenience methods zoomIn: (amount) => ipcRenderer.invoke('camera:zoom:in', amount), zoomOut: (amount) => ipcRenderer.invoke('camera:zoom:out', amount), resetZoom: () => ipcRenderer.invoke('camera:zoom:reset'), maxZoom: () => ipcRenderer.invoke('camera:zoom:max'), // Library info getLibraryInfo: () => ipcRenderer.invoke('library:info') });