easyannotation
Version:
Image annotation in JavaScript
84 lines (83 loc) • 3.49 kB
TypeScript
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<string>;
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;
}