From 3ecd6c0297f3a546f3d821650e737790c1e284b3 Mon Sep 17 00:00:00 2001 From: Emil Ernerfeldt Date: Sat, 18 Jul 2020 19:40:24 +0200 Subject: [PATCH] [web] implement reactive repainting meaning: only repaint on new input --- docs/example_wasm.js | 44 ++--- docs/example_wasm_bg.wasm | Bin 1016197 -> 1020006 bytes egui/src/containers/area.rs | 1 + egui/src/containers/collapsing_header.rs | 3 + egui/src/containers/scroll_area.rs | 4 + egui/src/context.rs | 12 +- egui/src/examples/fractal_clock.rs | 1 + egui/src/input.rs | 8 + egui/src/types.rs | 5 + egui/src/ui.rs | 17 +- egui_web/src/lib.rs | 238 +++++++++++++---------- example_wasm/src/lib.rs | 31 ++- 12 files changed, 230 insertions(+), 134 deletions(-) diff --git a/docs/example_wasm.js b/docs/example_wasm.js index 79fed762..cdfd84c1 100644 --- a/docs/example_wasm.js +++ b/docs/example_wasm.js @@ -207,28 +207,28 @@ function makeMutClosure(arg0, arg1, dtor, f) { real.original = state; return real; } -function __wbg_adapter_26(arg0, arg1) { - wasm._dyn_core__ops__function__FnMut_____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h5402719cc6dde927(arg0, arg1); +function __wbg_adapter_26(arg0, arg1, arg2) { + wasm._dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h22fd33d9f501a695(arg0, arg1, addHeapObject(arg2)); } function __wbg_adapter_29(arg0, arg1, arg2) { wasm._dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h22fd33d9f501a695(arg0, arg1, addHeapObject(arg2)); } -function __wbg_adapter_32(arg0, arg1, arg2) { - wasm._dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h22fd33d9f501a695(arg0, arg1, addHeapObject(arg2)); +function __wbg_adapter_32(arg0, arg1) { + wasm._dyn_core__ops__function__FnMut_____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h5402719cc6dde927(arg0, arg1); } function __wbg_adapter_35(arg0, arg1, arg2) { wasm._dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h22fd33d9f501a695(arg0, arg1, addHeapObject(arg2)); } -function __wbg_adapter_38(arg0, arg1) { - wasm._dyn_core__ops__function__FnMut_____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h84da5f062b972f09(arg0, arg1); +function __wbg_adapter_38(arg0, arg1, arg2) { + wasm._dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h22fd33d9f501a695(arg0, arg1, addHeapObject(arg2)); } -function __wbg_adapter_41(arg0, arg1, arg2) { - wasm._dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h22fd33d9f501a695(arg0, arg1, addHeapObject(arg2)); +function __wbg_adapter_41(arg0, arg1) { + wasm._dyn_core__ops__function__FnMut_____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h84da5f062b972f09(arg0, arg1); } /** @@ -725,28 +725,28 @@ async function init(input) { var ret = wasm.memory; return addHeapObject(ret); }; - imports.wbg.__wbindgen_closure_wrapper373 = function(arg0, arg1, arg2) { - var ret = makeMutClosure(arg0, arg1, 71, __wbg_adapter_35); - return addHeapObject(ret); - }; - imports.wbg.__wbindgen_closure_wrapper375 = function(arg0, arg1, arg2) { - var ret = makeMutClosure(arg0, arg1, 71, __wbg_adapter_29); - return addHeapObject(ret); - }; - imports.wbg.__wbindgen_closure_wrapper371 = function(arg0, arg1, arg2) { + imports.wbg.__wbindgen_closure_wrapper380 = function(arg0, arg1, arg2) { var ret = makeMutClosure(arg0, arg1, 71, __wbg_adapter_38); return addHeapObject(ret); }; - imports.wbg.__wbindgen_closure_wrapper365 = function(arg0, arg1, arg2) { - var ret = makeMutClosure(arg0, arg1, 71, __wbg_adapter_26); + imports.wbg.__wbindgen_closure_wrapper377 = function(arg0, arg1, arg2) { + var ret = makeMutClosure(arg0, arg1, 71, __wbg_adapter_35); return addHeapObject(ret); }; - imports.wbg.__wbindgen_closure_wrapper369 = function(arg0, arg1, arg2) { + imports.wbg.__wbindgen_closure_wrapper384 = function(arg0, arg1, arg2) { + var ret = makeMutClosure(arg0, arg1, 71, __wbg_adapter_29); + return addHeapObject(ret); + }; + imports.wbg.__wbindgen_closure_wrapper376 = function(arg0, arg1, arg2) { + var ret = makeMutClosure(arg0, arg1, 71, __wbg_adapter_32); + return addHeapObject(ret); + }; + imports.wbg.__wbindgen_closure_wrapper382 = function(arg0, arg1, arg2) { var ret = makeMutClosure(arg0, arg1, 71, __wbg_adapter_41); return addHeapObject(ret); }; - imports.wbg.__wbindgen_closure_wrapper366 = function(arg0, arg1, arg2) { - var ret = makeMutClosure(arg0, arg1, 71, __wbg_adapter_32); + imports.wbg.__wbindgen_closure_wrapper386 = function(arg0, arg1, arg2) { + var ret = makeMutClosure(arg0, arg1, 71, __wbg_adapter_26); return addHeapObject(ret); }; diff --git a/docs/example_wasm_bg.wasm b/docs/example_wasm_bg.wasm index e761843cfc215d8cb4834a300b9feb08aa51d683..0b6a903ea5b1185ff74ba305a3551070da293849 100644 GIT binary patch delta 157297 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 delta 154469 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 diff --git a/egui/src/containers/area.rs b/egui/src/containers/area.rs index f455d296..8f8d0697 100644 --- a/egui/src/containers/area.rs +++ b/egui/src/containers/area.rs @@ -195,6 +195,7 @@ impl Prepared { } else { state.vel -= friction * state.vel.normalized(); state.pos += state.vel * input.dt; + ctx.request_repaint(); } } diff --git a/egui/src/containers/collapsing_header.rs b/egui/src/containers/collapsing_header.rs index 5c663507..b4b689c7 100644 --- a/egui/src/containers/collapsing_header.rs +++ b/egui/src/containers/collapsing_header.rs @@ -57,6 +57,9 @@ impl State { let animation_time = ui.style().animation_time; let time_since_toggle = (ui.input().time - self.toggle_time) as f32; let time_since_toggle = time_since_toggle + ui.input().dt; // Instant feedback + if time_since_toggle <= animation_time { + ui.ctx().request_repaint(); + } if self.open { remap_clamp(time_since_toggle, 0.0..=animation_time, 0.0..=1.0) } else { diff --git a/egui/src/containers/scroll_area.rs b/egui/src/containers/scroll_area.rs index ab2ce908..33350b2b 100644 --- a/egui/src/containers/scroll_area.rs +++ b/egui/src/containers/scroll_area.rs @@ -92,6 +92,9 @@ impl ScrollArea { } else { let time_since_toggle = (ui.input().time - state.toggle_time) as f32; let animation_time = ui.style().animation_time; + if time_since_toggle <= animation_time { + ui.ctx().request_repaint(); + } if state.show_scroll { remap_clamp( time_since_toggle, @@ -194,6 +197,7 @@ impl Prepared { 0.0..=ui.style().animation_time, 0.0..=max_scroll_bar_width, ); + ui.ctx().request_repaint(); } if current_scroll_bar_width > 0.0 { diff --git a/egui/src/context.rs b/egui/src/context.rs index 3e8a0d72..261073c3 100644 --- a/egui/src/context.rs +++ b/egui/src/context.rs @@ -75,6 +75,13 @@ impl Context { self.output.try_lock().expect("output already locked") } + /// Call this if there is need to repaint the UI, i.e. if you are showing an animation. + /// If this is called at least once in a frame, then there will be another frame right after this. + /// Call as many times as you wish, only one repaint will be issued. + pub fn request_repaint(&self) { + self.output().needs_repaint = true; + } + pub fn input(&self) -> &InputState { &self.input } @@ -150,7 +157,6 @@ impl Context { self.used_ids.lock().clear(); self.input = std::mem::take(&mut self.input).begin_frame(new_raw_input); - let mut font_definitions = self.font_definitions.lock(); font_definitions.pixels_per_point = self.input.pixels_per_point; if self.fonts.is_none() || *self.fonts.as_ref().unwrap().definitions() != *font_definitions @@ -163,6 +169,10 @@ impl Context { /// Returns what has happened this frame (`Output`) as well as what you need to paint. #[must_use] pub fn end_frame(&self) -> (Output, PaintBatches) { + if self.input.wants_repaint() { + self.request_repaint(); + } + self.memory().end_frame(); let output: Output = std::mem::take(&mut self.output()); let paint_batches = self.paint(); diff --git a/egui/src/examples/fractal_clock.rs b/egui/src/examples/fractal_clock.rs index 5df11956..b713f67f 100644 --- a/egui/src/examples/fractal_clock.rs +++ b/egui/src/examples/fractal_clock.rs @@ -47,6 +47,7 @@ impl FractalClock { .input() .seconds_since_midnight .unwrap_or_else(|| ui.input().time); + ui.ctx().request_repaint(); } self.fractal_ui(ui, ui.available_finite()); diff --git a/egui/src/input.rs b/egui/src/input.rs index a265c5a0..daf2032b 100644 --- a/egui/src/input.rs +++ b/egui/src/input.rs @@ -190,6 +190,14 @@ impl InputState { raw: new, } } + + pub fn wants_repaint(&self) -> bool { + self.mouse.pressed + || self.mouse.released + || self.mouse.delta != Vec2::zero() + || self.scroll_delta != Vec2::zero() + || !self.events.is_empty() + } } impl MouseInput { diff --git a/egui/src/types.rs b/egui/src/types.rs index 73668e6a..f11eab4d 100644 --- a/egui/src/types.rs +++ b/egui/src/types.rs @@ -14,6 +14,11 @@ pub struct Output { /// Response to Event::Copy or Event::Cut. Ignore if empty. pub copied_text: String, + + /// Set to `true` to request another repaint right after this one. + /// This is only used in reactive backends (i.e. backends where we repaint on new input). + /// For instance, you may want to set this to `true` while there is an animation. + pub needs_repaint: bool, } #[derive(Clone, Copy)] diff --git a/egui/src/ui.rs b/egui/src/ui.rs index 0f531fea..4cd060b1 100644 --- a/egui/src/ui.rs +++ b/egui/src/ui.rs @@ -547,16 +547,29 @@ impl Ui { self.add(Button::new(text)) } - // TODO: argument order? + // Argument order matching that of Dear ImGui pub fn checkbox(&mut self, text: impl Into, checked: &mut bool) -> GuiResponse { self.add(Checkbox::new(checked, text)) } - // TODO: argument order? + // Argument order matching that of Dear ImGui pub fn radio(&mut self, text: impl Into, checked: bool) -> GuiResponse { self.add(RadioButton::new(checked, text)) } + pub fn radio_value( + &mut self, + text: impl Into, + curr_value: &mut Value, + radio_value: Value, + ) -> GuiResponse { + let response = self.radio(text, *curr_value == radio_value); + if response.clicked { + *curr_value = radio_value; + } + response + } + pub fn separator(&mut self) -> GuiResponse { self.add(Separator::new()) } diff --git a/egui_web/src/lib.rs b/egui_web/src/lib.rs index 2530b5ef..a65bebeb 100644 --- a/egui_web/src/lib.rs +++ b/egui_web/src/lib.rs @@ -9,19 +9,24 @@ use wasm_bindgen::prelude::*; // ---------------------------------------------------------------------------- -pub struct BackendInfo { - pub painter_debug_info: String, - /// excludes call to paint backend - pub cpu_time: f32, - pub fps: f32, - +pub struct WebInfo { /// e.g. "#fragment" part of "www.example.com/index.html#fragment" pub web_location_hash: String, } /// Implement this and use `egui_web::AppRunner` to run your app. pub trait App { - fn ui(&mut self, ui: &mut egui::Ui, info: &BackendInfo); + fn ui(&mut self, ui: &mut egui::Ui, backend: &mut Backend, info: &WebInfo); +} + +#[derive(Clone, Copy, Debug, Eq, PartialEq)] +pub enum RunMode { + /// Uses `request_animation_frame` to repaint the UI on each display Hz. + /// This is good for games and stuff where you want to run logic at e.g. 60 FPS. + Continuous, + + /// Only repaint when there is new input (mouse movement, keyboard input etc). + Reactive, } // ---------------------------------------------------------------------------- @@ -31,10 +36,13 @@ pub struct Backend { painter: webgl::Painter, frame_times: egui::MovementTracker, frame_start: Option, + /// If true, paint at full framerate always. + /// If false, only paint on input. + run_mode: RunMode, } impl Backend { - pub fn new(canvas_id: &str) -> Result { + pub fn new(canvas_id: &str, run_mode: RunMode) -> Result { let ctx = egui::Context::new(); load_memory(&ctx); Ok(Backend { @@ -42,9 +50,18 @@ impl Backend { painter: webgl::Painter::new(canvas_id)?, frame_times: egui::MovementTracker::new(1000, 1.0), frame_start: None, + run_mode, }) } + pub fn run_mode(&self) -> RunMode { + self.run_mode + } + + pub fn set_run_mode(&mut self, run_mode: RunMode) { + self.run_mode = run_mode; + } + /// id of the canvas html element containing the rendering pub fn canvas_id(&self) -> &str { self.painter.canvas_id() @@ -127,14 +144,17 @@ pub struct AppRunner { pub backend: Backend, pub web_input: WebInput, pub app: Box, + /// Used to prevent calling paint() twice in one frame + pub has_requested_animaiton_frame: bool, } impl AppRunner { - pub fn new(canvas_id: &str, app: Box) -> Result { + pub fn new(backend: Backend, app: Box) -> Result { Ok(Self { - backend: Backend::new(canvas_id)?, + backend, web_input: Default::default(), app, + has_requested_animaiton_frame: false, }) } @@ -142,36 +162,33 @@ impl AppRunner { self.backend.canvas_id() } - pub fn paint(&mut self) -> Result<(), JsValue> { + pub fn paint(&mut self) -> Result { resize_to_screen_size(self.backend.canvas_id()); let raw_input = self.web_input.new_frame(); - let info = BackendInfo { - painter_debug_info: self.backend.painter_debug_info(), - cpu_time: self.backend.cpu_time(), - fps: self.backend.fps(), + let info = WebInfo { web_location_hash: location_hash().unwrap_or_default(), }; let mut ui = self.backend.begin_frame(raw_input); - self.app.ui(&mut ui, &info); + self.app.ui(&mut ui, &mut self.backend, &info); let output = self.backend.end_frame()?; handle_output(&output); - Ok(()) + Ok(output) } } /// Install event listeners to register different input events /// and starts running the given `AppRunner`. -pub fn run(runner: AppRunner) -> Result { - let runner = AppRunnerRef(Arc::new(Mutex::new(runner))); - install_canvas_events(&runner)?; - install_document_events(&runner)?; - paint_and_schedule(runner.clone())?; - Ok(runner) +pub fn run(app_runner: AppRunner) -> Result { + let runner_ref = AppRunnerRef(Arc::new(Mutex::new(app_runner))); + install_canvas_events(&runner_ref)?; + install_document_events(&runner_ref)?; + paint_and_schedule(runner_ref.clone())?; + Ok(runner_ref) } // ---------------------------------------------------------------------------- @@ -377,55 +394,57 @@ pub fn translate_key(key: &str) -> Option { #[derive(Clone)] pub struct AppRunnerRef(Arc>); -/// If true, paint at full framerate always. -/// If false, only paint on input. -/// TODO: if this is turned off we must turn off animations too (which hasn't been implemented yet). -const ANIMATION_FRAME: bool = true; - -fn paint_and_schedule(runner: AppRunnerRef) -> Result<(), JsValue> { - runner.0.lock().paint()?; - if ANIMATION_FRAME { - request_animation_frame(runner)?; +fn paint_and_schedule(runner_ref: AppRunnerRef) -> Result<(), JsValue> { + let needs_repaint = { + let mut runner_lock = runner_ref.0.lock(); + runner_lock.has_requested_animaiton_frame = false; + let output = runner_lock.paint()?; + let run_mode = runner_lock.backend.run_mode(); + run_mode == RunMode::Continuous || output.needs_repaint + }; + if needs_repaint { + request_animation_frame(runner_ref)?; } Ok(()) } -fn request_animation_frame(runner: AppRunnerRef) -> Result<(), JsValue> { - use wasm_bindgen::JsCast; - let window = web_sys::window().unwrap(); - let closure = Closure::once(move || paint_and_schedule(runner)); - window.request_animation_frame(closure.as_ref().unchecked_ref())?; - closure.forget(); // We must forget it, or else the callback is canceled on drop +fn request_animation_frame(runner_ref: AppRunnerRef) -> Result<(), JsValue> { + if !{ runner_ref.0.lock().has_requested_animaiton_frame } { + runner_ref.0.lock().has_requested_animaiton_frame = true; + + use wasm_bindgen::JsCast; + let window = web_sys::window().unwrap(); + let closure = Closure::once(move || paint_and_schedule(runner_ref)); + window.request_animation_frame(closure.as_ref().unchecked_ref())?; + closure.forget(); // We must forget it, or else the callback is canceled on drop + } Ok(()) } -fn invalidate(runner: &mut AppRunner) -> Result<(), JsValue> { - if ANIMATION_FRAME { - Ok(()) // No need to invalidate - we repaint all the time - } else { - runner.paint() // TODO: schedule repaint instead? - } +fn invalidate(runner_ref: AppRunnerRef) -> Result<(), JsValue> { + request_animation_frame(runner_ref) } -fn install_document_events(runner: &AppRunnerRef) -> Result<(), JsValue> { +fn install_document_events(runner_ref: &AppRunnerRef) -> Result<(), JsValue> { use wasm_bindgen::JsCast; let document = web_sys::window().unwrap().document().unwrap(); { // keydown - let runner = runner.clone(); + let runner_ref = runner_ref.clone(); let closure = Closure::wrap(Box::new(move |event: web_sys::KeyboardEvent| { - let mut runner = runner.0.lock(); + let mut runner_lock = runner_ref.0.lock(); let key = event.key(); if let Some(key) = translate_key(&key) { - runner + runner_lock .web_input .events .push(egui::Event::Key { key, pressed: true }); } else { - runner.web_input.events.push(egui::Event::Text(key)); + runner_lock.web_input.events.push(egui::Event::Text(key)); } - invalidate(&mut runner).unwrap(); + drop(runner_lock); + invalidate(runner_ref.clone()).unwrap(); }) as Box); document.add_event_listener_with_callback("keydown", closure.as_ref().unchecked_ref())?; closure.forget(); @@ -433,16 +452,17 @@ fn install_document_events(runner: &AppRunnerRef) -> Result<(), JsValue> { { // keyup - let runner = runner.clone(); + let runner_ref = runner_ref.clone(); let closure = Closure::wrap(Box::new(move |event: web_sys::KeyboardEvent| { - let mut runner = runner.0.lock(); + let mut runner_lock = runner_ref.0.lock(); let key = event.key(); if let Some(key) = translate_key(&key) { - runner.web_input.events.push(egui::Event::Key { + runner_lock.web_input.events.push(egui::Event::Key { key, pressed: false, }); - invalidate(&mut runner).unwrap(); + drop(runner_lock); + invalidate(runner_ref.clone()).unwrap(); } }) as Box); document.add_event_listener_with_callback("keyup", closure.as_ref().unchecked_ref())?; @@ -450,9 +470,9 @@ fn install_document_events(runner: &AppRunnerRef) -> Result<(), JsValue> { } for event_name in &["load", "pagehide", "pageshow", "resize"] { - let runner = runner.clone(); + let runner_ref = runner_ref.clone(); let closure = Closure::wrap(Box::new(move || { - invalidate(&mut runner.0.lock()).unwrap(); + invalidate(runner_ref.clone()).unwrap(); }) as Box); document.add_event_listener_with_callback(event_name, closure.as_ref().unchecked_ref())?; closure.forget(); @@ -461,19 +481,21 @@ fn install_document_events(runner: &AppRunnerRef) -> Result<(), JsValue> { Ok(()) } -fn install_canvas_events(runner: &AppRunnerRef) -> Result<(), JsValue> { +fn install_canvas_events(runner_ref: &AppRunnerRef) -> Result<(), JsValue> { use wasm_bindgen::JsCast; - let canvas = canvas_element(runner.0.lock().canvas_id()).unwrap(); + let canvas = canvas_element(runner_ref.0.lock().canvas_id()).unwrap(); { let event_name = "mousedown"; - let runner = runner.clone(); + let runner_ref = runner_ref.clone(); let closure = Closure::wrap(Box::new(move |event: web_sys::MouseEvent| { - let mut runner = runner.0.lock(); - if !runner.web_input.is_touch { - runner.web_input.mouse_pos = Some(pos_from_mouse_event(runner.canvas_id(), &event)); - runner.web_input.mouse_down = true; - invalidate(&mut runner).unwrap(); + let mut runner_lock = runner_ref.0.lock(); + if !runner_lock.web_input.is_touch { + runner_lock.web_input.mouse_pos = + Some(pos_from_mouse_event(runner_lock.canvas_id(), &event)); + runner_lock.web_input.mouse_down = true; + drop(runner_lock); + invalidate(runner_ref.clone()).unwrap(); event.stop_propagation(); event.prevent_default(); } @@ -484,12 +506,14 @@ fn install_canvas_events(runner: &AppRunnerRef) -> Result<(), JsValue> { { let event_name = "mousemove"; - let runner = runner.clone(); + let runner_ref = runner_ref.clone(); let closure = Closure::wrap(Box::new(move |event: web_sys::MouseEvent| { - let mut runner = runner.0.lock(); - if !runner.web_input.is_touch { - runner.web_input.mouse_pos = Some(pos_from_mouse_event(runner.canvas_id(), &event)); - invalidate(&mut runner).unwrap(); + let mut runner_lock = runner_ref.0.lock(); + if !runner_lock.web_input.is_touch { + runner_lock.web_input.mouse_pos = + Some(pos_from_mouse_event(runner_lock.canvas_id(), &event)); + drop(runner_lock); + invalidate(runner_ref.clone()).unwrap(); event.stop_propagation(); event.prevent_default(); } @@ -500,13 +524,15 @@ fn install_canvas_events(runner: &AppRunnerRef) -> Result<(), JsValue> { { let event_name = "mouseup"; - let runner = runner.clone(); + let runner_ref = runner_ref.clone(); let closure = Closure::wrap(Box::new(move |event: web_sys::MouseEvent| { - let mut runner = runner.0.lock(); - if !runner.web_input.is_touch { - runner.web_input.mouse_pos = Some(pos_from_mouse_event(runner.canvas_id(), &event)); - runner.web_input.mouse_down = false; - invalidate(&mut runner).unwrap(); + let mut runner_lock = runner_ref.0.lock(); + if !runner_lock.web_input.is_touch { + runner_lock.web_input.mouse_pos = + Some(pos_from_mouse_event(runner_lock.canvas_id(), &event)); + runner_lock.web_input.mouse_down = false; + drop(runner_lock); + invalidate(runner_ref.clone()).unwrap(); event.stop_propagation(); event.prevent_default(); } @@ -517,12 +543,13 @@ fn install_canvas_events(runner: &AppRunnerRef) -> Result<(), JsValue> { { let event_name = "mouseleave"; - let runner = runner.clone(); + let runner_ref = runner_ref.clone(); let closure = Closure::wrap(Box::new(move |event: web_sys::MouseEvent| { - let mut runner = runner.0.lock(); - if !runner.web_input.is_touch { - runner.web_input.mouse_pos = None; - invalidate(&mut runner).unwrap(); + let mut runner_lock = runner_ref.0.lock(); + if !runner_lock.web_input.is_touch { + runner_lock.web_input.mouse_pos = None; + drop(runner_lock); + invalidate(runner_ref.clone()).unwrap(); event.stop_propagation(); event.prevent_default(); } @@ -533,13 +560,14 @@ fn install_canvas_events(runner: &AppRunnerRef) -> Result<(), JsValue> { { let event_name = "touchstart"; - let runner = runner.clone(); + let runner_ref = runner_ref.clone(); let closure = Closure::wrap(Box::new(move |event: web_sys::TouchEvent| { - let mut runner = runner.0.lock(); - runner.web_input.is_touch = true; - runner.web_input.mouse_pos = Some(pos_from_touch_event(&event)); - runner.web_input.mouse_down = true; - invalidate(&mut runner).unwrap(); + let mut runner_lock = runner_ref.0.lock(); + runner_lock.web_input.is_touch = true; + runner_lock.web_input.mouse_pos = Some(pos_from_touch_event(&event)); + runner_lock.web_input.mouse_down = true; + drop(runner_lock); + invalidate(runner_ref.clone()).unwrap(); event.stop_propagation(); event.prevent_default(); }) as Box); @@ -549,12 +577,13 @@ fn install_canvas_events(runner: &AppRunnerRef) -> Result<(), JsValue> { { let event_name = "touchmove"; - let runner = runner.clone(); + let runner_ref = runner_ref.clone(); let closure = Closure::wrap(Box::new(move |event: web_sys::TouchEvent| { - let mut runner = runner.0.lock(); - runner.web_input.is_touch = true; - runner.web_input.mouse_pos = Some(pos_from_touch_event(&event)); - invalidate(&mut runner).unwrap(); + let mut runner_lock = runner_ref.0.lock(); + runner_lock.web_input.is_touch = true; + runner_lock.web_input.mouse_pos = Some(pos_from_touch_event(&event)); + drop(runner_lock); + invalidate(runner_ref.clone()).unwrap(); event.stop_propagation(); event.prevent_default(); }) as Box); @@ -564,14 +593,16 @@ fn install_canvas_events(runner: &AppRunnerRef) -> Result<(), JsValue> { { let event_name = "touchend"; - let runner = runner.clone(); + let runner_ref = runner_ref.clone(); let closure = Closure::wrap(Box::new(move |event: web_sys::TouchEvent| { - let mut runner = runner.0.lock(); - runner.web_input.is_touch = true; - runner.web_input.mouse_down = false; // First release mouse to click... - runner.paint().unwrap(); // ...do the clicking... - runner.web_input.mouse_pos = None; // ...remove hover effect - invalidate(&mut runner).unwrap(); + // TODO: this paints twice in one frame, which is not great + let mut runner_lock = runner_ref.0.lock(); + runner_lock.web_input.is_touch = true; + runner_lock.web_input.mouse_down = false; // First release mouse to click... + runner_lock.paint().unwrap(); // ...do the clicking... + runner_lock.web_input.mouse_pos = None; // ...remove hover effect + drop(runner_lock); + invalidate(runner_ref.clone()).unwrap(); event.stop_propagation(); event.prevent_default(); }) as Box); @@ -581,12 +612,13 @@ fn install_canvas_events(runner: &AppRunnerRef) -> Result<(), JsValue> { { let event_name = "wheel"; - let runner = runner.clone(); + let runner_ref = runner_ref.clone(); let closure = Closure::wrap(Box::new(move |event: web_sys::WheelEvent| { - let mut runner = runner.0.lock(); - runner.web_input.scroll_delta.x -= event.delta_x() as f32; - runner.web_input.scroll_delta.y -= event.delta_y() as f32; - invalidate(&mut runner).unwrap(); + let mut runner_lock = runner_ref.0.lock(); + runner_lock.web_input.scroll_delta.x -= event.delta_x() as f32; + runner_lock.web_input.scroll_delta.y -= event.delta_y() as f32; + drop(runner_lock); + invalidate(runner_ref.clone()).unwrap(); event.stop_propagation(); event.prevent_default(); }) as Box); diff --git a/example_wasm/src/lib.rs b/example_wasm/src/lib.rs index 6f5c0192..e6d81e99 100644 --- a/example_wasm/src/lib.rs +++ b/example_wasm/src/lib.rs @@ -10,8 +10,9 @@ use wasm_bindgen::prelude::*; /// This is the entry-point for all the web-assembly. #[wasm_bindgen] pub fn start(canvas_id: &str) -> Result<(), JsValue> { + let backend = egui_web::Backend::new(canvas_id, egui_web::RunMode::Continuous)?; let app = Box::new(MyApp::default()); - let runner = egui_web::AppRunner::new(canvas_id, app)?; + let runner = egui_web::AppRunner::new(backend, app)?; egui_web::run(runner)?; Ok(()) } @@ -24,7 +25,7 @@ pub struct MyApp { } impl egui_web::App for MyApp { - fn ui(&mut self, ui: &mut egui::Ui, info: &egui_web::BackendInfo) { + fn ui(&mut self, ui: &mut egui::Ui, backend: &mut egui_web::Backend, info: &egui_web::WebInfo) { self.example_app.ui(ui, &info.web_location_hash); let mut ui = ui.centered_column(ui.available().width().min(480.0)); @@ -44,16 +45,34 @@ impl egui_web::App for MyApp { ui.label("WebGl painter info:"); ui.indent("webgl region id", |ui| { - ui.label(&info.painter_debug_info); + ui.label(&backend.painter_debug_info()); }); ui.add( label!( - "CPU usage: {:.2} ms (excludes painting)", - 1e3 * info.cpu_time + "CPU usage: {:.2} ms / frame (excludes painting)", + 1e3 * backend.cpu_time() ) .text_style(TextStyle::Monospace), ); - ui.add(label!("FPS: {:.1}", info.fps).text_style(TextStyle::Monospace)); + + ui.horizontal(|ui| { + let mut run_mode = backend.run_mode(); + ui.label("Run mode:"); + ui.radio_value("Continuous", &mut run_mode, egui_web::RunMode::Continuous) + .tooltip_text("Repaint everything each frame"); + ui.radio_value("Reactive", &mut run_mode, egui_web::RunMode::Reactive) + .tooltip_text("Repaint when there is new input (e.g. mouse movement)"); + backend.set_run_mode(run_mode); + }); + + if backend.run_mode() == egui_web::RunMode::Continuous { + ui.add( + label!("Repainting the UI each frame. FPS: {:.1}", backend.fps()) + .text_style(TextStyle::Monospace), + ); + } else { + ui.label("Only running UI code when there is new input"); + } } }