chiark / gitweb /
wasm: Provide main window attributes
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Wed, 31 Mar 2021 15:02:30 +0000 (16:02 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Thu, 1 Apr 2021 10:37:38 +0000 (11:37 +0100)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
wasm/Cargo.toml
wasm/wasm.rs

index f831d1d55cb56471b96df33f805dda20ad15ceac..b2f5e5fd95b9f5ec935d6cf7325fb568f2f19c4b 100644 (file)
@@ -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]
index e72792074b74e233e84ad21e249fa28cebeba223..ddb946fe9ccef3c37891d0f8718b5630b492e43c 100644 (file)
@@ -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 ----------