devexpress-diagram
Version:
DevExpress Diagram Control
40 lines (38 loc) • 1.43 kB
text/typescript
import { Point } from "@devexpress/utils/lib/geometry/point";
export class ConnectorRenderPoint extends Point {
constructor(x: number, y: number, public pointIndex: number = -1, public skipped: boolean = false) {
super(x, y);
}
offset(offsetX: number, offsetY: number): this {
super.offset(offsetX, offsetY);
this.pointIndex = -1;
this.skipped = false;
return this;
}
multiply(multiplierX: number, multiplierY: number): this {
super.multiply(multiplierX, multiplierY);
this.pointIndex = -1;
this.skipped = false;
return this;
}
clone(): ConnectorRenderPoint { return new ConnectorRenderPoint(this.x, this.y, this.pointIndex, this.skipped); }
static equal(p1: ConnectorRenderPoint, p2: ConnectorRenderPoint): boolean {
return p1.equals(p2) && p1.pointIndex === p2.pointIndex && p1.skipped === p2.skipped;
}
toObject(): Record<string, unknown> {
return {
x: this.x,
y: this.y,
pointIndex: this.pointIndex,
skipped: this.skipped
};
}
static fromObject(obj: Record<string, unknown>): ConnectorRenderPoint {
return new ConnectorRenderPoint(
<number>obj["x"],
<number>obj["y"],
<number>obj["pointIndex"],
<boolean>obj["skipped"]
);
}
}