diff --git a/webstead.xhtml b/webstead.xhtml index 7452ecd..8c2b844 100644 --- a/webstead.xhtml +++ b/webstead.xhtml @@ -123,6 +123,18 @@ target.focus(); e.preventDefault(); } + function drawing_click(e) { + // At least on FF 140, SVGMatrix doesn't have .transformPoint() + // so we turn it into a DOMMatrix, which does. + var m = DOMMatrix.fromMatrix(this.getScreenCTM().inverse()); + var pt = m.transformPoint({x: e.clientX, y: e.clientY}); + var x = Math.floor(pt.x / 100) - 1; + var y = Math.floor(pt.y / 100) - 1; + var target = document.querySelector('#pixels').rows[y].cells[x] + .querySelector('input'); + target.click(); + e.preventDefault(); + } function init() { for (var e of document.querySelectorAll('#pixels input')) { e.onchange = e => update_glyph(true); @@ -132,6 +144,7 @@ from_c(this.value); update_glyph(false); }; + document.querySelector('#drawing').onclick = drawing_click; update_glyph(true); } import("./bedstead.js").then((module) => { @@ -216,7 +229,8 @@