UNPKG

shot-web-screen

Version:
52 lines (51 loc) 2.23 kB
import { DRAWINGINFO, POSITIONINFO } from '../types/cutBox'; import { CUTBOXINFO, JUDGERESULT } from '../types/index'; declare class drawCutBox { dom: HTMLElement; drawWidth: number; drawHeight: number; callback: Function; drawingInfo: DRAWINGINFO; positionInfo: POSITIONINFO; handleMouseDown: Function; handleMouseMove: Function; handleMouseUp: Function; constructor(dom: HTMLElement, drawWidth: number, drawHeight: number, callback: Function); drawing(): void; destroy(): void; mouseDownEvent(e: MouseEvent): void; mouseMoveEvent(e: MouseEvent): void; mouseUpEvent(): void; /** * @func 绘制裁剪框 * @desc * @param { * ctx, 执行上下文 * cutBoxInfo 剪裁框信息 * isPoints 是否需要绘制八个点位 * } * @return {} */ drawCutOutBox(ctx: CanvasRenderingContext2D, cutBoxInfo: CUTBOXINFO, isPoints?: boolean): void; drawShadowMask(ctx: CanvasRenderingContext2D, cutBoxInfo: CUTBOXINFO): void; setOptions(ctx: CanvasRenderingContext2D): void; drawImageSize(ctx: CanvasRenderingContext2D, cutBoxInfo: CUTBOXINFO): void; getBorderPointsPlace(x: number, y: number, width: number, height: number, size: number): Array<Array<number>>; /** * @func 判断剪裁框操作方法:移动 * @desc 注意:由于是外层使用,需要指定当前的this,否则this指向存在问题 * 判断是否在边缘线上,采用模糊距离,提高体验 * @param {} * @return { * 判断成功后,返回对应的mouse移动事件处理方法、鼠标状态或 抑或是其他信息 * 其中返回函数支持参数依次为 * positionList 图形操作之前、已经转为像素的点位或路径信息 * offsetX x方向、 鼠标移动偏移大小 * offsetY y方向、 鼠标移动偏移大小 * } */ judgeOperate(positionInfo: POSITIONINFO, mouseX: number, mouseY: number): JUDGERESULT | undefined; checkIsRectInside(mouseX: number, mouseY: number, x: number, y: number, width: number, height: number): boolean; handleNewData(newPosition: POSITIONINFO): POSITIONINFO; } export default drawCutBox;