UNPKG

@joggs1/image-mapper

Version:

Adds SVG drawing capability (rectangles, circles, ellipses and polygons) on top of your image to let you make image maps

56 lines (55 loc) 2.7 kB
import { createFSMService } from './fsm'; import { Handle } from './handle'; import { Component, EditorMode, EditorOptions, FigureOptions, MouseButtons, PolygonOptions, Schema, Style } from './types'; export declare class Editor { width: number; height: number; svg: SVGSVGElement; style: Style; fsmService: ReturnType<typeof createFSMService>; componentDrawnHandler: EditorOptions['componentDrawnHandler']; selectModeHandler: EditorOptions['selectModeHandler']; clickHandler: EditorOptions['clickHandler']; selectHandler: EditorOptions['selectHandler']; image?: SVGImageElement; mode?: EditorMode; /** components */ cgroup: SVGGElement; /** handles */ hgroup: SVGGElement; _cacheElementMapping: Record<string, Component>; deleteHandler?: EditorOptions['deleteHandler']; idGenerator: EditorOptions['idGenerator']; onMouseOut: EditorOptions['onMouseOut']; onMouseOver: EditorOptions['onMouseOver']; scale: number; private imageSizes; _idCounter: number; _handleIdCounter: number; mouseButtons: MouseButtons[]; constructor(svgEl: SVGSVGElement | string, options?: EditorOptions, style?: Style); loadImage(path: string, width: number, height: number): Promise<this>; setStyle(style: object): this; setScale(scale: number): void; setEditorMode(mode: EditorMode): void; selectComponent(component: Component | string): Component; removeComponent(component: string | any): SVGAElement | undefined; on(eventTypes: string, handler: (e: Event) => any): this; addFiguresEventListener<T extends keyof DocumentEventMap>(eventType: T, handler: (e: DocumentEventMap[T]) => any): this; removeFiguresEventListener<T extends keyof DocumentEventMap>(eventType: T, handler: (e: DocumentEventMap[T]) => any): this; off(eventTypes: string, handler: (e: Event) => {}): this; getComponentById(id: string): Component; import(data: Schema | string, idInterceptor?: (id: string) => string): any; export(escape?: boolean): Schema; exportAsString(): string; createRectangle(dim: FigureOptions, id: string): Component; createCircle(dim: FigureOptions, id: string): Component; createEllipse(dim: FigureOptions, id: string): Component; createPolygon(data: PolygonOptions, id: string): Component; registerComponent(component: Component, id?: string): Component; registerComponentHandle(handle: Handle): Component; unregisterComponent(component: string | Component): void; destroy(): void; } declare const _default: (isView?: boolean) => (svgEl: SVGSVGElement | string, options?: EditorOptions, style?: Style) => Editor; export default _default;