From fb941cf618676d17900b0560269239cb1fad32cf Mon Sep 17 00:00:00 2001 From: Emil Ernerfeldt Date: Sat, 19 Dec 2020 21:15:07 +0100 Subject: [PATCH] [egui_web] Simplify the arguments you pass to `start()` --- demo_web/src/lib.rs | 4 +--- egui_web/CHANGELOG.md | 1 + egui_web/src/backend.rs | 10 +++++++++- example_web/src/lib.rs | 4 +--- 4 files changed, 12 insertions(+), 7 deletions(-) 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(()) }