js-web-screen-shot
Version:
web端自定义截屏插件(原生JS版)
66 lines (65 loc) • 3.5 kB
TypeScript
import { SelectionBorderNode } from "../lib/type/components/cropBox";
import { CanvasElementSnapshot } from "../lib/type/components/canvas";
import { DrawingStoreDataType } from "../lib/type/components/stores";
import { CanvasElement, TextElement } from "../lib/type/editor/canvasElements";
import { CropBoxBorderOption } from "../lib/constants/cropBoxOptions";
declare class DrawingDataStore {
private initialState;
dpr: number;
getFullScreenStatus: boolean;
selectionBorderNodes: Array<SelectionBorderNode>;
captureStream: DrawingStoreDataType["captureStream"];
history: Array<Record<string, any>>;
movePosition: DrawingStoreDataType["movePosition"];
borderOption: DrawingStoreDataType["borderOption"];
mouseInsideCropBox: boolean;
tempGraphPosition: DrawingStoreDataType["tempGraphPosition"];
textInputPosition: DrawingStoreDataType["textInputPosition"];
drawGraphPrevX: number;
drawGraphPrevY: number;
drawStatus: boolean;
degreeOfBlur: number;
resetAllStore: boolean;
canUndo: boolean;
canvasElements: DrawingStoreDataType["canvasElements"];
activeElementId: DrawingStoreDataType["activeElementId"];
rectOperateIndex: DrawingStoreDataType["rectOperateIndex"];
editingTextElementId: DrawingStoreDataType["editingTextElementId"];
pendingEditingTextElement: DrawingStoreDataType["pendingEditingTextElement"];
private readonly applyInitialState;
constructor();
updateDpr(dpr: number): void;
updateFullScreenStatus(status: boolean): void;
resetCompState(): void;
updateCanUndo(canUndo: boolean): void;
updateSelectionBorderNodes(borderArr: Array<SelectionBorderNode>): void;
updateCaptureStream(captureStream: MediaStream): void;
updateMovePosition(moveStartX: number, moveStartY: number): void;
updateBorderOption(borderOption: CropBoxBorderOption | null): void;
updateMouseInsideCropBox(insideState: boolean): void;
updateTempGraphPosition(startX: number, startY: number, width: number, height: number): void;
updateTextInputPosition(mouseX: number, mouseY: number): void;
updateDrawGraphPrevInfo(x: number, y: number): void;
updateDrawStatus(status: boolean): void;
shiftHistory(): Record<string, any> | undefined;
popHistory(): Record<string, any> | undefined;
undoHistory(screenShortCanvas: CanvasRenderingContext2D | null | undefined, disableUndo: () => void): void;
addElement(element: CanvasElementSnapshot): void;
removeElement(id: CanvasElementSnapshot["id"]): void;
updateCanvasElement(element: CanvasElement): void;
clearEmptyCanvasElements(callback: (filteredLength: number) => void): void;
replaceCanvasElements(elements: Array<CanvasElementSnapshot>): void;
checkMouseInElement(x: number, y: number, callback: (elementId: string | null) => void): void;
resetCanvasElementNodeState(): void;
findTextElementAt(x: number, y: number): CanvasElementSnapshot | null;
redrawCanvasElements(): void;
getCanvasElement(id: CanvasElementSnapshot["id"]): CanvasElementSnapshot | undefined;
updateActiveElementId(id: CanvasElementSnapshot["id"] | null): void;
updateRectOperateIndex(index: number | null): void;
updateEditingTextElementId(id: string | null): void;
updatePendingEditingTextElement(element: TextElement | null): void;
pushHistory(item: Record<string, any>): void;
reset(): void;
}
declare const drawingDataStore: DrawingDataStore;
export default drawingDataStore;