UNPKG

modern-canvas

Version:

A JavaScript WebGL rendering engine. only the ESM.

49 lines (48 loc) 1.68 kB
import type { LineCap, LineJoin, LineStyle } from 'modern-path2d'; import type { Batchable2D, ColorValue } from '../../core'; import { Path2D } from 'modern-path2d'; import { Texture2D } from '../resources'; export type TransformUv = (uvs: Float32Array, index: number) => void; export type TransformVertex = (vertices: Float32Array, index: number) => void; export interface CanvasBatchable extends Batchable2D { type: 'stroke' | 'fill'; texture?: Texture2D; transformUv?: TransformUv; transformVertex?: TransformVertex; size?: { width: number; height: number; }; } export interface StrokeDraw extends Partial<CanvasBatchable> { type: 'stroke'; path: Path2D; lineStyle: LineStyle; } export interface FillDraw extends Partial<CanvasBatchable> { type: 'fill'; path: Path2D; } export declare class CanvasContext extends Path2D { fillStyle?: ColorValue | Texture2D; strokeStyle?: ColorValue | Texture2D; strokeAlignment?: number; lineCap?: LineCap; lineJoin?: LineJoin; lineWidth?: number; miterLimit?: number; transformUv?: TransformUv; transformVertex?: TransformVertex; protected _draws: (StrokeDraw | FillDraw)[]; protected _parseDrawStyle(source?: ColorValue | Texture2D): { texture?: Texture2D; }; stroke(options?: Partial<StrokeDraw>): void; fillRect(x: number, y: number, width: number, height: number): void; strokeRect(x: number, y: number, width: number, height: number): void; fill(options?: Partial<FillDraw>): void; copy(source: CanvasContext): this; resetStatus(): void; reset(): this; toBatchables(): CanvasBatchable[]; }