@jianghh/canvas-graffiti
Version:
canvas涂鸦库,支持手写、笔写、鼠标,选中元素,并且移动、删除等功能。集成撤销重做操作。
51 lines (50 loc) • 1.58 kB
TypeScript
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;
};