@oliversalzburg/js-utils - v0.5.0
    Preparing search index...

    Class CanvasWorkerInstance<TCanvas, TApplicationOptions, TKernel>

    The canvas worker instance handles a web worker instance in worker instance itself, and handles a feedback channel to the host application.

    It provides a thin abstraction over the web worker IPC messaging.

    // Construct inside of worker from global scope and rendering kernel class.
    const worker = new CanvasWorkerInstance(self, RenderKernel);
    // Listen to custom events (messages) you send from the host.
    worker.addEventListener("fade", () => worker.renderKernel?.fadeOut());

    Type Parameters

    Hierarchy

    Index

    Constructors

    Properties

    canvas: TCanvas | undefined

    The canvas element we're presenting to.

    id: string

    The ID of the worker.

    offscreenCanvas: OffscreenCanvas | undefined

    The offscreen canvas we're rendering to.

    offscreenContext: OffscreenCanvasRenderingContext2D | undefined

    Our rendering context to draw to.

    renderKernel: TKernel | undefined

    The rendering kernel, which produces frames, and renders them to our offscreen canvas.

    renderLoop: RenderLoop | undefined

    Manages frame rendering timing.

    self: typeof globalThis

    The global scope of the worker.

    Methods

    • The addEventListener() method of the EventTarget interface sets up a function that will be called whenever the specified event is delivered to the target.

      MDN Reference

      Parameters

      • type: string
      • callback: EventListenerOrEventListenerObject | null
      • Optionaloptions: boolean | AddEventListenerOptions

      Returns void

    • The dispatchEvent() method of the EventTarget sends an Event to the object, (synchronously) invoking the affected event listeners in the appropriate order. The normal event processing rules (including the capturing and optional bubbling phase) also apply to events dispatched manually with dispatchEvent().

      MDN Reference

      Parameters

      Returns boolean

    • The removeEventListener() method of the EventTarget interface removes an event listener previously registered with EventTarget.addEventListener() from the target. The event listener to be removed is identified using a combination of the event type, the event listener function itself, and various optional options that may affect the matching process; see Matching event listeners for removal.

      MDN Reference

      Parameters

      • type: string
      • callback: EventListenerOrEventListenerObject | null
      • Optionaloptions: boolean | EventListenerOptions

      Returns void