performPaint method
Hook for subclasses to implement actual painting.
Implementation
@override
void performPaint(Buffer buffer, Offset offset) {
final viewport = Viewport(
buffer,
Rect(offset.dx, offset.dy, size.width, size.height),
);
final tabBar = widget as TabBar;
if (size.width <= 0 || size.height <= 0) return;
var currentX = 0;
for (var i = 0; i < tabBar.labels.length; i++) {
final label = tabBar.labels[i];
final isActive = (i == tabBar.controller.index);
final style = isActive ? tabBar.activeStyle : tabBar.inactiveStyle;
final text = ' [ $label ] ';
if (currentX + text.characters.length > size.width) break;
viewport.writeString(currentX, 0, text, style);
currentX += text.characters.length;
}
}