paintWidgets method
Implementation
void paintWidgets(PaintingContext context, Offset offset,
{Rect? overFlowRect}) {
RenderBox? child = firstChild;
int childIndex = 0;
///maybe overflow
while (child != null &&
childIndex < textPainter.inlinePlaceholderBoxes!.length) {
//assert(childIndex < _textPainter.inlinePlaceholderBoxes.length);
final TextParentData textParentData = child.parentData as TextParentData;
final double? scale = textParentData.scale;
final Rect rect = (offset + textParentData.offset) & child.size;
bool overlaps = false;
if (overFlowRect != null) {
if (overFlowRect.overlaps(rect)) {
final Rect intersectRect = overFlowRect.intersect(rect);
overlaps = intersectRect.size > const Offset(1, 1);
}
}
if (!overlaps) {
context.pushTransform(
needsCompositing,
offset + textParentData.offset,
Matrix4.diagonal3Values(scale!, scale, scale),
(PaintingContext context, Offset offset) {
context.paintChild(
child!,
offset,
);
},
);
}
child = childAfter(child);
childIndex += 1;
}
}