editor-render-v2
Version:
编辑器渲染器
82 lines (81 loc) • 2.62 kB
TypeScript
/// <reference types="plugin-typings" />
import { IInitFabricObj, IGradientOptions } from '../../interface';
import Converter from './Converter';
import { fabric } from 'fabric';
type IAllLayer = TextNode | RectangleNode | LineNode | FrameNode | VectorNode;
interface IPosition {
left: number;
top: number;
width: number;
height: number;
}
interface IStrokeStyle {
stroke: string | IGradientOptions;
strokeWidth: number;
strokeDashArray: number[];
strokeLineCap: string;
strokeLineJoin: string;
paintFirst: string;
}
declare class ConverterCommon {
converter: Converter;
constructor(converter: Converter);
/**
* 解析公共的属性
* @param layer 需要解析的层
* @returns 解析的结果
*/
converterCommon(layer: IAllLayer): IInitFabricObj;
/**
* 获取组元素位置和大小信息
* @param objects 组内所有元素
* @returns 位置和大小信息
*/
getGroupPosition(objects: IInitFabricObj[]): IPosition;
/**
* 解析文字图层的填充
* @param layer 文字图层
* @returns 解析结果
*/
converterFill(layer: IAllLayer): string | IGradientOptions;
/**
* 解析文字的外阴影
* @param layer 需要解析的层
* @returns 解析结果
*/
converterShadow(layer: IAllLayer): fabric.IShadowOptions | boolean;
/**
* 解析图层的描边属性
* @param layer 需要解析的图层
* @returns 解析结果
*/
converterStroke(layer: IAllLayer): IStrokeStyle | boolean;
/**
* 重新设置图片的位置信息
* @param fill 填充样式
* @param styleObject 图片的初始信息
*/
resetImagePositionAsync(fill: ImagePaint, styleObject: IInitFabricObj): Promise<void>;
/**
* 转换文字的高亮字,目前支持纯色、线性渐变、径向渐变
* @param layer 需要解析的层
* @returns 解析结果
*/
converterTextStyles(layer: IAllLayer): (string | IGradientOptions)[];
private resetImagePositionFillAsync;
private resetImagePositionFitAsync;
private resetImagePositionStretchAsync;
private getGradientLinear;
private getGradientRadial;
getShow(effectList: Paint[]): Paint | boolean;
private converterColor;
private resetColorStops;
getImgUrl(id: string): string;
getImgSizeAsync(url: string): Promise<{
width: number;
height: number;
}>;
checkIsFlexBox(layer: GroupNode): boolean;
converterImageBorderRadius(layer: RectangleNode): IInitFabricObj;
}
export default ConverterCommon;