import Vex from "vexflow"; import VF = Vex.Flow; import { VexFlowBackend } from "./VexFlowBackend"; import { FontStyles } from "../../../Common/Enums/FontStyles"; import { Fonts } from "../../../Common/Enums/Fonts"; import { RectangleF2D } from "../../../Common/DataObjects/RectangleF2D"; import { PointF2D } from "../../../Common/DataObjects/PointF2D"; import { BackendType } from "../../../OpenSheetMusicDisplay/OSMDOptions"; import { EngravingRules } from "../EngravingRules"; export declare class CanvasVexFlowBackend extends VexFlowBackend { private zoom; constructor(rules: EngravingRules); getVexflowBackendType(): VF.Renderer.Backends; getOSMDBackendType(): BackendType; getCanvasSize(): number; initialize(container: HTMLElement, zoom: number): void; /** * Initialize a canvas without attaching it to a DOM node. Can be used to draw in background * @param width Width of the canvas * @param height Height of the canvas */ initializeHeadless(width?: number, height?: number): void; getContext(): VF.CanvasContext; free(): void; clear(): void; scale(k: number): void; translate(x: number, y: number): void; renderText(fontHeight: number, fontStyle: FontStyles, font: Fonts, text: string, heightInPixel: number, screenPosition: PointF2D, color?: string, fontFamily?: string): Node; renderRectangle(rectangle: RectangleF2D, styleId: number, colorHex: string, alpha?: number): Node; renderLine(start: PointF2D, stop: PointF2D, color?: string, lineWidth?: number, id?: string): Node; renderCurve(points: PointF2D[]): Node; renderPath(points: PointF2D[], fill?: boolean, id?: string): Node; private ctx; get CanvasRenderingCtx(): CanvasRenderingContext2D; }