getTextPainter static method

TextPainter getTextPainter({
  1. required String text,
  2. required TextStyle style,
})

Get or create a TextPainter

Implementation

static TextPainter getTextPainter({
  required String text,
  required TextStyle style,
}) {
  final key = 'text_${text}_${style.hashCode}';

  if (_textPainterCache.containsKey(key)) {
    final painter = _textPainterCache[key]!;
    painter.text = TextSpan(text: text, style: style);
    painter.layout();
    return painter;
  }

  final painter = TextPainter(
    text: TextSpan(text: text, style: style),
    textDirection: TextDirection.ltr,
  );
  painter.layout();

  _textPainterCache[key] = painter;
  return painter;
}