use std::error::Error;
use embedded_graphics::{
mono_font::{MonoTextStyle, ascii::FONT_5X7},
pixelcolor::BinaryColor,
prelude::*,
primitives::{Circle, PrimitiveStyle, Triangle},
text::{Baseline, Text},
};
use flipdot_graphics::{Address, FlipdotDisplay, SignBusType, SignType};
fn main() -> Result<(), Box<dyn Error>> {
env_logger::init();
let mut display = FlipdotDisplay::try_new(SignBusType::Virtual, Address(3), SignType::Max3000Side90x7)?;
Circle::new(Point::new(2, 0), 6)
.into_styled(PrimitiveStyle::with_stroke(BinaryColor::On, 1))
.draw(&mut display)?;
Triangle::new(Point::new(11, 1), Point::new(15, 5), Point::new(19, 1))
.into_styled(PrimitiveStyle::with_fill(BinaryColor::On))
.draw(&mut display)?;
display.flush()?;
let style = MonoTextStyle::new(&FONT_5X7, BinaryColor::On);
Text::with_baseline("Hello, world!", Point::new(24, 0), style, Baseline::Top).draw(&mut display)?;
display.flush()?;
display.clear(BinaryColor::On)?;
display.flush()?;
display.clear(BinaryColor::Off)?;
display.flush()?;
Ok(())
}