/** * 手写签名画布引擎 * * 设计要点: * 1. 矢量优先:笔画以「CSS 像素点集」保存(strokes),而不是像素快照 —— 撤销、容器尺寸变化后重绘都无损。 * 点坐标与 DPR 解耦,重绘时统一 setTransform(dpr, ...) 映射到设备像素。 * 2. 位图兼容:外部经 v-model 传入的签名图作为「底图」(loadedImage) 独立存放,不占用撤销栈。 * 3. 重绘策略:落笔期间每帧整幅重绘(rAF 合帧)。签名点数量级很小,整幅重绘能保证增量与全量像素 * 完全一致,避免"先画折线、后续补齐曲线"留下的残影;相比双画布分层更简单。 */ export function useSignature(props: any, emit: any, modelValue: any): { canvasRef: import('vue').Ref; wrapRef: import('vue').Ref; empty: import('vue').Ref; canUndo: import('vue').Ref; drawing: import('vue').Ref; onPointerDown: (event: any) => void; onPointerMove: (event: any) => void; onPointerUp: (event: any) => void; clear: () => void; undo: () => void; isEmpty: () => boolean; toDataURL: (type: string, quality: any, trim?: any) => any; toBlob: (type: string, quality: any, trim?: any) => Promise; toFile: (filename: string, type: string, quality: any, trim?: any) => Promise; fromDataURL: (url: any) => void; setupCanvas: () => void; }; //# sourceMappingURL=useSignature.d.ts.map