diff --git a/demo_web/src/lib.rs b/demo_web/src/lib.rs index 8c782746..eec19546 100644 --- a/demo_web/src/lib.rs +++ b/demo_web/src/lib.rs @@ -11,8 +11,6 @@ use wasm_bindgen::prelude::*; #[wasm_bindgen] pub fn start(canvas_id: &str) -> Result<(), wasm_bindgen::JsValue> { let app = egui::DemoApp::default(); - let backend = egui_web::WebBackend::new(canvas_id)?; - let runner = egui_web::AppRunner::new(backend, Box::new(app))?; - egui_web::start(runner)?; + egui_web::start(canvas_id, Box::new(app))?; Ok(()) } diff --git a/egui_web/CHANGELOG.md b/egui_web/CHANGELOG.md index ec7269d3..ee081e0c 100644 --- a/egui_web/CHANGELOG.md +++ b/egui_web/CHANGELOG.md @@ -14,6 +14,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). ### Changed ⭐ * Set a maximum canvas size to alleviate performance issues on some machines +* Simplify `egui_web::start` arguments ## 0.4.0 - 2020-11-28 diff --git a/egui_web/src/backend.rs b/egui_web/src/backend.rs index c368d1c7..c78bfa9e 100644 --- a/egui_web/src/backend.rs +++ b/egui_web/src/backend.rs @@ -221,9 +221,17 @@ impl AppRunner { } } +/// Install event listeners to register different input events +/// and starts running the given app. +pub fn start(canvas_id: &str, app: Box) -> Result { + let backend = WebBackend::new(canvas_id)?; + let runner = AppRunner::new(backend, app)?; + start_runner(runner) +} + /// Install event listeners to register different input events /// and starts running the given `AppRunner`. -pub fn start(app_runner: AppRunner) -> Result { +fn start_runner(app_runner: AppRunner) -> Result { let runner_ref = AppRunnerRef(Arc::new(Mutex::new(app_runner))); install_canvas_events(&runner_ref)?; install_document_events(&runner_ref)?; diff --git a/example_web/src/lib.rs b/example_web/src/lib.rs index 4cde6072..a7c5d32c 100644 --- a/example_web/src/lib.rs +++ b/example_web/src/lib.rs @@ -13,8 +13,6 @@ use wasm_bindgen::prelude::*; #[wasm_bindgen] pub fn start(canvas_id: &str) -> Result<(), wasm_bindgen::JsValue> { let app = example_app::ExampleApp::default(); - let backend = egui_web::WebBackend::new(canvas_id)?; - let runner = egui_web::AppRunner::new(backend, Box::new(app))?; - egui_web::start(runner)?; + egui_web::start(canvas_id, Box::new(app))?; Ok(()) }