This allows ./preview to be a notedeck app runner. I am currently using it for the ProfilePic app (which will because notedeck_viz) Signed-off-by: William Casarin <jb55@jb55.com>
27 lines
540 B
Rust
27 lines
540 B
Rust
pub struct PreviewConfig {
|
|
pub is_mobile: bool,
|
|
}
|
|
|
|
pub trait Preview {
|
|
type Prev: notedeck::App;
|
|
|
|
fn preview(cfg: PreviewConfig) -> Self::Prev;
|
|
}
|
|
|
|
pub struct PreviewApp {
|
|
view: Box<dyn notedeck::App>,
|
|
}
|
|
|
|
impl PreviewApp {
|
|
pub fn new(view: impl notedeck::App + 'static) -> PreviewApp {
|
|
let view = Box::new(view);
|
|
Self { view }
|
|
}
|
|
}
|
|
|
|
impl notedeck::App for PreviewApp {
|
|
fn update(&mut self, app_ctx: &mut notedeck::AppContext<'_>, ui: &mut egui::Ui) {
|
|
self.view.update(app_ctx, ui);
|
|
}
|
|
}
|