bestImageDrawable static method

Drawable bestImageDrawable(
  1. Image image, {
  2. required TerminalCapabilities capabilities,
  3. int? columns,
  4. int? rows,
})

Returns the best Drawable for the given image based on terminal capabilities.

This selects between Kitty, iTerm2, Sixel, or half-block rendering depending on what the terminal supports.

Implementation

static Drawable bestImageDrawable(
  img.Image image, {
  required TerminalCapabilities capabilities,
  int? columns,
  int? rows,
}) {
  if (capabilities.hasKittyGraphics) {
    return KittyImageDrawable(image, columns: columns, rows: rows);
  }
  if (capabilities.hasITerm2) {
    return ITerm2ImageDrawable(image, columns: columns, rows: rows);
  }
  if (capabilities.hasSixel) {
    return SixelImageDrawable(image, columns: columns, rows: rows);
  }
  // Fallback to half-block rendering.
  return HalfBlockImageDrawable(image, columns: columns, rows: rows);
}