UNPKG

@syncfusion/ej2-diagrams

Version:

Feature-rich diagram control to create diagrams like flow charts, organizational charts, mind maps, and BPMN diagrams. Its rich feature set includes built-in shapes, editing, serializing, exporting, printing, overview, data binding, and automatic layouts.

163 lines (162 loc) 3.8 kB
import { ShadowModel, GradientModel } from '../core/appearance-model'; import { PointModel } from './../primitives/point-model'; import { TextOverflow, Scale, ImageAlignment, Stretch, TextWrap, FlipDirection, FlipMode } from '../enum/enum'; /** * canvas interface */ /** @private */ export interface StyleAttributes { fill: string; stroke: string; strokeWidth: number; dashArray: string; opacity: number; shadow?: ShadowModel; gradient?: GradientModel; class?: string; } /** @private */ export interface BaseAttributes extends StyleAttributes { id: string; x: number; y: number; width: number; height: number; angle: number; pivotX: number; pivotY: number; visible: boolean; description?: string; canApplyStyle?: boolean; flip?: FlipDirection; flipMode?: FlipMode; shapeType?: string; } /** @private */ export interface LineAttributes extends BaseAttributes { startPoint: PointModel; endPoint: PointModel; } /** @private */ export interface CircleAttributes extends BaseAttributes { centerX: number; centerY: number; radius: number; id: string; } /** @private */ export interface Alignment { vAlign?: string; hAlign?: string; } /** @private */ export interface SegmentInfo { point?: PointModel; index?: number; angle?: number; } /** @private */ export interface RectAttributes extends BaseAttributes { cornerRadius?: number; } /** @private */ export interface PathAttributes extends BaseAttributes { data: string; } /** @private */ export interface ImageAttributes extends BaseAttributes { source: string; sourceX: number; sourceY: number; sourceWidth: number; sourceHeight: number; scale: Scale; alignment: ImageAlignment; } /** @private */ export interface NativeAttributes extends BaseAttributes { content: SVGElement; scale: Stretch; } /** @private */ export interface TextAttributes extends BaseAttributes { whiteSpace: string; content: string; breakWord: string; fontSize: number; textWrapping: TextWrap; fontFamily: string; bold: boolean; italic: boolean; textAlign: string; color: string; textOverflow: TextOverflow; textDecoration: string; doWrap: boolean; wrapBounds: TextBounds; childNodes: SubTextElement[]; isHorizontalLane: boolean; parentOffsetX: number; parentOffsetY: number; parentWidth: number; parentHeight: number; } /** * Defines the properties of sub text element */ export interface SubTextElement { /** returns the text from sub text element */ text: string; /** returns the start position, where the text element to be rendered */ x: number; /** returns the left position, where text to be rendered */ dy: number; /** returns the width of the sub text element */ width: number; } /** * Defines the properties of text bounds */ export interface TextBounds { /** returns the start position, where the text element is rendered */ x: number; /** returns the width of the sub text element */ width: number; } /** @private */ export interface PathSegment { command?: string; angle?: number; largeArc?: boolean; x2?: number; sweep?: boolean; x1?: number; y1?: number; y2?: number; x0?: number; y0?: number; x?: number; y?: number; r1?: number; r2?: number; centp?: { x?: number; y?: number; }; xAxisRotation?: number; rx?: number; ry?: number; a1?: number; ad?: number; } /** @private */ export interface IKeyDownType { type?: string; } /** @private */ export interface IReactDiagram { isReact?: boolean; } export interface ITransform { transform: string; }