diff options
author | Dennis Kobert <d-kobert@web.de> | 2019-06-02 16:10:54 +0200 |
---|---|---|
committer | Dennis Kobert <d-kobert@web.de> | 2019-06-02 16:10:54 +0200 |
commit | 91d732d490fb59979f0c940bdb1e6e295b0b1c52 (patch) | |
tree | c27b970b7eb9d925b3c1cc7ac5acfc14e48cf55f /WebInterface/wasm/webhogg/src/lib.rs | |
parent | 483418d90d2167c1908315b603f2de676ec0f0aa (diff) | |
parent | 0835c281ed1c6bdccca2412b71a8bdec4d03a620 (diff) |
Merge branch 'webhogg' of github.com:TrueDoctor/DiscoBot into webhogg
Diffstat (limited to 'WebInterface/wasm/webhogg/src/lib.rs')
-rw-r--r-- | WebInterface/wasm/webhogg/src/lib.rs | 36 |
1 files changed, 13 insertions, 23 deletions
diff --git a/WebInterface/wasm/webhogg/src/lib.rs b/WebInterface/wasm/webhogg/src/lib.rs index 2ee7267..6d9fca9 100644 --- a/WebInterface/wasm/webhogg/src/lib.rs +++ b/WebInterface/wasm/webhogg/src/lib.rs @@ -1,54 +1,44 @@ mod client_logger; mod webhogg_exception; -mod page; mod canvas; -mod app; use wasm_bindgen::prelude::*; -use app::WebhoggApplication as App; use web_sys::Worker; +use web_sys::OffscreenCanvas as ECanvas; #[macro_use] extern crate log; -fn run_application() { - match App::new().and_then(|app| app.run()) { - Ok(_) => info!("program terminated successfully"), - Err(e) => error!("program terminated with failure > {}", e) - } -} - #[wasm_bindgen] pub fn game_logic_entry(worker: web_sys::Worker) { client_logger::init_logger(); info!("hello from game logic wasm"); - info!("begin long calculation in game logic thread"); worker.post_message(&wasm_bindgen::JsValue::from_str("premsg frm wasm_gLe")) .unwrap(); - info!("killed game logic"); + info!("game logic terminated"); } #[wasm_bindgen] pub fn graphics_entry(worker: web_sys::DedicatedWorkerGlobalScope, - canvas: web_sys::OffscreenCanvas) { + ecanvas: JsValue) { client_logger::init_logger(); - info!("hello from graphics wasm {:?}", canvas); + let ecanvas: ECanvas = js_sys::Reflect::get(&ecanvas, + &wasm_bindgen::JsValue::from_str("canvas")) + .map_err(|e| error!("could not load canvas")) + .unwrap().into(); + + info!("hello from graphics wasm {:?}", ecanvas); let handler = wasm_bindgen::closure::Closure::once_into_js( (|e: web_sys::MessageEvent| { info!("things are getting wired: {:?}", e.data()); })); - worker.set_onmessage(Some(&js_sys::Function::from(handler))); - entry2(); - info!("killed graphics"); -} - -pub fn entry2() { - // client_logger::init_logger(); - info!("begin running wasm application"); + let canvas = canvas::Canvas::from_existing(&ecanvas) + .map_err(|e| error!("{}", e)) + .unwrap(); - run_application() + info!("graphics terminated"); } |