@xpadev-net/niconicomments
    Preparing search index...

    Interface IRenderer

    interface IRenderer {
        canvas: HTMLCanvasElement;
        rendererName: string;
        beginPath(): void;
        clearRect(x: number, y: number, width: number, height: number): void;
        closePath(): void;
        destroy(): void;
        drawImage(
            image: IRenderer,
            x: number,
            y: number,
            width?: number,
            height?: number,
        ): void;
        drawVideo(enableLegacyPip: boolean): void;
        fillRect(x: number, y: number, width: number, height: number): void;
        fillText(text: string, x: number, y: number): void;
        flush(): void;
        getCanvas(padding?: number): IRenderer;
        getFillStyle(): string | CanvasGradient | CanvasPattern;
        getFont(): string;
        getSize(): { height: number; width: number };
        invalidateImage(image: IRenderer): void;
        lineTo(x: number, y: number): void;
        measureText(text: string): TextMetrics;
        measureTextAtDrawScale?(text: string, drawScale: number): TextMetrics;
        moveTo(x: number, y: number): void;
        quadraticCurveTo(cpx: number, cpy: number, x: number, y: number): void;
        restore(): void;
        save(): void;
        setFillStyle(color: string): void;
        setFont(font: string): void;
        setGlobalAlpha(alpha: number): void;
        setLineWidth(width: number): void;
        setScale(scale: number, arg1?: number): void;
        setSize(width: number, height: number): void;
        setStrokeStyle(color: string): void;
        stroke(): void;
        strokeRect(x: number, y: number, width: number, height: number): void;
        strokeText(text: string, x: number, y: number): void;
    }

    Implemented by

    Index

    Properties

    canvas: HTMLCanvasElement
    rendererName: string

    Methods

    • Parameters

      • x: number
      • y: number
      • width: number
      • height: number

      Returns void

    • Draw a sub-renderer's content onto this renderer.

      The source image is read from image.canvas.

      Parameters

      • image: IRenderer
      • x: number
      • y: number
      • Optionalwidth: number
      • Optionalheight: number

      Returns void

    • Parameters

      • enableLegacyPip: boolean

      Returns void

    • Parameters

      • x: number
      • y: number
      • width: number
      • height: number

      Returns void

    • Parameters

      • text: string
      • x: number
      • y: number

      Returns void

    • Execute all buffered draw commands.

      Ordering contract: GPU-accelerated commands (drawImage, fillRect, strokeRect) are rendered first, then Canvas 2D helper operations (text/path) are composited on top. Callers must ensure fillText/strokeText are issued AFTER all drawImage calls within a single frame.

      Returns void

    • Returns string | CanvasGradient | CanvasPattern

    • Measure text in the same canvas context class used for comment rendering.

      In WKWebView on macOS, font matching can depend on whether the canvas was connected to the document when its context first resolved the font. The main renderer is connected, while comment text is rendered on detached offscreen canvases. Implementations can use this hook to measure with a detached canvas as well, avoiding connected-vs-detached font metric mismatches that cause clipping. drawScale is supplied so implementations can mirror render-time state, although WKWebView's observed mismatch is caused by canvas connection state rather than the transform itself.

      Optional — implementations that return identical metrics regardless of context state (Chrome, Firefox, Node-canvas) may omit it. Callers fall back to measureText() when the method is absent.

      Parameters

      • text: string
      • drawScale: number

      Returns TextMetrics

    • Parameters

      • cpx: number
      • cpy: number
      • x: number
      • y: number

      Returns void

    • Parameters

      • scale: number
      • Optionalarg1: number

      Returns void

    • Parameters

      • width: number
      • height: number

      Returns void

    • Parameters

      • x: number
      • y: number
      • width: number
      • height: number

      Returns void

    • Parameters

      • text: string
      • x: number
      • y: number

      Returns void