UNPKG

@visactor/vrender-core

Version:
87 lines (86 loc) 3.54 kB
import type { IAABBBounds, Matrix } from '@visactor/vutils'; import type { IStage, GraphicAttributeMap, INode, IGraphic, ITheme, IThemeSpec, ILayer, GraphicType } from '../interface'; import type { IGroup, IGroupGraphicAttribute } from '../interface/graphic/group'; import { Graphic } from './graphic'; import { IContainPointMode } from '../common/enums'; export declare enum GroupUpdateAABBBoundsMode { LESS_GROUP = 0, MORE_GROUP = 1 } export declare class Group extends Graphic<IGroupGraphicAttribute> implements IGroup { type: GraphicType; parent: any; isContainer: boolean; _childUpdateTag: number; theme?: ITheme; static NOWORK_ANIMATE_ATTR: { strokeSeg: number; boundsPadding: number; pickMode: number; boundsMode: number; customPickShape: number; pickable: number; childrenPickable: number; visible: number; zIndex: number; layout: number; keepDirIn3d: number; globalZIndex: number; outerBorder: number; innerBorder: number; lineDash: number; lineCap: number; lineJoin: number; miterLimit: number; strokeBoundsBuffer: number; scaleCenter: number; anchor: number; anchor3d: number; postMatrix: number; backgroundMode: number; background: number; texture: number; cursor: number; html: number; }; constructor(params: IGroupGraphicAttribute); setMode(mode: '2d' | '3d'): void; set3dMode(): void; set2dMode(): void; setTheme(t: IThemeSpec): void; createTheme(): void; visibleAll(visible: boolean): void; hideAll(): void; showAll(): void; containsPoint(x: number, y: number, mode: IContainPointMode): boolean; shouldUpdateAABBBounds(): boolean; protected tryUpdateAABBBounds(): IAABBBounds; protected doUpdateLocalMatrix(): void; getGraphicTheme(): Required<IGroupGraphicAttribute>; protected updateAABBBounds(attribute: IGroupGraphicAttribute, groupTheme: Required<IGroupGraphicAttribute>, aabbBounds: IAABBBounds): import("@visactor/vutils").IBounds; protected doUpdateAABBBounds(): IAABBBounds; protected clearUpdateBoundTag(): void; addUpdateBoundTag(): void; addChildUpdateBoundTag(): void; getTheme(): import("../interface").IFullThemeSpec; incrementalAppendChild(node: INode): INode | null; incrementalClearChild(): void; protected _updateChildToStage(child: IGraphic): IGraphic<Partial<import("../interface").IGraphicAttribute>>; appendChild(node: INode, addStage?: boolean): INode | null; insertBefore(newNode: INode, referenceNode: INode): INode | null; insertAfter(newNode: INode, referenceNode: INode): INode | null; insertInto(newNode: INode, idx: number): INode | null; removeChild(child: IGraphic): IGraphic; removeAllChild(deep?: boolean): void; setStage(stage?: IStage, layer?: ILayer): void; addUpdatePositionTag(): void; addUpdateGlobalPositionTag(): void; protected tryUpdateGlobalTransMatrix(clearTag?: boolean): Matrix; shouldUpdateGlobalMatrix(): boolean; private _getChildByName; createOrUpdateChild<T extends keyof GraphicAttributeMap>(graphicName: string, attributes: GraphicAttributeMap[T], graphicType: T): INode; clone(): Group; getNoWorkAnimateAttr(): Record<string, number>; release(all?: boolean): void; } export declare function createGroup(attributes: IGroupGraphicAttribute): IGroup;