import { ViewPort } from "../viewport"; import { Point, Path } from "../planimetry"; import { Shape } from "../shapes"; export interface TwoDrawContext { sPoint: Point; ePoint: Point; viewport: ViewPort; finish: (shape: Shape) => void; } export interface SomeDrawContext extends TwoDrawContext { path: Path; } /** * 模式 */ export declare enum Mode { /** * 移动 */ Move = 0, /** * 缩放 */ Zoom = 1, /** * 选择图元 */ SelectShape = 2, /** * 移动图元 */ MoveShape = 3, /** * 手动绘制一个图形 */ DrawShape = 4 } /** * 编辑器类 */ export declare class Editor { readonly viewport: ViewPort; mode: Mode; private mountRoot; private drawCanvas; constructor(); /** * 挂载 * @param root 挂载的根节点 */ mount(root: string | HTMLElement): void; /** * 绘制一个图形 * @param drawFn 绘图函数 * @param autoCancel 是否自动取消 */ private drawShape; /** * 通过两次鼠标点击绘制一个图形 * @param endDraw 第二次点击时候调用 * @param moveDraw 第一次点击与第二次点击的鼠标移动过程中调用 */ private twoClickDraw; /** * 通过连续点击绘制一个图形 */ private someClickDraw; /** * 开始画直线 */ drawLine(): void; /** * 开始画矩形 */ drawRect(): void; /** * 开始画圆 */ drawCircle(): void; /** * 开始画多边形 */ drawPloygon(): void; /** * 开始选择图形 */ selectShape(): void; /** * 移除所有选中的shape */ removeAllSelected(): void; private dropImage; /** * 清除绘制层 */ cleanDrawCanvas(): void; } //# sourceMappingURL=editor.d.ts.map