UNPKG

editor-render-v2

Version:

编辑器渲染器

140 lines (139 loc) 2.91 kB
import { fabric } from 'fabric'; export interface IGradientOptions extends fabric.IGradientOptions { gradientUnits?: string; source?: string; repeat?: string; crossOrigin?: string; patternTransform?: null; } export interface IInitFabricObj { angle?: number; scaleX?: number; scaleY?: number; id?: string | number; left?: number; top?: number; width?: number; height?: number; name?: string; fill?: string | fabric.IPatternOptions | IGradientOptions; type?: string; opacity?: number; objects?: IInitFabricObj[]; shadow?: fabric.IShadowOptions; backgroundColor?: string; version?: string; stroke?: string | fabric.IGradientOptions; strokeWidth?: number; radius?: number; originX?: string; originY?: string; strokeMiterLimit?: number; strokeDashArray?: number[]; strokeLineJoin?: string; strokeLineCap?: string; strokeUniform?: boolean; strokeDashOffset?: number; src?: string; centeredRotation?: boolean; centeredScaling?: boolean; fontFamily?: string; cropY?: number; cropX?: number; crossOrigin?: string; clipPath?: fabric.Rect | IInitFabricObj; rx?: number; ry?: number; cornerRadiusTL?: number; cornerRadiusTR?: number; cornerRadiusBL?: number; cornerRadiusBR?: number; patch9Image?: { src: string; tp: number; lp: number; bp: number; rp: number; dom?: HTMLImageElement; }; perPixelTargetFind?: boolean; } export interface ICanvasObject extends fabric.Object { id?: string | number; thumb?: string; version?: string; } export interface IJsonData { background?: string; objects?: IInitFabricObj[]; version?: string; width?: number; height?: number; thumb?: string; } export interface IKeyEvent { /** * Arrow key * @type {boolean} */ move?: boolean; /** * Ctrl + A * @type {boolean} */ all?: boolean; /** * Ctrl + C * @type {boolean} */ copy?: boolean; /** * Ctrl + P * @type {boolean} */ paste?: boolean; /** * Escape * @type {boolean} */ esc?: boolean; /** * Delete or Backspace * @type {boolean} */ del?: boolean; /** * When have copied object, whether should copy object option on clipboard * @type {boolean} */ clipboard?: boolean; /** * Ctrl + Z, Ctrl + Y * @type {boolean} */ transaction?: boolean; /** * Plus, Minus * * @type {boolean} */ zoom?: boolean; /** * Ctrl + X * * @type {boolean} */ cut?: boolean; /** * Ctrl + G * * @type {boolean} */ group?: boolean; /** * Ctrl + shift + G * * @type {boolean} */ unGroup?: boolean; }