From: Ian Jackson Date: Sat, 3 Apr 2021 22:53:54 +0000 (+0100) Subject: js: Provide mouseevent_pos X-Git-Tag: otter-0.5.0~214 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=c09895fa1474aec51346a349d40a731e4f5a12c3;p=otter.git js: Provide mouseevent_pos Empirically this seems to work. Signed-off-by: Ian Jackson --- diff --git a/templates/script.ts b/templates/script.ts index 033f3862..2cd23735 100644 --- a/templates/script.ts +++ b/templates/script.ts @@ -883,6 +883,15 @@ function drag_mousedown(e : MouseEvent, shifted: boolean) { window.addEventListener('mouseup', drag_mouseup, true); } +function mouseevent_pos(e: MouseEvent): Pos { + let ctm = space.getScreenCTM()!; + let px = (e.clientX - ctm.e)/(ctm.a * firefox_bug_zoom_factor_compensation); + let py = (e.clientY - ctm.f)/(ctm.d * firefox_bug_zoom_factor_compensation); + let pos: Pos = [px, py]; + console.log('mouseevent_pos', pos); + return pos; +} + function ungrab_all() { for (let tpiece of Object.keys(pieces)) { let tp = pieces[tpiece]!;