From c09895fa1474aec51346a349d40a731e4f5a12c3 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Sat, 3 Apr 2021 23:53:54 +0100 Subject: [PATCH] js: Provide mouseevent_pos Empirically this seems to work. Signed-off-by: Ian Jackson --- templates/script.ts | 9 +++++++++ 1 file changed, 9 insertions(+) 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]!; -- 2.30.2