import Layer, { ILayerEvent, ILayerState } from './Layer'; import { ISketchUtils } from './Sketch'; import { IWaymarkAlias } from './alias/waymark'; export interface IWaymarkProps { /** * 场景标记类型(名称) */ type: IWaymarkAlias; /** * 显示尺寸 */ size: number; } export interface IWaymarkEvent extends ILayerEvent { type: (type: IWaymarkProps['type']) => void; size: (size: IWaymarkProps['size']) => void; } /** * 绘制 `场景标记` */ export default class Waymark extends Layer { props: IWaymarkProps; private img; private circle; private rect; constructor(state?: Partial, props?: Partial); /** * 设置目标标记类型(名称) */ type(value: IWaymarkProps['type']): this; /** * 设置尺寸 */ size(value: number): this; /** * 为场地标记设别名 * * 通过 `Waymark.setAlias('A', 'A点')` 设置别名 * * 之后则可以使用 `new Waymark('A点')` 获得与`A`同样的图标 * * @param name 官方名称 / 已设置成功的别名 * @param alias 别名 */ static setAlias(name: IWaymarkAlias, alias: string): void; protected _clone(): Waymark; protected _render(ctx: CanvasRenderingContext2D, utils: ISketchUtils): void; }