From 80f2077de328ed2675a49a1996b51d8535a1e736 Mon Sep 17 00:00:00 2001 From: Theis Pieter Hollebeek Date: Tue, 14 Oct 2025 14:07:28 +0200 Subject: [PATCH] ratio on other mouse functions --- src/gamelib.js | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/gamelib.js b/src/gamelib.js index ae76391..3af2d31 100644 --- a/src/gamelib.js +++ b/src/gamelib.js @@ -52,13 +52,19 @@ export class Gamelib { }); canvasElement.addEventListener("mousedown", (ev) => { + const ratioX = canvasElement.width / canvasElement.clientWidth; + const ratioY = canvasElement.height / canvasElement.clientHeight; + this.mouseButtonsPressed.add(ev.button); - this.mouseDownHandlers.get(ev.button)?.(ev.offsetX, ev.offsetY); + this.mouseDownHandlers.get(ev.button)?.(ev.offsetX * ratioX, ev.offsetY * ratioY); }); canvasElement.addEventListener("mouseup", (ev) => { + const ratioX = canvasElement.width / canvasElement.clientWidth; + const ratioY = canvasElement.height / canvasElement.clientHeight; + this.mouseButtonsPressed.delete(ev.button); - this.mouseUpHandlers.get(ev.button)?.(ev.offsetX, ev.offsetY); + this.mouseUpHandlers.get(ev.button)?.(ev.offsetX * ratioX, ev.offsetY * ratioY); }); canvasElement.addEventListener("contextmenu", (ev) => {