paint method
Implementation
@override
String paint() {
if (children.isEmpty) return '';
final width = size.width.toInt();
final height = size.height.toInt();
if (width == 0 || height == 0) return '';
final canvas = Canvas(width, height);
final bgStyle = const UvStyle();
var crossOffset = 0;
for (final run in _runs) {
final extraMain = (_isHorizontal ? width : height) - run.main;
final spacingData = _computeWrapSpacing(
run.items.length,
spacing,
math.max(0, extraMain),
alignment,
);
var mainOffset = spacingData.leading;
for (var i = 0; i < run.items.length; i++) {
final item = run.items[i];
final crossDelta = _wrapCrossOffset(run.cross, item.cross);
final dx = _isHorizontal ? mainOffset : crossOffset + crossDelta;
final dy = _isHorizontal ? crossOffset + crossDelta : mainOffset;
_drawStyledContent(canvas, item.child.paint(), dx, dy, bgStyle);
mainOffset += item.main;
if (i < spacingData.between.length) {
mainOffset += spacingData.between[i];
}
}
crossOffset += run.cross + runSpacing;
}
var result = canvas.render();
result = _padToStackSize(result, width, height);
return result;
}