mod base64;
mod canvas;
mod capabilities;
mod deflate;
mod detect;
mod font;
mod iterm;
mod kitty;
mod png;
mod probe;
mod query;
mod render;
mod sixel;
pub(crate) use canvas::PixelCanvas;
pub use capabilities::{Capabilities, Source};
pub(crate) use render::{render, try_render};
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
#[non_exhaustive]
pub enum Protocol {
Sixel,
Kitty,
ITerm2,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
#[non_exhaustive]
pub struct Graphics {
pub protocol: Protocol,
pub cell_size: (u16, u16),
}
impl Graphics {
pub fn new(protocol: Protocol) -> Graphics {
Graphics {
protocol,
cell_size: (8, 16),
}
}
#[must_use]
pub fn protocol(mut self, protocol: Protocol) -> Graphics {
self.protocol = protocol;
self
}
#[must_use]
pub fn cell_size(mut self, width: u16, height: u16) -> Graphics {
self.cell_size = (width, height);
self
}
}