12345678910111213141516171819202122232425262728 |
- import {ITextMeasurer} from "../../Interfaces/ITextMeasurer";
- import {Fonts} from "../../../Common/Enums/Fonts";
- import {FontStyles} from "../../../Common/Enums/FontStyles";
- import {VexFlowConverter} from "./VexFlowConverter";
- /**
- * Created by Matthias on 21.06.2016.
- */
- export class VexFlowTextMeasurer implements ITextMeasurer {
- constructor() {
- let canvas: HTMLCanvasElement = document.createElement("canvas");
- this.context = canvas.getContext("2d");
- }
- // The context of a canvas used internally to compute font sizes
- private context: CanvasRenderingContext2D;
- /**
- *
- * @param text
- * @param font
- * @param style
- * @returns {number}
- */
- public computeTextWidthToHeightRatio(text: string, font: Fonts, style: FontStyles): number {
- this.context.font = VexFlowConverter.font(20, style, font);
- return this.context.measureText(text).width / 20;
- }
- }
|