interface OffscreenCanvas {
    height: number;
    oncontextlost: null | (this: OffscreenCanvas, ev: Event) => any;
    oncontextrestored: null | (this: OffscreenCanvas, ev: Event) => any;
    width: number;
    addEventListener<K extends keyof OffscreenCanvasEventMap>(
        type: K,
        listener: (this: OffscreenCanvas, ev: OffscreenCanvasEventMap[K]) => any,
        options?: boolean | AddEventListenerOptions,
    ): void;
    addEventListener(
        type: string,
        listener: EventListenerOrEventListenerObject,
        options?: boolean | AddEventListenerOptions,
    ): void;
    convertToBlob(options?: ImageEncodeOptions): Promise<Blob>;
    dispatchEvent(event: Event): boolean;
    getContext(
        contextId: "2d",
        options?: any,
    ): null | OffscreenCanvasRenderingContext2D;
    getContext(
        contextId: "bitmaprenderer",
        options?: any,
    ): null | ImageBitmapRenderingContext;
    getContext(contextId: "webgl", options?: any): null | WebGLRenderingContext;
    getContext(
        contextId: "webgl2",
        options?: any,
    ): null | WebGL2RenderingContext;
    getContext(
        contextId: OffscreenRenderingContextId,
        options?: any,
    ): null | OffscreenRenderingContext;
    removeEventListener<K extends keyof OffscreenCanvasEventMap>(
        type: K,
        listener: (this: OffscreenCanvas, ev: OffscreenCanvasEventMap[K]) => any,
        options?: boolean | EventListenerOptions,
    ): void;
    removeEventListener(
        type: string,
        listener: EventListenerOrEventListenerObject,
        options?: boolean | EventListenerOptions,
    ): void;
    transferToImageBitmap(): ImageBitmap;
}

Hierarchy

  • EventTarget
    • OffscreenCanvas

Properties

height: number

These attributes return the dimensions of the OffscreenCanvas object's bitmap.

They can be set, to replace the bitmap with a new, transparent black bitmap of the specified dimensions (effectively resizing it).

MDN Reference

oncontextlost: null | (this: OffscreenCanvas, ev: Event) => any
oncontextrestored: null | (this: OffscreenCanvas, ev: Event) => any
width: number

These attributes return the dimensions of the OffscreenCanvas object's bitmap.

They can be set, to replace the bitmap with a new, transparent black bitmap of the specified dimensions (effectively resizing it).

MDN Reference

Methods

  • Appends an event listener for events whose type attribute value is type. The callback argument sets the callback that will be invoked when the event is dispatched.

    The options argument sets listener-specific options. For compatibility this can be a boolean, in which case the method behaves exactly as if the value was specified as options's capture.

    When set to true, options's capture prevents callback from being invoked when the event's eventPhase attribute value is BUBBLING_PHASE. When false (or not present), callback will not be invoked when event's eventPhase attribute value is CAPTURING_PHASE. Either way, callback will be invoked if event's eventPhase attribute value is AT_TARGET.

    When set to true, options's passive indicates that the callback will not cancel the event by invoking preventDefault(). This is used to enable performance optimizations described in § 2.8 Observing event listeners.

    When set to true, options's once indicates that the callback will only be invoked once after which the event listener will be removed.

    If an AbortSignal is passed for options's signal, then the event listener will be removed when signal is aborted.

    The event listener is appended to target's event listener list and is not appended if it has the same type, callback, and capture.

    MDN Reference

    Type Parameters

    Parameters

    Returns void

  • Appends an event listener for events whose type attribute value is type. The callback argument sets the callback that will be invoked when the event is dispatched.

    The options argument sets listener-specific options. For compatibility this can be a boolean, in which case the method behaves exactly as if the value was specified as options's capture.

    When set to true, options's capture prevents callback from being invoked when the event's eventPhase attribute value is BUBBLING_PHASE. When false (or not present), callback will not be invoked when event's eventPhase attribute value is CAPTURING_PHASE. Either way, callback will be invoked if event's eventPhase attribute value is AT_TARGET.

    When set to true, options's passive indicates that the callback will not cancel the event by invoking preventDefault(). This is used to enable performance optimizations described in § 2.8 Observing event listeners.

    When set to true, options's once indicates that the callback will only be invoked once after which the event listener will be removed.

    If an AbortSignal is passed for options's signal, then the event listener will be removed when signal is aborted.

    The event listener is appended to target's event listener list and is not appended if it has the same type, callback, and capture.

    MDN Reference

    Parameters

    Returns void

  • Returns a promise that will fulfill with a new Blob object representing a file containing the image in the OffscreenCanvas object.

    The argument, if provided, is a dictionary that controls the encoding options of the image file to be created. The type field specifies the file format and has a default value of "image/png"; that type is also used if the requested type isn't supported. If the image format supports variable quality (such as "image/jpeg"), then the quality field is a number in the range 0.0 to 1.0 inclusive indicating the desired quality level for the resulting image.

    MDN Reference

    Parameters

    Returns Promise<Blob>

  • Dispatches a synthetic event event to target and returns true if either event's cancelable attribute value is false or its preventDefault() method was not invoked, and false otherwise.

    MDN Reference

    Parameters

    • event: Event

    Returns boolean

  • Returns an object that exposes an API for drawing on the OffscreenCanvas object. contextId specifies the desired API: "2d", "bitmaprenderer", "webgl", or "webgl2". options is handled by that API.

    This specification defines the "2d" context below, which is similar but distinct from the "2d" context that is created from a canvas element. The WebGL specifications define the "webgl" and "webgl2" contexts. [WEBGL]

    Returns null if the canvas has already been initialized with another context type (e.g., trying to get a "2d" context after getting a "webgl" context).

    MDN Reference

    Parameters

    • contextId: "2d"
    • Optionaloptions: any

    Returns null | OffscreenCanvasRenderingContext2D

  • Parameters

    • contextId: "bitmaprenderer"
    • Optionaloptions: any

    Returns null | ImageBitmapRenderingContext

  • Parameters

    • contextId: "webgl"
    • Optionaloptions: any

    Returns null | WebGLRenderingContext

  • Parameters

    • contextId: "webgl2"
    • Optionaloptions: any

    Returns null | WebGL2RenderingContext

  • Parameters

    Returns null | OffscreenRenderingContext

  • Returns a newly created ImageBitmap object with the image in the OffscreenCanvas object. The image in the OffscreenCanvas object is replaced with a new blank image.

    MDN Reference

    Returns ImageBitmap