UNPKG

editor-render-v2

Version:

编辑器渲染器

84 lines (83 loc) 2.34 kB
import { IRenderLine } from '../RenderLayerHandler'; import type { RuleLayerController } from './RulerLayer'; import { IBoundary } from './utils'; interface IAlignLineItem { id: string; line: IRenderLine; isHorizontal: boolean; canvasBoundary: IBoundary; rulePosition: { x: number; y: number; }; } export declare class AlignLineStore { private controller; private lines; constructor(controller: RuleLayerController); dispose(): void; /** * 在某个点上是否命中了line * @param x 画布x坐标 * @param y 画布y坐标 * @returns 命中的线段,返回null表示没有命中任何线 * */ testPointer(x: number, y: number): IAlignLineItem | null; /** * 创建一根水平辅助线 * @param id 辅助线id * @param line 辅助线外形配置 * */ createHorizontalLine(id: string, line: IRenderLine): void; /** * 创建一根垂直辅助线 * @param id 辅助线id * @param line 辅助线外形配置 * */ createVerticalLine(id: string, line: IRenderLine): void; /** * 返回所有辅助线的渲染数据 * @returns 所有辅助线渲染数据 * */ getRenderObjects(): IRenderLine[]; /** * 清楚所有辅助线数据 * */ clearAlignLines(): void; /** * 删除对齐线 * @param id 需要删除的id * @returns */ removeAlignLine(id: string): void; /** * 是否有对齐线 * @returns 判断结果 */ hasAlignLines(): boolean; /** * 设置辅助线的位置 * @param id 辅助线id * @param x 辅助线x坐标,用于更新竖线位置 * @param y 辅助线y坐标,用于更新横位置 * */ setLinePosition(id: string, x: number, y: number): void; /** * 根据cavnasPosition重新计算所有辅助线的屏幕坐标 */ updateAllPosition(): void; /** * 返回单个对齐线 * @param id 对齐线id * */ getAlignLine(id: string): IAlignLineItem; /** * 更新单个辅助线的标尺坐标数据 * 同步时间响应尺寸和画布坐标 * @param alignLine 对齐线对象 * @param x 画布坐标x * @param y 画布坐标y * */ private updateAlignLineCanvasPosition; } export {};