/** * @module Shapes */ /** * 图形 */ import { R } from "../R"; import { Point, TransformMatrix } from "../planimetry"; import { DefaultMouseEvent } from "../handler/DefaultMouseEvent"; import { Engine } from "../Engine"; export interface HitAble { /** * 判断目标点是否在该图形区域内 * @param p 目标点 */ inRegion(p: Point): boolean; } export interface SelectedAble { isSelected(): boolean; select(): void; unSelect(): void; } export interface DrawState { direction?: CanvasDirection; font?: string; textAlign?: CanvasTextAlign; textBaseline?: CanvasTextBaseline; fillStyle?: string | CanvasGradient | CanvasPattern; strokeStyle?: string | CanvasGradient | CanvasPattern; filter?: string; globalAlpha?: number; globalCompositeOperation?: string; imageSmoothingEnabled?: boolean; imageSmoothingQuality?: ImageSmoothingQuality; lineCap?: CanvasLineCap; lineDashOffset?: number; lineJoin?: CanvasLineJoin; lineWidth?: number; miterLimit?: number; shadowBlur?: number; shadowColor?: string; shadowOffsetX?: number; shadowOffsetY?: number; } export declare class Shape extends DefaultMouseEvent implements HitAble, SelectedAble { /** * 表示当前是否进入了该shape */ isEnter: boolean; /** * 表示当前是否离开了该shape */ isLeave: boolean; /** * 自增id */ static autoIndex: number; /** * 对象id */ readonly zindex: number; /** * 当前图像是否可见 */ visable: boolean; protected engine: Engine | null; drawState: DrawState | null; private selected; transformMatrix: TransformMatrix; isSelected(): boolean; select(): void; unSelect(): void; setEngine(engine: Engine): void; remove(): void; /** * 构造函数 */ constructor(); renderAfterState: R; /** * 渲染函数 */ render: import("../R").R; inRegion(p: [number, number]): boolean; inRegionAndSetEnterState(p: Point): boolean; /** * 向上移动 * @param n 像素量 */ moveUp(n: number): void; /** * 向下移动 * @param n 像素量 */ moveDown(n: number): void; /** * 向左移动 * @param n 像素量 */ moveLeft(n: number): void; /** * 向右移动 * @param n 像素量 */ moveRight(n: number): void; /** * 伸缩 * @param x 横轴伸缩倍数 * @param y 纵轴伸缩倍数 */ scale(x?: number, y?: number): void; private value; /** * 设置原始值 * @param value 控制点 */ setValue(value: Point[]): void; /** * 获取原始值 */ valueOf(): Point[]; /** * 返回转换后的原始值 */ tranValueOf(): Point[]; /** * 更新控制点并恢复transformMatrix */ updateValue(): void; } //# sourceMappingURL=Shape.d.ts.map