fix mouse clicks in wrong position in color selection or outliner when zoomed in or out

This commit is contained in:
Skyler Lehmkuhl 2025-01-08 04:36:37 -05:00
parent f34a518602
commit 0715abdf74
1 changed files with 5 additions and 2 deletions

View File

@ -1778,13 +1778,14 @@ function getMousePos(canvas, evt, skipOffsets = false, skipZoom = false) {
var rect = canvas.getBoundingClientRect();
let offsetX = canvas.offsetX || 0;
let offsetY = canvas.offsetY || 0;
let zoomLevel = canvas.zoomLevel || 1;
if (skipOffsets) {
offsetX = 0;
offsetY = 0;
}
return {
x: (evt.clientX + offsetX - rect.left) / (skipZoom ? 1 : context.zoomLevel),
y: (evt.clientY + offsetY - rect.top) / (skipZoom ? 1 : context.zoomLevel),
x: (evt.clientX + offsetX - rect.left) / (skipZoom ? 1 : zoomLevel),
y: (evt.clientY + offsetY - rect.top) / (skipZoom ? 1 : zoomLevel),
};
}
@ -4297,6 +4298,7 @@ function updateScrollPosition(zoomFactor) {
(canvas.offsetX + context.mousePos.x) * zoomFactor - context.mousePos.x;
canvas.offsetY =
(canvas.offsetY + context.mousePos.y) * zoomFactor - context.mousePos.y;
canvas.zoomLevel = context.zoomLevel
}
}
}
@ -4337,6 +4339,7 @@ function stage() {
// stage.height = config.fileHeight
stage.offsetX = 0;
stage.offsetY = 0;
stage.zoomLevel = context.zoomLevel
let lastResizeTime = 0;
const throttleIntervalMs = 20;