UNPKG

@jianghh/canvas-graffiti

Version:

canvas涂鸦库,支持手写、笔写、鼠标,选中元素,并且移动、删除等功能。集成撤销重做操作。

51 lines (50 loc) 1.58 kB
import { ToolType, Point } from '..'; import CanvasGraffiti from '../index'; export * from './group'; export type IElement = Required<IElementOptions> & {}; export interface IElementOptions { tool: ToolType; left: number; top: number; right: number; bottom: number; points: Point[]; lineWidth: CanvasGraffiti['lineWidth']; shadowBlur: CanvasGraffiti['shadowBlur']; shadowColor: CanvasGraffiti['shadowColor']; strokeStyle: CanvasGraffiti['strokeStyle']; fillStyle: CanvasGraffiti['fillStyle']; } export type OptionNumberKey = keyof Omit<IElementOptions, 'tool' | 'points' | 'shadowColor' | 'fillStyle' | 'strokeStyle'>; export type CustomRect = { left: number; right: number; top: number; bottom: number; }; export declare class GraffitiEle implements IElement { tool: ToolType; left: number; top: number; right: number; bottom: number; width: number; height: number; points: Point[]; lineWidth: CanvasGraffiti['lineWidth']; shadowBlur: CanvasGraffiti['shadowBlur']; shadowColor: CanvasGraffiti['shadowColor']; strokeStyle: CanvasGraffiti['strokeStyle']; fillStyle: CanvasGraffiti['fillStyle']; isDeleted: boolean; constructor(options: IElementOptions); moveEle(offsetX: number, offsetY: number): void; deleteEle(): void; } export declare function isRectIntersect(r1: CustomRect, r2: CustomRect): boolean; export declare function genRectByTwoPoint(p1: Point, p2: Point): { left: number; top: number; right: number; bottom: number; };