layoutText method
void
layoutText({})
Implementation
void layoutText(
{double minWidth = 0.0,
double maxWidth = double.infinity,
bool forceLayout = false}) {
if (textLayoutLastMaxWidth == maxWidth &&
textLayoutLastMinWidth == minWidth &&
!forceLayout) {
return;
}
final bool widthMatters =
softWrap || overflow == TextOverflow.ellipsis || isMultiline;
final double availableMaxWidth = math.max(0.0, maxWidth - caretMargin);
final double availableMinWidth = math.min(minWidth, availableMaxWidth);
final double textMaxWidth =
widthMatters ? availableMaxWidth : double.infinity;
final double textMinWidth =
forceLine ? availableMaxWidth : availableMinWidth;
textPainter.layout(
minWidth: textMinWidth,
maxWidth: textMaxWidth,
);
textLayoutLastMinWidth = minWidth;
textLayoutLastMaxWidth = maxWidth;
}