pub trait Lcd {
type Error;
// Required methods
fn init(&mut self) -> Result<(), Self::Error>;
fn clear(&mut self, color: Color) -> Result<(), Self::Error>;
fn draw_pixel(
&mut self,
x: u16,
y: u16,
color: Color,
) -> Result<(), Self::Error>;
fn fill_rect(
&mut self,
x: u16,
y: u16,
width: u16,
height: u16,
color: Color,
) -> Result<(), Self::Error>;
fn present(&mut self) -> Result<(), Self::Error>;
}