shot-web-screen
Version:
截屏、截图插件、capture screen
52 lines (51 loc) • 2.23 kB
TypeScript
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;