TextManager

See source code
Table of contents
class TextManager {}

Constructor

Constructs a new instance of the TextManager class

Parameters

NameDescription

editor

Editor;

Properties

editor

editor: Editor;

Methods

dispose( )

dispose(): void;

measureElementTextNodeSpans( )

Given an html element, measure the position of each span of unbroken word/white-space characters within any text nodes it contains.

measureElementTextNodeSpans(
  element: HTMLElement,
  {
    shouldTruncateToFirstLine,
  }?: {
    shouldTruncateToFirstLine?: boolean;
  },
): {
  didTruncate: boolean;
  spans: {
    box: BoxModel;
    text: string;
  }[];
};

Parameters

NameDescription

element

HTMLElement;

{ shouldTruncateToFirstLine }

{
  shouldTruncateToFirstLine?: boolean;
};

Returns

{
  didTruncate: boolean;
  spans: {
    box: BoxModel;
    text: string;
  }[];
};

measureHtml( )

measureHtml(html: string, opts: TLMeasureTextOpts): TLMeasuredTextSize;

Parameters

NameDescription

html

string;

opts

Returns


measureHtmlBatch( )

measureHtmlBatch(requests: BatchMeasurementRequest[]): TLMeasuredTextSize[];

Parameters

NameDescription

requests

Returns


measureText( )

measureText(
  textToMeasure: string,
  opts: TLMeasureTextOpts,
): TLMeasuredTextSize;

Parameters

NameDescription

textToMeasure

string;

opts

Returns


measureTextSpans( )

Measure text into individual spans. Spans are created by rendering the text, then dividing it up according to line breaks and word boundaries.

It works by having the browser render the text, then measuring the position of each character. You can use this to replicate the text-layout algorithm of the current browser in e.g. an SVG export.

measureTextSpans(
  textToMeasure: string,
  opts: TLMeasureTextSpanOpts,
): {
  box: BoxModel;
  text: string;
}[];

Parameters

NameDescription

textToMeasure

string;

opts

Returns

{
  box: BoxModel;
  text: string;
}[];

Prev
StateNode
Next
TransformedGeometry2d