shogiground
Version:
lishogi.org shogi ui
29 lines • 2.52 kB
TypeScript
import type * as sg from './types.js';
export declare const pos2key: (pos: sg.Pos) => sg.Key;
export declare const key2pos: (k: sg.Key) => sg.Pos;
export declare function memo<A>(f: () => A): sg.Memo<A>;
export declare function callUserFunction<T extends (...args: any[]) => void>(f: T | undefined, ...args: Parameters<T>): void;
export declare const opposite: (c: sg.Color) => sg.Color;
export declare const sentePov: (o: sg.Color) => boolean;
export declare const distanceSq: (pos1: sg.Pos, pos2: sg.Pos) => number;
export declare const samePiece: (p1: sg.Piece, p2: sg.Piece) => boolean;
export declare const posToTranslateAbs: (dims: sg.Dimensions, bounds: DOMRect) => ((pos: sg.Pos, asSente: boolean) => sg.NumberPair);
export declare const posToTranslateRel: (dims: sg.Dimensions) => ((pos: sg.Pos, asSente: boolean) => sg.NumberPair);
export declare const translateAbs: (el: HTMLElement, pos: sg.NumberPair, scale: number) => void;
export declare const translateRel: (el: HTMLElement, percents: sg.NumberPair, scaleFactor: number, scale?: number) => void;
export declare const setDisplay: (el: HTMLElement, v: boolean) => void;
export declare const eventPosition: (e: sg.MouchEvent) => sg.NumberPair | undefined;
export declare const isRightButton: (e: sg.MouchEvent) => boolean;
export declare const isMiddleButton: (e: sg.MouchEvent) => boolean;
export declare const createEl: (tagName: string, className?: string) => HTMLElement;
export declare function pieceNameOf(piece: sg.Piece): sg.PieceName;
export declare function parsePieceName(pieceName: sg.PieceName): sg.Piece;
export declare function isPieceNode(el: HTMLElement): el is sg.PieceNode;
export declare function isSquareNode(el: HTMLElement): el is sg.SquareNode;
export declare function computeSquareCenter(key: sg.Key, asSente: boolean, dims: sg.Dimensions, bounds: DOMRect): sg.NumberPair;
export declare function domSquareIndexOfKey(key: sg.Key, asSente: boolean, dims: sg.Dimensions): number;
export declare function isInsideRect(rect: DOMRect, pos: sg.NumberPair): boolean;
export declare function getKeyAtDomPos(pos: sg.NumberPair, asSente: boolean, dims: sg.Dimensions, bounds: DOMRect): sg.Key | undefined;
export declare function getHandPieceAtDomPos(pos: sg.NumberPair, roles: sg.RoleString[], bounds: Map<sg.PieceName, DOMRect>): sg.Piece | undefined;
export declare function posOfOutsideEl(left: number, top: number, asSente: boolean, dims: sg.Dimensions, boardBounds: DOMRect): sg.Pos | undefined;
//# sourceMappingURL=util.d.ts.map