use crate::{
DrawError,
terminal_buffer::buffer_and_celldrawer::{BatchDrawInfo, screen_buffer::CellDrawerCommand},
};
use std::{fmt::Debug, sync::mpsc::Receiver};
pub trait CellDrawer: Debug {
fn init(rx: Receiver<CellDrawerCommand>) -> Self;
fn set_string(&mut self, batch: BatchDrawInfo, size: (u16, u16));
fn flush(&mut self) -> Result<(), DrawError>;
fn recv(&self) -> Result<CellDrawerCommand, std::sync::mpsc::RecvError>;
}