/*! * Copyright (c) Microsoft Corporation. * Licensed under the MIT License. */ import { Core } from "./main.js"; interface IFontJSON { name: string; size: number; border: number; glyphs: IGlyphJSON[]; edgeValue: number; } interface IGlyphJSON { char: string; key: number; width: number; height: number; left: number; top: number; advance: number; u0: number; v0: number; u1: number; v1: number; } export declare class Glyph { key: number; char: string; distances: Uint8ClampedArray; gradientsX: Uint8ClampedArray; gradientsY: Uint8ClampedArray; pixels: Uint8ClampedArray; width: number; height: number; top: number; left: number; advance: number; u0: number; v0: number; u1: number; v1: number; toJSON(): IGlyphJSON; } export interface IFontVisual { isInitialized: boolean; font: Font; update(): void; } export declare class FontVisual implements IFontVisual { isInitialized: boolean; font: Font; update(): void; constructor(font: Font); } export declare class Font { private _core; private _chars; private _hasChanged; private _rasterizer; private _previousSize; name: string; size: number; border: number; edgeValue: number; glyphs: { [key: string]: Glyph; }; get atlas(): FontAtlas; get count(): number; hasChangedCallback: () => void; constructor(core: Core, rasterizer: FontRasterizer); addGlyph(char: string): void; update(): void; toJSON(): IFontJSON; } export interface IFontRasterizerOptions { fontAtlas: FontAtlas; fontSize: number; border: number; fontFamily: string; fontWeight: string; fontStyle: string; baseline: CanvasTextBaseline; edgeValue: number; maxDistance: number; } export declare class FontAtlas { imageData: ImageData; x: number; top: Uint16Array; constructor(width: number, height: number); } export declare class FontRasterizer { private _core; private _fontSize; private _border; private _fontFamily; private _fontWeight; private _fontStyle; private _baseline; private _glyphRasterizer; private _maxDistance; private _edgeValue; private _fontAtlas; private _font; get font(): Font; get fontAtlas(): FontAtlas; constructor(core: Core, options: IFontRasterizerOptions); draw(char: string): void; } interface IGlyphRasterizerOptions { fontSize: number; border: number; fontFamily: string; fontWeight: string; fontStyle: string; baseline: CanvasTextBaseline; edgeValue: number; maxDistance: number; } export declare class GlyphRasterizer { private _core; private _fontSize; private _border; private _fontFamily; private _fontWeight; private _fontStyle; private _baseline; private _size; private _context; private _maxDistance; private _edgeValue; private _gridOuter; private _gridInner; private _f; private _z; private _v; constructor(core: Core, options: IGlyphRasterizerOptions); draw(char: string): Glyph; private _edt; private _edt1d; } export {};