Web Dev Solutions

Catalin Mititiuc

From 25eca15a3007c76c4e444b859683feb29edfa183 Mon Sep 17 00:00:00 2001 From: Catalin Mititiuc Date: Tue, 18 Mar 2025 13:43:26 -0700 Subject: WIP: translate an object to zoomed position without scaling --- src/modules/zoom.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src/modules/zoom.js') diff --git a/src/modules/zoom.js b/src/modules/zoom.js index 1455cb4..69652c0 100644 --- a/src/modules/zoom.js +++ b/src/modules/zoom.js @@ -1,4 +1,4 @@ -import { default as getComputedTransformMatrix } from './utils'; +import { default as getComputedTransformMatrix, extractNum, track, getTracked } from './utils'; function zoomIn(deltaY) { return deltaY < 0; @@ -24,9 +24,13 @@ function setTransform(el, computedMtx, translateMtx, scale) { const transformMtx = computedMtx.multiply(translateMtx).scale(scale).multiply(translateMtx.inverse()); + groups.forEach(([z, p]) => track(z, p, transformMtx)); + el.style.transform = transformMtx; } +const groups = getTracked(document.querySelectorAll('svg g[class] use')); + export default function (el, factor = 0.1) { return e => { e.preventDefault(); -- cgit v1.2.3