e76d88e0c7
Import the existing Electron + React + TypeScript app as the version-control baseline before the scanner rework (C# input/capture sidecar, resolution-anchored layout profiles, OCR preprocessing, eval harness, rescan-merge, GOOD interop). Housekeeping in this commit: - Remove orphaned temp_inputhelper_block.ts (duplicate of the input-helper script). - Ignore .claude/scheduled_tasks.lock local session state. - Add .gitattributes to normalize line endings (LF in repo). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
27 lines
1.4 KiB
TypeScript
27 lines
1.4 KiB
TypeScript
import { ipcMain } from "electron";
|
|
import type { CaptureOptions, CaptureResult, CaptureSourceInfo, ClickResult, ScrollResult, AutomationGuard } from "../../src/types/global.js";
|
|
|
|
interface CaptureCommandDependencies {
|
|
listSources: () => Promise<CaptureSourceInfo[]>;
|
|
captureSource: (sourceId: string, delayMs?: number, focusGenshin?: boolean, options?: CaptureOptions) => Promise<CaptureResult>;
|
|
clickScreen: (x: number, y: number) => Promise<ClickResult>;
|
|
scrollScreen: (notches: number, anchorX?: number, anchorY?: number) => Promise<ScrollResult>;
|
|
getAutomationGuard: () => Promise<AutomationGuard>;
|
|
}
|
|
|
|
export function registerCaptureHandlers({
|
|
listSources,
|
|
captureSource,
|
|
clickScreen,
|
|
scrollScreen,
|
|
getAutomationGuard,
|
|
}: CaptureCommandDependencies) {
|
|
ipcMain.handle("capture:listSources", async () => listSources());
|
|
ipcMain.handle("capture:captureSource", async (_event, sourceId: string, delayMs = 0, focusGenshin = false, options?: CaptureOptions) => {
|
|
return captureSource(sourceId, delayMs, focusGenshin, options);
|
|
});
|
|
ipcMain.handle("automation:clickScreen", async (_event, x: number, y: number) => clickScreen(x, y));
|
|
ipcMain.handle("automation:scrollScreen", async (_event, notches: number, anchorX?: number, anchorY?: number) => scrollScreen(notches, anchorX, anchorY));
|
|
ipcMain.handle("automation:getGuard", async () => getAutomationGuard());
|
|
}
|