UNPKG

wgo

Version:

JavaScript library for game of Go

42 lines (41 loc) 1.72 kB
import { BoardBase, BoardViewport } from '../BoardBase'; import { PartialRecursive } from '../utils/makeConfig'; import { SVGDrawHandler, SVGBoardConfig, BoardObjectSVGElements, SVGBoardObject } from './types'; import { Point } from '../types'; export default class SVGBoard extends BoardBase { config: SVGBoardConfig; boardElement: HTMLElement; touchArea: HTMLElement; svgElement: SVGElement; defsElement: SVGElement; objects: SVGBoardObject[]; objectsElementMap: Map<SVGBoardObject, BoardObjectSVGElements>; top: number; left: number; bottom: number; right: number; /** Drawing contexts - elements to put additional board objects. Similar to layers. */ contexts: { [key: string]: SVGElement; }; constructor(elem: HTMLElement, config?: PartialRecursive<SVGBoardConfig>); resize(): void; redraw(): void; drawGrid(): void; drawCoordinates(): void; drawObjects(): void; addObject(boardObject: SVGBoardObject | SVGBoardObject[]): void; protected createObjectElements(boardObject: SVGBoardObject): void; getObjectHandler(boardObject: SVGBoardObject): SVGDrawHandler; removeObject(boardObject: SVGBoardObject | SVGBoardObject[]): void; updateObject(boardObject: SVGBoardObject | SVGBoardObject[]): void; setViewport(viewport?: BoardViewport): void; setSize(size?: number): void; setCoordinates(coordinates: boolean): void; on(type: string, callback: (event: UIEvent, point: Point) => void): void; registerBoardListener(type: string): void; getRelativeCoordinates(absoluteX: number, absoluteY: number): { x: number; y: number; }; }