UNPKG

cheetah-grid

Version:

Cheetah Grid is a high performance grid engine that works on canvas

71 lines (68 loc) 1.43 kB
import type { AnyFunction, ColorDef } from "../ts-types"; import { Inline } from "./Inline"; import type { InlineDrawOption } from "./Inline"; export type InlineDrawerFunction = (options: InlineDrawOption) => void; export class InlineDrawer extends Inline { private _draw: InlineDrawerFunction; private _width: number; // private _height: number; private _color?: ColorDef; constructor({ draw, width, // height, color, }: { draw: InlineDrawerFunction; width: number; height: number; color?: ColorDef; }) { super(); this._draw = draw; this._width = width; // this._height = height; this._color = color; } width(_arg: { ctx: CanvasRenderingContext2D }): number { return this._width; } font(): string | null { return null; } color(): ColorDef | null { return this._color ?? null; } canDraw(): boolean { return true; } // eslint-disable-next-line @typescript-eslint/no-empty-function onReady(_callback: AnyFunction): void {} draw({ ctx, canvashelper, rect, offset, offsetLeft, offsetRight, offsetTop, offsetBottom, }: InlineDrawOption): void { this._draw({ ctx, canvashelper, rect, offset, offsetLeft, offsetRight, offsetTop, offsetBottom, }); } canBreak(): boolean { return false; } toString(): string { return ""; } }