bestImageDrawable static method
Drawable
bestImageDrawable(
- Image image, {
- required TerminalCapabilities capabilities,
- int? columns,
- 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);
}