Fix some pointer behavior.

This commit is contained in:
Yaro Kasear 2025-12-09 11:26:39 -06:00
parent 9ddbacb4de
commit 292ca0798c

View file

@ -575,7 +575,10 @@ gridEl.addEventListener('pointerleave', (e) => {
gridEl.addEventListener('pointerdown', (e) => { gridEl.addEventListener('pointerdown', (e) => {
if (e.button !== 0) return; if (e.button !== 0) return;
if (e.target.closest('#toolBar')) return;
e.preventDefault(); e.preventDefault();
gridEl.setPointerCapture(e.pointerId);
if (e.target.closest('#toolBar')) return; if (e.target.closest('#toolBar')) return;
@ -608,6 +611,10 @@ gridEl.addEventListener('pointerdown', (e) => {
window.addEventListener('pointerup', (e) => { window.addEventListener('pointerup', (e) => {
if (!currentShape) return; if (!currentShape) return;
if (gridEl.hasPointerCapture?.(e.pointerId)) {
gridEl.releasePointerCapture(e.pointerId);
}
const { x: snapX, y: snapY } = snapToGrid(e.clientX, e.clientY); const { x: snapX, y: snapY } = snapToGrid(e.clientX, e.clientY);
currentShape.x2 = snapX; currentShape.x2 = snapX;