Source/modules/canvas

Contains canvas-related subdirectories.

Class structure of Canvas-related objects

The classes on this structure are divided between all subdirectories that are used by canvas:

  1. htmlcanvas

    Contains context creation for HTML canvas element

  2. canvas2d

    Contains base class for 2D rendering contexts and CanvasRenderingContext2D related classes.

  3. offscreencanvas

    Contains offscreencanvas object.

  4. offscreencanvas2d

    Contains offscreencanvas 2D rendering context.

  5. imagebitmap

    Contains ImageBitmap rendering context.

Canvas-related classes are also present in these directories in core: core/html/canvas and core/html.

There are also some other directories in modules that are a bit related to canvas: modules/webgl, modules/imagebitmap and modules/csspaint.

Virtual classes

CanvasRenderingContextHost : All elements that provides rendering contexts (HTMLCanvasElement and OffscreenCanvas) This is the main interface that a CanvasRenderingContext uses.

CanvasRenderingContext - Base class for everything that exposes a rendering context API. This includes 2d, webgl, webgl2, imagebitmap contexts.

BaseRenderingContext2D - Class for 2D canvas contexts. Implements most 2D rendering context API. Used by CanvasRenderingContext2D, OffscreenCanvasRenderingContext2D and PaintRenderingContext2D.

WebGLRenderingContextBase - Base class for webgl contexts.

Final classes

CanvasRenderingContext2D - 2D context for HTML Canvas element. [spec]

OffscreenCanvasRenderingContext2D - 2D context for OffscreenCanvas. [spec]

WebGLRenderingContext - WebGL context for both HTML and Offscreen canvas. [spec]

WebGL2RenderingContext - WebGL2 context for both HTML and Offscreen canvas. [spec]

ImageBitmapRenderingContext - The rendering context provided by ImageBitmap. [spec]

PaintRenderingContext2D - Rendering context for CSS Painting. [spec]