text.d.ts 1.6 KB

12345678910111213141516171819202122232425262728293031
  1. import BoundingRect, { RectLike } from '../core/BoundingRect';
  2. import { PropType, TextAlign, TextVerticalAlign, BuiltinTextPosition } from '../core/types';
  3. export declare const DEFAULT_FONT = "12px sans-serif";
  4. declare let methods: {
  5. measureText: (text: string, font?: string) => {
  6. width: number;
  7. };
  8. };
  9. export declare function $override(name: keyof typeof methods, fn: PropType<typeof methods, keyof typeof methods>): void;
  10. export declare function getWidth(text: string, font: string): number;
  11. export declare function innerGetBoundingRect(text: string, font: string, textAlign?: TextAlign, textBaseline?: TextVerticalAlign): BoundingRect;
  12. export declare function getBoundingRect(text: string, font: string, textAlign?: TextAlign, textBaseline?: TextVerticalAlign): BoundingRect;
  13. export declare function adjustTextX(x: number, width: number, textAlign: TextAlign): number;
  14. export declare function adjustTextY(y: number, height: number, verticalAlign: TextVerticalAlign): number;
  15. export declare function getLineHeight(font?: string): number;
  16. export declare function measureText(text: string, font?: string): {
  17. width: number;
  18. };
  19. export declare function parsePercent(value: number | string, maxValue: number): number;
  20. export interface TextPositionCalculationResult {
  21. x: number;
  22. y: number;
  23. align: TextAlign;
  24. verticalAlign: TextVerticalAlign;
  25. }
  26. export declare function calculateTextPosition(out: TextPositionCalculationResult, opts: {
  27. position?: BuiltinTextPosition | (number | string)[];
  28. distance?: number;
  29. global?: boolean;
  30. }, rect: RectLike): TextPositionCalculationResult;
  31. export {};