js-web-screen-shot
Version:
web端自定义截屏插件(原生JS版)
118 lines (117 loc) • 5.67 kB
TypeScript
import { CanvasEventCallbacks } from "../lib/type/components/events";
import { ScreenShotOptions } from "../lib/type/components/screenshot";
import { UserParamStoreDataType } from "../lib/type/components/stores";
import { UserToolbarItem } from "../lib/type/components/toolbar";
import { CanvasElementSnapshot } from "../lib/type/components/canvas";
import type { CustomCanvasElementAdapter } from "../lib/type/components/customElement";
declare class UserParamStore {
private initialState;
enableWebRtc: boolean;
menuBarHeight: number;
clickCutFullScreen: boolean;
imgSrc: UserParamStoreDataType["imgSrc"];
loadCrossImg: boolean;
proxyUrl: UserParamStoreDataType["proxyUrl"];
useCORS: boolean;
h2cIgnoreElementsFn: UserParamStoreDataType["h2cIgnoreElementsFn"];
position: UserParamStoreDataType["position"];
wrcReplyTime: number;
cropBoxInfo: UserParamStoreDataType["cropBoxInfo"];
toolPosition: UserParamStoreDataType["toolPosition"];
wrcImgPosition: UserParamStoreDataType["wrcImgPosition"];
hiddenScrollBar: UserParamStoreDataType["hiddenScrollBar"];
wrcWindowMode: boolean;
customRightClickEvent: UserParamStoreDataType["customRightClickEvent"];
screenFlow: UserParamStoreDataType["screenFlow"];
private canvasWidth;
private canvasHeight;
showScreenData: boolean;
screenShotDom: UserParamStoreDataType["screenShotDom"];
destroyContainer: boolean;
maskColor: UserParamStoreDataType["maskColor"];
writeBase64: boolean;
exportOptions: UserParamStoreDataType["exportOptions"];
cutBoxBdColor: string;
maxUndoNum: number;
useRatioArrow: boolean;
imgAutoFit: boolean;
useCustomImgSize: boolean;
customImgSize: UserParamStoreDataType["customImgSize"];
userToolbar: UserParamStoreDataType["userToolbar"];
h2cCrossImgLoadErrFn: UserParamStoreDataType["h2cCrossImgLoadErrFn"];
saveCallback: UserParamStoreDataType["saveCallback"];
saveImgTitle: UserParamStoreDataType["saveImgTitle"];
canvasEvents: UserParamStoreDataType["canvasEvents"];
customElementAdapters: UserParamStoreDataType["customElementAdapters"];
renderOptions: UserParamStoreDataType["renderOptions"];
canvasElements: UserParamStoreDataType["canvasElements"];
domRenderEngine: UserParamStoreDataType["domRenderEngine"];
snapdom: UserParamStoreDataType["snapdom"];
snapdomOptions: UserParamStoreDataType["snapdomOptions"];
captureCursor: UserParamStoreDataType["captureCursor"];
private readonly applyInitialState;
constructor();
setWebRtcStatus(status: boolean): void;
setMenuBarHeight(height: number): void;
setClickCutFullScreenStatus(status: boolean): void;
setImgSrc(src: string): void;
setLoadCrossImg(val: boolean): void;
setProxyUrl(url: string): void;
setUseCORS(state: boolean): void;
setH2cIgnoreElementsFn(callback: UserParamStoreDataType["h2cIgnoreElementsFn"]): void;
setPosition(position: UserParamStoreDataType["position"]): void;
setWrcReplyTime(time: number): void;
setCropBoxInfo(info: UserParamStoreDataType["cropBoxInfo"]): void;
setToolPosition(toolPosition: UserParamStoreDataType["toolPosition"]): void;
setWrcImgPosition(imgPosition: UserParamStoreDataType["wrcImgPosition"]): void;
setHiddenScrollBar(barInfo: UserParamStoreDataType["hiddenScrollBar"]): void;
setWrcWindowMode(windowInfo: boolean): void;
setCustomRightClickEvent(data: UserParamStoreDataType["customRightClickEvent"]): void;
setScreenShotDom(dom: HTMLElement): void;
setCutBoxBdColor(color: string): void;
setScreenFlow(stream: MediaStream): void;
getCanvasSize(): {
canvasWidth: number;
canvasHeight: number;
};
setCanvasSize(width: number, height: number): void;
setShowScreenDataStatus(status: boolean): void;
setMaskColor(color: {
r: number;
g: number;
b: number;
a: number;
}): void;
setWriteImgState(state: boolean): void;
setExportOptions(options: ScreenShotOptions["exportOptions"]): void;
setSaveCallback(saveFn: (code: number, msg: string, base64: string) => void): void;
setMaxUndoNum(num: number): void;
setRatioArrow(state: boolean): void;
setImgAutoFit(state: boolean): void;
setUseCustomImgSize(state: boolean, sizeInfo?: {
w: number;
h: number;
}): void;
getCustomImgSize(): {
useCustomImgSize: boolean;
customImgSize: import("../lib/type/components/screenshot").ImageSize;
};
setSaveImgTitle(title: string): void;
setDestroyContainerState(state: boolean): void;
setUserToolbar(toolbar: Array<UserToolbarItem>): void;
setH2cCrossImgLoadErrFn(fn: ScreenShotOptions["h2cImgLoadErrCallback"]): void;
setCanvasEvents(event: CanvasEventCallbacks): void;
setCustomElementAdapters(adapters: Array<CustomCanvasElementAdapter>): void;
getCustomElementAdapter(toolId?: number, toolName?: string): CustomCanvasElementAdapter | undefined;
setCanvasElements(elements: Array<CanvasElementSnapshot>): void;
getCanvasElements(): any;
setRenderOptions(position: UserParamStoreDataType["renderOptions"]): void;
setDomRenderEngine(engine: UserParamStoreDataType["domRenderEngine"]): void;
setSnapDomRenderer(renderer: UserParamStoreDataType["snapdom"]): void;
setSnapDomOptions(options: UserParamStoreDataType["snapdomOptions"]): void;
setCaptureCursor(cursor: UserParamStoreDataType["captureCursor"]): void;
getCanvasEvents(): CanvasEventCallbacks | null;
reset(): void;
}
declare const userParamStore: UserParamStore;
export default userParamStore;