graphic-pixi/lib/graphic/AbsorbablePosition.d.ts
2023-12-14 13:07:42 +08:00

92 lines
2.5 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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;
}