editor-render-v2
Version:
编辑器渲染器
95 lines (94 loc) • 2.72 kB
TypeScript
import Handler from './Handler';
import { fabric } from 'fabric';
interface ISetProperty {
key: string;
value: string | number | boolean | ISetCornerRadius;
obj?: fabric.Object;
save?: boolean;
callBack?: () => void;
}
interface ISetCornerRadius {
cornerRadiusTL: number;
cornerRadiusTR: number;
cornerRadiusBL: number;
cornerRadiusBR: number;
}
/**
* 通用的处理器,画布中公共的方法都在这里
*/
declare class CommonHandler {
/** @ignore */
handler: Handler;
/** @ignore */
constructor(handler: Handler);
/**
* selectElements
* @param ary 设置选中指定的的fabric元素
*/
selectElements(ary: any): void;
/**
* 通过id查找画布元素
* @param id - 需要查找的id
* @returns 查找到的画布元素
*/
findById(id: string | number): fabric.Object;
/**
* 清空画布
* @param includeWorkarea - 是否需要清空workarea 默认不清空
* @defaultValue false 不清空workarea,true清空workarea
*/
clear(includeWorkarea?: boolean): import("../interface").IJsonData;
/**
* 获取当前画布中元素的类型
* @param obj - 画布中的元素
* @returns 元素类型
*/
getObjectType(obj: fabric.Object): string;
/**
* 设置画布中元素的属性值
* @param key 需要设置的属性
* @param value 设置的属性值
* @param obj 需要设置的画布元素,不传入时默认画布中当前选择的元素
* @param save 是否保存,默认为true
* @defaultValue true 存储修改状态,false不存储状态
* @returns
*/
setProperty({ key, value, obj, callBack }: ISetProperty): {
version: string;
objects: fabric.Object[];
};
/**
* 设置图片的圆角
*/
setImageBorderRadius(image: fabric.Object, value: number | ISetCornerRadius): void;
/**
* 删除元素
* @param object 删除的元素
*/
deleteObject(object?: fabric.Object): void;
/**
* 加载字体
* @param name 字体名
* @param url 字体链接
* @returns
*/
loadFontAsync(name: string, url: string): Promise<boolean>;
/**
* 设置元素的定位点为center,并且自动复原位置
* @param object
* @returns
*/
setObjectOriginByCenter(object: fabric.Object): void;
/**
* 选择画布中的所有元素
* @returns 无
*/
selectAll(): void;
/**
* 设置元素的定位点为left/top,并且自动复原位置
* @param object
* * @returns
*/
setObjectOriginByLeftTop(object: fabric.Object): void;
}
export default CommonHandler;