import { IMaterialFactory } from '@awayjs/renderer'; import { FillStyle, LineStyle } from './ShapeStyle'; export interface ShapeTag extends DefinitionTag { lineBounds: BBox; lineBoundsMorph?: BBox; fillBounds?: BBox; fillBoundsMorph?: BBox; flags: number; fillStyles: FillStyle[]; lineStyles: LineStyle[]; records: ShapeRecord[]; recordsMorph?: ShapeRecord[]; factory: IMaterialFactory; } export interface BBox { xMin: number; xMax: number; yMin: number; yMax: number; } export interface ShapeRecord { type: number; flags: number; deltaX?: number; deltaY?: number; controlDeltaX?: number; controlDeltaY?: number; anchorDeltaX?: number; anchorDeltaY?: number; moveX?: number; moveY?: number; fillStyle0?: number; fillStyle1?: number; lineStyle?: number; fillStyles?: FillStyle[]; lineStyles?: LineStyle[]; lineBits?: number; fillBits?: number; } export interface SwfTag { code: number; ns?: string; } export interface DefinitionTag extends SwfTag { id: number; lazyParser: () => any; needParse: boolean; lazyTaskDone?: (tag: DefinitionTag) => void; parsingTime?: number; } export declare const enum ShapeRecordFlags { Move = 1, HasFillStyle0 = 2, HasFillStyle1 = 4, HasLineStyle = 8, HasNewStyles = 16, IsStraight = 32, IsGeneral = 64, IsVertical = 128 } //# sourceMappingURL=ShapeTag.d.ts.map