pub mod box_future;
pub mod subscription;
pub mod task;
use crate::screen::ScreenView;
use embedded_graphics::pixelcolor::PixelColor;
pub use box_future::BoxFuture;
pub use subscription::{Recipe, Subscription};
pub use task::Task;
pub trait Application: Sized + 'static {
type Message: Clone + 'static;
type Color: PixelColor;
type Screen: ScreenView<Self::Color, Self::Message>;
fn init() -> (Self, Task<Self::Message>);
fn update(&mut self, message: Self::Message) -> Task<Self::Message>;
fn view(&self) -> &Self::Screen;
fn subscription(&self) -> Subscription<Self::Message> {
Subscription::none()
}
}