text property
The (potentially styled) text to paint.
After this is set, you must call layout before the next call to paint. This and textDirection must be non-null before you call layout.
The InlineSpan this provides is in the form of a tree that may contain multiple instances of TextSpans and WidgetSpans. To obtain a plain text representation of the contents of this TextPainter, use plainText.
Implementation
InlineSpan? get text => _text;
Implementation
set text(InlineSpan? value) {
assert(value == null || value.debugAssertIsValid());
if (_text == value) {
return;
}
if (_text?.style != value?.style) {
_layoutTemplate?.dispose();
_layoutTemplate = null;
}
final RenderComparison comparison = value == null
? RenderComparison.layout
: _text?.compareTo(value) ?? RenderComparison.layout;
_text = value;
_cachedPlainText = null;
if (comparison.index >= RenderComparison.layout.index) {
markNeedsLayout();
} else if (comparison.index >= RenderComparison.paint.index) {
// Don't invalid the _layoutCache just yet. It still contains valid layout
// information.
_rebuildParagraphForPaint = true;
}
// Neither relayout or repaint is needed.
}