summaryrefslogtreecommitdiffstats
path: root/web/src/lib.rs
blob: 187e8ad9dab5278ff1707525177c9b36d4fddc27 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
use futures::Future;

mod color;
mod element;
mod widget;

pub use color::Color;
pub use element::Element;
pub use iced::Align;
pub use widget::*;

pub trait UserInterface {
    type Message;

    fn update(
        &mut self,
        message: Self::Message,
    ) -> Box<dyn Future<Item = Self::Message, Error = ()>>;

    fn view(&mut self) -> Element<Self::Message>;

    fn run(mut self)
    where
        Self: Sized,
    {
        let element = self.view();
    }
}