summaryrefslogtreecommitdiff
path: root/web/static/dartboat.js
diff options
context:
space:
mode:
Diffstat (limited to 'web/static/dartboat.js')
-rw-r--r--web/static/dartboat.js24
1 files changed, 24 insertions, 0 deletions
diff --git a/web/static/dartboat.js b/web/static/dartboat.js
index 53a113a..c17e29d 100644
--- a/web/static/dartboat.js
+++ b/web/static/dartboat.js
@@ -136,6 +136,30 @@ function drawVisit(visit_no, p1_pts, p1_rem, p2_pts, p2_rem, p2_darts) {
e.scrollTop = e.scrollHeight;
}
+function drawElemv(elemc, elemv, off_name, off_n_attrs, off_attr_names,
+ off_attr_vals, off_content) {
+ for (let ptr = elemv; ptr < elemv + 4*elemc; ptr += 4) {
+ const struct = HEAP32[ptr>>2];
+
+ const e = document.createElementNS('http://www.w3.org/2000/svg',
+ UTF8ToString(HEAP32[(struct + off_name)>>2]));
+
+ const n_attrs = HEAP32[(struct + off_n_attrs)>>2];
+ if (n_attrs) {
+ const attr_names = HEAP32[(struct + off_attr_names)>>2];
+ const attr_vals = HEAP32[(struct + off_attr_vals)>>2];
+ for (let i = 0; i < n_attrs; ++i)
+ e.setAttribute(UTF8ToString(HEAP32[(attr_names + i*4)>>2]),
+ UTF8ToString(HEAP32[(attr_vals + i*4)>>2]));
+ }
+
+ const content = HEAP32[(struct + off_content)>>2];
+ if (content) e.textContent = UTF8ToString(content);
+
+ $('#dartboard').appendChild(e);
+ }
+}
+
function drawElem(target, name, n_attrs, attr_names, attr_vals, content) {
const e = document.createElementNS('http://www.w3.org/2000/svg',
UTF8ToString(name));