@kayelaa/canvas API - v0.2.15
    Preparing search index...

    Class LeaRendererII

    Canvas-based renderer that manages a 2D drawing context and emits a "draw" event each frame.

    Handles resolution scaling (viewport vs camera), automatic clearing, and RAF loop.

    const renderer = new LeaRendererII(canvas, { viewportWidth: 800, viewportHeight: 600 });
    renderer.on("draw", (ctx) => {
    ctx.fillStyle = "black";
    ctx.fillRect(0, 0, renderer.viewportWidth, renderer.viewportHeight);
    });
    renderer.start();

    Hierarchy (View Summary)

    Index

    Constructors

    • Parameters

      • canvas: HTMLCanvasElement
      • __namedParameters: {
            viewportWidth?: number;
            viewportHeight?: number;
            cameraWidth?: number;
            cameraHeight?: number;
        } = {}

      Returns LeaRendererII

    Properties

    listenerMap: Map<"draw" | "viewport_update", Listener<any[]>[]> = ...
    running: boolean

    Whether the renderer is currently running (RAF loop active).

    _rafId: number
    _fps: number
    _frameCount: number
    _fpsTimer: number
    _lastFrameTime: number
    automatic: boolean

    Accessors

    • get canvas(): HTMLCanvasElement

      The target canvas element.

      Returns HTMLCanvasElement

    • set canvas(canvas: HTMLCanvasElement): void

      Parameters

      • canvas: HTMLCanvasElement

      Returns void

    • get ctx(): CanvasRenderingContext2D

      The 2D rendering context.

      Returns CanvasRenderingContext2D

    • get viewportWidth(): number

      The logical viewport width (game coordinate space).

      Returns number

    • set viewportWidth(v: number): void

      Parameters

      • v: number

      Returns void

    • get centerX(): number

      Center X of the viewport (viewportWidth / 2).

      Returns number

    • get centerY(): number

      Center Y of the viewport (viewportHeight / 2).

      Returns number

    • get viewportHeight(): number

      The logical viewport height (game coordinate space).

      Returns number

    • set viewportHeight(v: number): void

      Parameters

      • v: number

      Returns void

    • get cameraWidth(): number

      The camera/pixel resolution width (canvas backing resolution).

      Returns number

    • set cameraWidth(v: number): void

      Parameters

      • v: number

      Returns void

    • get cameraHeight(): number

      The camera/pixel resolution height (canvas backing resolution).

      Returns number

    • set cameraHeight(v: number): void

      Parameters

      • v: number

      Returns void

    • get FPS(): number

      Current measured FPS (updated every second).

      Returns number

    Methods

    • Registers a listener for the specified event.

      Type Parameters

      • K extends "draw" | "viewport_update"

        Event name

      Parameters

      • event: K

        The name of the event

      • listener: (
            ...args: {
                draw: [CanvasRenderingContext2D];
                viewport_update: [{ width: number; height: number }];
            }[K],
        ) => void

        The callback to invoke when the event is emitted

      Returns this

      This emitter for chaining

    • Registers a one-time listener for the specified event.

      The listener is automatically removed after the first invocation.

      Type Parameters

      • K extends "draw" | "viewport_update"

        Event name

      Parameters

      • event: K

        The name of the event

      • listener: (
            ...args: {
                draw: [CanvasRenderingContext2D];
                viewport_update: [{ width: number; height: number }];
            }[K],
        ) => void

        The callback to invoke once

      Returns this

      This emitter for chaining

    • Removes a listener for the specified event.

      Type Parameters

      • K extends "draw" | "viewport_update"

        Event name

      Parameters

      • event: K

        The name of the event

      • listener: (
            ...args: {
                draw: [CanvasRenderingContext2D];
                viewport_update: [{ width: number; height: number }];
            }[K],
        ) => void

        The callback to remove

      Returns this

      This emitter for chaining

    • Emits an event, invoking all registered listeners with the provided arguments.

      If the event is "error" and no listeners are registered, the first argument (the error) will be thrown.

      Type Parameters

      • K extends "draw" | "viewport_update"

        Event name

      Parameters

      • event: K

        The name of the event to emit

      • ...args: {
            draw: [CanvasRenderingContext2D];
            viewport_update: [{ width: number; height: number }];
        }[K]

        Arguments to pass to listeners

      Returns boolean

      true if any listeners were invoked, false otherwise

    • Removes all listeners for the specified event, or all listeners if no event is provided.

      Type Parameters

      • K extends "draw" | "viewport_update"

        Event name

      Parameters

      • Optionalevent: K

        Optional event name to clear listeners for

      Returns LeaRendererII

      This emitter for chaining

    • Returns the number of listeners registered for the specified event.

      Type Parameters

      • K extends "draw" | "viewport_update"

        Event name

      Parameters

      • event: K

        The event to count listeners for

      Returns number

      The number of registered listeners

    • Update canvas resolution to match camera Units remain the same

      Returns void

    • Apply viewport → canvas transform Scale computed dynamically each frame

      Returns void

    • Starts the RAF loop and begins emitting "draw" events.

      Returns void

      If called in a non-browser environment or RAF is unavailable

    • Stops the RAF loop and halts drawing.

      Returns void

      If called in a non-browser environment or RAF is unavailable