render method

  1. @override
void render(
  1. Rect area,
  2. Buffer buffer,
  3. RenderContext ctx
)
override

Implementation

@override
void render(Rect area, Buffer buffer, RenderContext ctx) {
  if (area.isEmpty) return;
  final active = activeStyle ??
      Style(fg: ctx.theme.colors.primary, bold: true, underline: true);
  final inactive = inactiveStyle ?? ctx.theme.text.caption;
  var x = area.x;
  for (var i = 0; i < tabs.length && x < area.right; i++) {
    final label = ' ${tabs[i]} ';
    final s = i == selected ? active : inactive;
    buffer.writeText(x, area.y, label, style: s, maxWidth: area.right - x);
    x += label.length + 1;
  }
}