From: Ian Jackson Date: Wed, 31 Mar 2021 15:02:30 +0000 (+0100) Subject: wasm: Provide main window attributes X-Git-Tag: otter-0.5.0~353 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=f825029820a43dc93d56978a926baa9b4c18d1d7;p=otter.git wasm: Provide main window attributes Signed-off-by: Ian Jackson --- diff --git a/wasm/Cargo.toml b/wasm/Cargo.toml index f831d1d5..b2f5e5fd 100644 --- a/wasm/Cargo.toml +++ b/wasm/Cargo.toml @@ -6,7 +6,7 @@ wasm-bindgen-cli="0.2" console_error_panic_hook="0.1" fehler="1" js-sys="0.3" -wasm-bindgen="0.2" +wasm-bindgen = { version = "0.2", features = ["serde-serialize"] } wee_alloc="0.4" [dependencies.otter-base] diff --git a/wasm/wasm.rs b/wasm/wasm.rs index e7279207..ddb946fe 100644 --- a/wasm/wasm.rs +++ b/wasm/wasm.rs @@ -7,6 +7,7 @@ use otter_base::imports::*; use std::fmt::Display; use std::collections::hash_map::HashMap; +use extend::ext; use fehler::throws; use js_sys::JsString; use thiserror::Error; @@ -19,6 +20,7 @@ use otter_base::zcoord; use otter_base::misc as base_misc; use zcoord::{Mutable,ZCoord}; use base_misc::default; +use base_misc::SvgAttrs; // ---------- general, errors, etc. ---------- @@ -183,7 +185,26 @@ impl RegionList { ) } } - + +// ---------- reload attributes ---------- + +#[ext] +impl SvgAttrs { + fn to_jsvalue(&self) -> JsValue { + JsValue::from_serde(self).unwrap() + } +} + +#[wasm_bindgen] +pub fn space_table_attrs(x: Number, y: Number) -> JsValue { + base_misc::space_table_attrs(PosC::new(x,y)) + .to_jsvalue() +} +#[wasm_bindgen] +pub fn space_rect_attrs(x: Number, y: Number) -> JsValue { + base_misc::space_rect_attrs(PosC::new(x,y)) + .to_jsvalue() +} // ---------- setup ----------