Hierarchy (View Summary)

Constructors

Properties

Accessors

Methods

Constructors

  • Parameters

    • canvas: HTMLCanvasElement
    • OptionalxLeft: number
    • OptionalxRight: number
    • OptionalyBottom: number
    • OptionalyTop: number

    Returns RenderWebGL

Properties

_allDrawables: Drawable[]
_allSkins: Skin[]
_backgroundColor3b: [number, number, number]

RGB from 0-255

_backgroundColor4f: [number, number, number, number]

RGBA from 0-1

_backgroundDrawRegionId: DrawingRegion
_bufferInfo: BufferInfo
_customFontStyles: null | HTMLStyleElement
_debugCanvas?: HTMLCanvasElement
_drawList: number[]
_exitRegion: null | Function
_groupOrdering: string[]
_layerGroups: Record<string, { drawListOffset: number; groupIndex: number }>
_nativeSize: [number, number]
_nextDrawableId: number
_nextSkinId: number
_overlays: Overlay[]
_projection: M4
_regionId: unknown
_shaderManager: ShaderManager
_snapshotCallbacks: (dataURL: string) => void[]
_useGpuMode: UseGpuModes
_xLeft: number
_xRight: number
_yBottom: number
_yTop: number
allowPrivateSkinAccess: boolean
customFonts: Record<string, string>
dirty: boolean
exports: {
    BitmapSkin: new (id: number, renderer: RenderWebGL) => BitmapSkin;
    CanvasMeasurementProvider: new (
        ctx: CanvasRenderingContext2D,
    ) => CanvasMeasurementProvider;
    Drawable: new (id: number, renderer: RenderWebGL) => Drawable;
    PenSkin: new (id: number, renderer: RenderWebGL) => PenSkin;
    Skin: new (id: number, renderer: RenderWebGL) => Skin;
    SVGSkin: new (id: number, renderer: RenderWebGL) => SVGSkin;
    TextBubbleSkin: new (id: number, renderer: RenderWebGL) => TextBubbleSkin;
    twgl: object;
}
offscreenTouching: boolean
useHighQualityRender: boolean

aka high quality pen.

powerPreference: WebGLPowerPreference

Accessors

Methods

  • Parameters

    • drawableID: number
    • group: string

    Returns void

  • Parameters

    • drawableIds: number[]
    • drawMode: DrawMode
    • projection: M4
    • Optionalopts: {
          effectMask?: number;
          extraUniforms?: object;
          filter?: (drawableId: number) => boolean;
          framebufferHeight?: number;
          framebufferWidth?: number;
          ignoreVisibility?: boolean;
      }

    Returns void

  • Parameters

    • drawableID: number

    Returns [number, number][]

  • Parameters

    • bounds: Rectangle
    • color: [number, number, number]
    • stop: number

    Returns boolean

  • Parameters

    • drawableId: number
    • candidateIds: number[]
    • bounds: Rectangle
    • color: [number, number, number]
    • Optionalmask: [number, number, number]

    Returns void

  • Get the "candidate bounding box" to use for "touching" queries.

    Parameters

    • drawableId: number

    Returns null | Rectangle

    The rectangle, or null if the drawable is offscreen or has no skin.

  • Parameters

    • updateType: "add" | "delete"
    • index: number

    Returns void

  • :3

    Parameters

    • drawableID: number

    Returns { data: ImageData; height: number; width: number; x: number; y: number }

  • Parameters

    • centerX: number

      X coordinate in client space

    • centerY: number

      Y coordinate in client space

    • Optionalwidth: number

      Defaults to 1

    • Optionalheight: number

      Defaults to 1

    Returns Rectangle

  • Parameters

    • svgData: string
    • OptionalrotationCenter: [number, number]

    Returns number

  • Parameters

    • drawableID: number
    • group: string

    Returns void

  • Determine if a drawable is touching a point.

    Parameters

    • drawableId: number

      ID of the target drawable

    • centerX: number

      X coordinate in client space

    • centerY: number

      Y coordinate in client space

    • Optionalwidth: number

      Defaults to 1

    • Optionalheight: number

      Defaults to 1

    Returns boolean

  • Enter a drawing region.

    Parameters

    • regionId: unknown

      Any arbitrary unique object.

    • Optionalenter: Function

      Called when entering the drawing region (which is what this function does). Defaults to regionId.enter.

    • Optionalexit: Function

      Called when leaving the drawing region. Defaults to regionId.exit.

    Returns void

  • Parameters

    • x: number

      X coordinate in client space

    • y: number

      Y coordinate in client space

    • radius: number

      "Radius" of the square, in pixels

    Returns {
        color: { a: number; b: number; g: number; r: number };
        data: Uint8Array;
        height: number;
        width: number;
    }

    Data about the pixels in a square around the coordinates. Color channels are RGBA from 0-255

  • Parameters

    • drawableId: number

    Returns { data: ImageData; height: number; width: number; x: number; y: number }

  • Parameters

    • drawableId: number

    Returns [number, number]

  • Parameters

    • drawableId: number
    • position: [number, number]

    Returns [number, number]

  • Determine if a drawable is touching a color or if a certain color of the drawable is touching a color.

    Parameters

    • drawableId: number
    • color: [number, number, number]

      RGB color from 0-255

    • Optionalmask: [number, number, number]

      RGB color from 0-255. Used by "is color touching color" block.

    Returns boolean

  • Determine if a drawable is intersecting a set of other drawables.

    Parameters

    • drawableId: number

      ID of the target drawable

    • OptionalcandidateIds: number[]

      The IDs of the drawables to test for collision with the target drawable. Defaults to all drawables.

    Returns boolean

  • Parameters

    • event: { newSize: [number, number] }

    Returns void

  • Parameters

    • penSkinId: number
    • penAttributes: PenAttributes
    • x1: number
    • y1: number
    • x2: number
    • y2: number

    Returns void

  • Parameters

    • penSkinId: number
    • stampDrawableId: number

    Returns void

  • Determine the top-most drawable at a point.

    Parameters

    • centerX: number

      X coordinate in client space

    • centerY: number

      Y coordinate in client space

    • Optionalwidth: number

      Defaults to 1

    • Optionalheight: number

      Defaults to 1

    • OptionalcandidateIds: number[]

      Defaults to all drawables

    Returns number | false

    The ID of the top-most drawable, or -1 or false if there is none.

  • Parameters

    • callback: (dataURL: string) => void

    Returns void

  • Parameters

    • red: number

      Red from 0-1

    • green: number

      Green from 0-1

    • blue: number

      Blue from 0-1

    Returns void

  • Parameters

    • customFonts: Record<string, string>

    Returns void

  • Parameters

    • drawableID: number
    • order: number
    • group: string
    • OptionalisRelative: boolean
    • Optionalmin: number

    Returns void

  • Parameters

    • xLeft: number
    • xRight: number
    • yBottom: number
    • yTop: number

    Returns void

  • Parameters

    • drawableId: number
    • direction: number

    Returns void

  • Parameters

    • drawableId: number
    • direction: number
    • scale: [number, number]

    Returns void

  • Parameters

    • drawableId: number
    • position: [number, number]

    Returns void

  • Parameters

    • drawableId: number
    • properties:
          | Record<RenderWebGL.Effect, number>
          | {
              direction?: number;
              position?: [number, number];
              scale?: number;
              skinId?: number;
              visible?: number;
          }

    Returns void

    Use the individual updateDrawable* methods instead.

  • Parameters

    • drawableId: number
    • scale: [number, number]

    Returns void

  • Parameters

    • drawableId: number
    • skinId: number

    Returns void

  • Parameters

    • drawableId: number
    • visible: boolean

    Returns void

  • Parameters

    • skinId: number
    • svgData: string
    • OptionalrotationCenter: [number, number]

    Returns void

  • If WebGL 1 is supported, returns a WebGL 1 context. If WebGL 1 is not supported but WebGL 2 is supported, returns a WebGL 2 context. Otherwise, returns null.

    Parameters

    • canvas: HTMLCanvasElement

    Returns null | AnyWebGLContext

  • Parameters

    • Optionalcanvas: HTMLCanvasElement

    Returns boolean

  • Parameters

    • vector: V3
    • drawableIds: number[]
    • Optionaldestination: Uint8ClampedArray

    Returns Uint8ClampedArray