/** * 颜色 */ export type PColor = { red: number; green: number; blue: number; alpha: number; swatchID?: string; }; /** * 属性 */ export type Property = { name: string; position: { x: number; y: number; }; size: { width: number; height: number; }; opacity: number; radius: number[]; symbolName?: string; sharedLayerStyleName?: string; sharedTextStyleName?: string; }; declare enum Alignment { Left = 0,// 水平左对齐 Right = 1,// 水平右对齐 Center = 2,// 水平居中对齐 Justify = 3 } declare enum VerticalAlignment { Top = 0,// 垂直顶部对齐 Center = 1,// 垂直居中对齐 Bottom = 2 } /** * 字体 */ export type TypeFace = { fontFamily: string; fontWeight: string; alignment: Alignment; verticalAlignment: VerticalAlignment; color: PColor; fontSize: number; letterSpacing: number; lineHeight: number; paragraphSpacing: number; content: string; }; declare enum FillType { PureColor = 0,// 纯色填充类型 linearGradient = 1,// 线性渐变类型 radialGradient = 2,// 径向渐变类型 angularGradient = 3 } /** * 渐变节点 */ export type Stop = { position: number; color: PColor; }; /** * 线性渐变填充 */ export type LinearGradientFill = { type: FillType.linearGradient; stops: Stop[]; }; /** * 径向渐变填充 */ export type RadialGradientFill = { type: FillType.radialGradient; stops: Stop[]; }; /** * 环型渐变填充 */ export type AngularGradientFill = { type: FillType.angularGradient; stops: Stop[]; }; /** * 纯色填充 */ export type PrueColorFill = { type: FillType.PureColor; color: PColor; }; /** * 填充 */ export type Fill = PrueColorFill | LinearGradientFill | RadialGradientFill | AngularGradientFill; /** * 边框位置 */ declare enum BorderPosition { Center = 0,// 中间边框 Inside = 1,// 内边框 Outside = 2 } /** * 边框 * inside 内边框 * center 中心边框 * outside 外边框 */ export type PBorder = { position: BorderPosition; thickness: number; fill: Fill; }; /** * 阴影类型 */ declare enum ShadowType { Inner = 0,// 内阴影 Normal = 1 } /** * 阴影 */ export type Shadow = { type: ShadowType; offsetX: number; offsetY: number; blurRadius: number; spread: number; color: PColor; }; /** * 属性面板 code: shape代表shapePath等图层转换为了图片 */ export type Panel = { properties: Property; fills: Fill[]; typefaces: TypeFace[]; borders: PBorder[]; styleBorder?: any; shadows: Shadow[]; code: string; }; export {};