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

40 lines (39 loc) 1.51 kB
import { Component, MouseButtons, SVGTagNames } from './shared'; export interface EditorOptions { width?: number; height?: number; isBuilderMode?: boolean; /** applies to Editor only */ componentDrawnHandler?: (component: SVGElement, componentId: string) => void; /** applies to Editor only */ selectModeHandler?: () => void; /** View mode click handler */ clickHandler?: (event: DocumentEventMap['mousedown'], componentId: string, centerCoords: { x: number; y: number; }) => void; /** View hover handler */ onMouseOver?: (e: DocumentEventMap['mouseover'], componentId: string, centerCoords: { x: number; y: number; }) => void; /** View hover handler */ onMouseOut?: (e: DocumentEventMap['mouseout'], componentId: string) => void; idGenerator?: () => string; deleteHandler?: (componentId: string, component: Component) => void; selectHandler?: (componentId: string, component: Component) => void; mouseButtons?: MouseButtons[]; } export type Dimensions = { x: number; y: number; width: number; height: number; }; export type PropChangeListener = { x: (currX: number, prevX: number, dim: Dimensions) => void; y: (currY: number, prevY: number, dim: Dimensions) => void; width: (currWidth: number, prevWidth: number, dim: Dimensions) => void; height: (currHeight: number, prevHeight: number, dim: Dimensions) => void; }; export type EditorMode = SVGTagNames | 'select';