modern-canvas
Version:
A JavaScript WebGL rendering engine. only the ESM.
39 lines (38 loc) • 1.9 kB
TypeScript
import type { Vector2Like } from '../../core';
import type { CanvasBatchable, CanvasItemEvents, CanvasItemProperties, Node } from '../main';
import { Transform2D, Vector2 } from '../../core';
import { CanvasItem } from '../main';
export interface Node2DProperties extends CanvasItemProperties {
}
export interface Node2DEvents extends CanvasItemEvents {
}
export interface Node2D {
on: <K extends keyof Node2DEvents & string>(event: K, listener: (...args: Node2DEvents[K]) => void) => this;
once: <K extends keyof Node2DEvents & string>(event: K, listener: (...args: Node2DEvents[K]) => void) => this;
off: <K extends keyof Node2DEvents & string>(event: K, listener: (...args: Node2DEvents[K]) => void) => this;
emit: <K extends keyof Node2DEvents & string>(event: K, ...args: Node2DEvents[K]) => this;
}
export declare class Node2D extends CanvasItem {
rotation: number;
readonly position: Vector2;
readonly scale: Vector2;
readonly skew: Vector2;
readonly pivot: Vector2;
readonly extraTransform: Transform2D;
readonly transform: Transform2D;
readonly globalPosition: Vector2;
globalRotation: number;
readonly globalScale: Vector2;
readonly globalSkew: Vector2;
readonly globalTransform: Transform2D;
protected _parentTransformDirtyId?: number;
constructor(properties?: Partial<Node2DProperties>, nodes?: Node[]);
protected _updateProperty(key: string, value: any, oldValue: any): void;
updateTransform(): void;
updateGlobalTransform(): void;
protected _transformVertices(batchable: CanvasBatchable): Float32Array;
protected _relayout(batchables: CanvasBatchable[]): CanvasBatchable[];
protected _process(delta: number): void;
toLocal<P extends Vector2Like = Vector2>(globalPos: Vector2Like, newPos?: P): P;
toGlobal<P extends Vector2Like = Vector2>(localPos: Vector2Like, newPos?: P): P;
}