UNPKG

js-web-screen-shot

Version:

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

135 lines (134 loc) 3.44 kB
import { CropBoxBounds } from "../../../../lib/type/components/cropBox"; import { ArrowLikeElement } from "../../../../lib/type/editor/ArrowLikeElement"; type Point = { x: number; y: number; }; export declare const getArrowEndpoints: (element: ArrowLikeElement) => { start: Point; end: Point; }; export declare const getArrowBoundingRect: (element: ArrowLikeElement) => { x: number; y: number; width: number; height: number; }; export declare const drawArrowElement: (context: CanvasRenderingContext2D, element: ArrowLikeElement, drawHandlesOptions?: { drawState: boolean; dotRadius: number; }) => void; export declare const getMousePositionOnArrowHandle: (mouseX: number, mouseY: number, element: ArrowLikeElement, dotRadius: number) => number | null; export declare const isMouseOnArrow: (mouseX: number, mouseY: number, element: ArrowLikeElement, tolerance?: number) => boolean; export declare const resizeArrowElement: (element: ArrowLikeElement, handleIndex: number, newMouseX: number, newMouseY: number, clipArea?: CropBoxBounds) => { startX: number; startY: number; endX: number; endY: number; x: number; y: number; width: number; height: number; x2: number; y2: number; arrowType: "line"; theta: number; slashLength: number; borderWidth: number; color: string; id: string; drawNode?: boolean | undefined; dotRadius?: number | undefined; } | { startX: number; startY: number; endX: number; endY: number; x: number; y: number; width: number; height: number; x2: number; y2: number; arrowType: "filled"; borderWidth: number; color: string; id: string; drawNode?: boolean | undefined; dotRadius?: number | undefined; }; export declare const moveArrowElement: (element: ArrowLikeElement, deltaX: number, deltaY: number, clipArea: CropBoxBounds) => { startX: number; startY: number; endX: number; endY: number; x: number; y: number; width: number; height: number; x2: number; y2: number; arrowType: "line"; theta: number; slashLength: number; borderWidth: number; color: string; id: string; drawNode?: boolean | undefined; dotRadius?: number | undefined; } | { startX: number; startY: number; endX: number; endY: number; x: number; y: number; width: number; height: number; x2: number; y2: number; arrowType: "filled"; borderWidth: number; color: string; id: string; drawNode?: boolean | undefined; dotRadius?: number | undefined; }; export declare const updateArrowDrawNodeState: (element: ArrowLikeElement, drawState: boolean, dotRadius: number) => { drawNode: boolean; dotRadius: number; arrowType: "line"; startX: number; startY: number; endX: number; endY: number; x2: number; y2: number; theta: number; slashLength: number; width: number; height: number; borderWidth: number; color: string; id: string; x: number; y: number; } | { drawNode: boolean; dotRadius: number; arrowType: "filled"; startX: number; startY: number; endX: number; endY: number; x2: number; y2: number; width: number; height: number; borderWidth: number; color: string; id: string; x: number; y: number; }; export {};