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 isFocused = ctx.isFocused(id);
  final mark = value ? '[x]' : '[ ]';
  final base = style ?? ctx.theme.text.body;
  final s = isFocused
      ? base.copyWith(fg: ctx.theme.colors.primary, bold: true)
      : base;
  final text = label.isEmpty ? mark : '$mark $label';
  buffer.writeText(area.x, area.y, text, style: s, maxWidth: area.width);
}