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) => {