import { Container, DisplayObject, Graphics, IPointData, Point } from 'pixi.js'; import { VectorGraphic } from './VectorGraphic'; /** * 抽象可吸附位置 */ export interface AbsorbablePosition extends Container { /** * 是否与另一个可吸附位置重叠(相似,但可能范围不同) * @param other */ isOverlapping(other: AbsorbablePosition): boolean; /** * 与另一个相似的吸附位置比较范围大小 * @param other * @returns >0此吸附范围大,<0另一个吸附范围大,=0两个吸附范围一样大 */ compareTo(other: AbsorbablePosition): number; /** * 尝试吸附图形对象 * @param objs 图形对象列表 * @returns 如果吸附成功,返回true,否则false */ tryAbsorb(...objs: DisplayObject[]): void; } /** * 可吸附点图形参数 */ export declare const AbsorbablePointParam: { lineWidth: number; lineColor: string; fillColor: string; radius: number; }; /** * 可吸附点 */ export default class AbsorbablePoint extends Graphics implements AbsorbablePosition, VectorGraphic { _point: Point; absorbRange: number; scaledListenerOn: boolean; /** * * @param point 画布坐标 * @param absorbRange */ constructor(point: IPointData, absorbRange?: number); compareTo(other: AbsorbablePosition): number; isOverlapping(other: AbsorbablePosition): boolean; tryAbsorb(...objs: DisplayObject[]): void; updateOnScaled(): void; } /** * 可吸附线 */ export declare class AbsorbableLine extends Graphics implements AbsorbablePosition { p1: Point; p2: Point; absorbRange: number; _color: string; /** * * @param p1 画布坐标 * @param p2 画布坐标 * @param absorbRange */ constructor(p1: IPointData, p2: IPointData, absorbRange?: number); isOverlapping(other: AbsorbablePosition): boolean; compareTo(other: AbsorbablePosition): number; redraw(): void; tryAbsorb(...objs: DisplayObject[]): void; } /** * 可吸附圆 */ export declare class AbsorbableCircle extends Graphics implements AbsorbablePosition { absorbRange: number; p0: Point; radius: number; _color: string; /** * * @param p 画布坐标 * @param radius * @param absorbRange */ constructor(p: IPointData, radius: number, absorbRange?: number); isOverlapping(other: AbsorbablePosition): boolean; compareTo(other: AbsorbablePosition): number; redraw(): void; tryAbsorb(...objs: DisplayObject[]): void; } //# sourceMappingURL=AbsorbablePosition.d.ts.map