UNPKG

@visactor/vrender-core

Version:
34 lines (33 loc) 1.46 kB
import type { ITheme, IThemeSpec } from './theme'; import type { IGraphicAttribute, IGraphic } from '../graphic'; import type { INode } from '../node-tree'; import type { GraphicAttributeMap } from './creator'; export type IGroupAttribute = { path: IGraphic[]; width: number; height: number; cornerRadius: number | number[]; cornerType: 'round' | 'bevel'; clip: boolean; visibleAll: boolean; display?: 'relative' | 'inner-block' | 'flex'; flexDirection?: 'row' | 'row-reverse' | 'column' | 'column-reverse'; flexWrap?: 'nowrap' | 'wrap'; justifyContent?: 'flex-start' | 'flex-end' | 'center' | 'space-between' | 'space-around'; alignItems?: 'flex-start' | 'flex-end' | 'center'; alignContent?: 'flex-start' | 'center' | 'space-between' | 'space-around'; baseOpacity?: number; drawMode?: 0 | 1 | 2; }; export type IGroupGraphicAttribute = Partial<IGraphicAttribute> & Partial<IGroupAttribute>; export interface IGroup extends IGraphic<IGroupGraphicAttribute> { childrenPickable?: boolean; theme?: ITheme; createTheme: () => void; hideAll: () => void; showAll: () => void; setTheme: (t: IThemeSpec) => void; incrementalAppendChild: (node: INode, highPerformance?: boolean) => INode | null; incrementalClearChild: () => void; createOrUpdateChild: <T extends keyof GraphicAttributeMap>(graphicName: string, attributes: GraphicAttributeMap[T], graphicType: T) => INode; }