@visactor/vrender-core
Version:
## Description
56 lines (55 loc) • 2.37 kB
TypeScript
import type { IAABBBounds } from '@visactor/vutils';
import type { ISymbol, ISymbolClass, ISymbolGraphicAttribute } from '../interface';
import { Graphic } from './graphic';
import { CustomPath2D } from '../common/custom-path2d';
export declare class Symbol extends Graphic<ISymbolGraphicAttribute> implements ISymbol {
type: 'symbol';
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;
symbolType: number;
};
constructor(params?: ISymbolGraphicAttribute);
protected _parsedPath?: ISymbolClass;
getParsedPath(): ISymbolClass;
getParsedPath2D(x?: number, y?: number, size?: number): Path2D | null;
isValid(): boolean;
private _isValid;
protected doUpdateParsedPath(): ISymbolClass;
getGraphicTheme(): Required<ISymbolGraphicAttribute>;
protected updateAABBBounds(attribute: ISymbolGraphicAttribute, symbolTheme: Required<ISymbolGraphicAttribute>, aabbBounds: IAABBBounds, full?: boolean): import("@visactor/vutils").IBounds;
protected updateSymbolAABBBoundsImprecise(attribute: ISymbolGraphicAttribute, symbolTheme: Required<ISymbolGraphicAttribute>, aabbBounds: IAABBBounds): IAABBBounds;
protected updateSymbolAABBBoundsAccurate(attribute: ISymbolGraphicAttribute, symbolTheme: Required<ISymbolGraphicAttribute>, aabbBounds: IAABBBounds): IAABBBounds;
protected needUpdateTags(keys: string[]): boolean;
protected needUpdateTag(key: string): boolean;
toCustomPath(): CustomPath2D;
clone(): Symbol;
getNoWorkAnimateAttr(): Record<string, number>;
}
export declare function createSymbol(attributes: ISymbolGraphicAttribute): ISymbol;