mark-tool-js
Version:
44 lines (43 loc) • 1.41 kB
TypeScript
import type { Svg } from '@svgdotjs/svg.js';
import { TCustomDragDetail, TDrawReturn, TDrawType, TSvgData } from '../types/svg';
export declare class SVGWrap {
$svgWrap: HTMLDivElement;
$svgContainer: Svg;
mouseDownClient?: {
offsetX: number;
offsetY: number;
};
currDrawType: TDrawType;
isMouseDown: boolean;
currSvg: TDrawReturn;
currClickSvg: Svg;
svgsData: TSvgData[];
isPreview: boolean;
childMaxLen: number;
constructor(_$svgWrap: HTMLDivElement);
removeSelectize(fn?: (child: Svg, contentEl?: Svg) => void): void;
switchPreviewStatus(_isPreview: boolean): boolean;
initSvgWrap(_$svgWrap: HTMLDivElement): void;
addEventListener(): void;
private onClick;
private onCreate;
private onTouchStart;
private onDrag;
private onTouchMove;
private onTouchEnd;
private getEventOffset;
getDetails(event: MouseEvent | TouchEvent, offsetX: number, offsetY: number): TCustomDragDetail;
private sendLinesLocation;
getWhetherLenOver(): boolean;
addSvgDom(svgData: TSvgData): void;
/**
*
* @param id string: querySelector([string]) | dom
* @returns
*/
deleteSvgDom(id: string | HTMLElement): void;
deleteAllSvgDom(mode?: string): void;
sendCustomEvent(name: string, detail?: Record<string, any>): void;
private observerDom;
getCloneSvgsData(): any;
}