@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.
19 lines (18 loc) • 1.65 kB
TypeScript
import { PathAttributes, TextAttributes } from './canvas-interface';
import { RectAttributes, ImageAttributes, BaseAttributes } from './canvas-interface';
import { ImageElement } from '../core/elements/image-element';
import { PathElement } from '../core/elements/path-element';
import { TextElement } from '../core/elements/text-element';
/**
* IRenderer interface defines the base of the SVG and Canvas renderer.
*/
/** @private */
export interface IRenderer {
renderShadow(options: BaseAttributes, canvas: HTMLCanvasElement | SVGElement, collection: Object[]): void;
parseDashArray(dashArray: string): number[];
drawRectangle(canvas: HTMLCanvasElement | SVGElement, options: RectAttributes, diagramId: string, onlyRect?: boolean, isSelector?: boolean, parentSvg?: SVGSVGElement, ariaLabel?: Object, isCircularHandle?: boolean, enableSelector?: number, renderer?: any, element?: any): void;
drawPath(canvas: HTMLCanvasElement | SVGElement, options: PathAttributes, diagramId: string, isSelector?: boolean, parentSvg?: SVGSVGElement, ariaLabel?: Object, scale?: number, renderer?: any, element?: PathElement): void;
renderPath(canvas: HTMLCanvasElement | SVGElement, options: PathAttributes, collection: Object[]): void;
drawText(canvas: HTMLCanvasElement | SVGElement, options: TextAttributes, parentSvg?: SVGSVGElement, ariaLabel?: Object, diagramId?: string, scaleValue?: number, renderer?: any, element?: TextElement): void;
drawImage(canvas: HTMLCanvasElement | SVGElement | ImageElement, obj: ImageAttributes, parentSvg?: SVGSVGElement, fromPalette?: boolean, renderer?: any, element?: ImageElement): void;
}