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 theme = ctx.theme;
  final hint = defaultValue ? '(Y/n)' : '(y/N)';
  final prefixStyle =
      askPrefixStyle ?? Style(fg: theme.colors.primary, bold: true);
  final msgStyle = messageStyle ?? theme.text.body;
  final hStyle = hintStyle ?? theme.text.caption;

  var x = area.x;
  buffer.writeText(x, area.y, askPrefix,
      style: prefixStyle, maxWidth: area.right - x);
  x += askPrefix.length + 1;
  if (x < area.right) {
    buffer.writeText(x, area.y, message,
        style: msgStyle, maxWidth: area.right - x);
    x += message.length + 1;
  }
  if (x < area.right) {
    buffer.writeText(x, area.y, hint,
        style: hStyle, maxWidth: area.right - x);
  }
}