UNPKG

goban

Version:

[![License: Apache-2.0](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)

136 lines (135 loc) 5.14 kB
import { JGOF } from "../engine/formats/JGOF"; import { AdHocFormat } from "../engine/formats/AdHocFormat"; import { GobanConfig } from "../GobanBase"; import { GobanEngine } from "../engine"; import { MoveTree } from "../engine/MoveTree"; import { MoveTreePenMarks } from "../engine/MoveTree"; import { MessageID } from "../engine/messages"; import { Goban, GobanMetrics, GobanSelectedThemes } from "./Goban"; export interface CanvasRendererGobanConfig extends GobanConfig { board_div?: HTMLElement; title_div?: HTMLElement; move_tree_container?: HTMLElement; last_move_opacity?: number; } interface ViewPortInterface { offset_x: number; offset_y: number; minx: number; miny: number; maxx: number; maxy: number; } export interface GobanCanvasInterface { engine: GobanEngine; move_tree_container?: HTMLElement; clearAnalysisDrawing(): void; drawPenMarks(pen_marks: MoveTreePenMarks): void; enablePen(): void; disablePen(): void; setByoYomiLabel(label: string): void; setLastMoveOpacity(opacity: number): void; move_tree_bindCanvasEvents(canvas: HTMLCanvasElement): void; move_tree_redraw(no_warp?: boolean): void; setMoveTreeContainer(container: HTMLElement): void; showMessage(message_id_or_error: MessageID, parameters?: { [key: string]: any; }, timeout?: number): void; clearMessage(): void; drawSquare(i: number, j: number): void; destroy(): void; } export declare class GobanCanvas extends Goban implements GobanCanvasInterface { engine: GobanEngine; private board; private __set_board_height; private __set_board_width; private ready_to_draw; private message_div?; private message_td?; private message_text?; private message_timeout?; private shadow_layer?; private shadow_ctx?; private handleShiftKey; private last_move_opacity; move_tree_container?: HTMLElement; private move_tree_inner_container?; private move_tree_canvas?; private __borders_initialized; private autoplaying_puzzle_move; private byoyomi_label; private ctx; private current_pen_mark?; private labeling_mode?; private last_label_position; private last_pen_position?; protected metrics: GobanMetrics; private drawing_enabled; private pen_ctx?; private pen_layer?; protected title_div?: HTMLElement; private themes; private theme_black; private theme_black_stones; private theme_black_text_color; private theme_blank_text_color; private theme_board; private theme_faded_line_color; private theme_faded_star_color; private theme_line_color; private theme_star_color; private theme_stone_radius; private theme_white; private theme_white_stones; private theme_white_text_color; constructor(config: CanvasRendererGobanConfig, preloaded_data?: AdHocFormat | JGOF); setLastMoveOpacity(opacity: number): void; enablePen(): void; disablePen(): void; destroy(): void; private detachShadowLayer; private attachShadowLayer; private detachPenCanvas; private attachPenCanvas; private bindPointerBindings; clearAnalysisDrawing(): void; private xy2pen; private pen2xy; private setPenStyle; private onPenStart; private onPenMove; drawPenMarks(pen_marks: MoveTreePenMarks): void; private onTap; private onMouseMove; private onMouseOut; protected enableDrawing(): void; protected disableDrawing(): void; setByoYomiLabel(label: string): void; drawSquare(i: number, j: number): void; private __drawSquare; private drawingHash; redraw(force_clear?: boolean): void; showMessage(message_id_or_error: MessageID, parameters?: { [key: string]: any; }, timeout?: number): void; clearMessage(): void; protected setTheme(themes: GobanSelectedThemes, dont_redraw: boolean): void; private onLabelingStart; private onLabelingMove; protected setTitle(title: string): void; protected watchSelectedThemes(cb: (themes: GobanSelectedThemes) => void): { remove: () => any; }; setMoveTreeContainer(container: HTMLElement): void; move_tree_redraw(no_warp?: boolean): void; move_tree_bindCanvasEvents(canvas: HTMLCanvasElement): void; protected computeThemeStoneRadius(): number; move_tree_drawStone(ctx: CanvasRenderingContext2D, node: MoveTree, active_path_number: number, viewport: ViewPortInterface): void; move_tree_drawRecursive(ctx: CanvasRenderingContext2D, node: MoveTree, active_path_number: number, viewport: ViewPortInterface): void; move_tree_hilightNode(ctx: CanvasRenderingContext2D, node: MoveTree, color: string, viewport: ViewPortInterface): void; move_tree_drawPath(ctx: CanvasRenderingContext2D, node: MoveTree, viewport: ViewPortInterface): void; move_tree_drawIsoBranchTo(ctx: CanvasRenderingContext2D, from_node: MoveTree, to_node: MoveTree, viewport: ViewPortInterface): void; move_tree_recursiveDrawPath(ctx: CanvasRenderingContext2D, node: MoveTree, viewport: ViewPortInterface): void; } export {};