layout method

TextPainter? layout(
  1. TextPainter painter,
  2. TextSpan textSpan, {
  3. bool compareChildren = true,
})

method for OverFlowTextSpan and BackgroundTextSpan

Implementation

TextPainter? layout(TextPainter painter, TextSpan textSpan,
    {bool compareChildren = true}) {
  if (_painter == null ||
      ((compareChildren
              ? _painter!.text != textSpan
              : (_painter!.text as TextSpan).text != textSpan.text) ||
          _painter!.textAlign != painter.textAlign ||
          _painter!.textScaler != painter.textScaler ||
          _painter!.locale != painter.locale)) {
    _painter = TextPainter(
        text: textSpan,
        textAlign: painter.textAlign,
        textScaler: painter.textScaler,
        textDirection: painter.textDirection,
        locale: painter.locale);
  }
  _painter!.layout();

  return _painter;
}