UNPKG

devexpress-diagram

Version:

DevExpress Diagram Control

46 lines (41 loc) 1.26 kB
import { IKeyOwner } from "../Interfaces"; import { ItemKey } from "../Model/DiagramItem"; import { Rectangle } from "@devexpress/utils/lib/geometry/rectangle"; import { Size } from "@devexpress/utils/lib/geometry/size"; import { Point } from "@devexpress/utils/lib/geometry/point"; export class NodeInfo implements IKeyOwner { constructor( public key: ItemKey, public margin: Margin, public size: Size, public connectionPoints: Point[] = [] ) { } } export class NodeLayout implements IKeyOwner { constructor( public info: NodeInfo, public position: Point ) { } get key(): ItemKey { return this.info.key; } get rectangle(): Rectangle { return Rectangle.fromGeometry(this.position, this.info.size); } } export class EdgeLayout implements IKeyOwner { constructor( public key: ItemKey, public beginIndex: number, public endIndex: number ) {} } export class Margin { constructor( public top: number, public right: number = top, public bottom: number = top, public left: number = top, ) { } static empty(): Margin { return new Margin(0); } }