paint method

  1. @override
void paint(
  1. PaintingContext context,
  2. Offset offset
)
override

Paints this render object into the given context at offset.

Implementation

@override
void paint(PaintingContext context, Offset offset) {
  _ensureStylesCached();
  final int y = offset.y;
  int x = offset.x;
  final int tabsLength = _tabs.length;
  for (int i = 0; i < tabsLength; i++) {
    final Tab tab = _tabs[i];
    final bool isSelected = i == currentIndex;
    final TextStyle style =
        isSelected ? _cachedSelectedStyle! : _cachedUnselectedStyle!;
    x += labelPadding.left;
    x += _paintTabContent(context, x, y, tab, style);
    final int contentWidth = _tabContentWidth(i);
    x += labelPadding.right;
    if (isSelected) {
      _paintSelectedIndicator(context, y,
          x - labelPadding.right - contentWidth, x - labelPadding.right);
    }
    if (i < tabsLength - 1) x += 1;
  }
}