Capture pan-zoom pointer sooner

This commit is contained in:
Catalin Constantin Mititiuc 2024-07-25 14:45:29 -07:00
parent f503f974f3
commit 00581b900f
3 changed files with 15 additions and 9 deletions

View File

@ -124,14 +124,14 @@ export function place(svg, selected, cell) {
// piecesContainer.append(container); // piecesContainer.append(container);
//} //}
if (svg.querySelector('.grid').contains(selected)) { //if (svg.querySelector('.grid').contains(selected)) {
const clone = addMoveToHistory(selected); // const clone = addMoveToHistory(selected);
updatePlacement(cell, selected, clone) // updatePlacement(cell, selected, clone)
handleTrace(svg, selected, clone, getCellPosition(cell)); // handleTrace(svg, selected, clone, getCellPosition(cell));
} else { //} else {
selected.removeAttribute('data-x'); // selected.removeAttribute('data-x');
placeIn(cell, selected); placeIn(cell, selected);
} //}
} }
export function removeClones(svg, counter) { export function removeClones(svg, counter) {

View File

@ -324,7 +324,10 @@ export function start(el) {
// const defender = { dataset: { allegiance: 'defender', number: 1, squad: 2 }}; // const defender = { dataset: { allegiance: 'defender', number: 1, squad: 2 }};
//const cell = getCell(0, 0, 0, 0); //const cell = getCell(0, 0, 0, 0);
//const trooper = soldier.createCounter(attacker, 'blazer'); //const trooper = soldier.createCounter(attacker, 'blazer');
//soldier.place(svg, trooper, cell); //const trooperSack = document.createElementNS(svgns, 'g');
//trooperSack.classList.add('cell-contents');
//trooperSack.append(trooper);
//soldier.place(svg, trooperSack, cell);
// Add some counters in an unoccupied cell // Add some counters in an unoccupied cell
//const countersCell = getCell(-1, 1, 0, 0); //const countersCell = getCell(-1, 1, 0, 0);

View File

@ -13,7 +13,10 @@ function restorePanZoomVal(el) {
function addEventListeners(svg, el) { function addEventListeners(svg, el) {
svg.addEventListener('wheel', e => zoom(el, e, zoomFactor), { passive: false }); svg.addEventListener('wheel', e => zoom(el, e, zoomFactor), { passive: false });
svg.addEventListener('pointerdown', e => pan(svg, el, e), { passive: false }); svg.addEventListener('pointerdown', e => {
e.target.setPointerCapture(e.pointerId);
pan(svg, el, e), { passive: false };
});
} }
function storePanZoomVal(transformMatrix) { function storePanZoomVal(transformMatrix) {