UNPKG

shot-web-screen

Version:
78 lines (77 loc) 2.99 kB
import { TEXTPOSITIONINFO, TEXTRENDERINFO, OPTION, CUTBOXINFO, TEXTCONFIG, TEXTLINECONFIG, JUDGERESULT } from '../types/index'; /** * @func 绘制文本 * @desc dom渲染文本比 canvas渲染文本 ,多出padding大小的差距 * @param {} * @return {} */ declare class drawText { dpr: number; padding: number; letterSpacing: number; baseFontSize: number; minWidth: number; showTextDom: HTMLElement | null; cutBoxInfo: CUTBOXINFO; ctx: CanvasRenderingContext2D | null; opearteInfo: TEXTRENDERINFO | null; constructor(); /** * @func 向外层提供可以初始化数据的函数 * @desc * @param { * ctx 执行上下文 * cutBoxInfo 剪裁框信息 * isHaveEdit 当前绘制所有文本中是否存在需要编辑的文本 * } * @return {} */ initData(ctx: CanvasRenderingContext2D, cutBoxInfo: CUTBOXINFO, isHaveEdit?: boolean): void; /** * @func 绘制文本 * @desc * @param { * ctx 执行上下文 * info 文本信息 * } * @return {} */ draw(ctx: CanvasRenderingContext2D, info: TEXTRENDERINFO): Path2D; calcFontSize(baseFontSize: number, size: number): number; setOptions(ctx: CanvasRenderingContext2D, option: OPTION, isEdit: boolean): void; renderWrapText(ctx: CanvasRenderingContext2D, renderTextList: Array<TEXTCONFIG>): void; /** * @func 绘制辅助点位,用于展示图形选中状态,同时支持文本编辑 * @desc * @param {} * @return {} */ drawAuxiliaryDom(positionInfo: TEXTPOSITIONINFO, cutBoxInfo: CUTBOXINFO): void; getTextConfig(context: CanvasRenderingContext2D, positionInfo: TEXTPOSITIONINFO, fontSize: number): TEXTLINECONFIG; drawTextLedge(ctx: Path2D, start: Array<number>, width: number, height: number): void; createTextDom(ctx: CanvasRenderingContext2D): void; addListener(): void; /** * @func 判断文本操作方法:移动 * @desc 注意:由于是外层使用,需要指定当前的this,否则this指向存在问题 * @param {} * @return { * 判断成功后,返回对应的mouse移动事件处理方法、鼠标状态或 抑或是其他信息 * 其中返回函数支持参数依次为 * startPoistion 图形操作之前、已经转为像素的点位或路径信息 * offsetX x方向、 鼠标移动偏移大小 * offsetY y方向、 鼠标移动偏移大小 * } */ judgeOperate(info: TEXTRENDERINFO, ctx: CanvasRenderingContext2D, x: number, y: number): JUDGERESULT | undefined; /** * @func 处理文本移动后的位置限制,保存文本移动处于整个剪裁框内 * @desc 移动过程中需要将文本原来的宽高作为最大的宽高度 * @param {} * @return {} */ handleNewData(positionInfo: TEXTPOSITIONINFO): TEXTPOSITIONINFO; destroy(): void; } declare const _default: drawText; export default _default;