I am trying to use the Vuejs Draw Canvas of this Codepen as a component. Everything works great but the mouse position is relative to the window I think. So when drawn it works perfectly fine only if the canvas is window size ( width, height) if not there is a huge difference in the cursor and draw position.
I have tried setting the canvas width and height to offset instead of window like
setSize() {
this.c.width = this.c.offsetWidth;
this.c.height = this.c.offsetHeight - 60;
}
and mouse positions with below code as in this SO answers
function getMousePos(canvas, evt) {
var rect = canvas.getBoundingClientRect();
return {
x: (evt.clientX - rect.left) / (rect.right - rect.left) * canvas.width,
y: (evt.clientY - rect.top) / (rect.bottom - rect.top) * canvas.height
};
}
but it did not change the result. So reverted back and added in code sandbox. If anyone can help me find out what the issue here? I know it's with mouse position but not sure exactly where.
Here is codesandbox link of the demo im trying to fix.