UNPKG

@antv/g6

Version:

graph visualization frame work

263 lines (225 loc) 6.23 kB
export declare namespace G { export type ShapeType = | 'arc' | 'circle' | 'dom' | 'ellipse' | 'fan' | 'image' | 'line' | 'marker' | 'path' | 'polygon' | 'polyline' | 'rect' | 'text'; type Item = Shape | Group; type Cfg = { [k in string]: any }; type Attrs = { [k in string]: any }; interface Box { x: number; y: number; minX: number; minY: number; maxX: number; maxY: number; centerX: number; centerY: number; width: number; height: number; } export interface Group extends Element { new (cfg: Cfg): Group; isGroup: true; type: 'group'; canFill: boolean; canStroke: boolean; getDefaultCfg(): Cfg; addShape(type: ShapeType, cfg: Cfg): Shape; /** 添加图组 * @param {Function|Object|undefined} param 图组类 * @param {Object} cfg 配置项 * @return {Object} rst 图组 */ addGroup(param: Function | Cfg | undefined, cfg: Cfg): Group; /** 绘制背景 * @param {Array} padding 内边距 * @param {Attrs} attrs 图形属性 * @return {Object} 背景层对象 */ renderBack(padding: [number, number, number, number], attrs: Attrs): Shape; removeChild(item: Item, destroy: boolean): this; /** * 向组中添加shape或者group * @param {Object} items 图形或者分组 * @return {Object} group 本尊 */ add(items: Item[]): this; contain(item: Item): boolean; getChildByIndex(index: number): any; getFirst(): Item; getLast(): Item; getBBox(): Box; getCount(): number; sort(): this; findById(): Item; findByClassName(className: string): Item; /** * 根据查找函数查找分组或者图形 * @param {Function} fn 匹配函数 * @return {Canvas.Base} 分组或者图形 */ find(fn: Function | string): Item; /** * @param {Function} fn filter mathod * @return {Array} all the matching shapes and groups */ findAll(fn: (...args: any[]) => boolean): Item[]; /** * @Deprecated */ findBy: Function; /** * @Deprecated */ findAllBy: Function; getShape(x: any, y: any): Shape; clearTotalMatrix(): void; clear(delayRemove?: boolean): this; destroy(): void; clone(): Group; } export interface Shape extends Element { new (cfg: Cfg): Shape; isPointInPath(x: number, y: number): boolean; isShape: true; drawInner(context: any): void; /** * 击中图形时是否进行包围盒判断 * @return {Boolean} [description] */ isHitBox(): boolean; /** * 节点是否能够被击中 * @param {Number} x x坐标 * @param {Number} y y坐标 * @return {Boolean} 是否在图形中 */ isHit(x: number, y: number): boolean; /** * 获取拾取时线的宽度,需要考虑附加的线的宽度 */ getHitLineWidth(): number; /** * 清除当前的矩阵 */ clearTotalMatrix(): void; clearBBox(): void; getBBox(): Box; clone(): Shape; } interface Element extends Attribute, Transform, Animate, AdvancedEventEmitter { new (): Element; init(): void; getParent(): Element; /** * 获取默认的配置信息 * @protected * @return {Object} 默认的属性 */ getDefaultCfg(): Cfg; set(name: string, value: any): this; /** * @deprecated */ setSilent: Function; get(name: string): any; show(): this; hide(): this; remove(destroy: boolean | undefined, delayRemove?: boolean): this; destroy(): void; toFront(): void; toBack(): void; setZIndex(zIndex: number): number; clone(): Element; getBBox(): any; } interface Attribute { canFill: boolean; canStroke: boolean; initAttrs(attrs: Attrs): this; /** * @protected */ getDefaultAttrs(): any; /** * 设置或者设置属性,有以下 4 种情形: * - name 不存在, 则返回属性集合 * - name 为字符串,value 为空,获取属性值 * - name 为字符串,value 不为空,设置属性值,返回 this * - name 为键值对,value 为空,设置属性值 * * @param {String | Object} name 属性名 * @param {*} value 属性值 * @return {*} 属性值 */ attr(): Attrs; attr(name: string): any; attr(name: string, value: any): this; attr(attrs: Attrs): this; clearBBox(): void; hasFill(): boolean; hasStroke(): boolean; } interface Transform { initTransform(): void; resetMatrix(): void; translate(tx: number, ty: number): this; rotate(radian: number): this; scale(s1: number, s2: number): this; rotateAtStart(rotate: number): this; move(x: number, y: number): this; transform(ts: [string, number, number?]): this; setTransform(ts: [string, number, number?]): this; getMatrix(): any; setMatrix(m: any): this; apply(v: any, root: any): this; getTotalMatrix(): any; clearTotalMatrix: Function; invert(v: any): this; resetTransform(context: any): void; } interface Animate { /** * 执行动画 * @param {Object} toProps 动画最终状态 * @param {Number} duration 动画执行时间 * @param {String} easing 动画缓动效果 * @param {Function} callback 动画执行后的回调 * @param {Number} delay 动画延迟时间 */ animate( toProps: { onFrame?: any; repeat?: any }, duration: number, easing: string, callback: Function, delay: number, ): void; stopAnimate(): void; pauseAnimate(): this; resumeAnimate(): this; } interface AdvancedEventEmitter extends EventEmitter { new (): AdvancedEventEmitter; emit(evt: string, e?: Event): void; } interface EventEmitter { new (): EventEmitter; on(evt: string, callback: Function, one: any): this; one(evt: string, callback: Function): this; emit(evt: string): void; trigger(): void; off(evt: string, callback: Function): this | undefined; removeEvent(): this; } }