import Config from "../Config"; import { AnnotatorContainer } from "../AnnotatorContainer"; import DrawStyle from "../model/Styles"; import FillStyle from "../model/Styles"; import { StrokeType } from "../model/Styles"; import InternalConfig from "../utils/InternalConfig"; export declare class BaseAnnotator { protected properties: Array; protected readonly RESIZE_ELEM_SIZE = 8; protected svgGroupElement: SVGGElement; protected baseSVGElement: SVGGElement; protected fillPattern: SVGPatternElement; protected isDragging: boolean; protected x: number; protected y: number; protected width: number; protected height: number; protected startX: number; protected startY: number; /** * Original matrix of the element, so we can translate from original point. */ private elementMatrix; protected selected: boolean; onSelectHandler: (element: BaseAnnotator) => void; protected parent: AnnotatorContainer; protected config: InternalConfig; protected filters: any; protected drawStyle: DrawStyle; protected fillStyle: FillStyle; constructor(config: InternalConfig, parent: AnnotatorContainer); getElement(): SVGGElement; clean(): void; protected init(): void; protected startDrag: (x: number, y: number) => void; protected onTouchStart: (evt: TouchEvent) => void; protected onMouseDown: (evt: MouseEvent) => void; protected doMouseDown(evt: MouseEvent): void; protected getPixelRatio(): number; protected onTouchEnd: (evt: TouchEvent) => void; protected onMouseUp: (evt: MouseEvent) => void; processMouseUp(): void; protected onTouchMove: (evt: TouchEvent) => void; protected onMouseMove: (evt: MouseEvent) => void; private move; moveBy(dx: number, dy: number, evt: MouseEvent | Touch): void; protected createResizeElement(config: Config): SVGGraphicsElement; intersects(x: number, y: number, width: number, height: number): boolean; containsPoint(px: number, py: number): boolean; setStrokeType(strokeType: StrokeType): void; getStrokeType(): StrokeType; getStrokeWidth(): number; setStrokeWidth(width: number): void; setDrawColor(color: string): void; setFillColor(color: string): void; setFillType(fillType: number): void; setSelected(selected: boolean): void; protected _setStrokeType(svgElement: SVGElement, strokeType: StrokeType): void; protected _setStrokeWidth(svgElement: SVGElement, width: number): void; setDrawStyle(drawStyle: DrawStyle): void; getDrawStyle(): DrawStyle; setFillStyle(fillStyle: FillStyle): void; getFillStyle(): DrawStyle; setOpacity(opacity: number): void; isOnTop(): boolean; toXML(): Element; fromXML(element: Element): void; getWidth(): number; getHeight(): number; protected loadXMLDraw(element: Element): void; protected loadXMLFill(element: Element): void; protected getXMLNumber(elem: Element, attributeName: string): number; toJSON(): Object; fromJSON(obj: Object): void; protected addDraw(element: Element): void; protected addFill(element: Element): void; protected addJSONDraw(obj: any): void; protected loadJSONDraw(obj: any): void; protected loadJSONFill(obj: any): void; protected addJSONFill(obj: any): void; getProperties(): string[]; getType(): string; }