text.d.ts 1.8 KB

1234567891011121314151617181920212223242526272829303132333435
  1. import BoundingRect, { RectLike } from '../core/BoundingRect';
  2. import { TextAlign, TextVerticalAlign, BuiltinTextPosition } from '../core/types';
  3. import LRU from '../core/LRU';
  4. export declare function getWidth(text: string, font: string): number;
  5. export interface FontMeasureInfo {
  6. font: string;
  7. strWidthCache: LRU<number>;
  8. asciiWidthMap: number[] | null | undefined;
  9. asciiWidthMapTried: boolean;
  10. stWideCharWidth: number;
  11. asciiCharWidth: number;
  12. }
  13. export declare function ensureFontMeasureInfo(font: string): FontMeasureInfo;
  14. export declare function measureCharWidth(fontMeasureInfo: FontMeasureInfo, charCode: number): number;
  15. export declare function measureWidth(fontMeasureInfo: FontMeasureInfo, text: string): number;
  16. export declare function innerGetBoundingRect(text: string, font: string, textAlign?: TextAlign, textBaseline?: TextVerticalAlign): BoundingRect;
  17. export declare function getBoundingRect(text: string, font: string, textAlign?: TextAlign, textBaseline?: TextVerticalAlign): BoundingRect;
  18. export declare function adjustTextX(x: number, width: number, textAlign: TextAlign, inverse?: boolean): number;
  19. export declare function adjustTextY(y: number, height: number, verticalAlign: TextVerticalAlign, inverse?: boolean): number;
  20. export declare function getLineHeight(font?: string): number;
  21. export declare function measureText(text: string, font?: string): {
  22. width: number;
  23. };
  24. export declare function parsePercent(value: number | string, maxValue: number): number;
  25. export interface TextPositionCalculationResult {
  26. x: number;
  27. y: number;
  28. align: TextAlign;
  29. verticalAlign: TextVerticalAlign;
  30. }
  31. export declare function calculateTextPosition(out: TextPositionCalculationResult, opts: {
  32. position?: BuiltinTextPosition | (number | string)[];
  33. distance?: number;
  34. global?: boolean;
  35. }, rect: RectLike): TextPositionCalculationResult;