UNPKG

js-web-screen-shot

Version:

web端自定义截屏插件(原生JS版)

178 lines (177 loc) 4.49 kB
export type cutOutBoxBorder = { x: number; y: number; width: number; height: number; index: number; option: number; }; export type movePositionType = { moveStartX: number; moveStartY: number; }; export type positionInfoType = { startX: number; startY: number; width: number; height: number; }; export type textInfoType = { positionX: number; positionY: number; color: string; size: number; }; export type zoomCutOutBoxReturnType = { tempStartX: number; tempStartY: number; tempWidth: number; tempHeight: number; }; export type toolPositionValType = "left" | "right" | "center"; export type hideBarInfoType = { state: boolean; color?: string; fillWidth?: number; fillHeight?: number; fillState?: boolean; }; export type drawCutOutBoxReturnType = { startX: number; startY: number; width: number; height: number; }; export type toolIcoType = { [key: string]: boolean | undefined; square?: boolean; round?: boolean; rightTop?: boolean; brush?: boolean; mosaicPen?: boolean; text?: boolean; separateLine?: boolean; save?: boolean; undo?: boolean; confirm?: boolean; }; export type mouseEventType = { mouseDownFn: (event: MouseEvent | TouchEvent, mouseX: number, mouseY: number, addHistory: () => void) => void; mouseMoveFn: (event: MouseEvent | TouchEvent, mouseInfo: { startX: number; startY: number; currentX: number; currentY: number; }, showLastHistory: (context: CanvasRenderingContext2D) => void) => void; mouseUpFn: (showLastHistory: (context: CanvasRenderingContext2D) => void) => void; }; export type toolbarType = { id: number; title: string; icon?: string; activeIcon?: string; clickFn?: (params?: any) => void; }; export type crcEventType = { state: boolean; handleFn?: () => void; }; export type userToolbarType = { title: string; icon: string; activeIcon: string; clickFn: userToolbarFnType; }; export type customToolbarType = userToolbarType & { id: number; }; export type userToolbarFnType = (canvasInfo: { screenShotCanvas: CanvasRenderingContext2D; screenShotController: HTMLCanvasElement; ScreenShotImageController: HTMLCanvasElement; currentInfo: { toolName: string; toolId: number; }; imgInfo: imgInfoType; }) => void; export type imgInfoType = { base64: string; cutInfo: positionInfoType; }; export type screenShotType = { enableWebRtc?: boolean; screenFlow?: MediaStream; level?: number; canvasWidth?: number; canvasHeight?: number; completeCallback?: (imgInfo: imgInfoType) => void; closeCallback?: () => void; h2cImgLoadErrCallback?: (err: Event & { imgUrl: string; }) => void; triggerCallback?: (res: { code: number; msg: string; displaySurface: string | null; displayLabel: string | null; }) => void; cancelCallback?: (res: { code: number; msg: string; errorInfo: string; }) => void; saveCallback?: (code: number, msg: string) => void; position?: { top?: number; left?: number; }; clickCutFullScreen?: boolean; hiddenToolIco?: toolIcoType; showScreenData?: boolean; imgSrc?: string; loadCrossImg?: boolean; proxyUrl?: string; useCORS?: boolean; screenShotDom?: HTMLElement | HTMLDivElement | HTMLCanvasElement; cropBoxInfo?: { x: number; y: number; w: number; h: number; }; wrcReplyTime?: number; wrcImgPosition?: { x: number; y: number; w: number; h: number; }; noScroll?: boolean; maskColor?: { r: number; g: number; b: number; a: number; }; toolPosition?: toolPositionValType; writeBase64?: boolean; hiddenScrollBar?: hideBarInfoType; wrcWindowMode?: boolean; customRightClickEvent?: crcEventType; cutBoxBdColor?: string; maxUndoNum?: number; useRatioArrow?: boolean; imgAutoFit?: boolean; useCustomImgSize?: boolean; customImgSize?: { w: number; h: number; }; saveImgTitle?: string; destroyContainer?: boolean; userToolbar?: Array<userToolbarType>; canvasEvents?: mouseEventType; h2cIgnoreElementsCallback?: (element: Element) => boolean; menuBarHeight?: number; };